import torch
import torch.nn as nn


class Model(nn.Module):
    def __init__(self):
        super().__init__()
        self.C = 1.0 / 12.0

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        # m-Arcsinh Formula: arcsinh(x) * (1/12) * sqrt(|x|)
        return torch.arcsinh(x) * self.C * torch.sqrt(x.abs())


batch_size = 128
feature_dim = 512


def get_inputs():
    x = torch.randn(batch_size, feature_dim, dtype=torch.float32)
    return [x]


def get_init_inputs():
    return []