#include <metal_stdlib>

using namespace metal;
float subgroupExclusiveMul_98b2e4() {
  float res = simd_prefix_exclusive_product(1.0f);
  return res;
}

fragment void fragment_main(device float* tint_symbol [[buffer(0)]]) {
  *(tint_symbol) = subgroupExclusiveMul_98b2e4();
  return;
}

kernel void compute_main(device float* tint_symbol_1 [[buffer(0)]]) {
  *(tint_symbol_1) = subgroupExclusiveMul_98b2e4();
  return;
}

