def silu_mul(x: torch.Tensor, y: torch.Tensor, out: torch.Tensor = None):
    r"""
    Applies PyTorch silu on input x, and mul input y:
    out = silu(x)*y

    Args:
        x (torch.Tensor): input to apply silu.
        y (torch.Tensor): input for mul to apply on silu(x).
        out (torch.Tensor): buffer to get the results.

    """
    f = _get_function_from_device(x.device.type, silu_mul)
    return f(x, y, out)

    Applies PyTorch silu on input x, and mul input y:
    out = silu(x)*y

    Args:
        x (torch.Tensor): input to apply silu.
        y (torch.Tensor): input for mul to apply on silu(x).
        out (torch.Tensor): buffer to get the results.

    
intel_extension_for_pytorch/llm/functional/fusions.py