#include <metal_stdlib>

using namespace metal;

float4 tint_degrees(float4 param_0) {
  return param_0 * 57.29577951308232286465;
}

float3 tint_degrees_1(float3 param_0) {
  return param_0 * 57.29577951308232286465;
}

float2 tint_degrees_2(float2 param_0) {
  return param_0 * 57.29577951308232286465;
}

float tint_degrees_3(float param_0) {
  return param_0 * 57.29577951308232286465;
}

kernel void tint_symbol() {
  float4 const va = float4(0.0f);
  float4 const a = tint_degrees(va);
  float4 const vb = float4(1.0f);
  float4 const b = tint_degrees(vb);
  float4 const vc = float4(1.0f, 2.0f, 3.0f, 4.0f);
  float4 const c = tint_degrees(vc);
  float3 const vd = float3(0.0f);
  float3 const d = tint_degrees_1(vd);
  float3 const ve = float3(1.0f);
  float3 const e = tint_degrees_1(ve);
  float3 const vf = float3(1.0f, 2.0f, 3.0f);
  float3 const f = tint_degrees_1(vf);
  float2 const vg = float2(0.0f);
  float2 const g = tint_degrees_2(vg);
  float2 const vh = float2(1.0f);
  float2 const h = tint_degrees_2(vh);
  float2 const vi = float2(1.0f, 2.0f);
  float2 const i = tint_degrees_2(vi);
  float const vj = 1.0f;
  float const j = tint_degrees_3(vj);
  float const vk = 2.0f;
  float const k = tint_degrees_3(vk);
  float const vl = 3.0f;
  float const l = tint_degrees_3(vl);
  return;
}

