#include using namespace metal; int tint_div(int lhs, int rhs) { return (lhs / select(rhs, 1, bool((rhs == 0) | bool((lhs == (-2147483647 - 1)) & (rhs == -1))))); } void foo(threadgroup int* const tint_symbol, threadgroup float4* const tint_symbol_1, threadgroup float2x2* const tint_symbol_2) { *(tint_symbol) = tint_div(*(tint_symbol), 2); *(tint_symbol_1) = (*(tint_symbol_1) * float4x4(float4(0.0f), float4(0.0f), float4(0.0f), float4(0.0f))); *(tint_symbol_2) = (*(tint_symbol_2) * 2.0f); }