#include using namespace metal; struct Communicators { float alice; float4 bob; }; struct main_out { float4 x_2_1; float x_3_1; float4 x_3_2; }; struct tint_symbol_2 { float x_1_param [[attribute(9)]]; float4 x_1_param_1 [[attribute(11)]]; }; struct tint_symbol_3 { float x_3_1 [[user(locn9)]]; float4 x_3_2 [[user(locn11)]]; float4 x_2_1 [[position]]; }; void main_1() { return; } main_out tint_symbol_inner(float x_1_param, float4 x_1_param_1, thread Communicators* const tint_symbol_5, thread float4* const tint_symbol_6, thread Communicators* const tint_symbol_7) { (*(tint_symbol_5)).alice = x_1_param; (*(tint_symbol_5)).bob = x_1_param_1; main_1(); main_out const tint_symbol_4 = {.x_2_1=*(tint_symbol_6), .x_3_1=(*(tint_symbol_7)).alice, .x_3_2=(*(tint_symbol_7)).bob}; return tint_symbol_4; } vertex tint_symbol_3 tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]]) { thread Communicators tint_symbol_8 = {}; thread float4 tint_symbol_9 = 0.0f; thread Communicators tint_symbol_10 = {}; main_out const inner_result = tint_symbol_inner(tint_symbol_1.x_1_param, tint_symbol_1.x_1_param_1, &(tint_symbol_8), &(tint_symbol_9), &(tint_symbol_10)); tint_symbol_3 wrapper_result = {}; wrapper_result.x_2_1 = inner_result.x_2_1; wrapper_result.x_3_1 = inner_result.x_3_1; wrapper_result.x_3_2 = inner_result.x_3_2; return wrapper_result; }