489 instructions, 1 invocations [immutable slots] i0 = 0x40490FDB (3.14159274) i1 = 0x3F4CCCCD (0.8) i2 = 0x3F4CCCCD (0.8) i3 = 0x40ACC227 (5.3987) i4 = 0x40AE25AF (5.4421) i5 = 0x41AC47E3 (21.5351) i6 = 0x416504EA (14.3137) store_src_rg p = src.rg init_lane_masks CondMask = LoopMask = RetMask = true copy_constant start = 0 copy_constant end = 0x3E051EB8 (0.13) copy_uniform progress = in_progress copy_slot_unmasked $0 = progress copy_slot_unmasked $1 = start max_float $0 = max($0, $1) copy_slot_unmasked $1 = end min_float $0 = min($0, $1) copy_slot_unmasked sub = $0 copy_slot_unmasked $1 = start sub_float $0 -= $1 copy_slot_unmasked $1 = end copy_slot_unmasked $2 = start sub_float $1 -= $2 div_float $0 /= $1 label label 0 copy_slot_unmasked fadeIn = $0 copy_constant start = 0 copy_constant end = 0x3F800000 (1.0) copy_uniform progress = in_progress copy_slot_unmasked $0 = progress copy_slot_unmasked $1 = start max_float $0 = max($0, $1) copy_slot_unmasked $1 = end min_float $0 = min($0, $1) copy_slot_unmasked sub = $0 copy_slot_unmasked $1 = start sub_float $0 -= $1 copy_slot_unmasked $1 = end copy_slot_unmasked $2 = start sub_float $1 -= $2 div_float $0 /= $1 label label 0x00000001 copy_slot_unmasked scaleIn = $0 copy_constant start = 0x3ECCCCCD (0.4) copy_constant end = 0x3F000000 (0.5) copy_uniform progress = in_progress copy_slot_unmasked $0 = progress copy_slot_unmasked $1 = start max_float $0 = max($0, $1) copy_slot_unmasked $1 = end min_float $0 = min($0, $1) copy_slot_unmasked sub = $0 copy_slot_unmasked $1 = start sub_float $0 -= $1 copy_slot_unmasked $1 = end copy_slot_unmasked $2 = start sub_float $1 -= $2 div_float $0 /= $1 label label 0x00000002 copy_slot_unmasked fadeOutNoise = $0 copy_constant start = 0x3ECCCCCD (0.4) copy_constant end = 0x3F800000 (1.0) copy_uniform progress = in_progress copy_slot_unmasked $0 = progress copy_slot_unmasked $1 = start max_float $0 = max($0, $1) copy_slot_unmasked $1 = end min_float $0 = min($0, $1) copy_slot_unmasked sub = $0 copy_slot_unmasked $1 = start sub_float $0 -= $1 copy_slot_unmasked $1 = end copy_slot_unmasked $2 = start sub_float $1 -= $2 div_float $0 /= $1 label label 0x00000003 copy_slot_unmasked fadeOutRipple = $0 copy_uniform $0 = in_progress mul_imm_float $0 *= 0x40000000 (2.0) max_imm_float $0 = max($0, 0) min_imm_float $0 = min($0, 0x3F800000 (1.0)) copy_slot_unmasked $1 = $0 copy_2_uniforms $2..3 = in_touch copy_2_uniforms $4..5 = in_origin mix_2_floats $0..1 = mix($2..3, $4..5, $0..1) copy_2_slots_unmasked center = $0..1 copy_uniform radius = in_maxRadius copy_constant blur = 0x3F800000 (1.0) copy_slot_unmasked $0 = radius mul_imm_float $0 *= 0x3D4CCCCD (0.05) copy_slot_unmasked thickness = $0 copy_slot_unmasked $0 = radius copy_slot_unmasked $1 = scaleIn mul_float $0 *= $1 copy_slot_unmasked currentRadius = $0 copy_slot_unmasked $1 = thickness add_float $0 += $1 copy_slot_unmasked radius₁ = $0 copy_slot_unmasked $0 = blur mul_imm_float $0 *= 0x3F000000 (0.5) copy_slot_unmasked blurHalf = $0 copy_2_slots_unmasked $0..1 = p copy_2_slots_unmasked $2..3 = center sub_2_floats $0..1 -= $2..3 copy_2_slots_unmasked $2..3 = $0..1 dot_2_floats $0 = dot($0..1, $2..3) sqrt_float $0 = sqrt($0) copy_slot_unmasked d = $0 splat_2_constants $0..1 = 0x3F800000 (1.0) copy_slot_unmasked $2 = blurHalf sub_float $1 -= $2 copy_slot_unmasked $2 = blurHalf add_imm_float $2 += 0x3F800000 (1.0) copy_slot_unmasked $3 = d copy_slot_unmasked $4 = radius₁ div_float $3 /= $4 smoothstep_n_floats $1 = smoothstep($1, $2, $3) sub_float $0 -= $1 label label 0x00000005 copy_slot_unmasked circle_outer = $0 copy_slot_unmasked $0 = currentRadius copy_slot_unmasked $1 = thickness sub_float $0 -= $1 max_imm_float $0 = max($0, 0) copy_slot_unmasked radius₁ = $0 copy_slot_unmasked $0 = blur mul_imm_float $0 *= 0x3F000000 (0.5) copy_slot_unmasked blurHalf = $0 copy_2_slots_unmasked $0..1 = p copy_2_slots_unmasked $2..3 = center sub_2_floats $0..1 -= $2..3 copy_2_slots_unmasked $2..3 = $0..1 dot_2_floats $0 = dot($0..1, $2..3) sqrt_float $0 = sqrt($0) copy_slot_unmasked d = $0 splat_2_constants $0..1 = 0x3F800000 (1.0) copy_slot_unmasked $2 = blurHalf sub_float $1 -= $2 copy_slot_unmasked $2 = blurHalf add_imm_float $2 += 0x3F800000 (1.0) copy_slot_unmasked $3 = d copy_slot_unmasked $4 = radius₁ div_float $3 /= $4 smoothstep_n_floats $1 = smoothstep($1, $2, $3) sub_float $0 -= $1 label label 0x00000006 copy_slot_unmasked circle_inner = $0 copy_slot_unmasked $0 = circle_outer copy_slot_unmasked $1 = circle_inner sub_float $0 -= $1 max_imm_float $0 = max($0, 0) min_imm_float $0 = min($0, 0x3F800000 (1.0)) label label 0x00000004 copy_slot_unmasked ring = $0 copy_slot_unmasked $0 = fadeIn copy_constant $1 = 0x3F800000 (1.0) copy_slot_unmasked $2 = fadeOutNoise sub_float $1 -= $2 min_float $0 = min($0, $1) copy_slot_unmasked alpha = $0 copy_2_slots_unmasked $0..1 = p copy_2_uniforms $2..3 = in_resolutionScale mul_2_floats $0..1 *= $2..3 copy_2_slots_unmasked uv = $0..1 copy_2_slots_unmasked $2..3 = uv copy_2_uniforms $4..5 = in_noiseScale mod_2_floats $2..3 = mod($2..3, $4..5) sub_2_floats $0..1 -= $2..3 copy_2_slots_unmasked densityUv = $0..1 copy_2_slots_unmasked uv₁ = uv copy_uniform t = in_turbulencePhase copy_2_slots_unmasked $0..1 = uv₁ mul_imm_float $0 *= 0x3F4CCCCD (0.8) mul_imm_float $1 *= 0x3F4CCCCD (0.8) copy_2_slots_unmasked uv₁ = $0..1 splat_2_constants resolution = 0x3F4CCCCD (0.8) copy_2_slots_unmasked coord = uv₁ copy_2_uniforms center₁ = in_tCircle1 copy_2_uniforms rotation = in_tRotation1 copy_constant cell_diameter = 0x3E2E147B (0.17) copy_2_slots_unmasked $2..3 = rotation bitwise_xor_imm_int $3 ^= 0x80000000 copy_slot_unmasked $4 = rotation(1) copy_slot_unmasked $5 = rotation(0) copy_2_slots_unmasked $6..7 = center₁ copy_2_slots_unmasked $8..9 = coord sub_2_floats $6..7 -= $8..9 matrix_multiply_2 mat1x2($0..1) = mat2x2($2..5) * mat1x2($6..7) copy_2_slots_unmasked $2..3 = center₁ add_2_floats $0..1 += $2..3 copy_2_slots_unmasked coord = $0..1 copy_slot_unmasked $2 = cell_diameter copy_slot_unmasked $3 = $2 mod_2_floats $0..1 = mod($0..1, $2..3) copy_2_slots_unmasked $2..3 = resolution div_2_floats $0..1 /= $2..3 copy_2_slots_unmasked coord = $0..1 copy_slot_unmasked $0 = cell_diameter copy_slot_unmasked $1 = resolution(1) div_float $0 /= $1 mul_imm_float $0 *= 0x3F000000 (0.5) copy_slot_unmasked normal_radius = $0 mul_imm_float $0 *= 0x3F266666 (0.65) copy_slot_unmasked radius₂ = $0 copy_slot_unmasked $0 = normal_radius copy_slot_unmasked $1 = $0 copy_2_slots_unmasked xy = $0..1 copy_slot_unmasked $0 = radius₂ mul_imm_float $0 *= 0x42480000 (50.0) copy_slot_unmasked blur₁ = $0 mul_imm_float $0 *= 0x3F000000 (0.5) copy_slot_unmasked blurHalf = $0 copy_2_slots_unmasked $0..1 = coord copy_2_slots_unmasked $2..3 = xy sub_2_floats $0..1 -= $2..3 copy_2_slots_unmasked $2..3 = $0..1 dot_2_floats $0 = dot($0..1, $2..3) sqrt_float $0 = sqrt($0) copy_slot_unmasked d = $0 splat_2_constants $0..1 = 0x3F800000 (1.0) copy_slot_unmasked $2 = blurHalf sub_float $1 -= $2 copy_slot_unmasked $2 = blurHalf add_imm_float $2 += 0x3F800000 (1.0) copy_slot_unmasked $3 = d copy_slot_unmasked $4 = radius₂ div_float $3 /= $4 smoothstep_n_floats $1 = smoothstep($1, $2, $3) sub_float $0 -= $1 label label 0x00000009 label label 0x00000008 copy_slot_unmasked g1 = $0 splat_2_constants resolution = 0x3F4CCCCD (0.8) copy_2_slots_unmasked coord = uv₁ copy_2_uniforms center₁ = in_tCircle2 copy_2_uniforms rotation = in_tRotation2 copy_constant cell_diameter = 0x3E4CCCCD (0.2) copy_2_slots_unmasked $2..3 = rotation bitwise_xor_imm_int $3 ^= 0x80000000 copy_slot_unmasked $4 = rotation(1) copy_slot_unmasked $5 = rotation(0) copy_2_slots_unmasked $6..7 = center₁ copy_2_slots_unmasked $8..9 = coord sub_2_floats $6..7 -= $8..9 matrix_multiply_2 mat1x2($0..1) = mat2x2($2..5) * mat1x2($6..7) copy_2_slots_unmasked $2..3 = center₁ add_2_floats $0..1 += $2..3 copy_2_slots_unmasked coord = $0..1 copy_slot_unmasked $2 = cell_diameter copy_slot_unmasked $3 = $2 mod_2_floats $0..1 = mod($0..1, $2..3) copy_2_slots_unmasked $2..3 = resolution div_2_floats $0..1 /= $2..3 copy_2_slots_unmasked coord = $0..1 copy_slot_unmasked $0 = cell_diameter copy_slot_unmasked $1 = resolution(1) div_float $0 /= $1 mul_imm_float $0 *= 0x3F000000 (0.5) copy_slot_unmasked normal_radius = $0 mul_imm_float $0 *= 0x3F266666 (0.65) copy_slot_unmasked radius₂ = $0 copy_slot_unmasked $0 = normal_radius copy_slot_unmasked $1 = $0 copy_2_slots_unmasked xy = $0..1 copy_slot_unmasked $0 = radius₂ mul_imm_float $0 *= 0x42480000 (50.0) copy_slot_unmasked blur₁ = $0 mul_imm_float $0 *= 0x3F000000 (0.5) copy_slot_unmasked blurHalf = $0 copy_2_slots_unmasked $0..1 = coord copy_2_slots_unmasked $2..3 = xy sub_2_floats $0..1 -= $2..3 copy_2_slots_unmasked $2..3 = $0..1 dot_2_floats $0 = dot($0..1, $2..3) sqrt_float $0 = sqrt($0) copy_slot_unmasked d = $0 splat_2_constants $0..1 = 0x3F800000 (1.0) copy_slot_unmasked $2 = blurHalf sub_float $1 -= $2 copy_slot_unmasked $2 = blurHalf add_imm_float $2 += 0x3F800000 (1.0) copy_slot_unmasked $3 = d copy_slot_unmasked $4 = radius₂ div_float $3 /= $4 smoothstep_n_floats $1 = smoothstep($1, $2, $3) sub_float $0 -= $1 label label 0x0000000B label label 0x0000000A copy_slot_unmasked g2 = $0 splat_2_constants resolution = 0x3F4CCCCD (0.8) copy_2_slots_unmasked coord = uv₁ copy_2_uniforms center₁ = in_tCircle3 copy_2_uniforms rotation = in_tRotation3 copy_constant cell_diameter = 0x3E8CCCCD (0.275) copy_2_slots_unmasked $2..3 = rotation bitwise_xor_imm_int $3 ^= 0x80000000 copy_slot_unmasked $4 = rotation(1) copy_slot_unmasked $5 = rotation(0) copy_2_slots_unmasked $6..7 = center₁ copy_2_slots_unmasked $8..9 = coord sub_2_floats $6..7 -= $8..9 matrix_multiply_2 mat1x2($0..1) = mat2x2($2..5) * mat1x2($6..7) copy_2_slots_unmasked $2..3 = center₁ add_2_floats $0..1 += $2..3 copy_2_slots_unmasked coord = $0..1 copy_slot_unmasked $2 = cell_diameter copy_slot_unmasked $3 = $2 mod_2_floats $0..1 = mod($0..1, $2..3) copy_2_slots_unmasked $2..3 = resolution div_2_floats $0..1 /= $2..3 copy_2_slots_unmasked coord = $0..1 copy_slot_unmasked $0 = cell_diameter copy_slot_unmasked $1 = resolution(1) div_float $0 /= $1 mul_imm_float $0 *= 0x3F000000 (0.5) copy_slot_unmasked normal_radius = $0 mul_imm_float $0 *= 0x3F266666 (0.65) copy_slot_unmasked radius₂ = $0 copy_slot_unmasked $0 = normal_radius copy_slot_unmasked $1 = $0 copy_2_slots_unmasked xy = $0..1 copy_slot_unmasked $0 = radius₂ mul_imm_float $0 *= 0x42480000 (50.0) copy_slot_unmasked blur₁ = $0 mul_imm_float $0 *= 0x3F000000 (0.5) copy_slot_unmasked blurHalf = $0 copy_2_slots_unmasked $0..1 = coord copy_2_slots_unmasked $2..3 = xy sub_2_floats $0..1 -= $2..3 copy_2_slots_unmasked $2..3 = $0..1 dot_2_floats $0 = dot($0..1, $2..3) sqrt_float $0 = sqrt($0) copy_slot_unmasked d = $0 splat_2_constants $0..1 = 0x3F800000 (1.0) copy_slot_unmasked $2 = blurHalf sub_float $1 -= $2 copy_slot_unmasked $2 = blurHalf add_imm_float $2 += 0x3F800000 (1.0) copy_slot_unmasked $3 = d copy_slot_unmasked $4 = radius₂ div_float $3 /= $4 smoothstep_n_floats $1 = smoothstep($1, $2, $3) sub_float $0 -= $1 label label 0x0000000D label label 0x0000000C copy_slot_unmasked g3 = $0 copy_slot_unmasked $0 = g1 copy_slot_unmasked $1 = g1 mul_float $0 *= $1 copy_slot_unmasked $1 = g2 add_float $0 += $1 copy_slot_unmasked $1 = g3 sub_float $0 -= $1 mul_imm_float $0 *= 0x3F000000 (0.5) copy_slot_unmasked v = $0 mul_imm_float $0 *= 0x3F4CCCCD (0.8) add_imm_float $0 += 0x3EE66666 (0.45) max_imm_float $0 = max($0, 0) min_imm_float $0 = min($0, 0x3F800000 (1.0)) label label 0x00000007 copy_slot_unmasked turbulence = $0 copy_uniform t₁ = in_noisePhase copy_2_slots_unmasked _0_n = densityUv copy_2_slots_unmasked $0..1 = _0_n copy_2_immutables_unmasked $2..3 = i3..4 [0x40ACC227 (5.3987), 0x40AE25AF (5.4421)] mul_2_floats $0..1 *= $2..3 copy_2_slots_unmasked $2..3 = $0..1 floor_2_floats $2..3 = floor($2..3) sub_2_floats $0..1 -= $2..3 copy_2_slots_unmasked _0_n = $0..1 copy_2_slots_unmasked $2..3 = _0_n swizzle_2 $2..3 = ($2..3).yx copy_2_slots_unmasked $4..5 = _0_n copy_2_immutables_unmasked $6..7 = i5..6 [0x41AC47E3 (21.5351), 0x416504EA (14.3137)] add_2_floats $4..5 += $6..7 dot_2_floats $2 = dot($2..3, $4..5) copy_slot_unmasked $3 = $2 add_2_floats $0..1 += $2..3 copy_2_slots_unmasked _0_n = $0..1 mul_float $0 *= $1 copy_slot_unmasked _1_xy = $0 mul_imm_float $0 *= 0x42BEDC85 (95.4307) copy_slot_unmasked $1 = $0 floor_float $1 = floor($1) sub_float $0 -= $1 copy_slot_unmasked $1 = _1_xy mul_imm_float $1 *= 0x42961966 (75.04961) copy_slot_unmasked $2 = $1 floor_float $2 = floor($2) sub_float $1 -= $2 add_float $0 += $1 add_imm_float $0 += 0xBF800000 (-1.0) copy_slot_unmasked n = $0 splat_2_constants s, i = 0 label label 0x00000010 copy_slot_unmasked $0 = i mul_imm_float $0 *= 0x3DCCCCCD (0.1) copy_slot_unmasked l = $0 add_imm_float $0 += 0x3D4CCCCD (0.05) copy_slot_unmasked h = $0 copy_slot_unmasked $0 = t₁ copy_slot_unmasked $1 = i mul_imm_float $1 *= 0x3EB33333 (0.35) add_float $0 += $1 mul_imm_float $0 *= 0x40490FDB (3.14159274) sin_float $0 = sin($0) copy_slot_unmasked o = $0 copy_slot_unmasked $0 = n copy_slot_unmasked $1 = o add_float $0 += $1 copy_slot_unmasked _2_v = $0 copy_slot_unmasked $0 = s copy_slot_unmasked $1 = l copy_slot_unmasked $2 = _2_v cmple_float $1 = lessThanEqual($1, $2) bitwise_and_imm_int $1 &= 0x3F800000 copy_constant $2 = 0x3F800000 (1.0) copy_slot_unmasked $3 = h copy_slot_unmasked $4 = _2_v cmple_float $3 = lessThanEqual($3, $4) bitwise_and_imm_int $3 &= 0x3F800000 sub_float $2 -= $3 mul_float $1 *= $2 add_float $0 += $1 copy_slot_unmasked s = $0 add_imm_float i += 0x3F800000 (1.0) copy_slot_unmasked $0 = i cmplt_imm_float $0 = lessThan($0, 0x40800000 (4.0)) stack_rewind branch_if_no_active_lanes_eq branch -35 (label 16 at #388) if no lanes of $0 == 0 label label 0x0000000F copy_slot_unmasked $0 = s max_imm_float $0 = max($0, 0) min_imm_float $0 = min($0, 0x3F800000 (1.0)) copy_uniform $1 = in_sparkleColor(3) mul_float $0 *= $1 label label 0x0000000E copy_slot_unmasked $1 = ring mul_float $0 *= $1 copy_slot_unmasked $1 = alpha mul_float $0 *= $1 copy_slot_unmasked $1 = turbulence mul_float $0 *= $1 copy_slot_unmasked sparkleAlpha = $0 copy_slot_unmasked $0 = fadeIn copy_constant $1 = 0x3F800000 (1.0) copy_slot_unmasked $2 = fadeOutRipple sub_float $1 -= $2 min_float $0 = min($0, $1) copy_slot_unmasked fade = $0 copy_uniform $0 = in_maxRadius copy_slot_unmasked $1 = scaleIn mul_float $0 *= $1 copy_slot_unmasked radius₁ = $0 copy_constant blur₁ = 0x3F800000 (1.0) copy_slot_unmasked $0 = blur₁ mul_imm_float $0 *= 0x3F000000 (0.5) copy_slot_unmasked blurHalf = $0 copy_2_slots_unmasked $0..1 = p copy_2_slots_unmasked $2..3 = center sub_2_floats $0..1 -= $2..3 copy_2_slots_unmasked $2..3 = $0..1 dot_2_floats $0 = dot($0..1, $2..3) sqrt_float $0 = sqrt($0) copy_slot_unmasked d = $0 splat_2_constants $0..1 = 0x3F800000 (1.0) copy_slot_unmasked $2 = blurHalf sub_float $1 -= $2 copy_slot_unmasked $2 = blurHalf add_imm_float $2 += 0x3F800000 (1.0) copy_slot_unmasked $3 = d copy_slot_unmasked $4 = radius₁ div_float $3 /= $4 smoothstep_n_floats $1 = smoothstep($1, $2, $3) sub_float $0 -= $1 label label 0x00000011 copy_slot_unmasked $1 = fade mul_float $0 *= $1 copy_uniform $1 = in_color(3) mul_float $0 *= $1 copy_slot_unmasked waveAlpha = $0 copy_3_uniforms $0..2 = in_color(0..2) copy_slot_unmasked $3 = waveAlpha swizzle_3 $3..5 = ($3..5).xxx mul_3_floats $0..2 *= $3..5 copy_slot_unmasked waveColor(3) = waveAlpha copy_3_slots_unmasked waveColor(0..2) = $0..2 copy_4_uniforms $0..3 = in_sparkleColor swizzle_3 $3..5 = ($3..5).xxx mul_3_floats $0..2 *= $3..5 copy_uniform sparkleColor(3) = in_sparkleColor(3) copy_3_slots_unmasked sparkleColor(0..2) = $0..2 copy_uniform $12 = in_hasMask cmpeq_imm_float $12 = equal($12, 0x3F800000 (1.0)) branch_if_no_active_lanes_eq branch +10 (label 18 at #498) if no lanes of $12 == 0xFFFFFFFF copy_constant $0 = 0 copy_2_slots_unmasked $1..2 = p exchange_src swap(src.rgba, $1..4) invoke_shader invoke_shader 0 exchange_src swap(src.rgba, $1..4) copy_slot_unmasked $1 = $4 cmplt_float $0 = lessThan($0, $1) bitwise_and_imm_int $0 &= 0x3F800000 jump jump +3 (label 19 at #500) label label 0x00000012 copy_constant $0 = 0x3F800000 (1.0) label label 0x00000013 copy_slot_unmasked mask = $0 copy_slot_unmasked $0 = sparkleAlpha swizzle_4 $0..3 = ($0..3).xxxx copy_4_slots_unmasked $4..7 = waveColor copy_4_slots_unmasked $8..11 = sparkleColor mix_4_floats $0..3 = mix($4..7, $8..11, $0..3) copy_slot_unmasked $4 = mask swizzle_4 $4..7 = ($4..7).xxxx mul_4_floats $0..3 *= $4..7 load_src src.rgba = $0..3