#include using namespace metal; struct tint_padded_array_element { /* 0x0000 */ float el; /* 0x0004 */ int8_t tint_pad[12]; }; struct tint_array_wrapper { /* 0x0000 */ tint_padded_array_element arr[2]; }; struct buf0 { /* 0x0000 */ tint_array_wrapper x_GLF_uniform_float_values; }; struct tint_padded_array_element_1 { /* 0x0000 */ int el; /* 0x0004 */ int8_t tint_pad_1[12]; }; struct tint_array_wrapper_1 { /* 0x0000 */ tint_padded_array_element_1 arr[2]; }; struct buf1 { /* 0x0000 */ tint_array_wrapper_1 x_GLF_uniform_int_values; }; struct main_out { float4 x_GLF_color_1; }; struct tint_symbol_1 { float4 x_GLF_color_1 [[color(0)]]; }; void main_1(constant buf0& x_6, constant buf1& x_8, thread float4* const tint_symbol_3) { float2 v1 = 0.0f; float const x_35 = x_6.x_GLF_uniform_float_values.arr[0].el; v1 = float2(x_35, x_35); int const x_38 = x_8.x_GLF_uniform_int_values.arr[0].el; float const x_40 = v1.y; v1[x_38] = ldexp(x_40, -256); float2 const x_43 = v1; if ((((x_43 * float2x2(float2(x_35, 0.0f), float2(0.0f, x_35)))).x == x_35)) { float const x_53 = float(x_38); int const x_55 = x_8.x_GLF_uniform_int_values.arr[1].el; float const x_56 = float(x_55); *(tint_symbol_3) = float4(x_53, x_56, x_56, x_53); } else { int const x_59 = x_8.x_GLF_uniform_int_values.arr[1].el; float const x_60 = float(x_59); *(tint_symbol_3) = float4(x_60, x_60, x_60, x_60); } return; } main_out tint_symbol_inner(constant buf0& x_6, constant buf1& x_8, thread float4* const tint_symbol_4) { main_1(x_6, x_8, tint_symbol_4); main_out const tint_symbol_2 = {.x_GLF_color_1=*(tint_symbol_4)}; return tint_symbol_2; } fragment tint_symbol_1 tint_symbol(constant buf0& x_6 [[buffer(0)]], constant buf1& x_8 [[buffer(1)]]) { thread float4 tint_symbol_5 = 0.0f; main_out const inner_result = tint_symbol_inner(x_6, x_8, &(tint_symbol_5)); tint_symbol_1 wrapper_result = {}; wrapper_result.x_GLF_color_1 = inner_result.x_GLF_color_1; return wrapper_result; }