blob: 0af13fc24410b57587d4cc0acfbef30f667ea60b [file] [log] [blame]
#include <metal_stdlib>
using namespace metal;
struct buf0 {
/* 0x0000 */ packed_float2 resolution;
};
struct main_out {
float4 x_GLF_color_1;
};
struct tint_symbol_2 {
float4 x_GLF_color_1 [[color(0)]];
};
float compute_value_f1_f1_(thread float* const limit, thread float* const thirty_two) {
float result = 0.0f;
int i = 0;
result = -0.5f;
i = 1;
while (true) {
int const x_136 = i;
if ((x_136 < 800)) {
} else {
break;
}
int const x_139 = i;
if (((x_139 % 32) == 0)) {
float const x_145 = result;
result = (x_145 + 0.400000006f);
} else {
int const x_147 = i;
float const x_149 = *(thirty_two);
if (((float(x_147) - (rint(x_149) * floor((float(x_147) / rint(x_149))))) <= 0.01f)) {
float const x_155 = result;
result = (x_155 + 100.0f);
}
}
int const x_157 = i;
float const x_159 = *(limit);
if ((float(x_157) >= x_159)) {
float const x_163 = result;
return x_163;
}
{
int const x_164 = i;
i = as_type<int>((as_type<uint>(x_164) + as_type<uint>(1)));
}
}
float const x_166 = result;
return x_166;
}
void main_1(constant buf0& x_13, thread float4* const tint_symbol_5, thread float4* const tint_symbol_6) {
float3 c = 0.0f;
float thirty_two_1 = 0.0f;
float param = 0.0f;
float param_1 = 0.0f;
float param_2 = 0.0f;
float param_3 = 0.0f;
int i_1 = 0;
c = float3(7.0f, 8.0f, 9.0f);
float const x_63 = x_13.resolution.x;
thirty_two_1 = rint((x_63 / 8.0f));
float const x_67 = (*(tint_symbol_5)).x;
param = x_67;
float const x_68 = thirty_two_1;
param_1 = x_68;
float const x_69 = compute_value_f1_f1_(&(param), &(param_1));
c.x = x_69;
float const x_72 = (*(tint_symbol_5)).y;
param_2 = x_72;
float const x_73 = thirty_two_1;
param_3 = x_73;
float const x_74 = compute_value_f1_f1_(&(param_2), &(param_3));
c.y = x_74;
float3 const x_76 = c;
float3 const x_79 = c;
float4x2 const x_87 = float4x2(float2(x_79.x, x_79.y), float2(x_79.z, 1.0f), float2(1.0f, 0.0f), float2(1.0f, 0.0f));
c.z = (((x_76 * float3x3(float3(1.0f, 0.0f, 0.0f), float3(0.0f, 1.0f, 0.0f), float3(0.0f, 0.0f, 1.0f)))).x + float3(x_87[0u].x, x_87[0u].y, x_87[1u].x).y);
i_1 = 0;
while (true) {
int const x_99 = i_1;
if ((x_99 < 3)) {
} else {
break;
}
int const x_102 = i_1;
float const x_104 = c[x_102];
if ((x_104 >= 1.0f)) {
int const x_108 = i_1;
int const x_109 = i_1;
float const x_111 = c[x_109];
int const x_112 = i_1;
float const x_114 = c[x_112];
c[x_108] = (x_111 * x_114);
float const x_118 = (*(tint_symbol_5)).y;
if ((x_118 < 0.0f)) {
break;
}
}
{
int const x_122 = i_1;
i_1 = as_type<int>((as_type<uint>(x_122) + as_type<uint>(1)));
}
}
float3 const x_124 = c;
float3 const x_126 = normalize(fabs(x_124));
*(tint_symbol_6) = float4(x_126.x, x_126.y, x_126.z, 1.0f);
return;
}
fragment tint_symbol_2 tint_symbol(float4 gl_FragCoord_param [[position]], constant buf0& x_13 [[buffer(0)]]) {
thread float4 tint_symbol_7 = 0.0f;
thread float4 tint_symbol_8 = 0.0f;
tint_symbol_7 = gl_FragCoord_param;
main_1(x_13, &(tint_symbol_7), &(tint_symbol_8));
main_out const tint_symbol_3 = {.x_GLF_color_1=tint_symbol_8};
tint_symbol_2 const tint_symbol_4 = {.x_GLF_color_1=tint_symbol_3.x_GLF_color_1};
return tint_symbol_4;
}