#include <metal_stdlib>

using namespace metal;
void textureSampleBias_1c707e(texture2d_array<float, access::sample> tint_symbol, sampler tint_symbol_1, device float4* const tint_symbol_2) {
  float4 res = tint_symbol.sample(tint_symbol_1, float2(1.0f), 1u, bias(1.0f));
  *(tint_symbol_2) = res;
}

fragment void fragment_main(texture2d_array<float, access::sample> tint_symbol_3 [[texture(0)]], sampler tint_symbol_4 [[sampler(0)]], device float4* tint_symbol_5 [[buffer(0)]]) {
  textureSampleBias_1c707e(tint_symbol_3, tint_symbol_4, tint_symbol_5);
  return;
}

