#include <metal_stdlib>
using namespace metal;

void atanh_c5dc32() {
  float res = 0.54930615425109863281f;
}
vertex float4 vertex_main() {
  atanh_c5dc32();
  return float4(0.0f);
}
fragment void fragment_main() {
  atanh_c5dc32();
}
kernel void compute_main() {
  atanh_c5dc32();
}
