#include using namespace metal; void uses_a(thread int* const tint_symbol) { *(tint_symbol) = as_type((as_type(*(tint_symbol)) + as_type(1))); } void uses_b(thread int* const tint_symbol_1) { *(tint_symbol_1) = as_type((as_type(*(tint_symbol_1)) * as_type(2))); } void uses_a_and_b(thread int* const tint_symbol_2, thread int* const tint_symbol_3) { *(tint_symbol_2) = *(tint_symbol_3); } void no_uses() { } void outer(thread int* const tint_symbol_4, thread int* const tint_symbol_5) { *(tint_symbol_4) = 0; uses_a(tint_symbol_4); uses_a_and_b(tint_symbol_5, tint_symbol_4); uses_b(tint_symbol_5); no_uses(); } kernel void main1() { thread int tint_symbol_6 = 0; tint_symbol_6 = 42; uses_a(&(tint_symbol_6)); return; } kernel void main2() { thread int tint_symbol_7 = 0; tint_symbol_7 = 7; uses_b(&(tint_symbol_7)); return; } kernel void main3() { thread int tint_symbol_8 = 0; thread int tint_symbol_9 = 0; outer(&(tint_symbol_8), &(tint_symbol_9)); no_uses(); return; } kernel void main4() { no_uses(); return; }