import torch
import torch.nn as nn

class Model(nn.Module):
    def __init__(self, scale: torch.Tensor, bias: torch.Tensor, c: torch.Tensor):
        super(Model, self).__init__()
        self.register_buffer("scale", scale)
        self.register_buffer("bias", bias)
        self.register_buffer("c", c)

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        z = x * self.scale + self.bias
        return self.c * torch.tanh(z / float(self.c.item()))

batch_size = 16
dim = 16384

def get_inputs():
    x = torch.randn(batch_size, dim)
    return [x]

def get_init_inputs():
    scale = torch.randn(dim)
    bias = torch.randn(dim)
    c = torch.tensor(1.0, dtype=torch.float32)
    return [scale, bias, c]
