diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.hlsl
index 84838ef..c5053c4 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.hlsl
@@ -10,7 +10,7 @@
   float undefined = 0.0f;
   bool x_51 = false;
   bool x_52_phi = false;
-  undefined = (5.0f % 0.0f);
+  undefined = (5.0f - (0.0f * floor((5.0f / 0.0f))));
   const uint scalar_offset = ((16u * uint(0))) / 4;
   const int x_10 = asint(x_6[scalar_offset / 4][scalar_offset % 4]);
   const uint scalar_offset_1 = ((16u * uint(0))) / 4;
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.msl
index ad2c3ca..941cf28 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -34,7 +32,7 @@
   float undefined = 0.0f;
   bool x_51 = false;
   bool x_52_phi = false;
-  undefined = (5.0f % 0.0f);
+  undefined = (5.0f - (0.0f * floor((5.0f / 0.0f))));
   int const x_10 = x_6.x_GLF_uniform_int_values.arr[0].el;
   int const x_11 = x_6.x_GLF_uniform_int_values.arr[0].el;
   int const x_12 = x_6.x_GLF_uniform_int_values.arr[1].el;
@@ -69,8 +67,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\u348.0.metal:35:21: error: invalid operands to binary expression ('float' and 'float')
-  undefined = (5.0f % 0.0f);
-               ~~~~ ^ ~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.spvasm
index 042259a..1e78c0a 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.spvasm
@@ -1,9 +1,10 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 89
+; Bound: 93
 ; Schema: 0
                OpCapability Shader
+         %35 = OpExtInstImport "GLSL.std.450"
                OpMemoryModel Logical GLSL450
                OpEntryPoint Fragment %main "main" %tint_symbol_1
                OpExecutionMode %main OriginUpperLeft
@@ -72,77 +73,80 @@
       %int_1 = OpConstant %int 1
 %_ptr_Uniform_float = OpTypePointer Uniform %float
    %main_out = OpTypeStruct %v4float
-         %77 = OpTypeFunction %void %main_out
+         %81 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %20
          %23 = OpLabel
   %undefined = OpVariable %_ptr_Function_float Function %26
        %x_51 = OpVariable %_ptr_Function_bool Function %30
    %x_52_phi = OpVariable %_ptr_Function_bool Function %30
-         %34 = OpFMod %float %float_5 %float_0
-               OpStore %undefined %34
-         %38 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
-         %39 = OpLoad %int %38
-         %40 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
-         %41 = OpLoad %int %40
-         %43 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
-         %44 = OpLoad %int %43
-         %45 = OpIAdd %int %41 %44
-         %46 = OpIEqual %bool %39 %45
-               OpStore %x_52_phi %46
-         %47 = OpLogicalNot %bool %46
-               OpSelectionMerge %48 None
-               OpBranchConditional %47 %49 %48
-         %49 = OpLabel
-         %50 = OpLoad %float %undefined
-         %52 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
-         %53 = OpLoad %float %52
-         %54 = OpFOrdGreaterThan %bool %50 %53
-               OpStore %x_51 %54
-         %55 = OpLoad %bool %x_51
-               OpStore %x_52_phi %55
-               OpBranch %48
-         %48 = OpLabel
-         %56 = OpLoad %bool %x_52_phi
-               OpSelectionMerge %57 None
-               OpBranchConditional %56 %58 %59
-         %58 = OpLabel
-         %60 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
-         %61 = OpLoad %int %60
-         %62 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
-         %63 = OpLoad %int %62
-         %64 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
+         %36 = OpFDiv %float %float_5 %float_0
+         %34 = OpExtInst %float %35 Floor %36
+         %37 = OpFMul %float %float_0 %34
+         %38 = OpFSub %float %float_5 %37
+               OpStore %undefined %38
+         %42 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
+         %43 = OpLoad %int %42
+         %44 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
+         %45 = OpLoad %int %44
+         %47 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
+         %48 = OpLoad %int %47
+         %49 = OpIAdd %int %45 %48
+         %50 = OpIEqual %bool %43 %49
+               OpStore %x_52_phi %50
+         %51 = OpLogicalNot %bool %50
+               OpSelectionMerge %52 None
+               OpBranchConditional %51 %53 %52
+         %53 = OpLabel
+         %54 = OpLoad %float %undefined
+         %56 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
+         %57 = OpLoad %float %56
+         %58 = OpFOrdGreaterThan %bool %54 %57
+               OpStore %x_51 %58
+         %59 = OpLoad %bool %x_51
+               OpStore %x_52_phi %59
+               OpBranch %52
+         %52 = OpLabel
+         %60 = OpLoad %bool %x_52_phi
+               OpSelectionMerge %61 None
+               OpBranchConditional %60 %62 %63
+         %62 = OpLabel
+         %64 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
          %65 = OpLoad %int %64
-         %66 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
+         %66 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
          %67 = OpLoad %int %66
-         %68 = OpConvertSToF %float %61
-         %69 = OpConvertSToF %float %63
-         %70 = OpConvertSToF %float %65
-         %71 = OpConvertSToF %float %67
-         %72 = OpCompositeConstruct %v4float %68 %69 %70 %71
-               OpStore %x_GLF_color %72
-               OpBranch %57
-         %59 = OpLabel
-         %73 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
-         %74 = OpLoad %int %73
-         %75 = OpConvertSToF %float %74
-         %76 = OpCompositeConstruct %v4float %75 %75 %75 %75
+         %68 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
+         %69 = OpLoad %int %68
+         %70 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
+         %71 = OpLoad %int %70
+         %72 = OpConvertSToF %float %65
+         %73 = OpConvertSToF %float %67
+         %74 = OpConvertSToF %float %69
+         %75 = OpConvertSToF %float %71
+         %76 = OpCompositeConstruct %v4float %72 %73 %74 %75
                OpStore %x_GLF_color %76
-               OpBranch %57
-         %57 = OpLabel
+               OpBranch %61
+         %63 = OpLabel
+         %77 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_1
+         %78 = OpLoad %int %77
+         %79 = OpConvertSToF %float %78
+         %80 = OpCompositeConstruct %v4float %79 %79 %79 %79
+               OpStore %x_GLF_color %80
+               OpBranch %61
+         %61 = OpLabel
                OpReturn
                OpFunctionEnd
-%tint_symbol_2 = OpFunction %void None %77
+%tint_symbol_2 = OpFunction %void None %81
 %tint_symbol = OpFunctionParameter %main_out
-         %81 = OpLabel
-         %82 = OpCompositeExtract %v4float %tint_symbol 0
-               OpStore %tint_symbol_1 %82
+         %85 = OpLabel
+         %86 = OpCompositeExtract %v4float %tint_symbol 0
+               OpStore %tint_symbol_1 %86
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %20
-         %84 = OpLabel
-         %85 = OpFunctionCall %void %main_1
-         %87 = OpLoad %v4float %x_GLF_color
-         %88 = OpCompositeConstruct %main_out %87
-         %86 = OpFunctionCall %void %tint_symbol_2 %88
+         %88 = OpLabel
+         %89 = OpFunctionCall %void %main_1
+         %91 = OpLoad %v4float %x_GLF_color
+         %92 = OpCompositeConstruct %main_out %91
+         %90 = OpFunctionCall %void %tint_symbol_2 %92
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.wgsl
index ee6f6f7..43a60a3 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.spvasm.expected.wgsl
@@ -22,7 +22,7 @@
   var undefined : f32;
   var x_51 : bool;
   var x_52_phi : bool;
-  undefined = (5.0 % 0.0);
+  undefined = (5.0 - (0.0 * floor((5.0 / 0.0))));
   let x_10 : i32 = x_6.x_GLF_uniform_int_values[0];
   let x_11 : i32 = x_6.x_GLF_uniform_int_values[0];
   let x_12 : i32 = x_6.x_GLF_uniform_int_values[1];
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.wgsl.expected.msl
index 201dc73..6033ad9 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -34,7 +32,7 @@
   float undefined = 0.0f;
   bool x_51 = false;
   bool x_52_phi = false;
-  undefined = (5.0f % 0.0f);
+  undefined = fmod(5.0f, 0.0f);
   int const x_10 = x_6.x_GLF_uniform_int_values.arr[0].el;
   int const x_11 = x_6.x_GLF_uniform_int_values.arr[0].el;
   int const x_12 = x_6.x_GLF_uniform_int_values.arr[1].el;
@@ -69,8 +67,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\u5b0.0.metal:35:21: error: invalid operands to binary expression ('float' and 'float')
-  undefined = (5.0f % 0.0f);
-               ~~~~ ^ ~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.wgsl.expected.spvasm
index 042259a..5d524ab 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-mod-zero/0-opt.wgsl.expected.spvasm
@@ -78,7 +78,7 @@
   %undefined = OpVariable %_ptr_Function_float Function %26
        %x_51 = OpVariable %_ptr_Function_bool Function %30
    %x_52_phi = OpVariable %_ptr_Function_bool Function %30
-         %34 = OpFMod %float %float_5 %float_0
+         %34 = OpFRem %float %float_5 %float_0
                OpStore %undefined %34
          %38 = OpAccessChain %_ptr_Uniform_int %x_6 %uint_0 %int_0
          %39 = OpLoad %int %38
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.hlsl
index 134d1e5..a13eb73 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.hlsl
@@ -12,7 +12,7 @@
   float f1 = 0.0f;
   bool x_72 = false;
   bool x_73_phi = false;
-  f0 = (10.0f % 0.000001f);
+  f0 = (10.0f - (0.000001f * floor((10.0f / 0.000001f))));
   s1 = 9.99999935e-39f;
   if ((s1 == 0.0f)) {
     s1 = 1.0f;
@@ -21,7 +21,8 @@
   bool x_71 = false;
   bool x_63_phi = false;
   bool x_72_phi = false;
-  f1 = (10.0f % s1);
+  const float x_42 = s1;
+  f1 = (10.0f - (x_42 * floor((10.0f / x_42))));
   bool tint_tmp = isinf(f1);
   if (!tint_tmp) {
     tint_tmp = (s1 == 1.0f);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.msl
index b44e5d5..eed1df1 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -36,7 +34,7 @@
   float f1 = 0.0f;
   bool x_72 = false;
   bool x_73_phi = false;
-  f0 = (10.0f % 0.000001f);
+  f0 = (10.0f - (0.000001f * floor((10.0f / 0.000001f))));
   s1 = 9.99999935e-39f;
   float const x_38 = s1;
   if ((x_38 == 0.0f)) {
@@ -47,7 +45,7 @@
   bool x_63_phi = false;
   bool x_72_phi = false;
   float const x_42 = s1;
-  f1 = (10.0f % x_42);
+  f1 = (10.0f - (x_42 * floor((10.0f / x_42))));
   float const x_44 = f1;
   float const x_46 = s1;
   bool const x_48 = (isinf(x_44) || (x_46 == 1.0f));
@@ -98,11 +96,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\u3v4.0.metal:37:15: error: invalid operands to binary expression ('float' and 'float')
-  f0 = (10.0f % 0.000001f);
-        ~~~~~ ^ ~~~~~~~~~
-T:\tmp\u3v4.0.metal:48:15: error: invalid operands to binary expression ('float' and 'const float')
-  f1 = (10.0f % x_42);
-        ~~~~~ ^ ~~~~
-2 errors generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.spvasm
index f597477..d7b1097 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.spvasm
@@ -1,9 +1,10 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 132
+; Bound: 139
 ; Schema: 0
                OpCapability Shader
+         %37 = OpExtInstImport "GLSL.std.450"
                OpMemoryModel Logical GLSL450
                OpEntryPoint Fragment %main "main" %tint_symbol_1
                OpExecutionMode %main OriginUpperLeft
@@ -82,7 +83,7 @@
 %_ptr_Uniform_int = OpTypePointer Uniform %int
       %int_0 = OpConstant %int 0
    %main_out = OpTypeStruct %v4float
-        %120 = OpTypeFunction %void %main_out
+        %127 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %20
          %23 = OpLabel
          %f0 = OpVariable %_ptr_Function_float Function %26
@@ -94,134 +95,140 @@
        %x_71 = OpVariable %_ptr_Function_bool Function %32
    %x_63_phi = OpVariable %_ptr_Function_bool Function %32
    %x_72_phi = OpVariable %_ptr_Function_bool Function %32
-         %36 = OpFMod %float %float_10 %float_9_99999997en07
-               OpStore %f0 %36
+         %38 = OpFDiv %float %float_10 %float_9_99999997en07
+         %36 = OpExtInst %float %37 Floor %38
+         %39 = OpFMul %float %float_9_99999997en07 %36
+         %40 = OpFSub %float %float_10 %39
+               OpStore %f0 %40
                OpStore %s1 %float_0x1_b38fb8pn127
-         %38 = OpLoad %float %s1
-         %40 = OpFOrdEqual %bool %38 %float_0
-               OpSelectionMerge %41 None
-               OpBranchConditional %40 %42 %41
-         %42 = OpLabel
+         %42 = OpLoad %float %s1
+         %44 = OpFOrdEqual %bool %42 %float_0
+               OpSelectionMerge %45 None
+               OpBranchConditional %44 %46 %45
+         %46 = OpLabel
                OpStore %s1 %float_1
-               OpBranch %41
-         %41 = OpLabel
-         %48 = OpLoad %float %s1
-         %49 = OpFMod %float %float_10 %48
-               OpStore %f1 %49
-         %50 = OpLoad %float %f1
-         %51 = OpLoad %float %s1
-         %52 = OpIsInf %bool %50
-               OpSelectionMerge %53 None
-               OpBranchConditional %52 %53 %54
-         %54 = OpLabel
-         %55 = OpFOrdEqual %bool %51 %float_1
-               OpBranch %53
-         %53 = OpLabel
-         %56 = OpPhi %bool %52 %41 %55 %54
-               OpStore %x_73_phi %56
-         %57 = OpLogicalNot %bool %56
-               OpSelectionMerge %58 None
-               OpBranchConditional %57 %59 %58
-         %59 = OpLabel
-         %60 = OpLoad %float %f0
-         %61 = OpLoad %float %f1
-         %62 = OpFOrdEqual %bool %60 %61
-               OpStore %x_63_phi %62
-         %63 = OpLogicalNot %bool %62
-               OpSelectionMerge %64 None
-               OpBranchConditional %63 %65 %64
-         %65 = OpLabel
-         %66 = OpLoad %float %f0
+               OpBranch %45
+         %45 = OpLabel
+         %52 = OpLoad %float %s1
+         %54 = OpFDiv %float %float_10 %52
+         %53 = OpExtInst %float %37 Floor %54
+         %55 = OpFMul %float %52 %53
+         %56 = OpFSub %float %float_10 %55
+               OpStore %f1 %56
+         %57 = OpLoad %float %f1
+         %58 = OpLoad %float %s1
+         %59 = OpIsInf %bool %57
+               OpSelectionMerge %60 None
+               OpBranchConditional %59 %60 %61
+         %61 = OpLabel
+         %62 = OpFOrdEqual %bool %58 %float_1
+               OpBranch %60
+         %60 = OpLabel
+         %63 = OpPhi %bool %59 %45 %62 %61
+               OpStore %x_73_phi %63
+         %64 = OpLogicalNot %bool %63
+               OpSelectionMerge %65 None
+               OpBranchConditional %64 %66 %65
+         %66 = OpLabel
          %67 = OpLoad %float %f0
-         %69 = OpFOrdGreaterThan %bool %66 %float_0_99000001
-               OpSelectionMerge %70 None
-               OpBranchConditional %69 %71 %70
-         %71 = OpLabel
-         %73 = OpFOrdLessThan %bool %67 %float_0_00999999978
-               OpBranch %70
-         %70 = OpLabel
-         %74 = OpPhi %bool %69 %65 %73 %71
-               OpStore %x_62 %74
-         %75 = OpLoad %bool %x_62
-               OpStore %x_63_phi %75
-               OpBranch %64
-         %64 = OpLabel
-         %76 = OpLoad %bool %x_63_phi
-               OpStore %x_72_phi %76
-         %77 = OpLogicalNot %bool %76
-               OpSelectionMerge %78 None
-               OpBranchConditional %77 %79 %78
-         %79 = OpLabel
-         %80 = OpLoad %float %f1
-         %81 = OpLoad %float %f1
-         %82 = OpFOrdGreaterThan %bool %80 %float_0_99000001
-               OpSelectionMerge %83 None
-               OpBranchConditional %82 %84 %83
-         %84 = OpLabel
-         %85 = OpFOrdLessThan %bool %81 %float_0_00999999978
-               OpBranch %83
-         %83 = OpLabel
-         %86 = OpPhi %bool %82 %79 %85 %84
-               OpStore %x_71 %86
-         %87 = OpLoad %bool %x_71
-               OpStore %x_72_phi %87
-               OpBranch %78
+         %68 = OpLoad %float %f1
+         %69 = OpFOrdEqual %bool %67 %68
+               OpStore %x_63_phi %69
+         %70 = OpLogicalNot %bool %69
+               OpSelectionMerge %71 None
+               OpBranchConditional %70 %72 %71
+         %72 = OpLabel
+         %73 = OpLoad %float %f0
+         %74 = OpLoad %float %f0
+         %76 = OpFOrdGreaterThan %bool %73 %float_0_99000001
+               OpSelectionMerge %77 None
+               OpBranchConditional %76 %78 %77
          %78 = OpLabel
-         %88 = OpLoad %bool %x_72_phi
-               OpStore %x_72 %88
-         %89 = OpLoad %bool %x_72
-               OpStore %x_73_phi %89
-               OpBranch %58
-         %58 = OpLabel
-         %90 = OpLoad %bool %x_73_phi
-         %91 = OpLoad %float %f1
-               OpSelectionMerge %92 None
-               OpBranchConditional %90 %92 %93
-         %93 = OpLabel
-         %94 = OpFOrdEqual %bool %91 %float_10
-               OpBranch %92
-         %92 = OpLabel
-         %95 = OpPhi %bool %90 %58 %94 %93
-               OpSelectionMerge %96 None
-               OpBranchConditional %95 %97 %98
-         %97 = OpLabel
-        %102 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
-        %103 = OpLoad %int %102
-        %105 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
-        %106 = OpLoad %int %105
-        %107 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
-        %108 = OpLoad %int %107
+         %80 = OpFOrdLessThan %bool %74 %float_0_00999999978
+               OpBranch %77
+         %77 = OpLabel
+         %81 = OpPhi %bool %76 %72 %80 %78
+               OpStore %x_62 %81
+         %82 = OpLoad %bool %x_62
+               OpStore %x_63_phi %82
+               OpBranch %71
+         %71 = OpLabel
+         %83 = OpLoad %bool %x_63_phi
+               OpStore %x_72_phi %83
+         %84 = OpLogicalNot %bool %83
+               OpSelectionMerge %85 None
+               OpBranchConditional %84 %86 %85
+         %86 = OpLabel
+         %87 = OpLoad %float %f1
+         %88 = OpLoad %float %f1
+         %89 = OpFOrdGreaterThan %bool %87 %float_0_99000001
+               OpSelectionMerge %90 None
+               OpBranchConditional %89 %91 %90
+         %91 = OpLabel
+         %92 = OpFOrdLessThan %bool %88 %float_0_00999999978
+               OpBranch %90
+         %90 = OpLabel
+         %93 = OpPhi %bool %89 %86 %92 %91
+               OpStore %x_71 %93
+         %94 = OpLoad %bool %x_71
+               OpStore %x_72_phi %94
+               OpBranch %85
+         %85 = OpLabel
+         %95 = OpLoad %bool %x_72_phi
+               OpStore %x_72 %95
+         %96 = OpLoad %bool %x_72
+               OpStore %x_73_phi %96
+               OpBranch %65
+         %65 = OpLabel
+         %97 = OpLoad %bool %x_73_phi
+         %98 = OpLoad %float %f1
+               OpSelectionMerge %99 None
+               OpBranchConditional %97 %99 %100
+        %100 = OpLabel
+        %101 = OpFOrdEqual %bool %98 %float_10
+               OpBranch %99
+         %99 = OpLabel
+        %102 = OpPhi %bool %97 %65 %101 %100
+               OpSelectionMerge %103 None
+               OpBranchConditional %102 %104 %105
+        %104 = OpLabel
         %109 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
         %110 = OpLoad %int %109
-        %111 = OpConvertSToF %float %103
-        %112 = OpConvertSToF %float %106
-        %113 = OpConvertSToF %float %108
-        %114 = OpConvertSToF %float %110
-        %115 = OpCompositeConstruct %v4float %111 %112 %113 %114
-               OpStore %x_GLF_color %115
-               OpBranch %96
-         %98 = OpLabel
-        %116 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
+        %112 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
+        %113 = OpLoad %int %112
+        %114 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
+        %115 = OpLoad %int %114
+        %116 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_1
         %117 = OpLoad %int %116
-        %118 = OpConvertSToF %float %117
-        %119 = OpCompositeConstruct %v4float %118 %118 %118 %118
-               OpStore %x_GLF_color %119
-               OpBranch %96
-         %96 = OpLabel
+        %118 = OpConvertSToF %float %110
+        %119 = OpConvertSToF %float %113
+        %120 = OpConvertSToF %float %115
+        %121 = OpConvertSToF %float %117
+        %122 = OpCompositeConstruct %v4float %118 %119 %120 %121
+               OpStore %x_GLF_color %122
+               OpBranch %103
+        %105 = OpLabel
+        %123 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
+        %124 = OpLoad %int %123
+        %125 = OpConvertSToF %float %124
+        %126 = OpCompositeConstruct %v4float %125 %125 %125 %125
+               OpStore %x_GLF_color %126
+               OpBranch %103
+        %103 = OpLabel
                OpReturn
                OpFunctionEnd
-%tint_symbol_2 = OpFunction %void None %120
+%tint_symbol_2 = OpFunction %void None %127
 %tint_symbol = OpFunctionParameter %main_out
-        %124 = OpLabel
-        %125 = OpCompositeExtract %v4float %tint_symbol 0
-               OpStore %tint_symbol_1 %125
+        %131 = OpLabel
+        %132 = OpCompositeExtract %v4float %tint_symbol 0
+               OpStore %tint_symbol_1 %132
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %20
-        %127 = OpLabel
-        %128 = OpFunctionCall %void %main_1
-        %130 = OpLoad %v4float %x_GLF_color
-        %131 = OpCompositeConstruct %main_out %130
-        %129 = OpFunctionCall %void %tint_symbol_2 %131
+        %134 = OpLabel
+        %135 = OpFunctionCall %void %main_1
+        %137 = OpLoad %v4float %x_GLF_color
+        %138 = OpCompositeConstruct %main_out %137
+        %136 = OpFunctionCall %void %tint_symbol_2 %138
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.wgsl
index 8b2ad19..69a4451 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-apfloat-module-small-number/0-opt.spvasm.expected.wgsl
@@ -24,7 +24,7 @@
   var f1 : f32;
   var x_72 : bool;
   var x_73_phi : bool;
-  f0 = (10.0 % 0.000001);
+  f0 = (10.0 - (0.000001 * floor((10.0 / 0.000001))));
   s1 = 0x1.b38fb8p-127;
   let x_38 : f32 = s1;
   if ((x_38 == 0.0)) {
@@ -35,7 +35,7 @@
   var x_63_phi : bool;
   var x_72_phi : bool;
   let x_42 : f32 = s1;
-  f1 = (10.0 % x_42);
+  f1 = (10.0 - (x_42 * floor((10.0 / x_42))));
   let x_44 : f32 = f1;
   let x_46 : f32 = s1;
   let x_48 : bool = (isInf(x_44) || (x_46 == 1.0));
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.hlsl
index 4cb3c14..ca4f0b8 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.hlsl
@@ -4,7 +4,7 @@
 };
 
 void main_1() {
-  if (((1.0f % 1.0f) <= 0.01f)) {
+  if (((1.0f - (1.0f * floor((1.0f / 1.0f)))) <= 0.01f)) {
     const uint scalar_offset = ((16u * uint(0))) / 4;
     const int x_29 = asint(x_5[scalar_offset / 4][scalar_offset % 4]);
     const uint scalar_offset_1 = ((16u * uint(0))) / 4;
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.msl
index e2d1f94..5531972 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -21,7 +19,7 @@
 };
 
 void main_1(constant buf0& x_5, thread float4* const tint_symbol_4) {
-  if (((1.0f % 1.0f) <= 0.01f)) {
+  if (((1.0f - (1.0f * floor((1.0f / 1.0f)))) <= 0.01f)) {
     int const x_29 = x_5.x_GLF_uniform_int_values.arr[0].el;
     int const x_32 = x_5.x_GLF_uniform_int_values.arr[0].el;
     int const x_35 = x_5.x_GLF_uniform_int_values.arr[1].el;
@@ -42,8 +40,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\u8zg.0.metal:22:14: error: invalid operands to binary expression ('float' and 'float')
-  if (((1.0f % 1.0f) <= 0.01f)) {
-        ~~~~ ^ ~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.spvasm
index 1f59503..7607b44 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.spvasm
@@ -1,9 +1,10 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 57
+; Bound: 61
 ; Schema: 0
                OpCapability Shader
+         %21 = OpExtInstImport "GLSL.std.450"
                OpMemoryModel Logical GLSL450
                OpEntryPoint Fragment %main "main" %tint_symbol_1
                OpExecutionMode %main OriginUpperLeft
@@ -50,48 +51,51 @@
 %_ptr_Uniform_int = OpTypePointer Uniform %int
       %int_1 = OpConstant %int 1
    %main_out = OpTypeStruct %v4float
-         %45 = OpTypeFunction %void %main_out
+         %49 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %15
          %18 = OpLabel
-         %20 = OpFMod %float %float_1 %float_1
-         %22 = OpFOrdLessThanEqual %bool %20 %float_0_00999999978
-               OpSelectionMerge %24 None
-               OpBranchConditional %22 %25 %26
-         %25 = OpLabel
-         %30 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
-         %31 = OpLoad %int %30
-         %32 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
-         %33 = OpLoad %int %32
-         %35 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1
-         %36 = OpLoad %int %35
-         %37 = OpConvertSToF %float %31
-         %38 = OpConvertSToF %float %33
-         %39 = OpConvertSToF %float %36
-         %40 = OpCompositeConstruct %v4float %float_1 %37 %38 %39
-               OpStore %x_GLF_color %40
-               OpBranch %24
-         %26 = OpLabel
-         %41 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
-         %42 = OpLoad %int %41
-         %43 = OpConvertSToF %float %42
-         %44 = OpCompositeConstruct %v4float %43 %43 %43 %43
+         %22 = OpFDiv %float %float_1 %float_1
+         %20 = OpExtInst %float %21 Floor %22
+         %23 = OpFMul %float %float_1 %20
+         %24 = OpFSub %float %float_1 %23
+         %26 = OpFOrdLessThanEqual %bool %24 %float_0_00999999978
+               OpSelectionMerge %28 None
+               OpBranchConditional %26 %29 %30
+         %29 = OpLabel
+         %34 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
+         %35 = OpLoad %int %34
+         %36 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
+         %37 = OpLoad %int %36
+         %39 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_1
+         %40 = OpLoad %int %39
+         %41 = OpConvertSToF %float %35
+         %42 = OpConvertSToF %float %37
+         %43 = OpConvertSToF %float %40
+         %44 = OpCompositeConstruct %v4float %float_1 %41 %42 %43
                OpStore %x_GLF_color %44
-               OpBranch %24
-         %24 = OpLabel
+               OpBranch %28
+         %30 = OpLabel
+         %45 = OpAccessChain %_ptr_Uniform_int %x_5 %uint_0 %int_0
+         %46 = OpLoad %int %45
+         %47 = OpConvertSToF %float %46
+         %48 = OpCompositeConstruct %v4float %47 %47 %47 %47
+               OpStore %x_GLF_color %48
+               OpBranch %28
+         %28 = OpLabel
                OpReturn
                OpFunctionEnd
-%tint_symbol_2 = OpFunction %void None %45
+%tint_symbol_2 = OpFunction %void None %49
 %tint_symbol = OpFunctionParameter %main_out
-         %49 = OpLabel
-         %50 = OpCompositeExtract %v4float %tint_symbol 0
-               OpStore %tint_symbol_1 %50
+         %53 = OpLabel
+         %54 = OpCompositeExtract %v4float %tint_symbol 0
+               OpStore %tint_symbol_1 %54
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %15
-         %52 = OpLabel
-         %53 = OpFunctionCall %void %main_1
-         %55 = OpLoad %v4float %x_GLF_color
-         %56 = OpCompositeConstruct %main_out %55
-         %54 = OpFunctionCall %void %tint_symbol_2 %56
+         %56 = OpLabel
+         %57 = OpFunctionCall %void %main_1
+         %59 = OpLoad %v4float %x_GLF_color
+         %60 = OpCompositeConstruct %main_out %59
+         %58 = OpFunctionCall %void %tint_symbol_2 %60
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.wgsl
index 020e0e9..dbba7f3 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.spvasm.expected.wgsl
@@ -10,7 +10,7 @@
 [[group(0), binding(0)]] var<uniform> x_5 : buf0;
 
 fn main_1() {
-  if (((1.0 % 1.0) <= 0.01)) {
+  if (((1.0 - (1.0 * floor((1.0 / 1.0)))) <= 0.01)) {
     let x_29 : i32 = x_5.x_GLF_uniform_int_values[0];
     let x_32 : i32 = x_5.x_GLF_uniform_int_values[0];
     let x_35 : i32 = x_5.x_GLF_uniform_int_values[1];
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.wgsl.expected.msl
index 5e4bde3..3108d65 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -21,7 +19,7 @@
 };
 
 void main_1(constant buf0& x_5, thread float4* const tint_symbol_4) {
-  if (((1.0f % 1.0f) <= 0.01f)) {
+  if ((fmod(1.0f, 1.0f) <= 0.01f)) {
     int const x_29 = x_5.x_GLF_uniform_int_values.arr[0].el;
     int const x_32 = x_5.x_GLF_uniform_int_values.arr[0].el;
     int const x_35 = x_5.x_GLF_uniform_int_values.arr[1].el;
@@ -42,8 +40,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\u180.0.metal:22:14: error: invalid operands to binary expression ('float' and 'float')
-  if (((1.0f % 1.0f) <= 0.01f)) {
-        ~~~~ ^ ~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.wgsl.expected.spvasm
index 1f59503..91368f6 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-const-folding-mod-one-one-lte/0-opt.wgsl.expected.spvasm
@@ -53,7 +53,7 @@
          %45 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %15
          %18 = OpLabel
-         %20 = OpFMod %float %float_1 %float_1
+         %20 = OpFRem %float %float_1 %float_1
          %22 = OpFOrdLessThanEqual %bool %20 %float_0_00999999978
                OpSelectionMerge %24 None
                OpBranchConditional %22 %25 %26
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.hlsl
index 67f50ff..ccce3d4 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.hlsl
@@ -16,7 +16,7 @@
   const int x_13 = asint(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]);
   x_GLF_color = float4(float(x_10), float(x_11), float(x_12), float(x_13));
   const float x_45 = asfloat(x_8[1].x);
-  a = (x_45 % asfloat(0x7fc00000u));
+  a = (x_45 - (asfloat(0x7fc00000u) * floor((x_45 / asfloat(0x7fc00000u)))));
   const float x_47 = a;
   const uint scalar_offset_2 = ((16u * uint(0))) / 4;
   const float x_49 = asfloat(x_8[scalar_offset_2 / 4][scalar_offset_2 % 4]);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.msl
index c3188c0..ac1f176 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -38,7 +36,7 @@
   int const x_13 = x_5.x_GLF_uniform_int_values.arr[0].el;
   *(tint_symbol_4) = float4(float(x_10), float(x_11), float(x_12), float(x_13));
   float const x_45 = x_8.x_GLF_uniform_float_values.arr[1].el;
-  a = (x_45 % NAN);
+  a = (x_45 - (NAN * floor((x_45 / NAN))));
   float const x_47 = a;
   float const x_49 = x_8.x_GLF_uniform_float_values.arr[0].el;
   if ((x_47 != x_49)) {
@@ -56,8 +54,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\ubcg.0.metal:39:13: error: invalid operands to binary expression ('const float' and 'float')
-  a = (x_45 % NAN);
-       ~~~~ ^ ~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.spvasm
index 4c857a1..eaeec78 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.spvasm
@@ -1,9 +1,10 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 72
+; Bound: 76
 ; Schema: 0
                OpCapability Shader
+         %48 = OpExtInstImport "GLSL.std.450"
                OpMemoryModel Logical GLSL450
                OpEntryPoint Fragment %main "main" %tint_symbol_1
                OpExecutionMode %main OriginUpperLeft
@@ -68,7 +69,7 @@
      %uint_1 = OpConstant %uint 1
 %_ptr_Private_float = OpTypePointer Private %float
    %main_out = OpTypeStruct %v4float
-         %60 = OpTypeFunction %void %main_out
+         %64 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %19
          %22 = OpLabel
           %a = OpVariable %_ptr_Function_float Function %25
@@ -88,35 +89,38 @@
                OpStore %x_GLF_color %42
          %44 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
          %45 = OpLoad %float %44
-         %47 = OpFMod %float %45 %float_0x1_8p_128
-               OpStore %a %47
-         %48 = OpLoad %float %a
-         %49 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
-         %50 = OpLoad %float %49
-         %51 = OpFOrdNotEqual %bool %48 %50
-               OpSelectionMerge %53 None
-               OpBranchConditional %51 %54 %53
-         %54 = OpLabel
-         %55 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
-         %56 = OpLoad %float %55
-         %59 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
-               OpStore %59 %56
-               OpBranch %53
-         %53 = OpLabel
+         %49 = OpFDiv %float %45 %float_0x1_8p_128
+         %47 = OpExtInst %float %48 Floor %49
+         %50 = OpFMul %float %float_0x1_8p_128 %47
+         %51 = OpFSub %float %45 %50
+               OpStore %a %51
+         %52 = OpLoad %float %a
+         %53 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
+         %54 = OpLoad %float %53
+         %55 = OpFOrdNotEqual %bool %52 %54
+               OpSelectionMerge %57 None
+               OpBranchConditional %55 %58 %57
+         %58 = OpLabel
+         %59 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
+         %60 = OpLoad %float %59
+         %63 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
+               OpStore %63 %60
+               OpBranch %57
+         %57 = OpLabel
                OpReturn
                OpFunctionEnd
-%tint_symbol_2 = OpFunction %void None %60
+%tint_symbol_2 = OpFunction %void None %64
 %tint_symbol = OpFunctionParameter %main_out
-         %64 = OpLabel
-         %65 = OpCompositeExtract %v4float %tint_symbol 0
-               OpStore %tint_symbol_1 %65
+         %68 = OpLabel
+         %69 = OpCompositeExtract %v4float %tint_symbol 0
+               OpStore %tint_symbol_1 %69
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %19
-         %67 = OpLabel
-         %68 = OpFunctionCall %void %main_1
-         %70 = OpLoad %v4float %x_GLF_color
-         %71 = OpCompositeConstruct %main_out %70
-         %69 = OpFunctionCall %void %tint_symbol_2 %71
+         %71 = OpLabel
+         %72 = OpFunctionCall %void %main_1
+         %74 = OpLoad %v4float %x_GLF_color
+         %75 = OpCompositeConstruct %main_out %74
+         %73 = OpFunctionCall %void %tint_symbol_2 %75
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.wgsl
index b317f98..eb7bb53 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-acos-undefined/0-opt.spvasm.expected.wgsl
@@ -26,7 +26,7 @@
   let x_13 : i32 = x_5.x_GLF_uniform_int_values[0];
   x_GLF_color = vec4<f32>(f32(x_10), f32(x_11), f32(x_12), f32(x_13));
   let x_45 : f32 = x_8.x_GLF_uniform_float_values[1];
-  a = (x_45 % 0x1.8p+128);
+  a = (x_45 - (0x1.8p+128 * floor((x_45 / 0x1.8p+128))));
   let x_47 : f32 = a;
   let x_49 : f32 = x_8.x_GLF_uniform_float_values[0];
   if ((x_47 != x_49)) {
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.hlsl
index 420ed9d..f0a0bf5 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.hlsl
@@ -16,7 +16,7 @@
   const int x_13 = asint(x_5[scalar_offset_1 / 4][scalar_offset_1 % 4]);
   x_GLF_color = float4(float(x_10), float(x_11), float(x_12), float(x_13));
   const float x_45 = asfloat(x_8[1].x);
-  a = (asfloat(0x7fc00000u) % x_45);
+  a = (asfloat(0x7fc00000u) - (x_45 * floor((asfloat(0x7fc00000u) / x_45))));
   const float x_47 = a;
   const uint scalar_offset_2 = ((16u * uint(0))) / 4;
   const float x_49 = asfloat(x_8[scalar_offset_2 / 4][scalar_offset_2 % 4]);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.msl
index 915b6d5..752e43d 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -38,7 +36,7 @@
   int const x_13 = x_5.x_GLF_uniform_int_values.arr[0].el;
   *(tint_symbol_4) = float4(float(x_10), float(x_11), float(x_12), float(x_13));
   float const x_45 = x_8.x_GLF_uniform_float_values.arr[1].el;
-  a = (NAN % x_45);
+  a = (NAN - (x_45 * floor((NAN / x_45))));
   float const x_47 = a;
   float const x_49 = x_8.x_GLF_uniform_float_values.arr[0].el;
   if ((x_47 != x_49)) {
@@ -56,8 +54,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\uc6w.0.metal:39:12: error: invalid operands to binary expression ('float' and 'const float')
-  a = (NAN % x_45);
-       ~~~ ^ ~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.spvasm
index e69f89a..079ad52 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.spvasm
@@ -1,9 +1,10 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 72
+; Bound: 76
 ; Schema: 0
                OpCapability Shader
+         %48 = OpExtInstImport "GLSL.std.450"
                OpMemoryModel Logical GLSL450
                OpEntryPoint Fragment %main "main" %tint_symbol_1
                OpExecutionMode %main OriginUpperLeft
@@ -68,7 +69,7 @@
      %uint_1 = OpConstant %uint 1
 %_ptr_Private_float = OpTypePointer Private %float
    %main_out = OpTypeStruct %v4float
-         %60 = OpTypeFunction %void %main_out
+         %64 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %19
          %22 = OpLabel
           %a = OpVariable %_ptr_Function_float Function %25
@@ -88,35 +89,38 @@
                OpStore %x_GLF_color %42
          %44 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_1
          %45 = OpLoad %float %44
-         %47 = OpFMod %float %float_n0x1_8p_128 %45
-               OpStore %a %47
-         %48 = OpLoad %float %a
-         %49 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
-         %50 = OpLoad %float %49
-         %51 = OpFOrdNotEqual %bool %48 %50
-               OpSelectionMerge %53 None
-               OpBranchConditional %51 %54 %53
-         %54 = OpLabel
-         %55 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
-         %56 = OpLoad %float %55
-         %59 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
-               OpStore %59 %56
-               OpBranch %53
-         %53 = OpLabel
+         %49 = OpFDiv %float %float_n0x1_8p_128 %45
+         %47 = OpExtInst %float %48 Floor %49
+         %50 = OpFMul %float %45 %47
+         %51 = OpFSub %float %float_n0x1_8p_128 %50
+               OpStore %a %51
+         %52 = OpLoad %float %a
+         %53 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
+         %54 = OpLoad %float %53
+         %55 = OpFOrdNotEqual %bool %52 %54
+               OpSelectionMerge %57 None
+               OpBranchConditional %55 %58 %57
+         %58 = OpLabel
+         %59 = OpAccessChain %_ptr_Uniform_float %x_8 %uint_0 %int_0
+         %60 = OpLoad %float %59
+         %63 = OpAccessChain %_ptr_Private_float %x_GLF_color %uint_1
+               OpStore %63 %60
+               OpBranch %57
+         %57 = OpLabel
                OpReturn
                OpFunctionEnd
-%tint_symbol_2 = OpFunction %void None %60
+%tint_symbol_2 = OpFunction %void None %64
 %tint_symbol = OpFunctionParameter %main_out
-         %64 = OpLabel
-         %65 = OpCompositeExtract %v4float %tint_symbol 0
-               OpStore %tint_symbol_1 %65
+         %68 = OpLabel
+         %69 = OpCompositeExtract %v4float %tint_symbol 0
+               OpStore %tint_symbol_1 %69
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %19
-         %67 = OpLabel
-         %68 = OpFunctionCall %void %main_1
-         %70 = OpLoad %v4float %x_GLF_color
-         %71 = OpCompositeConstruct %main_out %70
-         %69 = OpFunctionCall %void %tint_symbol_2 %71
+         %71 = OpLabel
+         %72 = OpFunctionCall %void %main_1
+         %74 = OpLoad %v4float %x_GLF_color
+         %75 = OpCompositeConstruct %main_out %74
+         %73 = OpFunctionCall %void %tint_symbol_2 %75
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.wgsl
index bf323a2..4d64cae 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-instruction-simplify-mod-sqrt-undefined/0-opt.spvasm.expected.wgsl
@@ -26,7 +26,7 @@
   let x_13 : i32 = x_5.x_GLF_uniform_int_values[0];
   x_GLF_color = vec4<f32>(f32(x_10), f32(x_11), f32(x_12), f32(x_13));
   let x_45 : f32 = x_8.x_GLF_uniform_float_values[1];
-  a = (-0x1.8p+128 % x_45);
+  a = (-0x1.8p+128 - (x_45 * floor((-0x1.8p+128 / x_45))));
   let x_47 : f32 = a;
   let x_49 : f32 = x_8.x_GLF_uniform_float_values[0];
   if ((x_47 != x_49)) {
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.hlsl
index 307332d..0a42777 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.hlsl
@@ -5,7 +5,7 @@
 
 void main_1() {
   float a = 0.0f;
-  a = (asfloat(1u) % 1.0f);
+  a = (asfloat(1u) - (1.0f * floor((asfloat(1u) / 1.0f))));
   const float x_29 = asfloat(x_6[1].x);
   x_GLF_color = float4(x_29, x_29, x_29, x_29);
   const float x_31 = a;
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.msl
index 6652116..a72ccb7 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -22,7 +20,7 @@
 
 void main_1(constant buf0& x_6, thread float4* const tint_symbol_4) {
   float a = 0.0f;
-  a = (as_type<float>(1u) % 1.0f);
+  a = (as_type<float>(1u) - (1.0f * floor((as_type<float>(1u) / 1.0f))));
   float const x_29 = x_6.x_GLF_uniform_float_values.arr[1].el;
   *(tint_symbol_4) = float4(x_29, x_29, x_29, x_29);
   float const x_31 = a;
@@ -45,8 +43,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\uf8c.0.metal:23:27: error: invalid operands to binary expression ('float' and 'float')
-  a = (as_type<float>(1u) % 1.0f);
-       ~~~~~~~~~~~~~~~~~~ ^ ~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.spvasm
index 5169c11..0617387 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.spvasm
@@ -1,9 +1,10 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 62
+; Bound: 67
 ; Schema: 0
                OpCapability Shader
+         %25 = OpExtInstImport "GLSL.std.450"
                OpMemoryModel Logical GLSL450
                OpEntryPoint Fragment %main "main" %tint_symbol_1
                OpExecutionMode %main OriginUpperLeft
@@ -54,50 +55,54 @@
        %bool = OpTypeBool
       %int_0 = OpConstant %int 0
    %main_out = OpTypeStruct %v4float
-         %50 = OpTypeFunction %void %main_out
+         %55 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %14
          %17 = OpLabel
           %a = OpVariable %_ptr_Function_float Function %20
          %21 = OpBitcast %float %uint_1
-         %24 = OpFMod %float %21 %float_1
-               OpStore %a %24
-         %29 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_1
-         %30 = OpLoad %float %29
-         %31 = OpCompositeConstruct %v4float %30 %30 %30 %30
-               OpStore %x_GLF_color %31
-         %32 = OpLoad %float %a
-         %34 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_2
+         %26 = OpBitcast %float %uint_1
+         %27 = OpFDiv %float %26 %float_1
+         %24 = OpExtInst %float %25 Floor %27
+         %28 = OpFMul %float %float_1 %24
+         %29 = OpFSub %float %21 %28
+               OpStore %a %29
+         %34 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_1
          %35 = OpLoad %float %34
-         %36 = OpFOrdLessThan %bool %32 %35
-               OpSelectionMerge %38 None
-               OpBranchConditional %36 %39 %38
-         %39 = OpLabel
-         %41 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
-         %42 = OpLoad %float %41
-         %43 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_1
-         %44 = OpLoad %float %43
-         %45 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_1
-         %46 = OpLoad %float %45
-         %47 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
-         %48 = OpLoad %float %47
-         %49 = OpCompositeConstruct %v4float %42 %44 %46 %48
-               OpStore %x_GLF_color %49
-               OpBranch %38
-         %38 = OpLabel
+         %36 = OpCompositeConstruct %v4float %35 %35 %35 %35
+               OpStore %x_GLF_color %36
+         %37 = OpLoad %float %a
+         %39 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_2
+         %40 = OpLoad %float %39
+         %41 = OpFOrdLessThan %bool %37 %40
+               OpSelectionMerge %43 None
+               OpBranchConditional %41 %44 %43
+         %44 = OpLabel
+         %46 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
+         %47 = OpLoad %float %46
+         %48 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_1
+         %49 = OpLoad %float %48
+         %50 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_1
+         %51 = OpLoad %float %50
+         %52 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
+         %53 = OpLoad %float %52
+         %54 = OpCompositeConstruct %v4float %47 %49 %51 %53
+               OpStore %x_GLF_color %54
+               OpBranch %43
+         %43 = OpLabel
                OpReturn
                OpFunctionEnd
-%tint_symbol_2 = OpFunction %void None %50
+%tint_symbol_2 = OpFunction %void None %55
 %tint_symbol = OpFunctionParameter %main_out
-         %54 = OpLabel
-         %55 = OpCompositeExtract %v4float %tint_symbol 0
-               OpStore %tint_symbol_1 %55
+         %59 = OpLabel
+         %60 = OpCompositeExtract %v4float %tint_symbol 0
+               OpStore %tint_symbol_1 %60
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %14
-         %57 = OpLabel
-         %58 = OpFunctionCall %void %main_1
-         %60 = OpLoad %v4float %x_GLF_color
-         %61 = OpCompositeConstruct %main_out %60
-         %59 = OpFunctionCall %void %tint_symbol_2 %61
+         %62 = OpLabel
+         %63 = OpFunctionCall %void %main_1
+         %65 = OpLoad %v4float %x_GLF_color
+         %66 = OpCompositeConstruct %main_out %65
+         %64 = OpFunctionCall %void %tint_symbol_2 %66
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.wgsl
index 8f1d936..ca60286 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.spvasm.expected.wgsl
@@ -11,7 +11,7 @@
 
 fn main_1() {
   var a : f32;
-  a = (bitcast<f32>(1u) % 1.0);
+  a = (bitcast<f32>(1u) - (1.0 * floor((bitcast<f32>(1u) / 1.0))));
   let x_29 : f32 = x_6.x_GLF_uniform_float_values[1];
   x_GLF_color = vec4<f32>(x_29, x_29, x_29, x_29);
   let x_31 : f32 = a;
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.wgsl.expected.msl
index da17ed9..d51d832 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -22,7 +20,7 @@
 
 void main_1(constant buf0& x_6, thread float4* const tint_symbol_4) {
   float a = 0.0f;
-  a = (as_type<float>(1u) % 1.0f);
+  a = fmod(as_type<float>(1u), 1.0f);
   float const x_29 = x_6.x_GLF_uniform_float_values.arr[1].el;
   *(tint_symbol_4) = float4(x_29, x_29, x_29, x_29);
   float const x_31 = a;
@@ -45,8 +43,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\ue28.0.metal:23:27: error: invalid operands to binary expression ('float' and 'float')
-  a = (as_type<float>(1u) % 1.0f);
-       ~~~~~~~~~~~~~~~~~~ ^ ~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.wgsl.expected.spvasm
index 5169c11..6114885 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-mod-uint-bits-float/0-opt.wgsl.expected.spvasm
@@ -59,7 +59,7 @@
          %17 = OpLabel
           %a = OpVariable %_ptr_Function_float Function %20
          %21 = OpBitcast %float %uint_1
-         %24 = OpFMod %float %21 %float_1
+         %24 = OpFRem %float %21 %float_1
                OpStore %a %24
          %29 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_1
          %30 = OpLoad %float %29
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.hlsl
index 2ae1a6e..29ab977 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.hlsl
@@ -10,7 +10,7 @@
   float a = 0.0f;
   const uint scalar_offset = ((16u * uint(0))) / 4;
   const float x_30 = asfloat(x_6[scalar_offset / 4][scalar_offset % 4]);
-  a = (x_30 % 1.0f);
+  a = (x_30 - (1.0f * floor((x_30 / 1.0f))));
   const float x_32 = a;
   const uint scalar_offset_1 = ((16u * uint(0))) / 4;
   const float x_34 = asfloat(x_6[scalar_offset_1 / 4][scalar_offset_1 % 4]);
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.msl
index 514ffa4..d1276b9 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -33,7 +31,7 @@
 void main_1(constant buf0& x_6, constant buf1& x_8, thread float4* const tint_symbol_4) {
   float a = 0.0f;
   float const x_30 = x_6.x_GLF_uniform_float_values.arr[0].el;
-  a = (x_30 % 1.0f);
+  a = (x_30 - (1.0f * floor((x_30 / 1.0f))));
   float const x_32 = a;
   float const x_34 = x_6.x_GLF_uniform_float_values.arr[0].el;
   if ((x_32 == x_34)) {
@@ -57,8 +55,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\us0.0.metal:34:13: error: invalid operands to binary expression ('const float' and 'float')
-  a = (x_30 % 1.0f);
-       ~~~~ ^ ~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.spvasm
index 4f6ad22..d891a6e 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.spvasm
@@ -1,9 +1,10 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 66
+; Bound: 70
 ; Schema: 0
                OpCapability Shader
+         %34 = OpExtInstImport "GLSL.std.450"
                OpMemoryModel Logical GLSL450
                OpEntryPoint Fragment %main "main" %tint_symbol_1
                OpExecutionMode %main OriginUpperLeft
@@ -66,52 +67,55 @@
        %bool = OpTypeBool
 %_ptr_Uniform_int = OpTypePointer Uniform %int
    %main_out = OpTypeStruct %v4float
-         %54 = OpTypeFunction %void %main_out
+         %58 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %20
          %23 = OpLabel
           %a = OpVariable %_ptr_Function_float Function %26
          %30 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
          %31 = OpLoad %float %30
-         %33 = OpFMod %float %31 %float_1
-               OpStore %a %33
-         %34 = OpLoad %float %a
-         %35 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
-         %36 = OpLoad %float %35
-         %37 = OpFOrdEqual %bool %34 %36
-               OpSelectionMerge %39 None
-               OpBranchConditional %37 %40 %41
-         %40 = OpLabel
-         %43 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
-         %44 = OpLoad %int %43
-         %45 = OpLoad %float %a
-         %46 = OpLoad %float %a
+         %35 = OpFDiv %float %31 %float_1
+         %33 = OpExtInst %float %34 Floor %35
+         %36 = OpFMul %float %float_1 %33
+         %37 = OpFSub %float %31 %36
+               OpStore %a %37
+         %38 = OpLoad %float %a
+         %39 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
+         %40 = OpLoad %float %39
+         %41 = OpFOrdEqual %bool %38 %40
+               OpSelectionMerge %43 None
+               OpBranchConditional %41 %44 %45
+         %44 = OpLabel
          %47 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
          %48 = OpLoad %int %47
-         %49 = OpConvertSToF %float %44
-         %50 = OpConvertSToF %float %48
-         %51 = OpCompositeConstruct %v4float %49 %45 %46 %50
-               OpStore %x_GLF_color %51
-               OpBranch %39
-         %41 = OpLabel
-         %52 = OpLoad %float %a
-         %53 = OpCompositeConstruct %v4float %52 %52 %52 %52
-               OpStore %x_GLF_color %53
-               OpBranch %39
-         %39 = OpLabel
+         %49 = OpLoad %float %a
+         %50 = OpLoad %float %a
+         %51 = OpAccessChain %_ptr_Uniform_int %x_8 %uint_0 %int_0
+         %52 = OpLoad %int %51
+         %53 = OpConvertSToF %float %48
+         %54 = OpConvertSToF %float %52
+         %55 = OpCompositeConstruct %v4float %53 %49 %50 %54
+               OpStore %x_GLF_color %55
+               OpBranch %43
+         %45 = OpLabel
+         %56 = OpLoad %float %a
+         %57 = OpCompositeConstruct %v4float %56 %56 %56 %56
+               OpStore %x_GLF_color %57
+               OpBranch %43
+         %43 = OpLabel
                OpReturn
                OpFunctionEnd
-%tint_symbol_2 = OpFunction %void None %54
+%tint_symbol_2 = OpFunction %void None %58
 %tint_symbol = OpFunctionParameter %main_out
-         %58 = OpLabel
-         %59 = OpCompositeExtract %v4float %tint_symbol 0
-               OpStore %tint_symbol_1 %59
+         %62 = OpLabel
+         %63 = OpCompositeExtract %v4float %tint_symbol 0
+               OpStore %tint_symbol_1 %63
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %20
-         %61 = OpLabel
-         %62 = OpFunctionCall %void %main_1
-         %64 = OpLoad %v4float %x_GLF_color
-         %65 = OpCompositeConstruct %main_out %64
-         %63 = OpFunctionCall %void %tint_symbol_2 %65
+         %65 = OpLabel
+         %66 = OpFunctionCall %void %main_1
+         %68 = OpLoad %v4float %x_GLF_color
+         %69 = OpCompositeConstruct %main_out %68
+         %67 = OpFunctionCall %void %tint_symbol_2 %69
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.wgsl
index 2690c8d..2c3c99e 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.spvasm.expected.wgsl
@@ -21,7 +21,7 @@
 fn main_1() {
   var a : f32;
   let x_30 : f32 = x_6.x_GLF_uniform_float_values[0];
-  a = (x_30 % 1.0);
+  a = (x_30 - (1.0 * floor((x_30 / 1.0))));
   let x_32 : f32 = a;
   let x_34 : f32 = x_6.x_GLF_uniform_float_values[0];
   if ((x_32 == x_34)) {
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.wgsl.expected.msl
index 7fbbeaa..7df3919 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -33,7 +31,7 @@
 void main_1(constant buf0& x_6, constant buf1& x_8, thread float4* const tint_symbol_4) {
   float a = 0.0f;
   float const x_30 = x_6.x_GLF_uniform_float_values.arr[0].el;
-  a = (x_30 % 1.0f);
+  a = fmod(x_30, 1.0f);
   float const x_32 = a;
   float const x_34 = x_6.x_GLF_uniform_float_values.arr[0].el;
   if ((x_32 == x_34)) {
@@ -57,8 +55,3 @@
   return tint_symbol_3;
 }
 
-T:\tmp\u8k0.0.metal:34:13: error: invalid operands to binary expression ('const float' and 'float')
-  a = (x_30 % 1.0f);
-       ~~~~ ^ ~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.wgsl.expected.spvasm
index 4f6ad22..a904efa 100644
--- a/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/cov-simplify-modulo-1/0-opt.wgsl.expected.spvasm
@@ -72,7 +72,7 @@
           %a = OpVariable %_ptr_Function_float Function %26
          %30 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
          %31 = OpLoad %float %30
-         %33 = OpFMod %float %31 %float_1
+         %33 = OpFRem %float %31 %float_1
                OpStore %a %33
          %34 = OpLoad %float %a
          %35 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %int_0
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.spvasm.expected.msl
index 649909a..0e2f8aa 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -75,7 +73,7 @@
   float const x_86 = b;
   float const x_88 = x_7.x_GLF_uniform_float_values.arr[2].el;
   float const x_91 = x_7.x_GLF_uniform_float_values.arr[1].el;
-  if ((distance(x_86, x_88) < x_91)) {
+  if ((fabs(x_86 - x_88) < x_91)) {
     int const x_97 = x_15.x_GLF_uniform_int_values.arr[0].el;
     int const x_100 = x_15.x_GLF_uniform_int_values.arr[1].el;
     int const x_103 = x_15.x_GLF_uniform_int_values.arr[1].el;
@@ -97,26 +95,3 @@
   return tint_symbol_5;
 }
 
-T:\tmp\udoo.0.metal:76:8: error: call to 'distance' is ambiguous
-  if ((distance(x_86, x_88) < x_91)) {
-       ^~~~~~~~
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:481:17: note: candidate function
-METAL_FUNC half distance(half2 x, half2 y)
-                ^
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:512:17: note: candidate function
-METAL_FUNC half distance(half3 x, half3 y)
-                ^
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:543:17: note: candidate function
-METAL_FUNC half distance(half4 x, half4 y)
-                ^
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:648:18: note: candidate function
-METAL_FUNC float distance(float2 x, float2 y)
-                 ^
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:691:18: note: candidate function
-METAL_FUNC float distance(float3 x, float3 y)
-                 ^
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:734:18: note: candidate function
-METAL_FUNC float distance(float4 x, float4 y)
-                 ^
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.wgsl.expected.msl
index e8b297a..0e2f8aa 100755
--- a/test/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/cov-struct-float-array-mix-uniform-vectors/0-opt.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -75,7 +73,7 @@
   float const x_86 = b;
   float const x_88 = x_7.x_GLF_uniform_float_values.arr[2].el;
   float const x_91 = x_7.x_GLF_uniform_float_values.arr[1].el;
-  if ((distance(x_86, x_88) < x_91)) {
+  if ((fabs(x_86 - x_88) < x_91)) {
     int const x_97 = x_15.x_GLF_uniform_int_values.arr[0].el;
     int const x_100 = x_15.x_GLF_uniform_int_values.arr[1].el;
     int const x_103 = x_15.x_GLF_uniform_int_values.arr[1].el;
@@ -97,26 +95,3 @@
   return tint_symbol_5;
 }
 
-T:\tmp\udr8.0.metal:76:8: error: call to 'distance' is ambiguous
-  if ((distance(x_86, x_88) < x_91)) {
-       ^~~~~~~~
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:481:17: note: candidate function
-METAL_FUNC half distance(half2 x, half2 y)
-                ^
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:512:17: note: candidate function
-METAL_FUNC half distance(half3 x, half3 y)
-                ^
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:543:17: note: candidate function
-METAL_FUNC half distance(half4 x, half4 y)
-                ^
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:648:18: note: candidate function
-METAL_FUNC float distance(float2 x, float2 y)
-                 ^
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:691:18: note: candidate function
-METAL_FUNC float distance(float3 x, float3 y)
-                 ^
-C:\Program Files\Metal Developer Tools\macos\lib\clang\31001.138\include\metal\metal_geometric:734:18: note: candidate function
-METAL_FUNC float distance(float4 x, float4 y)
-                 ^
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.hlsl
index 8d53961..206d78b 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.hlsl
@@ -54,7 +54,7 @@
           x_56_phi = x_68;
         } else {
           x_76_phi = x_55;
-          if (((float(x_58) % round(x_49)) <= 0.01f)) {
+          if (((float(x_58) - (round(x_49) * floor((float(x_58) / round(x_49))))) <= 0.01f)) {
             x_75 = (x_55 + 100.0f);
             x_76_phi = x_75;
           }
@@ -121,7 +121,7 @@
           x_93_phi = x_105;
         } else {
           x_113_phi = x_92;
-          if (((float(x_95) % round(x_49)) <= 0.01f)) {
+          if (((float(x_95) - (round(x_49) * floor((float(x_95) / round(x_49))))) <= 0.01f)) {
             x_112 = (x_92 + 100.0f);
             x_113_phi = x_112;
           }
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.msl
index 6b28523..ad27d07 100755
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -59,7 +57,7 @@
           x_56_phi = x_68;
         } else {
           x_76_phi = x_55;
-          if (((float(x_58) % rint(x_49)) <= 0.01f)) {
+          if (((float(x_58) - (rint(x_49) * floor((float(x_58) / rint(x_49))))) <= 0.01f)) {
             x_75 = (x_55 + 100.0f);
             x_76_phi = x_75;
           }
@@ -126,7 +124,7 @@
           x_93_phi = x_105;
         } else {
           x_113_phi = x_92;
-          if (((float(x_95) % rint(x_49)) <= 0.01f)) {
+          if (((float(x_95) - (rint(x_49) * floor((float(x_95) / rint(x_49))))) <= 0.01f)) {
             x_112 = (x_92 + 100.0f);
             x_113_phi = x_112;
           }
@@ -198,11 +196,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\u2mo.0.metal:60:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_58) % rint(x_49)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-T:\tmp\u2mo.0.metal:127:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_95) % rint(x_49)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-2 errors generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.spvasm
index fdd3fe1..4762c18 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 254
+; Bound: 264
 ; Schema: 0
                OpCapability Shader
          %56 = OpExtInstImport "GLSL.std.450"
@@ -118,7 +118,7 @@
       %int_3 = OpConstant %int 3
     %float_1 = OpConstant %float 1
    %main_out = OpTypeStruct %v4float
-        %241 = OpTypeFunction %void %main_out
+        %251 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %15
          %18 = OpLabel
           %c = OpVariable %_ptr_Function_v3float Function %22
@@ -207,243 +207,253 @@
                OpStore %x_76_phi %97
          %98 = OpConvertSToF %float %75
          %99 = OpExtInst %float %56 RoundEven %55
-        %100 = OpFMod %float %98 %99
-        %102 = OpFOrdLessThanEqual %bool %100 %float_0_00999999978
-               OpSelectionMerge %103 None
-               OpBranchConditional %102 %104 %103
-        %104 = OpLabel
-        %105 = OpLoad %float %x_55
-        %107 = OpFAdd %float %105 %float_100
-               OpStore %x_75 %107
-        %108 = OpLoad %float %x_75
-               OpStore %x_76_phi %108
-               OpBranch %103
-        %103 = OpLabel
-        %109 = OpLoad %float %x_76_phi
-               OpStore %x_76 %109
-        %110 = OpLoad %float %x_76
-               OpStore %x_56_phi %110
+        %101 = OpConvertSToF %float %75
+        %102 = OpExtInst %float %56 RoundEven %55
+        %103 = OpFDiv %float %101 %102
+        %100 = OpExtInst %float %56 Floor %103
+        %104 = OpFMul %float %99 %100
+        %105 = OpFSub %float %98 %104
+        %107 = OpFOrdLessThanEqual %bool %105 %float_0_00999999978
+               OpSelectionMerge %108 None
+               OpBranchConditional %107 %109 %108
+        %109 = OpLabel
+        %110 = OpLoad %float %x_55
+        %112 = OpFAdd %float %110 %float_100
+               OpStore %x_75 %112
+        %113 = OpLoad %float %x_75
+               OpStore %x_76_phi %113
+               OpBranch %108
+        %108 = OpLabel
+        %114 = OpLoad %float %x_76_phi
+               OpStore %x_76 %114
+        %115 = OpLoad %float %x_76
+               OpStore %x_56_phi %115
                OpBranch %90
          %90 = OpLabel
-        %111 = OpLoad %float %x_56_phi
-               OpStore %x_56 %111
-        %112 = OpConvertSToF %float %75
-        %113 = OpLoad %float %x_51
-        %114 = OpFOrdGreaterThanEqual %bool %112 %113
-               OpSelectionMerge %115 None
-               OpBranchConditional %114 %116 %115
-        %116 = OpLabel
-        %117 = OpLoad %float %x_56
-               OpStore %x_81_phi %117
-        %118 = OpLoad %float %x_56
-               OpStore %x_82_phi %118
+        %116 = OpLoad %float %x_56_phi
+               OpStore %x_56 %116
+        %117 = OpConvertSToF %float %75
+        %118 = OpLoad %float %x_51
+        %119 = OpFOrdGreaterThanEqual %bool %117 %118
+               OpSelectionMerge %120 None
+               OpBranchConditional %119 %121 %120
+        %121 = OpLabel
+        %122 = OpLoad %float %x_56
+               OpStore %x_81_phi %122
+        %123 = OpLoad %float %x_56
+               OpStore %x_82_phi %123
                OpStore %x_83_phi %true
                OpBranch %67
-        %115 = OpLabel
+        %120 = OpLabel
                OpBranch %68
          %68 = OpLabel
-        %120 = OpIAdd %int %75 %int_1
-               OpStore %x_59 %120
-        %121 = OpLoad %float %x_56
-               OpStore %x_55_phi %121
-        %122 = OpLoad %int %x_59
-               OpStore %x_58_phi %122
+        %125 = OpIAdd %int %75 %int_1
+               OpStore %x_59 %125
+        %126 = OpLoad %float %x_56
+               OpStore %x_55_phi %126
+        %127 = OpLoad %int %x_59
+               OpStore %x_58_phi %127
                OpBranch %66
          %67 = OpLabel
-        %123 = OpLoad %float %x_81_phi
-               OpStore %x_81 %123
-        %124 = OpLoad %float %x_82_phi
-               OpStore %x_82 %124
-        %125 = OpLoad %bool %x_83_phi
-        %126 = OpLoad %float %x_81
-               OpStore %x_85_phi %126
-               OpSelectionMerge %127 None
-               OpBranchConditional %125 %128 %127
-        %128 = OpLabel
+        %128 = OpLoad %float %x_81_phi
+               OpStore %x_81 %128
+        %129 = OpLoad %float %x_82_phi
+               OpStore %x_82 %129
+        %130 = OpLoad %bool %x_83_phi
+        %131 = OpLoad %float %x_81
+               OpStore %x_85_phi %131
+               OpSelectionMerge %132 None
+               OpBranchConditional %130 %133 %132
+        %133 = OpLabel
                OpBranch %62
-        %127 = OpLabel
-        %129 = OpLoad %float %x_82
-               OpStore %x_85_phi %129
+        %132 = OpLabel
+        %134 = OpLoad %float %x_82
+               OpStore %x_85_phi %134
                OpBranch %62
          %62 = OpLabel
-        %138 = OpLoad %float %x_85_phi
-        %139 = OpAccessChain %_ptr_Function_float %c %uint_0
-               OpStore %139 %138
-        %141 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %142 = OpLoad %float %141
-               OpStore %x_88 %142
-               OpSelectionMerge %143 None
-               OpSwitch %uint_0 %144
-        %144 = OpLabel
+        %143 = OpLoad %float %x_85_phi
+        %144 = OpAccessChain %_ptr_Function_float %c %uint_0
+               OpStore %144 %143
+        %146 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %147 = OpLoad %float %146
+               OpStore %x_88 %147
+               OpSelectionMerge %148 None
+               OpSwitch %uint_0 %149
+        %149 = OpLabel
                OpStore %x_92_phi %float_n0_5
                OpStore %x_95_phi %int_1
-               OpBranch %145
-        %145 = OpLabel
-               OpLoopMerge %146 %147 None
+               OpBranch %150
+        %150 = OpLabel
+               OpLoopMerge %151 %152 None
+               OpBranch %153
+        %153 = OpLabel
+        %158 = OpLoad %float %x_92_phi
+               OpStore %x_92 %158
+        %159 = OpLoad %int %x_95_phi
+               OpStore %x_118_phi %float_0
+        %160 = OpLoad %float %x_92
+               OpStore %x_119_phi %160
+               OpStore %x_120_phi %false
+        %161 = OpSLessThan %bool %159 %int_800
+               OpSelectionMerge %162 None
+               OpBranchConditional %161 %163 %164
+        %163 = OpLabel
+               OpBranch %162
+        %164 = OpLabel
+               OpBranch %151
+        %162 = OpLabel
+        %167 = OpSMod %int %159 %int_32
+        %168 = OpIEqual %bool %167 %int_0
+               OpSelectionMerge %169 None
+               OpBranchConditional %168 %170 %171
+        %170 = OpLabel
+        %172 = OpLoad %float %x_92
+        %173 = OpFAdd %float %172 %float_0_400000006
+               OpStore %x_105 %173
+        %174 = OpLoad %float %x_105
+               OpStore %x_93_phi %174
+               OpBranch %169
+        %171 = OpLabel
+        %175 = OpLoad %float %x_92
+               OpStore %x_113_phi %175
+        %176 = OpConvertSToF %float %159
+        %177 = OpExtInst %float %56 RoundEven %55
+        %179 = OpConvertSToF %float %159
+        %180 = OpExtInst %float %56 RoundEven %55
+        %181 = OpFDiv %float %179 %180
+        %178 = OpExtInst %float %56 Floor %181
+        %182 = OpFMul %float %177 %178
+        %183 = OpFSub %float %176 %182
+        %184 = OpFOrdLessThanEqual %bool %183 %float_0_00999999978
+               OpSelectionMerge %185 None
+               OpBranchConditional %184 %186 %185
+        %186 = OpLabel
+        %187 = OpLoad %float %x_92
+        %188 = OpFAdd %float %187 %float_100
+               OpStore %x_112 %188
+        %189 = OpLoad %float %x_112
+               OpStore %x_113_phi %189
+               OpBranch %185
+        %185 = OpLabel
+        %190 = OpLoad %float %x_113_phi
+               OpStore %x_113 %190
+        %191 = OpLoad %float %x_113
+               OpStore %x_93_phi %191
+               OpBranch %169
+        %169 = OpLabel
+        %192 = OpLoad %float %x_93_phi
+               OpStore %x_93 %192
+        %193 = OpConvertSToF %float %159
+        %194 = OpLoad %float %x_88
+        %195 = OpFOrdGreaterThanEqual %bool %193 %194
+               OpSelectionMerge %196 None
+               OpBranchConditional %195 %197 %196
+        %197 = OpLabel
+        %198 = OpLoad %float %x_93
+               OpStore %x_118_phi %198
+        %199 = OpLoad %float %x_93
+               OpStore %x_119_phi %199
+               OpStore %x_120_phi %true
+               OpBranch %151
+        %196 = OpLabel
+               OpBranch %152
+        %152 = OpLabel
+        %200 = OpIAdd %int %159 %int_1
+               OpStore %x_96 %200
+        %201 = OpLoad %float %x_93
+               OpStore %x_92_phi %201
+        %202 = OpLoad %int %x_96
+               OpStore %x_95_phi %202
+               OpBranch %150
+        %151 = OpLabel
+        %203 = OpLoad %float %x_118_phi
+               OpStore %x_118 %203
+        %204 = OpLoad %float %x_119_phi
+               OpStore %x_119 %204
+        %205 = OpLoad %bool %x_120_phi
+        %206 = OpLoad %float %x_118
+               OpStore %x_122_phi %206
+               OpSelectionMerge %207 None
+               OpBranchConditional %205 %208 %207
+        %208 = OpLabel
+               OpBranch %148
+        %207 = OpLabel
+        %209 = OpLoad %float %x_119
+               OpStore %x_122_phi %209
                OpBranch %148
         %148 = OpLabel
-        %153 = OpLoad %float %x_92_phi
-               OpStore %x_92 %153
-        %154 = OpLoad %int %x_95_phi
-               OpStore %x_118_phi %float_0
-        %155 = OpLoad %float %x_92
-               OpStore %x_119_phi %155
-               OpStore %x_120_phi %false
-        %156 = OpSLessThan %bool %154 %int_800
-               OpSelectionMerge %157 None
-               OpBranchConditional %156 %158 %159
-        %158 = OpLabel
-               OpBranch %157
-        %159 = OpLabel
-               OpBranch %146
-        %157 = OpLabel
-        %162 = OpSMod %int %154 %int_32
-        %163 = OpIEqual %bool %162 %int_0
-               OpSelectionMerge %164 None
-               OpBranchConditional %163 %165 %166
-        %165 = OpLabel
-        %167 = OpLoad %float %x_92
-        %168 = OpFAdd %float %167 %float_0_400000006
-               OpStore %x_105 %168
-        %169 = OpLoad %float %x_105
-               OpStore %x_93_phi %169
-               OpBranch %164
-        %166 = OpLabel
-        %170 = OpLoad %float %x_92
-               OpStore %x_113_phi %170
-        %171 = OpConvertSToF %float %154
-        %172 = OpExtInst %float %56 RoundEven %55
-        %173 = OpFMod %float %171 %172
-        %174 = OpFOrdLessThanEqual %bool %173 %float_0_00999999978
-               OpSelectionMerge %175 None
-               OpBranchConditional %174 %176 %175
-        %176 = OpLabel
-        %177 = OpLoad %float %x_92
-        %178 = OpFAdd %float %177 %float_100
-               OpStore %x_112 %178
-        %179 = OpLoad %float %x_112
-               OpStore %x_113_phi %179
-               OpBranch %175
-        %175 = OpLabel
-        %180 = OpLoad %float %x_113_phi
-               OpStore %x_113 %180
-        %181 = OpLoad %float %x_113
-               OpStore %x_93_phi %181
-               OpBranch %164
-        %164 = OpLabel
-        %182 = OpLoad %float %x_93_phi
-               OpStore %x_93 %182
-        %183 = OpConvertSToF %float %154
-        %184 = OpLoad %float %x_88
-        %185 = OpFOrdGreaterThanEqual %bool %183 %184
-               OpSelectionMerge %186 None
-               OpBranchConditional %185 %187 %186
-        %187 = OpLabel
-        %188 = OpLoad %float %x_93
-               OpStore %x_118_phi %188
-        %189 = OpLoad %float %x_93
-               OpStore %x_119_phi %189
-               OpStore %x_120_phi %true
-               OpBranch %146
-        %186 = OpLabel
-               OpBranch %147
-        %147 = OpLabel
-        %190 = OpIAdd %int %154 %int_1
-               OpStore %x_96 %190
-        %191 = OpLoad %float %x_93
-               OpStore %x_92_phi %191
-        %192 = OpLoad %int %x_96
-               OpStore %x_95_phi %192
-               OpBranch %145
-        %146 = OpLabel
-        %193 = OpLoad %float %x_118_phi
-               OpStore %x_118 %193
-        %194 = OpLoad %float %x_119_phi
-               OpStore %x_119 %194
-        %195 = OpLoad %bool %x_120_phi
-        %196 = OpLoad %float %x_118
-               OpStore %x_122_phi %196
-               OpSelectionMerge %197 None
-               OpBranchConditional %195 %198 %197
-        %198 = OpLabel
-               OpBranch %143
-        %197 = OpLabel
-        %199 = OpLoad %float %x_119
-               OpStore %x_122_phi %199
-               OpBranch %143
-        %143 = OpLabel
-        %200 = OpLoad %float %x_122_phi
-        %201 = OpAccessChain %_ptr_Function_float %c %uint_1
-               OpStore %201 %200
-        %202 = OpAccessChain %_ptr_Function_float %c %uint_0
-        %203 = OpLoad %float %202
-        %204 = OpAccessChain %_ptr_Function_float %c %uint_1
-        %205 = OpLoad %float %204
-        %207 = OpAccessChain %_ptr_Function_float %c %uint_2
-        %208 = OpFAdd %float %203 %205
-               OpStore %207 %208
+        %210 = OpLoad %float %x_122_phi
+        %211 = OpAccessChain %_ptr_Function_float %c %uint_1
+               OpStore %211 %210
+        %212 = OpAccessChain %_ptr_Function_float %c %uint_0
+        %213 = OpLoad %float %212
+        %214 = OpAccessChain %_ptr_Function_float %c %uint_1
+        %215 = OpLoad %float %214
+        %217 = OpAccessChain %_ptr_Function_float %c %uint_2
+        %218 = OpFAdd %float %213 %215
+               OpStore %217 %218
                OpStore %x_129_phi %int_0
-               OpBranch %209
-        %209 = OpLabel
-               OpLoopMerge %210 %211 None
-               OpBranch %212
-        %212 = OpLabel
-        %214 = OpLoad %int %x_129_phi
-        %216 = OpSLessThan %bool %214 %int_3
-               OpSelectionMerge %217 None
-               OpBranchConditional %216 %218 %219
-        %218 = OpLabel
-               OpBranch %217
+               OpBranch %219
         %219 = OpLabel
-               OpBranch %210
-        %217 = OpLabel
-        %220 = OpAccessChain %_ptr_Function_float %c %214
-        %221 = OpLoad %float %220
-        %223 = OpFOrdGreaterThanEqual %bool %221 %float_1
-               OpSelectionMerge %224 None
-               OpBranchConditional %223 %225 %224
-        %225 = OpLabel
-        %226 = OpAccessChain %_ptr_Function_float %c %214
-        %227 = OpLoad %float %226
-        %228 = OpAccessChain %_ptr_Function_float %c %214
-        %229 = OpLoad %float %228
-        %230 = OpAccessChain %_ptr_Function_float %c %214
-        %231 = OpFMul %float %227 %229
-               OpStore %230 %231
-               OpBranch %224
-        %224 = OpLabel
-               OpBranch %211
-        %211 = OpLabel
-        %232 = OpIAdd %int %214 %int_1
-               OpStore %x_130 %232
-        %233 = OpLoad %int %x_130
-               OpStore %x_129_phi %233
-               OpBranch %209
-        %210 = OpLabel
-        %234 = OpLoad %v3float %c
-        %236 = OpExtInst %v3float %56 FAbs %234
-        %235 = OpExtInst %v3float %56 Normalize %236
-        %237 = OpCompositeExtract %float %235 0
-        %238 = OpCompositeExtract %float %235 1
-        %239 = OpCompositeExtract %float %235 2
-        %240 = OpCompositeConstruct %v4float %237 %238 %239 %float_1
-               OpStore %x_GLF_color %240
+               OpLoopMerge %220 %221 None
+               OpBranch %222
+        %222 = OpLabel
+        %224 = OpLoad %int %x_129_phi
+        %226 = OpSLessThan %bool %224 %int_3
+               OpSelectionMerge %227 None
+               OpBranchConditional %226 %228 %229
+        %228 = OpLabel
+               OpBranch %227
+        %229 = OpLabel
+               OpBranch %220
+        %227 = OpLabel
+        %230 = OpAccessChain %_ptr_Function_float %c %224
+        %231 = OpLoad %float %230
+        %233 = OpFOrdGreaterThanEqual %bool %231 %float_1
+               OpSelectionMerge %234 None
+               OpBranchConditional %233 %235 %234
+        %235 = OpLabel
+        %236 = OpAccessChain %_ptr_Function_float %c %224
+        %237 = OpLoad %float %236
+        %238 = OpAccessChain %_ptr_Function_float %c %224
+        %239 = OpLoad %float %238
+        %240 = OpAccessChain %_ptr_Function_float %c %224
+        %241 = OpFMul %float %237 %239
+               OpStore %240 %241
+               OpBranch %234
+        %234 = OpLabel
+               OpBranch %221
+        %221 = OpLabel
+        %242 = OpIAdd %int %224 %int_1
+               OpStore %x_130 %242
+        %243 = OpLoad %int %x_130
+               OpStore %x_129_phi %243
+               OpBranch %219
+        %220 = OpLabel
+        %244 = OpLoad %v3float %c
+        %246 = OpExtInst %v3float %56 FAbs %244
+        %245 = OpExtInst %v3float %56 Normalize %246
+        %247 = OpCompositeExtract %float %245 0
+        %248 = OpCompositeExtract %float %245 1
+        %249 = OpCompositeExtract %float %245 2
+        %250 = OpCompositeConstruct %v4float %247 %248 %249 %float_1
+               OpStore %x_GLF_color %250
                OpReturn
                OpFunctionEnd
-%tint_symbol_3 = OpFunction %void None %241
+%tint_symbol_3 = OpFunction %void None %251
 %tint_symbol_1 = OpFunctionParameter %main_out
-        %245 = OpLabel
-        %246 = OpCompositeExtract %v4float %tint_symbol_1 0
-               OpStore %tint_symbol_2 %246
+        %255 = OpLabel
+        %256 = OpCompositeExtract %v4float %tint_symbol_1 0
+               OpStore %tint_symbol_2 %256
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %15
-        %248 = OpLabel
-        %249 = OpLoad %v4float %tint_symbol
-               OpStore %gl_FragCoord %249
-        %250 = OpFunctionCall %void %main_1
-        %252 = OpLoad %v4float %x_GLF_color
-        %253 = OpCompositeConstruct %main_out %252
-        %251 = OpFunctionCall %void %tint_symbol_3 %253
+        %258 = OpLabel
+        %259 = OpLoad %v4float %tint_symbol
+               OpStore %gl_FragCoord %259
+        %260 = OpFunctionCall %void %main_1
+        %262 = OpLoad %v4float %x_GLF_color
+        %263 = OpCompositeConstruct %main_out %262
+        %261 = OpFunctionCall %void %tint_symbol_3 %263
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.wgsl
index 41e57f4..76331ce 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.spvasm.expected.wgsl
@@ -55,7 +55,7 @@
           x_56_phi = x_68;
         } else {
           x_76_phi = x_55;
-          if (((f32(x_58) % round(x_49)) <= 0.01)) {
+          if (((f32(x_58) - (round(x_49) * floor((f32(x_58) / round(x_49))))) <= 0.01)) {
             x_75 = (x_55 + 100.0);
             x_76_phi = x_75;
           }
@@ -123,7 +123,7 @@
           x_93_phi = x_105;
         } else {
           x_113_phi = x_92;
-          if (((f32(x_95) % round(x_49)) <= 0.01)) {
+          if (((f32(x_95) - (round(x_49) * floor((f32(x_95) / round(x_49))))) <= 0.01)) {
             x_112 = (x_92 + 100.0);
             x_113_phi = x_112;
           }
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.msl
index a68104d..ccd7c33 100755
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -59,7 +57,7 @@
           x_56_phi = x_68;
         } else {
           x_76_phi = x_55;
-          if (((float(x_58) % rint(x_49)) <= 0.01f)) {
+          if ((fmod(float(x_58), rint(x_49)) <= 0.01f)) {
             x_75 = (x_55 + 100.0f);
             x_76_phi = x_75;
           }
@@ -126,7 +124,7 @@
           x_93_phi = x_105;
         } else {
           x_113_phi = x_92;
-          if (((float(x_95) % rint(x_49)) <= 0.01f)) {
+          if ((fmod(float(x_95), rint(x_49)) <= 0.01f)) {
             x_112 = (x_92 + 100.0f);
             x_113_phi = x_112;
           }
@@ -198,11 +196,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\u938.0.metal:60:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_58) % rint(x_49)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-T:\tmp\u938.0.metal:127:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_95) % rint(x_49)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-2 errors generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.spvasm
index fdd3fe1..777603d 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/0.wgsl.expected.spvasm
@@ -207,7 +207,7 @@
                OpStore %x_76_phi %97
          %98 = OpConvertSToF %float %75
          %99 = OpExtInst %float %56 RoundEven %55
-        %100 = OpFMod %float %98 %99
+        %100 = OpFRem %float %98 %99
         %102 = OpFOrdLessThanEqual %bool %100 %float_0_00999999978
                OpSelectionMerge %103 None
                OpBranchConditional %102 %104 %103
@@ -313,7 +313,7 @@
                OpStore %x_113_phi %170
         %171 = OpConvertSToF %float %154
         %172 = OpExtInst %float %56 RoundEven %55
-        %173 = OpFMod %float %171 %172
+        %173 = OpFRem %float %171 %172
         %174 = OpFOrdLessThanEqual %bool %173 %float_0_00999999978
                OpSelectionMerge %175 None
                OpBranchConditional %174 %176 %175
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.hlsl
index f5c9fb0..c78548a 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.hlsl
@@ -56,7 +56,7 @@
           x_58_phi = x_70;
         } else {
           x_78_phi = x_57;
-          if (((float(x_60) % round(x_50)) <= 0.01f)) {
+          if (((float(x_60) - (round(x_50) * floor((float(x_60) / round(x_50))))) <= 0.01f)) {
             x_77 = (x_57 + 100.0f);
             x_78_phi = x_77;
           }
@@ -126,7 +126,7 @@
           x_99_phi = x_111;
         } else {
           x_119_phi = x_98;
-          if (((float(x_101) % round(x_50)) <= 0.01f)) {
+          if (((float(x_101) - (round(x_50) * floor((float(x_101) / round(x_50))))) <= 0.01f)) {
             x_118 = (x_98 + 100.0f);
             x_119_phi = x_118;
           }
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.msl
index 1a98de4..3a92f08 100755
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -61,7 +59,7 @@
           x_58_phi = x_70;
         } else {
           x_78_phi = x_57;
-          if (((float(x_60) % rint(x_50)) <= 0.01f)) {
+          if (((float(x_60) - (rint(x_50) * floor((float(x_60) / rint(x_50))))) <= 0.01f)) {
             x_77 = (x_57 + 100.0f);
             x_78_phi = x_77;
           }
@@ -131,7 +129,7 @@
           x_99_phi = x_111;
         } else {
           x_119_phi = x_98;
-          if (((float(x_101) % rint(x_50)) <= 0.01f)) {
+          if (((float(x_101) - (rint(x_50) * floor((float(x_101) / rint(x_50))))) <= 0.01f)) {
             x_118 = (x_98 + 100.0f);
             x_119_phi = x_118;
           }
@@ -203,11 +201,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\ufm8.0.metal:62:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_60) % rint(x_50)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-T:\tmp\ufm8.0.metal:132:30: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_101) % rint(x_50)) <= 0.01f)) {
-                ~~~~~~~~~~~~ ^ ~~~~~~~~~~
-2 errors generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.spvasm
index 59c0cdb..e2f80ed 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 267
+; Bound: 277
 ; Schema: 0
                OpCapability Shader
          %58 = OpExtInstImport "GLSL.std.450"
@@ -119,7 +119,7 @@
      %uint_2 = OpConstant %uint 2
       %int_3 = OpConstant %int 3
    %main_out = OpTypeStruct %v4float
-        %254 = OpTypeFunction %void %main_out
+        %264 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %15
          %18 = OpLabel
           %c = OpVariable %_ptr_Function_v3float Function %22
@@ -209,254 +209,264 @@
                OpStore %x_78_phi %100
         %101 = OpConvertSToF %float %79
         %102 = OpExtInst %float %58 RoundEven %57
-        %103 = OpFMod %float %101 %102
-        %105 = OpFOrdLessThanEqual %bool %103 %float_0_00999999978
-               OpSelectionMerge %106 None
-               OpBranchConditional %105 %107 %106
-        %107 = OpLabel
-        %108 = OpLoad %float %x_57
-        %110 = OpFAdd %float %108 %float_100
-               OpStore %x_77 %110
-        %111 = OpLoad %float %x_77
-               OpStore %x_78_phi %111
-               OpBranch %106
-        %106 = OpLabel
-        %112 = OpLoad %float %x_78_phi
-               OpStore %x_78 %112
-        %113 = OpLoad %float %x_78
-               OpStore %x_58_phi %113
+        %104 = OpConvertSToF %float %79
+        %105 = OpExtInst %float %58 RoundEven %57
+        %106 = OpFDiv %float %104 %105
+        %103 = OpExtInst %float %58 Floor %106
+        %107 = OpFMul %float %102 %103
+        %108 = OpFSub %float %101 %107
+        %110 = OpFOrdLessThanEqual %bool %108 %float_0_00999999978
+               OpSelectionMerge %111 None
+               OpBranchConditional %110 %112 %111
+        %112 = OpLabel
+        %113 = OpLoad %float %x_57
+        %115 = OpFAdd %float %113 %float_100
+               OpStore %x_77 %115
+        %116 = OpLoad %float %x_77
+               OpStore %x_78_phi %116
+               OpBranch %111
+        %111 = OpLabel
+        %117 = OpLoad %float %x_78_phi
+               OpStore %x_78 %117
+        %118 = OpLoad %float %x_78
+               OpStore %x_58_phi %118
                OpBranch %93
          %93 = OpLabel
-        %114 = OpLoad %float %x_58_phi
-               OpStore %x_58 %114
-        %115 = OpConvertSToF %float %79
-        %116 = OpLoad %float %x_53
-        %117 = OpFOrdGreaterThanEqual %bool %115 %116
-               OpSelectionMerge %118 None
-               OpBranchConditional %117 %119 %118
-        %119 = OpLabel
-        %120 = OpLoad %float %x_58
-               OpStore %x_83_phi %120
-        %121 = OpLoad %float %x_58
-               OpStore %x_84_phi %121
+        %119 = OpLoad %float %x_58_phi
+               OpStore %x_58 %119
+        %120 = OpConvertSToF %float %79
+        %121 = OpLoad %float %x_53
+        %122 = OpFOrdGreaterThanEqual %bool %120 %121
+               OpSelectionMerge %123 None
+               OpBranchConditional %122 %124 %123
+        %124 = OpLabel
+        %125 = OpLoad %float %x_58
+               OpStore %x_83_phi %125
+        %126 = OpLoad %float %x_58
+               OpStore %x_84_phi %126
                OpStore %x_85_phi %true
                OpBranch %71
-        %118 = OpLabel
+        %123 = OpLabel
                OpBranch %72
          %72 = OpLabel
-        %123 = OpIAdd %int %79 %int_1
-               OpStore %x_61 %123
-        %124 = OpLoad %float %x_58
-               OpStore %x_57_phi %124
-        %125 = OpLoad %int %x_61
-               OpStore %x_60_phi %125
+        %128 = OpIAdd %int %79 %int_1
+               OpStore %x_61 %128
+        %129 = OpLoad %float %x_58
+               OpStore %x_57_phi %129
+        %130 = OpLoad %int %x_61
+               OpStore %x_60_phi %130
                OpBranch %70
          %71 = OpLabel
-        %126 = OpLoad %float %x_83_phi
-               OpStore %x_83 %126
-        %127 = OpLoad %float %x_84_phi
-               OpStore %x_84 %127
-        %128 = OpLoad %bool %x_85_phi
-        %129 = OpLoad %float %x_83
-               OpStore %x_87_phi %129
-               OpSelectionMerge %130 None
-               OpBranchConditional %128 %131 %130
-        %131 = OpLabel
+        %131 = OpLoad %float %x_83_phi
+               OpStore %x_83 %131
+        %132 = OpLoad %float %x_84_phi
+               OpStore %x_84 %132
+        %133 = OpLoad %bool %x_85_phi
+        %134 = OpLoad %float %x_83
+               OpStore %x_87_phi %134
+               OpSelectionMerge %135 None
+               OpBranchConditional %133 %136 %135
+        %136 = OpLabel
                OpBranch %67
-        %130 = OpLabel
-        %132 = OpLoad %float %x_84
-               OpStore %x_87_phi %132
+        %135 = OpLabel
+        %137 = OpLoad %float %x_84
+               OpStore %x_87_phi %137
                OpBranch %67
          %67 = OpLabel
-        %141 = OpLoad %float %x_87_phi
-        %142 = OpLoad %float %x_84
-        %143 = OpLoad %float %x_83
-        %144 = OpCompositeConstruct %v4float %142 %float_0_400000006 %143 %float_0_400000006
-        %145 = OpAccessChain %_ptr_Function_float %c %uint_0
-               OpStore %145 %141
-        %147 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %148 = OpLoad %float %147
-               OpStore %x_92 %148
-               OpSelectionMerge %149 None
-               OpSwitch %uint_0 %150
-        %150 = OpLabel
-        %151 = OpCompositeExtract %float %63 0
-        %152 = OpCompositeExtract %float %63 1
-        %153 = OpLoad %float %x_57
-        %154 = OpCompositeConstruct %v4float %151 %152 %float_0 %153
-        %155 = OpCompositeExtract %float %56 0
-        %156 = OpCompositeExtract %float %56 1
-        %157 = OpCompositeConstruct %v3float %155 %156 %float_n0_5
-        %158 = OpCompositeExtract %float %157 2
-               OpStore %x_98_phi %158
+        %146 = OpLoad %float %x_87_phi
+        %147 = OpLoad %float %x_84
+        %148 = OpLoad %float %x_83
+        %149 = OpCompositeConstruct %v4float %147 %float_0_400000006 %148 %float_0_400000006
+        %150 = OpAccessChain %_ptr_Function_float %c %uint_0
+               OpStore %150 %146
+        %152 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %153 = OpLoad %float %152
+               OpStore %x_92 %153
+               OpSelectionMerge %154 None
+               OpSwitch %uint_0 %155
+        %155 = OpLabel
+        %156 = OpCompositeExtract %float %63 0
+        %157 = OpCompositeExtract %float %63 1
+        %158 = OpLoad %float %x_57
+        %159 = OpCompositeConstruct %v4float %156 %157 %float_0 %158
+        %160 = OpCompositeExtract %float %56 0
+        %161 = OpCompositeExtract %float %56 1
+        %162 = OpCompositeConstruct %v3float %160 %161 %float_n0_5
+        %163 = OpCompositeExtract %float %162 2
+               OpStore %x_98_phi %163
                OpStore %x_101_phi %int_1
-               OpBranch %159
-        %159 = OpLabel
-               OpLoopMerge %160 %161 None
-               OpBranch %162
-        %162 = OpLabel
-        %167 = OpLoad %float %x_98_phi
-               OpStore %x_98 %167
-        %168 = OpLoad %int %x_101_phi
+               OpBranch %164
+        %164 = OpLabel
+               OpLoopMerge %165 %166 None
+               OpBranch %167
+        %167 = OpLabel
+        %172 = OpLoad %float %x_98_phi
+               OpStore %x_98 %172
+        %173 = OpLoad %int %x_101_phi
                OpStore %x_124_phi %float_0
-        %169 = OpLoad %float %x_98
-               OpStore %x_125_phi %169
+        %174 = OpLoad %float %x_98
+               OpStore %x_125_phi %174
                OpStore %x_126_phi %false
-        %170 = OpSLessThan %bool %168 %int_800
-               OpSelectionMerge %171 None
-               OpBranchConditional %170 %172 %173
-        %172 = OpLabel
-               OpBranch %171
-        %173 = OpLabel
-               OpBranch %160
-        %171 = OpLabel
-        %176 = OpSMod %int %168 %int_32
-        %177 = OpIEqual %bool %176 %int_0
-               OpSelectionMerge %178 None
-               OpBranchConditional %177 %179 %180
-        %179 = OpLabel
-        %181 = OpLoad %float %x_98
-        %182 = OpFAdd %float %181 %float_0_400000006
-               OpStore %x_111 %182
-        %183 = OpLoad %float %x_111
-               OpStore %x_99_phi %183
-               OpBranch %178
-        %180 = OpLabel
-        %184 = OpLoad %float %x_98
-               OpStore %x_119_phi %184
-        %185 = OpConvertSToF %float %168
-        %186 = OpExtInst %float %58 RoundEven %57
-        %187 = OpFMod %float %185 %186
-        %188 = OpFOrdLessThanEqual %bool %187 %float_0_00999999978
-               OpSelectionMerge %189 None
-               OpBranchConditional %188 %190 %189
-        %190 = OpLabel
-        %191 = OpLoad %float %x_98
-        %192 = OpFAdd %float %191 %float_100
-               OpStore %x_118 %192
-        %193 = OpLoad %float %x_118
-               OpStore %x_119_phi %193
-               OpBranch %189
-        %189 = OpLabel
-        %194 = OpLoad %float %x_119_phi
-               OpStore %x_119 %194
-        %195 = OpLoad %float %x_119
-               OpStore %x_99_phi %195
-               OpBranch %178
+        %175 = OpSLessThan %bool %173 %int_800
+               OpSelectionMerge %176 None
+               OpBranchConditional %175 %177 %178
+        %177 = OpLabel
+               OpBranch %176
         %178 = OpLabel
-        %196 = OpLoad %float %x_99_phi
-               OpStore %x_99 %196
-        %197 = OpConvertSToF %float %168
-        %198 = OpLoad %float %x_92
-        %199 = OpFOrdGreaterThanEqual %bool %197 %198
-               OpSelectionMerge %200 None
-               OpBranchConditional %199 %201 %200
-        %201 = OpLabel
-        %202 = OpLoad %float %x_99
-               OpStore %x_124_phi %202
-        %203 = OpLoad %float %x_99
-               OpStore %x_125_phi %203
-               OpStore %x_126_phi %true
-               OpBranch %160
+               OpBranch %165
+        %176 = OpLabel
+        %181 = OpSMod %int %173 %int_32
+        %182 = OpIEqual %bool %181 %int_0
+               OpSelectionMerge %183 None
+               OpBranchConditional %182 %184 %185
+        %184 = OpLabel
+        %186 = OpLoad %float %x_98
+        %187 = OpFAdd %float %186 %float_0_400000006
+               OpStore %x_111 %187
+        %188 = OpLoad %float %x_111
+               OpStore %x_99_phi %188
+               OpBranch %183
+        %185 = OpLabel
+        %189 = OpLoad %float %x_98
+               OpStore %x_119_phi %189
+        %190 = OpConvertSToF %float %173
+        %191 = OpExtInst %float %58 RoundEven %57
+        %193 = OpConvertSToF %float %173
+        %194 = OpExtInst %float %58 RoundEven %57
+        %195 = OpFDiv %float %193 %194
+        %192 = OpExtInst %float %58 Floor %195
+        %196 = OpFMul %float %191 %192
+        %197 = OpFSub %float %190 %196
+        %198 = OpFOrdLessThanEqual %bool %197 %float_0_00999999978
+               OpSelectionMerge %199 None
+               OpBranchConditional %198 %200 %199
         %200 = OpLabel
-               OpBranch %161
-        %161 = OpLabel
-        %204 = OpIAdd %int %168 %int_1
-               OpStore %x_102 %204
-        %205 = OpLoad %float %x_99
-               OpStore %x_98_phi %205
-        %206 = OpLoad %int %x_102
-               OpStore %x_101_phi %206
-               OpBranch %159
-        %160 = OpLabel
-        %207 = OpLoad %float %x_124_phi
-               OpStore %x_124 %207
-        %208 = OpLoad %float %x_125_phi
-               OpStore %x_125 %208
-        %209 = OpLoad %bool %x_126_phi
-        %210 = OpLoad %float %x_124
-               OpStore %x_128_phi %210
-               OpSelectionMerge %211 None
-               OpBranchConditional %209 %212 %211
-        %212 = OpLabel
-               OpBranch %149
+        %201 = OpLoad %float %x_98
+        %202 = OpFAdd %float %201 %float_100
+               OpStore %x_118 %202
+        %203 = OpLoad %float %x_118
+               OpStore %x_119_phi %203
+               OpBranch %199
+        %199 = OpLabel
+        %204 = OpLoad %float %x_119_phi
+               OpStore %x_119 %204
+        %205 = OpLoad %float %x_119
+               OpStore %x_99_phi %205
+               OpBranch %183
+        %183 = OpLabel
+        %206 = OpLoad %float %x_99_phi
+               OpStore %x_99 %206
+        %207 = OpConvertSToF %float %173
+        %208 = OpLoad %float %x_92
+        %209 = OpFOrdGreaterThanEqual %bool %207 %208
+               OpSelectionMerge %210 None
+               OpBranchConditional %209 %211 %210
         %211 = OpLabel
-        %213 = OpLoad %float %x_125
-               OpStore %x_128_phi %213
-               OpBranch %149
-        %149 = OpLabel
-        %214 = OpLoad %float %x_128_phi
-        %215 = OpAccessChain %_ptr_Function_float %c %uint_1
-               OpStore %215 %214
-        %216 = OpAccessChain %_ptr_Function_float %c %uint_0
-        %217 = OpLoad %float %216
-        %218 = OpAccessChain %_ptr_Function_float %c %uint_1
-        %219 = OpLoad %float %218
-        %221 = OpAccessChain %_ptr_Function_float %c %uint_2
-        %222 = OpFAdd %float %217 %219
-               OpStore %221 %222
+        %212 = OpLoad %float %x_99
+               OpStore %x_124_phi %212
+        %213 = OpLoad %float %x_99
+               OpStore %x_125_phi %213
+               OpStore %x_126_phi %true
+               OpBranch %165
+        %210 = OpLabel
+               OpBranch %166
+        %166 = OpLabel
+        %214 = OpIAdd %int %173 %int_1
+               OpStore %x_102 %214
+        %215 = OpLoad %float %x_99
+               OpStore %x_98_phi %215
+        %216 = OpLoad %int %x_102
+               OpStore %x_101_phi %216
+               OpBranch %164
+        %165 = OpLabel
+        %217 = OpLoad %float %x_124_phi
+               OpStore %x_124 %217
+        %218 = OpLoad %float %x_125_phi
+               OpStore %x_125 %218
+        %219 = OpLoad %bool %x_126_phi
+        %220 = OpLoad %float %x_124
+               OpStore %x_128_phi %220
+               OpSelectionMerge %221 None
+               OpBranchConditional %219 %222 %221
+        %222 = OpLabel
+               OpBranch %154
+        %221 = OpLabel
+        %223 = OpLoad %float %x_125
+               OpStore %x_128_phi %223
+               OpBranch %154
+        %154 = OpLabel
+        %224 = OpLoad %float %x_128_phi
+        %225 = OpAccessChain %_ptr_Function_float %c %uint_1
+               OpStore %225 %224
+        %226 = OpAccessChain %_ptr_Function_float %c %uint_0
+        %227 = OpLoad %float %226
+        %228 = OpAccessChain %_ptr_Function_float %c %uint_1
+        %229 = OpLoad %float %228
+        %231 = OpAccessChain %_ptr_Function_float %c %uint_2
+        %232 = OpFAdd %float %227 %229
+               OpStore %231 %232
                OpStore %x_135_phi %int_0
-               OpBranch %223
-        %223 = OpLabel
-               OpLoopMerge %224 %225 None
-               OpBranch %226
-        %226 = OpLabel
-        %228 = OpLoad %int %x_135_phi
-        %230 = OpSLessThan %bool %228 %int_3
-               OpSelectionMerge %231 None
-               OpBranchConditional %230 %232 %233
-        %232 = OpLabel
-               OpBranch %231
+               OpBranch %233
         %233 = OpLabel
-               OpBranch %224
-        %231 = OpLabel
-        %234 = OpAccessChain %_ptr_Function_float %c %228
-        %235 = OpLoad %float %234
-        %236 = OpFOrdGreaterThanEqual %bool %235 %float_1
-               OpSelectionMerge %237 None
-               OpBranchConditional %236 %238 %237
-        %238 = OpLabel
-        %239 = OpAccessChain %_ptr_Function_float %c %228
-        %240 = OpLoad %float %239
-        %241 = OpAccessChain %_ptr_Function_float %c %228
-        %242 = OpLoad %float %241
-        %243 = OpAccessChain %_ptr_Function_float %c %228
-        %244 = OpFMul %float %240 %242
-               OpStore %243 %244
-               OpBranch %237
-        %237 = OpLabel
-               OpBranch %225
-        %225 = OpLabel
-        %245 = OpIAdd %int %228 %int_1
-               OpStore %x_136 %245
-        %246 = OpLoad %int %x_136
-               OpStore %x_135_phi %246
-               OpBranch %223
-        %224 = OpLabel
-        %247 = OpLoad %v3float %c
-        %249 = OpExtInst %v3float %58 FAbs %247
-        %248 = OpExtInst %v3float %58 Normalize %249
-        %250 = OpCompositeExtract %float %248 0
-        %251 = OpCompositeExtract %float %248 1
-        %252 = OpCompositeExtract %float %248 2
-        %253 = OpCompositeConstruct %v4float %250 %251 %252 %float_1
-               OpStore %x_GLF_color %253
+               OpLoopMerge %234 %235 None
+               OpBranch %236
+        %236 = OpLabel
+        %238 = OpLoad %int %x_135_phi
+        %240 = OpSLessThan %bool %238 %int_3
+               OpSelectionMerge %241 None
+               OpBranchConditional %240 %242 %243
+        %242 = OpLabel
+               OpBranch %241
+        %243 = OpLabel
+               OpBranch %234
+        %241 = OpLabel
+        %244 = OpAccessChain %_ptr_Function_float %c %238
+        %245 = OpLoad %float %244
+        %246 = OpFOrdGreaterThanEqual %bool %245 %float_1
+               OpSelectionMerge %247 None
+               OpBranchConditional %246 %248 %247
+        %248 = OpLabel
+        %249 = OpAccessChain %_ptr_Function_float %c %238
+        %250 = OpLoad %float %249
+        %251 = OpAccessChain %_ptr_Function_float %c %238
+        %252 = OpLoad %float %251
+        %253 = OpAccessChain %_ptr_Function_float %c %238
+        %254 = OpFMul %float %250 %252
+               OpStore %253 %254
+               OpBranch %247
+        %247 = OpLabel
+               OpBranch %235
+        %235 = OpLabel
+        %255 = OpIAdd %int %238 %int_1
+               OpStore %x_136 %255
+        %256 = OpLoad %int %x_136
+               OpStore %x_135_phi %256
+               OpBranch %233
+        %234 = OpLabel
+        %257 = OpLoad %v3float %c
+        %259 = OpExtInst %v3float %58 FAbs %257
+        %258 = OpExtInst %v3float %58 Normalize %259
+        %260 = OpCompositeExtract %float %258 0
+        %261 = OpCompositeExtract %float %258 1
+        %262 = OpCompositeExtract %float %258 2
+        %263 = OpCompositeConstruct %v4float %260 %261 %262 %float_1
+               OpStore %x_GLF_color %263
                OpReturn
                OpFunctionEnd
-%tint_symbol_3 = OpFunction %void None %254
+%tint_symbol_3 = OpFunction %void None %264
 %tint_symbol_1 = OpFunctionParameter %main_out
-        %258 = OpLabel
-        %259 = OpCompositeExtract %v4float %tint_symbol_1 0
-               OpStore %tint_symbol_2 %259
+        %268 = OpLabel
+        %269 = OpCompositeExtract %v4float %tint_symbol_1 0
+               OpStore %tint_symbol_2 %269
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %15
-        %261 = OpLabel
-        %262 = OpLoad %v4float %tint_symbol
-               OpStore %gl_FragCoord %262
-        %263 = OpFunctionCall %void %main_1
-        %265 = OpLoad %v4float %x_GLF_color
-        %266 = OpCompositeConstruct %main_out %265
-        %264 = OpFunctionCall %void %tint_symbol_3 %266
+        %271 = OpLabel
+        %272 = OpLoad %v4float %tint_symbol
+               OpStore %gl_FragCoord %272
+        %273 = OpFunctionCall %void %main_1
+        %275 = OpLoad %v4float %x_GLF_color
+        %276 = OpCompositeConstruct %main_out %275
+        %274 = OpFunctionCall %void %tint_symbol_3 %276
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.wgsl
index c2ad2e8..e1db4ce 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.spvasm.expected.wgsl
@@ -57,7 +57,7 @@
           x_58_phi = x_70;
         } else {
           x_78_phi = x_57;
-          if (((f32(x_60) % round(x_50)) <= 0.01)) {
+          if (((f32(x_60) - (round(x_50) * floor((f32(x_60) / round(x_50))))) <= 0.01)) {
             x_77 = (x_57 + 100.0);
             x_78_phi = x_77;
           }
@@ -128,7 +128,7 @@
           x_99_phi = x_111;
         } else {
           x_119_phi = x_98;
-          if (((f32(x_101) % round(x_50)) <= 0.01)) {
+          if (((f32(x_101) - (round(x_50) * floor((f32(x_101) / round(x_50))))) <= 0.01)) {
             x_118 = (x_98 + 100.0);
             x_119_phi = x_118;
           }
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.msl
index 4bdc690..05e2aaa 100755
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -61,7 +59,7 @@
           x_58_phi = x_70;
         } else {
           x_78_phi = x_57;
-          if (((float(x_60) % rint(x_50)) <= 0.01f)) {
+          if ((fmod(float(x_60), rint(x_50)) <= 0.01f)) {
             x_77 = (x_57 + 100.0f);
             x_78_phi = x_77;
           }
@@ -131,7 +129,7 @@
           x_99_phi = x_111;
         } else {
           x_119_phi = x_98;
-          if (((float(x_101) % rint(x_50)) <= 0.01f)) {
+          if ((fmod(float(x_101), rint(x_50)) <= 0.01f)) {
             x_118 = (x_98 + 100.0f);
             x_119_phi = x_118;
           }
@@ -203,11 +201,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\u9vw.0.metal:62:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_60) % rint(x_50)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-T:\tmp\u9vw.0.metal:132:30: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_101) % rint(x_50)) <= 0.01f)) {
-                ~~~~~~~~~~~~ ^ ~~~~~~~~~~
-2 errors generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.spvasm
index 59c0cdb..4f6810f 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composite-phi/1.wgsl.expected.spvasm
@@ -209,7 +209,7 @@
                OpStore %x_78_phi %100
         %101 = OpConvertSToF %float %79
         %102 = OpExtInst %float %58 RoundEven %57
-        %103 = OpFMod %float %101 %102
+        %103 = OpFRem %float %101 %102
         %105 = OpFOrdLessThanEqual %bool %103 %float_0_00999999978
                OpSelectionMerge %106 None
                OpBranchConditional %105 %107 %106
@@ -326,7 +326,7 @@
                OpStore %x_119_phi %184
         %185 = OpConvertSToF %float %168
         %186 = OpExtInst %float %58 RoundEven %57
-        %187 = OpFMod %float %185 %186
+        %187 = OpFRem %float %185 %186
         %188 = OpFOrdLessThanEqual %bool %187 %float_0_00999999978
                OpSelectionMerge %189 None
                OpBranchConditional %188 %190 %189
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-composites/1.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/spv-composites/1.spvasm.expected.hlsl
index 6f779cc..0e4020b 100755
--- a/test/vk-gl-cts/graphicsfuzz/spv-composites/1.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-composites/1.spvasm.expected.hlsl
@@ -1,10 +1,107 @@
-SKIP: FAILED
+struct buf0 {
+  float2 resolution;
+};
 
-..\..\src\writer\hlsl\generator_impl.cc:3099 internal compiler error: unhandled struct member attribute: offset
-********************************************************************
-*  The tint shader compiler has encountered an unexpected error.   *
-*                                                                  *
-*  Please help us fix this issue by submitting a bug report at     *
-*  crbug.com/tint with the source program that triggered the bug.  *
-********************************************************************
+static float4 gl_FragCoord = float4(0.0f, 0.0f, 0.0f, 0.0f);
+cbuffer cbuffer_x_6 : register(b0, space0) {
+  uint4 x_6[1];
+};
+static float4 x_GLF_color = float4(0.0f, 0.0f, 0.0f, 0.0f);
 
+void main_1() {
+  int x_195[256] = (int[256])0;
+  int x_196[256] = (int[256])0;
+  int x_197[256] = (int[256])0;
+  float2 x_208 = float2(0.0f, 0.0f);
+  int2 x_214 = int2(0, 0);
+  float4 x_249 = float4(0.0f, 0.0f, 0.0f, 0.0f);
+  float4 x_251 = float4(0.0f, 0.0f, 0.0f, 0.0f);
+  int2 x_218_phi = int2(0, 0);
+  float4 x_251_phi = float4(0.0f, 0.0f, 0.0f, 0.0f);
+  bool x_252_phi = false;
+  float4 x_254_phi = float4(0.0f, 0.0f, 0.0f, 0.0f);
+  const float4 x_198 = gl_FragCoord;
+  const float2 x_201 = asfloat(x_6[0].xy);
+  const float2 x_202 = (float2(x_198.x, x_198.y) / x_201);
+  const int x_204 = -(82);
+  x_208 = float2(0.0f, float4(x_201, 15.0f, 15.0f).z);
+  const int x_209 = (120 - 0);
+  x_214 = int2(int((x_202.x * 256.0f)), int((x_202.y * 256.0f)));
+  switch(0u) {
+    default: {
+      x_218_phi = x_214;
+      while (true) {
+        bool x_235 = false;
+        bool x_236_phi = false;
+        const int2 x_218 = x_218_phi;
+        const int x_221 = x_218.y;
+        x_251_phi = float4(0.0f, 0.0f, 0.0f, 0.0f);
+        x_252_phi = false;
+        if ((x_221 != 256)) {
+        } else {
+          break;
+        }
+        const int x_225 = x_218.x;
+        const int tint_symbol_5[256] = {115, 133, 150, 164, 176, 184, 190, 192, 191, 187, 181, 172, 163, 153, 143, 134, 126, 120, 116, 114, 114, 117, 121, 127, 134, 141, 148, 154, 159, 162, 163, 161, 157, 151, 143, 134, 124, 113, 103, 94, 87, 82, 79, 80, 84, 91, 101, 114, 130, 146, 164, 182, 199, 215, 229, 240, 249, 254, 256, 254, 250, 243, 233, 223, 212, 200, 190, 180, 172, 166, 163, 161, 162, 164, 169, 174, 179, 185, 190, 193, 195, 195, 192, 188, 180, 171, 161, 149, 137, 125, 114, 105, 97, 93, 91, 93, 98, 106, 117, 130, 145, 161, 177, 193, 208, 221, 231, 239, 243, 244, 242, 236, 228, 218, 207, 194, 181, 169, 158, 148, 141, 135, 132, 131, 132, 135, 138, 143, 147, 151, 154, 155, 155, 152, 146, 139, 129, 118, 106, 93, 80, 68, 58, 49, 43, 40, 41, 44, 51, 61, 73, 87, 103, 119, 134, 149, 162, 173, 181, 186, 188, 186, 181, 174, 164, 153, 141, 128, 116, 104, 94, 86, 81, 77, 76, 77, 80, 84, 89, 94, 98, 102, 104, 104, 102, 98, 92, 83, 73, 62, 50, 38, 26, 16, 8, 2, 0, 0, 4, 11, 21, 33, 48, 64, 81, 98, 114, 129, 141, 151, 158, 161, 161, 158, 152, 144, 134, 123, 112, 100, 90, 81, 73, 68, 65, 65, 67, 70, 75, 81, 87, 92, 97, 101, 103, 102, 100, 95, 88, 79, 69, 58, 47, 36, 26, 18, 13, 11, 11, 15, 22, 32, 45, 60, 77, 94};
+        x_195 = tint_symbol_5;
+        const int x_227 = x_195[x_221];
+        const bool x_229 = (x_225 < (x_227 + 15));
+        x_236_phi = x_229;
+        if (x_229) {
+          const int tint_symbol_6[256] = {115, 133, 150, 164, 176, 184, 190, 192, 191, 187, 181, 172, 163, 153, 143, 134, 126, 120, 116, 114, 114, 117, 121, 127, 134, 141, 148, 154, 159, 162, 163, 161, 157, 151, 143, 134, 124, 113, 103, 94, 87, 82, 79, 80, 84, 91, 101, 114, 130, 146, 164, 182, 199, 215, 229, 240, 249, 254, 256, 254, 250, 243, 233, 223, 212, 200, 190, 180, 172, 166, 163, 161, 162, 164, 169, 174, 179, 185, 190, 193, 195, 195, 192, 188, 180, 171, 161, 149, 137, 125, 114, 105, 97, 93, 91, 93, 98, 106, 117, 130, 145, 161, 177, 193, 208, 221, 231, 239, 243, 244, 242, 236, 228, 218, 207, 194, 181, 169, 158, 148, 141, 135, 132, 131, 132, 135, 138, 143, 147, 151, 154, 155, 155, 152, 146, 139, 129, 118, 106, 93, 80, 68, 58, 49, 43, 40, 41, 44, 51, 61, 73, 87, 103, 119, 134, 149, 162, 173, 181, 186, 188, 186, 181, 174, 164, 153, 141, 128, 116, 104, 94, 86, 81, 77, 76, 77, 80, 84, 89, 94, 98, 102, 104, 104, 102, 98, 92, 83, 73, 62, 50, 38, 26, 16, 8, 2, 0, 0, 4, 11, 21, 33, 48, 64, 81, 98, 114, 129, 141, 151, 158, 161, 161, 158, 152, 144, 134, 123, 112, 100, 90, 81, 73, 68, 65, 65, 67, 70, 75, 81, 87, 92, 97, 101, 103, 102, 100, 95, 88, 79, 69, 58, 47, 36, 26, 18, 13, 11, 11, 15, 22, 32, 45, 60, 77, 94};
+          x_196 = tint_symbol_6;
+          const int x_233 = x_196[x_221];
+          x_235 = (x_225 > (x_233 - 15));
+          x_236_phi = x_235;
+        }
+        if (x_236_phi) {
+          const int tint_symbol_7[256] = {115, 133, 150, 164, 176, 184, 190, 192, 191, 187, 181, 172, 163, 153, 143, 134, 126, 120, 116, 114, 114, 117, 121, 127, 134, 141, 148, 154, 159, 162, 163, 161, 157, 151, 143, 134, 124, 113, 103, 94, 87, 82, 79, 80, 84, 91, 101, 114, 130, 146, 164, 182, 199, 215, 229, 240, 249, 254, 256, 254, 250, 243, 233, 223, 212, 200, 190, 180, 172, 166, 163, 161, 162, 164, 169, 174, 179, 185, 190, 193, 195, 195, 192, 188, 180, 171, 161, 149, 137, 125, 114, 105, 97, 93, 91, 93, 98, 106, 117, 130, 145, 161, 177, 193, 208, 221, 231, 239, 243, 244, 242, 236, 228, 218, 207, 194, 181, 169, 158, 148, 141, 135, 132, 131, 132, 135, 138, 143, 147, 151, 154, 155, 155, 152, 146, 139, 129, 118, 106, 93, 80, 68, 58, 49, 43, 40, 41, 44, 51, 61, 73, 87, 103, 119, 134, 149, 162, 173, 181, 186, 188, 186, 181, 174, 164, 153, 141, 128, 116, 104, 94, 86, 81, 77, 76, 77, 80, 84, 89, 94, 98, 102, 104, 104, 102, 98, 92, 83, 73, 62, 50, 38, 26, 16, 8, 2, 0, 0, 4, 11, 21, 33, 48, 64, 81, 98, 114, 129, 141, 151, 158, 161, 161, 158, 152, 144, 134, 123, 112, 100, 90, 81, 73, 68, 65, 65, 67, 70, 75, 81, 87, 92, 97, 101, 103, 102, 100, 95, 88, 79, 69, 58, 47, 36, 26, 18, 13, 11, 11, 15, 22, 32, 45, 60, 77, 94};
+          x_197 = tint_symbol_7;
+          const int x_240 = x_197[x_221];
+          const int x_244 = (91 + 244);
+          const buf0 tint_symbol_8 = {x_208};
+          const float x_248 = ((tint_symbol_8.resolution.y - abs(float((x_225 - x_240)))) * 0.06666667f);
+          x_249 = float4(x_248, x_248, x_248, 1.0f);
+          x_251_phi = x_249;
+          x_252_phi = true;
+          break;
+        }
+        int2 x_219_1 = x_218;
+        x_219_1.y = (x_221 + 1);
+        const int2 x_219 = x_219_1;
+        {
+          x_218_phi = x_219;
+        }
+      }
+      x_251 = x_251_phi;
+      const bool x_252 = x_252_phi;
+      x_254_phi = x_251;
+      if (x_252) {
+        break;
+      }
+      x_254_phi = float4(0.0f, 0.0f, 0.0f, 1.0f);
+      break;
+    }
+  }
+  x_GLF_color = x_254_phi;
+  return;
+}
+
+struct main_out {
+  float4 x_GLF_color_1;
+};
+struct tint_symbol_1 {
+  float4 gl_FragCoord_param : SV_Position;
+};
+struct tint_symbol_2 {
+  float4 x_GLF_color_1 : SV_Target0;
+};
+
+tint_symbol_2 main(tint_symbol_1 tint_symbol) {
+  const float4 gl_FragCoord_param = tint_symbol.gl_FragCoord_param;
+  gl_FragCoord = gl_FragCoord_param;
+  main_1();
+  const main_out tint_symbol_3 = {x_GLF_color};
+  const tint_symbol_2 tint_symbol_9 = {tint_symbol_3.x_GLF_color_1};
+  return tint_symbol_9;
+}
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.hlsl
index 3102fad..0b4750a 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.hlsl
@@ -54,7 +54,7 @@
           x_56_phi = x_68;
         } else {
           x_76_phi = x_55;
-          if (((float(x_58) % round(x_49)) <= 0.01f)) {
+          if (((float(x_58) - (round(x_49) * floor((float(x_58) / round(x_49))))) <= 0.01f)) {
             x_75 = (x_55 + 100.0f);
             x_76_phi = x_75;
           }
@@ -121,7 +121,7 @@
           x_93_phi = x_113;
         } else {
           x_112_phi = x_92;
-          if (((float(x_95) % round(x_49)) <= 0.01f)) {
+          if (((float(x_95) - (round(x_49) * floor((float(x_95) / round(x_49))))) <= 0.01f)) {
             x_111 = (x_92 + 100.0f);
             x_112_phi = x_111;
           }
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.msl
index ccf66a6..6bbc2e7 100755
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -59,7 +57,7 @@
           x_56_phi = x_68;
         } else {
           x_76_phi = x_55;
-          if (((float(x_58) % rint(x_49)) <= 0.01f)) {
+          if (((float(x_58) - (rint(x_49) * floor((float(x_58) / rint(x_49))))) <= 0.01f)) {
             x_75 = (x_55 + 100.0f);
             x_76_phi = x_75;
           }
@@ -126,7 +124,7 @@
           x_93_phi = x_113;
         } else {
           x_112_phi = x_92;
-          if (((float(x_95) % rint(x_49)) <= 0.01f)) {
+          if (((float(x_95) - (rint(x_49) * floor((float(x_95) / rint(x_49))))) <= 0.01f)) {
             x_111 = (x_92 + 100.0f);
             x_112_phi = x_111;
           }
@@ -198,11 +196,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\u3lk.0.metal:60:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_58) % rint(x_49)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-T:\tmp\u3lk.0.metal:127:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_95) % rint(x_49)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-2 errors generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.spvasm
index d596d85..2af7e74 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 254
+; Bound: 264
 ; Schema: 0
                OpCapability Shader
          %56 = OpExtInstImport "GLSL.std.450"
@@ -118,7 +118,7 @@
       %int_3 = OpConstant %int 3
     %float_1 = OpConstant %float 1
    %main_out = OpTypeStruct %v4float
-        %241 = OpTypeFunction %void %main_out
+        %251 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %15
          %18 = OpLabel
           %c = OpVariable %_ptr_Function_v3float Function %22
@@ -207,243 +207,253 @@
                OpStore %x_76_phi %97
          %98 = OpConvertSToF %float %75
          %99 = OpExtInst %float %56 RoundEven %55
-        %100 = OpFMod %float %98 %99
-        %102 = OpFOrdLessThanEqual %bool %100 %float_0_00999999978
-               OpSelectionMerge %103 None
-               OpBranchConditional %102 %104 %103
-        %104 = OpLabel
-        %105 = OpLoad %float %x_55
-        %107 = OpFAdd %float %105 %float_100
-               OpStore %x_75 %107
-        %108 = OpLoad %float %x_75
-               OpStore %x_76_phi %108
-               OpBranch %103
-        %103 = OpLabel
-        %109 = OpLoad %float %x_76_phi
-               OpStore %x_76 %109
-        %110 = OpLoad %float %x_76
-               OpStore %x_56_phi %110
+        %101 = OpConvertSToF %float %75
+        %102 = OpExtInst %float %56 RoundEven %55
+        %103 = OpFDiv %float %101 %102
+        %100 = OpExtInst %float %56 Floor %103
+        %104 = OpFMul %float %99 %100
+        %105 = OpFSub %float %98 %104
+        %107 = OpFOrdLessThanEqual %bool %105 %float_0_00999999978
+               OpSelectionMerge %108 None
+               OpBranchConditional %107 %109 %108
+        %109 = OpLabel
+        %110 = OpLoad %float %x_55
+        %112 = OpFAdd %float %110 %float_100
+               OpStore %x_75 %112
+        %113 = OpLoad %float %x_75
+               OpStore %x_76_phi %113
+               OpBranch %108
+        %108 = OpLabel
+        %114 = OpLoad %float %x_76_phi
+               OpStore %x_76 %114
+        %115 = OpLoad %float %x_76
+               OpStore %x_56_phi %115
                OpBranch %90
          %90 = OpLabel
-        %111 = OpLoad %float %x_56_phi
-               OpStore %x_56 %111
-        %112 = OpConvertSToF %float %75
-        %113 = OpLoad %float %x_51
-        %114 = OpFOrdGreaterThanEqual %bool %112 %113
-               OpSelectionMerge %115 None
-               OpBranchConditional %114 %116 %115
-        %116 = OpLabel
-        %117 = OpLoad %float %x_56
-               OpStore %x_81_phi %117
-        %118 = OpLoad %float %x_56
-               OpStore %x_82_phi %118
+        %116 = OpLoad %float %x_56_phi
+               OpStore %x_56 %116
+        %117 = OpConvertSToF %float %75
+        %118 = OpLoad %float %x_51
+        %119 = OpFOrdGreaterThanEqual %bool %117 %118
+               OpSelectionMerge %120 None
+               OpBranchConditional %119 %121 %120
+        %121 = OpLabel
+        %122 = OpLoad %float %x_56
+               OpStore %x_81_phi %122
+        %123 = OpLoad %float %x_56
+               OpStore %x_82_phi %123
                OpStore %x_83_phi %true
                OpBranch %67
-        %115 = OpLabel
+        %120 = OpLabel
                OpBranch %68
          %68 = OpLabel
-        %120 = OpIAdd %int %75 %int_1
-               OpStore %x_59 %120
-        %121 = OpLoad %float %x_56
-               OpStore %x_55_phi %121
-        %122 = OpLoad %int %x_59
-               OpStore %x_58_phi %122
+        %125 = OpIAdd %int %75 %int_1
+               OpStore %x_59 %125
+        %126 = OpLoad %float %x_56
+               OpStore %x_55_phi %126
+        %127 = OpLoad %int %x_59
+               OpStore %x_58_phi %127
                OpBranch %66
          %67 = OpLabel
-        %123 = OpLoad %float %x_81_phi
-               OpStore %x_81 %123
-        %124 = OpLoad %float %x_82_phi
-               OpStore %x_82 %124
-        %125 = OpLoad %bool %x_83_phi
-        %126 = OpLoad %float %x_81
-               OpStore %x_85_phi %126
-               OpSelectionMerge %127 None
-               OpBranchConditional %125 %128 %127
-        %128 = OpLabel
+        %128 = OpLoad %float %x_81_phi
+               OpStore %x_81 %128
+        %129 = OpLoad %float %x_82_phi
+               OpStore %x_82 %129
+        %130 = OpLoad %bool %x_83_phi
+        %131 = OpLoad %float %x_81
+               OpStore %x_85_phi %131
+               OpSelectionMerge %132 None
+               OpBranchConditional %130 %133 %132
+        %133 = OpLabel
                OpBranch %62
-        %127 = OpLabel
-        %129 = OpLoad %float %x_82
-               OpStore %x_85_phi %129
+        %132 = OpLabel
+        %134 = OpLoad %float %x_82
+               OpStore %x_85_phi %134
                OpBranch %62
          %62 = OpLabel
-        %138 = OpLoad %float %x_85_phi
-        %139 = OpAccessChain %_ptr_Function_float %c %uint_0
-               OpStore %139 %138
-        %141 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %142 = OpLoad %float %141
-               OpStore %x_88 %142
-               OpSelectionMerge %143 None
-               OpSwitch %uint_0 %144
-        %144 = OpLabel
+        %143 = OpLoad %float %x_85_phi
+        %144 = OpAccessChain %_ptr_Function_float %c %uint_0
+               OpStore %144 %143
+        %146 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %147 = OpLoad %float %146
+               OpStore %x_88 %147
+               OpSelectionMerge %148 None
+               OpSwitch %uint_0 %149
+        %149 = OpLabel
                OpStore %x_92_phi %float_n0_5
                OpStore %x_95_phi %int_1
-               OpBranch %145
-        %145 = OpLabel
-               OpLoopMerge %146 %147 None
+               OpBranch %150
+        %150 = OpLabel
+               OpLoopMerge %151 %152 None
+               OpBranch %153
+        %153 = OpLabel
+        %158 = OpLoad %float %x_92_phi
+               OpStore %x_92 %158
+        %159 = OpLoad %int %x_95_phi
+               OpStore %x_118_phi %float_0
+        %160 = OpLoad %float %x_92
+               OpStore %x_119_phi %160
+               OpStore %x_120_phi %false
+        %161 = OpSLessThan %bool %159 %int_800
+               OpSelectionMerge %162 None
+               OpBranchConditional %161 %163 %164
+        %163 = OpLabel
+               OpBranch %162
+        %164 = OpLabel
+               OpBranch %151
+        %162 = OpLabel
+        %167 = OpSMod %int %159 %int_32
+        %168 = OpIEqual %bool %167 %int_0
+               OpSelectionMerge %169 None
+               OpBranchConditional %168 %170 %171
+        %170 = OpLabel
+        %172 = OpLoad %float %x_92
+        %173 = OpFAdd %float %172 %float_0_400000006
+               OpStore %x_113 %173
+        %174 = OpLoad %float %x_113
+               OpStore %x_93_phi %174
+               OpBranch %169
+        %171 = OpLabel
+        %175 = OpLoad %float %x_92
+               OpStore %x_112_phi %175
+        %176 = OpConvertSToF %float %159
+        %177 = OpExtInst %float %56 RoundEven %55
+        %179 = OpConvertSToF %float %159
+        %180 = OpExtInst %float %56 RoundEven %55
+        %181 = OpFDiv %float %179 %180
+        %178 = OpExtInst %float %56 Floor %181
+        %182 = OpFMul %float %177 %178
+        %183 = OpFSub %float %176 %182
+        %184 = OpFOrdLessThanEqual %bool %183 %float_0_00999999978
+               OpSelectionMerge %185 None
+               OpBranchConditional %184 %186 %185
+        %186 = OpLabel
+        %187 = OpLoad %float %x_92
+        %188 = OpFAdd %float %187 %float_100
+               OpStore %x_111 %188
+        %189 = OpLoad %float %x_111
+               OpStore %x_112_phi %189
+               OpBranch %185
+        %185 = OpLabel
+        %190 = OpLoad %float %x_112_phi
+               OpStore %x_112 %190
+        %191 = OpLoad %float %x_112
+               OpStore %x_93_phi %191
+               OpBranch %169
+        %169 = OpLabel
+        %192 = OpLoad %float %x_93_phi
+               OpStore %x_93 %192
+        %193 = OpConvertSToF %float %159
+        %194 = OpLoad %float %x_88
+        %195 = OpFOrdGreaterThanEqual %bool %193 %194
+               OpSelectionMerge %196 None
+               OpBranchConditional %195 %197 %196
+        %197 = OpLabel
+        %198 = OpLoad %float %x_93
+               OpStore %x_118_phi %198
+        %199 = OpLoad %float %x_93
+               OpStore %x_119_phi %199
+               OpStore %x_120_phi %true
+               OpBranch %151
+        %196 = OpLabel
+               OpBranch %152
+        %152 = OpLabel
+        %200 = OpIAdd %int %159 %int_1
+               OpStore %x_96 %200
+        %201 = OpLoad %float %x_93
+               OpStore %x_92_phi %201
+        %202 = OpLoad %int %x_96
+               OpStore %x_95_phi %202
+               OpBranch %150
+        %151 = OpLabel
+        %203 = OpLoad %float %x_118_phi
+               OpStore %x_118 %203
+        %204 = OpLoad %float %x_119_phi
+               OpStore %x_119 %204
+        %205 = OpLoad %bool %x_120_phi
+        %206 = OpLoad %float %x_118
+               OpStore %x_122_phi %206
+               OpSelectionMerge %207 None
+               OpBranchConditional %205 %208 %207
+        %208 = OpLabel
+               OpBranch %148
+        %207 = OpLabel
+        %209 = OpLoad %float %x_119
+               OpStore %x_122_phi %209
                OpBranch %148
         %148 = OpLabel
-        %153 = OpLoad %float %x_92_phi
-               OpStore %x_92 %153
-        %154 = OpLoad %int %x_95_phi
-               OpStore %x_118_phi %float_0
-        %155 = OpLoad %float %x_92
-               OpStore %x_119_phi %155
-               OpStore %x_120_phi %false
-        %156 = OpSLessThan %bool %154 %int_800
-               OpSelectionMerge %157 None
-               OpBranchConditional %156 %158 %159
-        %158 = OpLabel
-               OpBranch %157
-        %159 = OpLabel
-               OpBranch %146
-        %157 = OpLabel
-        %162 = OpSMod %int %154 %int_32
-        %163 = OpIEqual %bool %162 %int_0
-               OpSelectionMerge %164 None
-               OpBranchConditional %163 %165 %166
-        %165 = OpLabel
-        %167 = OpLoad %float %x_92
-        %168 = OpFAdd %float %167 %float_0_400000006
-               OpStore %x_113 %168
-        %169 = OpLoad %float %x_113
-               OpStore %x_93_phi %169
-               OpBranch %164
-        %166 = OpLabel
-        %170 = OpLoad %float %x_92
-               OpStore %x_112_phi %170
-        %171 = OpConvertSToF %float %154
-        %172 = OpExtInst %float %56 RoundEven %55
-        %173 = OpFMod %float %171 %172
-        %174 = OpFOrdLessThanEqual %bool %173 %float_0_00999999978
-               OpSelectionMerge %175 None
-               OpBranchConditional %174 %176 %175
-        %176 = OpLabel
-        %177 = OpLoad %float %x_92
-        %178 = OpFAdd %float %177 %float_100
-               OpStore %x_111 %178
-        %179 = OpLoad %float %x_111
-               OpStore %x_112_phi %179
-               OpBranch %175
-        %175 = OpLabel
-        %180 = OpLoad %float %x_112_phi
-               OpStore %x_112 %180
-        %181 = OpLoad %float %x_112
-               OpStore %x_93_phi %181
-               OpBranch %164
-        %164 = OpLabel
-        %182 = OpLoad %float %x_93_phi
-               OpStore %x_93 %182
-        %183 = OpConvertSToF %float %154
-        %184 = OpLoad %float %x_88
-        %185 = OpFOrdGreaterThanEqual %bool %183 %184
-               OpSelectionMerge %186 None
-               OpBranchConditional %185 %187 %186
-        %187 = OpLabel
-        %188 = OpLoad %float %x_93
-               OpStore %x_118_phi %188
-        %189 = OpLoad %float %x_93
-               OpStore %x_119_phi %189
-               OpStore %x_120_phi %true
-               OpBranch %146
-        %186 = OpLabel
-               OpBranch %147
-        %147 = OpLabel
-        %190 = OpIAdd %int %154 %int_1
-               OpStore %x_96 %190
-        %191 = OpLoad %float %x_93
-               OpStore %x_92_phi %191
-        %192 = OpLoad %int %x_96
-               OpStore %x_95_phi %192
-               OpBranch %145
-        %146 = OpLabel
-        %193 = OpLoad %float %x_118_phi
-               OpStore %x_118 %193
-        %194 = OpLoad %float %x_119_phi
-               OpStore %x_119 %194
-        %195 = OpLoad %bool %x_120_phi
-        %196 = OpLoad %float %x_118
-               OpStore %x_122_phi %196
-               OpSelectionMerge %197 None
-               OpBranchConditional %195 %198 %197
-        %198 = OpLabel
-               OpBranch %143
-        %197 = OpLabel
-        %199 = OpLoad %float %x_119
-               OpStore %x_122_phi %199
-               OpBranch %143
-        %143 = OpLabel
-        %200 = OpLoad %float %x_122_phi
-        %201 = OpAccessChain %_ptr_Function_float %c %uint_1
-               OpStore %201 %200
-        %202 = OpAccessChain %_ptr_Function_float %c %uint_0
-        %203 = OpLoad %float %202
-        %204 = OpAccessChain %_ptr_Function_float %c %uint_1
-        %205 = OpLoad %float %204
-        %207 = OpAccessChain %_ptr_Function_float %c %uint_2
-        %208 = OpFAdd %float %203 %205
-               OpStore %207 %208
+        %210 = OpLoad %float %x_122_phi
+        %211 = OpAccessChain %_ptr_Function_float %c %uint_1
+               OpStore %211 %210
+        %212 = OpAccessChain %_ptr_Function_float %c %uint_0
+        %213 = OpLoad %float %212
+        %214 = OpAccessChain %_ptr_Function_float %c %uint_1
+        %215 = OpLoad %float %214
+        %217 = OpAccessChain %_ptr_Function_float %c %uint_2
+        %218 = OpFAdd %float %213 %215
+               OpStore %217 %218
                OpStore %x_129_phi %int_0
-               OpBranch %209
-        %209 = OpLabel
-               OpLoopMerge %210 %211 None
-               OpBranch %212
-        %212 = OpLabel
-        %214 = OpLoad %int %x_129_phi
-        %216 = OpSLessThan %bool %214 %int_3
-               OpSelectionMerge %217 None
-               OpBranchConditional %216 %218 %219
-        %218 = OpLabel
-               OpBranch %217
+               OpBranch %219
         %219 = OpLabel
-               OpBranch %210
-        %217 = OpLabel
-        %220 = OpAccessChain %_ptr_Function_float %c %214
-        %221 = OpLoad %float %220
-        %223 = OpFOrdGreaterThanEqual %bool %221 %float_1
-               OpSelectionMerge %224 None
-               OpBranchConditional %223 %225 %224
-        %225 = OpLabel
-        %226 = OpAccessChain %_ptr_Function_float %c %214
-        %227 = OpLoad %float %226
-        %228 = OpAccessChain %_ptr_Function_float %c %214
-        %229 = OpLoad %float %228
-        %230 = OpAccessChain %_ptr_Function_float %c %214
-        %231 = OpFMul %float %227 %229
-               OpStore %230 %231
-               OpBranch %224
-        %224 = OpLabel
-               OpBranch %211
-        %211 = OpLabel
-        %232 = OpIAdd %int %214 %int_1
-               OpStore %x_130 %232
-        %233 = OpLoad %int %x_130
-               OpStore %x_129_phi %233
-               OpBranch %209
-        %210 = OpLabel
-        %234 = OpLoad %v3float %c
-        %236 = OpExtInst %v3float %56 FAbs %234
-        %235 = OpExtInst %v3float %56 Normalize %236
-        %237 = OpCompositeExtract %float %235 0
-        %238 = OpCompositeExtract %float %235 1
-        %239 = OpCompositeExtract %float %235 2
-        %240 = OpCompositeConstruct %v4float %237 %238 %239 %float_1
-               OpStore %x_GLF_color %240
+               OpLoopMerge %220 %221 None
+               OpBranch %222
+        %222 = OpLabel
+        %224 = OpLoad %int %x_129_phi
+        %226 = OpSLessThan %bool %224 %int_3
+               OpSelectionMerge %227 None
+               OpBranchConditional %226 %228 %229
+        %228 = OpLabel
+               OpBranch %227
+        %229 = OpLabel
+               OpBranch %220
+        %227 = OpLabel
+        %230 = OpAccessChain %_ptr_Function_float %c %224
+        %231 = OpLoad %float %230
+        %233 = OpFOrdGreaterThanEqual %bool %231 %float_1
+               OpSelectionMerge %234 None
+               OpBranchConditional %233 %235 %234
+        %235 = OpLabel
+        %236 = OpAccessChain %_ptr_Function_float %c %224
+        %237 = OpLoad %float %236
+        %238 = OpAccessChain %_ptr_Function_float %c %224
+        %239 = OpLoad %float %238
+        %240 = OpAccessChain %_ptr_Function_float %c %224
+        %241 = OpFMul %float %237 %239
+               OpStore %240 %241
+               OpBranch %234
+        %234 = OpLabel
+               OpBranch %221
+        %221 = OpLabel
+        %242 = OpIAdd %int %224 %int_1
+               OpStore %x_130 %242
+        %243 = OpLoad %int %x_130
+               OpStore %x_129_phi %243
+               OpBranch %219
+        %220 = OpLabel
+        %244 = OpLoad %v3float %c
+        %246 = OpExtInst %v3float %56 FAbs %244
+        %245 = OpExtInst %v3float %56 Normalize %246
+        %247 = OpCompositeExtract %float %245 0
+        %248 = OpCompositeExtract %float %245 1
+        %249 = OpCompositeExtract %float %245 2
+        %250 = OpCompositeConstruct %v4float %247 %248 %249 %float_1
+               OpStore %x_GLF_color %250
                OpReturn
                OpFunctionEnd
-%tint_symbol_3 = OpFunction %void None %241
+%tint_symbol_3 = OpFunction %void None %251
 %tint_symbol_1 = OpFunctionParameter %main_out
-        %245 = OpLabel
-        %246 = OpCompositeExtract %v4float %tint_symbol_1 0
-               OpStore %tint_symbol_2 %246
+        %255 = OpLabel
+        %256 = OpCompositeExtract %v4float %tint_symbol_1 0
+               OpStore %tint_symbol_2 %256
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %15
-        %248 = OpLabel
-        %249 = OpLoad %v4float %tint_symbol
-               OpStore %gl_FragCoord %249
-        %250 = OpFunctionCall %void %main_1
-        %252 = OpLoad %v4float %x_GLF_color
-        %253 = OpCompositeConstruct %main_out %252
-        %251 = OpFunctionCall %void %tint_symbol_3 %253
+        %258 = OpLabel
+        %259 = OpLoad %v4float %tint_symbol
+               OpStore %gl_FragCoord %259
+        %260 = OpFunctionCall %void %main_1
+        %262 = OpLoad %v4float %x_GLF_color
+        %263 = OpCompositeConstruct %main_out %262
+        %261 = OpFunctionCall %void %tint_symbol_3 %263
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.wgsl
index 20e6da9..98a11e8 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.spvasm.expected.wgsl
@@ -55,7 +55,7 @@
           x_56_phi = x_68;
         } else {
           x_76_phi = x_55;
-          if (((f32(x_58) % round(x_49)) <= 0.01)) {
+          if (((f32(x_58) - (round(x_49) * floor((f32(x_58) / round(x_49))))) <= 0.01)) {
             x_75 = (x_55 + 100.0);
             x_76_phi = x_75;
           }
@@ -123,7 +123,7 @@
           x_93_phi = x_113;
         } else {
           x_112_phi = x_92;
-          if (((f32(x_95) % round(x_49)) <= 0.01)) {
+          if (((f32(x_95) - (round(x_49) * floor((f32(x_95) / round(x_49))))) <= 0.01)) {
             x_111 = (x_92 + 100.0);
             x_112_phi = x_111;
           }
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.msl
index f28bdc8..7df5ad7 100755
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -59,7 +57,7 @@
           x_56_phi = x_68;
         } else {
           x_76_phi = x_55;
-          if (((float(x_58) % rint(x_49)) <= 0.01f)) {
+          if ((fmod(float(x_58), rint(x_49)) <= 0.01f)) {
             x_75 = (x_55 + 100.0f);
             x_76_phi = x_75;
           }
@@ -126,7 +124,7 @@
           x_93_phi = x_113;
         } else {
           x_112_phi = x_92;
-          if (((float(x_95) % rint(x_49)) <= 0.01f)) {
+          if ((fmod(float(x_95), rint(x_49)) <= 0.01f)) {
             x_111 = (x_92 + 100.0f);
             x_112_phi = x_111;
           }
@@ -198,11 +196,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\udmw.0.metal:60:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_58) % rint(x_49)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-T:\tmp\udmw.0.metal:127:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_95) % rint(x_49)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-2 errors generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.spvasm
index d596d85..d0770ba 100644
--- a/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/spv-stable-colorgrid-modulo-O-move-block-down/1.wgsl.expected.spvasm
@@ -207,7 +207,7 @@
                OpStore %x_76_phi %97
          %98 = OpConvertSToF %float %75
          %99 = OpExtInst %float %56 RoundEven %55
-        %100 = OpFMod %float %98 %99
+        %100 = OpFRem %float %98 %99
         %102 = OpFOrdLessThanEqual %bool %100 %float_0_00999999978
                OpSelectionMerge %103 None
                OpBranchConditional %102 %104 %103
@@ -313,7 +313,7 @@
                OpStore %x_112_phi %170
         %171 = OpConvertSToF %float %154
         %172 = OpExtInst %float %56 RoundEven %55
-        %173 = OpFMod %float %171 %172
+        %173 = OpFRem %float %171 %172
         %174 = OpFOrdLessThanEqual %bool %173 %float_0_00999999978
                OpSelectionMerge %175 None
                OpBranchConditional %174 %176 %175
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.hlsl
index 1b409b0..c57ef0b 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.hlsl
@@ -57,7 +57,7 @@
           x_59_phi = x_71;
         } else {
           x_79_phi = x_58;
-          if (((float(x_61) % round(x_52)) <= 0.01f)) {
+          if (((float(x_61) - (round(x_52) * floor((float(x_61) / round(x_52))))) <= 0.01f)) {
             x_78 = (x_58 + 100.0f);
             x_79_phi = x_78;
           }
@@ -129,7 +129,7 @@
           x_103_phi = x_115;
         } else {
           x_123_phi = x_102;
-          if (((float(x_105) % round(x_52)) <= 0.01f)) {
+          if (((float(x_105) - (round(x_52) * floor((float(x_105) / round(x_52))))) <= 0.01f)) {
             x_122 = (x_102 + 100.0f);
             x_123_phi = x_122;
           }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.msl
index 81d5bd8..3f4d5cb 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -62,7 +60,7 @@
           x_59_phi = x_71;
         } else {
           x_79_phi = x_58;
-          if (((float(x_61) % rint(x_52)) <= 0.01f)) {
+          if (((float(x_61) - (rint(x_52) * floor((float(x_61) / rint(x_52))))) <= 0.01f)) {
             x_78 = (x_58 + 100.0f);
             x_79_phi = x_78;
           }
@@ -134,7 +132,7 @@
           x_103_phi = x_115;
         } else {
           x_123_phi = x_102;
-          if (((float(x_105) % rint(x_52)) <= 0.01f)) {
+          if (((float(x_105) - (rint(x_52) * floor((float(x_105) / rint(x_52))))) <= 0.01f)) {
             x_122 = (x_102 + 100.0f);
             x_123_phi = x_122;
           }
@@ -216,11 +214,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\u4dc.0.metal:63:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_61) % rint(x_52)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-T:\tmp\u4dc.0.metal:135:30: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_105) % rint(x_52)) <= 0.01f)) {
-                ~~~~~~~~~~~~ ^ ~~~~~~~~~~
-2 errors generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.spvasm
index 585bfcd..e4c4488 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 278
+; Bound: 288
 ; Schema: 0
                OpCapability Shader
          %59 = OpExtInstImport "GLSL.std.450"
@@ -129,7 +129,7 @@
       %int_3 = OpConstant %int 3
     %float_1 = OpConstant %float 1
    %main_out = OpTypeStruct %v4float
-        %265 = OpTypeFunction %void %main_out
+        %275 = OpTypeFunction %void %main_out
      %main_1 = OpFunction %void None %18
          %21 = OpLabel
           %c = OpVariable %_ptr_Function_v3float Function %25
@@ -218,273 +218,283 @@
                OpStore %x_79_phi %100
         %101 = OpConvertSToF %float %78
         %102 = OpExtInst %float %59 RoundEven %58
-        %103 = OpFMod %float %101 %102
-        %105 = OpFOrdLessThanEqual %bool %103 %float_0_00999999978
-               OpSelectionMerge %106 None
-               OpBranchConditional %105 %107 %106
-        %107 = OpLabel
-        %108 = OpLoad %float %x_58
-        %110 = OpFAdd %float %108 %float_100
-               OpStore %x_78 %110
-        %111 = OpLoad %float %x_78
-               OpStore %x_79_phi %111
-               OpBranch %106
-        %106 = OpLabel
-        %112 = OpLoad %float %x_79_phi
-               OpStore %x_79 %112
-        %113 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
-        %114 = OpLoad %float %113
-        %116 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
-        %117 = OpLoad %float %116
-        %118 = OpFOrdGreaterThan %bool %114 %117
-               OpSelectionMerge %119 None
-               OpBranchConditional %118 %120 %119
-        %120 = OpLabel
+        %104 = OpConvertSToF %float %78
+        %105 = OpExtInst %float %59 RoundEven %58
+        %106 = OpFDiv %float %104 %105
+        %103 = OpExtInst %float %59 Floor %106
+        %107 = OpFMul %float %102 %103
+        %108 = OpFSub %float %101 %107
+        %110 = OpFOrdLessThanEqual %bool %108 %float_0_00999999978
+               OpSelectionMerge %111 None
+               OpBranchConditional %110 %112 %111
+        %112 = OpLabel
+        %113 = OpLoad %float %x_58
+        %115 = OpFAdd %float %113 %float_100
+               OpStore %x_78 %115
+        %116 = OpLoad %float %x_78
+               OpStore %x_79_phi %116
+               OpBranch %111
+        %111 = OpLabel
+        %117 = OpLoad %float %x_79_phi
+               OpStore %x_79 %117
+        %118 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
+        %119 = OpLoad %float %118
+        %121 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
+        %122 = OpLoad %float %121
+        %123 = OpFOrdGreaterThan %bool %119 %122
+               OpSelectionMerge %124 None
+               OpBranchConditional %123 %125 %124
+        %125 = OpLabel
                OpKill
-        %119 = OpLabel
-        %121 = OpLoad %float %x_79
-               OpStore %x_59_phi %121
+        %124 = OpLabel
+        %126 = OpLoad %float %x_79
+               OpStore %x_59_phi %126
                OpBranch %93
          %93 = OpLabel
-        %122 = OpLoad %float %x_59_phi
-               OpStore %x_59 %122
-        %123 = OpConvertSToF %float %78
-        %124 = OpLoad %float %x_54
-        %125 = OpFOrdGreaterThanEqual %bool %123 %124
-               OpSelectionMerge %126 None
-               OpBranchConditional %125 %127 %126
-        %127 = OpLabel
-        %128 = OpLoad %float %x_59
-               OpStore %x_91_phi %128
-        %129 = OpLoad %float %x_59
-               OpStore %x_92_phi %129
+        %127 = OpLoad %float %x_59_phi
+               OpStore %x_59 %127
+        %128 = OpConvertSToF %float %78
+        %129 = OpLoad %float %x_54
+        %130 = OpFOrdGreaterThanEqual %bool %128 %129
+               OpSelectionMerge %131 None
+               OpBranchConditional %130 %132 %131
+        %132 = OpLabel
+        %133 = OpLoad %float %x_59
+               OpStore %x_91_phi %133
+        %134 = OpLoad %float %x_59
+               OpStore %x_92_phi %134
                OpStore %x_93_phi %true
                OpBranch %70
-        %126 = OpLabel
+        %131 = OpLabel
                OpBranch %71
          %71 = OpLabel
-        %131 = OpIAdd %int %78 %int_1
-               OpStore %x_62 %131
-        %132 = OpLoad %float %x_59
-               OpStore %x_58_phi %132
-        %133 = OpLoad %int %x_62
-               OpStore %x_61_phi %133
+        %136 = OpIAdd %int %78 %int_1
+               OpStore %x_62 %136
+        %137 = OpLoad %float %x_59
+               OpStore %x_58_phi %137
+        %138 = OpLoad %int %x_62
+               OpStore %x_61_phi %138
                OpBranch %69
          %70 = OpLabel
-        %134 = OpLoad %float %x_91_phi
-               OpStore %x_91 %134
-        %135 = OpLoad %float %x_92_phi
-               OpStore %x_92 %135
-        %136 = OpLoad %bool %x_93_phi
-        %137 = OpLoad %float %x_91
-               OpStore %x_95_phi %137
-               OpSelectionMerge %138 None
-               OpBranchConditional %136 %139 %138
-        %139 = OpLabel
+        %139 = OpLoad %float %x_91_phi
+               OpStore %x_91 %139
+        %140 = OpLoad %float %x_92_phi
+               OpStore %x_92 %140
+        %141 = OpLoad %bool %x_93_phi
+        %142 = OpLoad %float %x_91
+               OpStore %x_95_phi %142
+               OpSelectionMerge %143 None
+               OpBranchConditional %141 %144 %143
+        %144 = OpLabel
                OpBranch %65
-        %138 = OpLabel
-        %140 = OpLoad %float %x_92
-               OpStore %x_95_phi %140
+        %143 = OpLabel
+        %145 = OpLoad %float %x_92
+               OpStore %x_95_phi %145
                OpBranch %65
          %65 = OpLabel
-        %149 = OpLoad %float %x_95_phi
-        %150 = OpAccessChain %_ptr_Function_float %c %uint_0
-               OpStore %150 %149
-        %151 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %152 = OpLoad %float %151
-               OpStore %x_98 %152
-               OpSelectionMerge %153 None
-               OpSwitch %uint_0 %154
-        %154 = OpLabel
+        %154 = OpLoad %float %x_95_phi
+        %155 = OpAccessChain %_ptr_Function_float %c %uint_0
+               OpStore %155 %154
+        %156 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %157 = OpLoad %float %156
+               OpStore %x_98 %157
+               OpSelectionMerge %158 None
+               OpSwitch %uint_0 %159
+        %159 = OpLabel
                OpStore %x_102_phi %float_n0_5
                OpStore %x_105_phi %int_1
-               OpBranch %155
-        %155 = OpLabel
-               OpLoopMerge %156 %157 None
+               OpBranch %160
+        %160 = OpLabel
+               OpLoopMerge %161 %162 None
+               OpBranch %163
+        %163 = OpLabel
+        %168 = OpLoad %float %x_102_phi
+               OpStore %x_102 %168
+        %169 = OpLoad %int %x_105_phi
+               OpStore %x_135_phi %float_0
+        %170 = OpLoad %float %x_102
+               OpStore %x_136_phi %170
+               OpStore %x_137_phi %false
+        %171 = OpSLessThan %bool %169 %int_800
+               OpSelectionMerge %172 None
+               OpBranchConditional %171 %173 %174
+        %173 = OpLabel
+               OpBranch %172
+        %174 = OpLabel
+               OpBranch %161
+        %172 = OpLabel
+        %177 = OpSMod %int %169 %int_32
+        %178 = OpIEqual %bool %177 %int_0
+               OpSelectionMerge %179 None
+               OpBranchConditional %178 %180 %181
+        %180 = OpLabel
+        %182 = OpLoad %float %x_102
+        %183 = OpFAdd %float %182 %float_0_400000006
+               OpStore %x_115 %183
+        %184 = OpLoad %float %x_115
+               OpStore %x_103_phi %184
+               OpBranch %179
+        %181 = OpLabel
+        %185 = OpLoad %float %x_102
+               OpStore %x_123_phi %185
+        %186 = OpConvertSToF %float %169
+        %187 = OpExtInst %float %59 RoundEven %58
+        %189 = OpConvertSToF %float %169
+        %190 = OpExtInst %float %59 RoundEven %58
+        %191 = OpFDiv %float %189 %190
+        %188 = OpExtInst %float %59 Floor %191
+        %192 = OpFMul %float %187 %188
+        %193 = OpFSub %float %186 %192
+        %194 = OpFOrdLessThanEqual %bool %193 %float_0_00999999978
+               OpSelectionMerge %195 None
+               OpBranchConditional %194 %196 %195
+        %196 = OpLabel
+        %197 = OpLoad %float %x_102
+        %198 = OpFAdd %float %197 %float_100
+               OpStore %x_122 %198
+        %199 = OpLoad %float %x_122
+               OpStore %x_123_phi %199
+               OpBranch %195
+        %195 = OpLabel
+        %200 = OpLoad %float %x_123_phi
+               OpStore %x_123 %200
+        %201 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
+        %202 = OpLoad %float %201
+        %203 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
+        %204 = OpLoad %float %203
+        %205 = OpFOrdGreaterThan %bool %202 %204
+               OpSelectionMerge %206 None
+               OpBranchConditional %205 %207 %206
+        %207 = OpLabel
+               OpKill
+        %206 = OpLabel
+        %208 = OpLoad %float %x_123
+               OpStore %x_103_phi %208
+               OpBranch %179
+        %179 = OpLabel
+        %209 = OpLoad %float %x_103_phi
+               OpStore %x_103 %209
+        %210 = OpConvertSToF %float %169
+        %211 = OpLoad %float %x_98
+        %212 = OpFOrdGreaterThanEqual %bool %210 %211
+               OpSelectionMerge %213 None
+               OpBranchConditional %212 %214 %213
+        %214 = OpLabel
+        %215 = OpLoad %float %x_103
+               OpStore %x_135_phi %215
+        %216 = OpLoad %float %x_103
+               OpStore %x_136_phi %216
+               OpStore %x_137_phi %true
+               OpBranch %161
+        %213 = OpLabel
+               OpBranch %162
+        %162 = OpLabel
+        %217 = OpIAdd %int %169 %int_1
+               OpStore %x_106 %217
+        %218 = OpLoad %float %x_103
+               OpStore %x_102_phi %218
+        %219 = OpLoad %int %x_106
+               OpStore %x_105_phi %219
+               OpBranch %160
+        %161 = OpLabel
+        %220 = OpLoad %float %x_135_phi
+               OpStore %x_135 %220
+        %221 = OpLoad %float %x_136_phi
+               OpStore %x_136 %221
+        %222 = OpLoad %bool %x_137_phi
+        %223 = OpLoad %float %x_135
+               OpStore %x_139_phi %223
+               OpSelectionMerge %224 None
+               OpBranchConditional %222 %225 %224
+        %225 = OpLabel
+               OpBranch %158
+        %224 = OpLabel
+        %226 = OpLoad %float %x_136
+               OpStore %x_139_phi %226
                OpBranch %158
         %158 = OpLabel
-        %163 = OpLoad %float %x_102_phi
-               OpStore %x_102 %163
-        %164 = OpLoad %int %x_105_phi
-               OpStore %x_135_phi %float_0
-        %165 = OpLoad %float %x_102
-               OpStore %x_136_phi %165
-               OpStore %x_137_phi %false
-        %166 = OpSLessThan %bool %164 %int_800
-               OpSelectionMerge %167 None
-               OpBranchConditional %166 %168 %169
-        %168 = OpLabel
-               OpBranch %167
-        %169 = OpLabel
-               OpBranch %156
-        %167 = OpLabel
-        %172 = OpSMod %int %164 %int_32
-        %173 = OpIEqual %bool %172 %int_0
-               OpSelectionMerge %174 None
-               OpBranchConditional %173 %175 %176
-        %175 = OpLabel
-        %177 = OpLoad %float %x_102
-        %178 = OpFAdd %float %177 %float_0_400000006
-               OpStore %x_115 %178
-        %179 = OpLoad %float %x_115
-               OpStore %x_103_phi %179
-               OpBranch %174
-        %176 = OpLabel
-        %180 = OpLoad %float %x_102
-               OpStore %x_123_phi %180
-        %181 = OpConvertSToF %float %164
-        %182 = OpExtInst %float %59 RoundEven %58
-        %183 = OpFMod %float %181 %182
-        %184 = OpFOrdLessThanEqual %bool %183 %float_0_00999999978
-               OpSelectionMerge %185 None
-               OpBranchConditional %184 %186 %185
-        %186 = OpLabel
-        %187 = OpLoad %float %x_102
-        %188 = OpFAdd %float %187 %float_100
-               OpStore %x_122 %188
-        %189 = OpLoad %float %x_122
-               OpStore %x_123_phi %189
-               OpBranch %185
-        %185 = OpLabel
-        %190 = OpLoad %float %x_123_phi
-               OpStore %x_123 %190
-        %191 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
-        %192 = OpLoad %float %191
-        %193 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
-        %194 = OpLoad %float %193
-        %195 = OpFOrdGreaterThan %bool %192 %194
-               OpSelectionMerge %196 None
-               OpBranchConditional %195 %197 %196
-        %197 = OpLabel
-               OpKill
-        %196 = OpLabel
-        %198 = OpLoad %float %x_123
-               OpStore %x_103_phi %198
-               OpBranch %174
-        %174 = OpLabel
-        %199 = OpLoad %float %x_103_phi
-               OpStore %x_103 %199
-        %200 = OpConvertSToF %float %164
-        %201 = OpLoad %float %x_98
-        %202 = OpFOrdGreaterThanEqual %bool %200 %201
-               OpSelectionMerge %203 None
-               OpBranchConditional %202 %204 %203
-        %204 = OpLabel
-        %205 = OpLoad %float %x_103
-               OpStore %x_135_phi %205
-        %206 = OpLoad %float %x_103
-               OpStore %x_136_phi %206
-               OpStore %x_137_phi %true
-               OpBranch %156
-        %203 = OpLabel
-               OpBranch %157
-        %157 = OpLabel
-        %207 = OpIAdd %int %164 %int_1
-               OpStore %x_106 %207
-        %208 = OpLoad %float %x_103
-               OpStore %x_102_phi %208
-        %209 = OpLoad %int %x_106
-               OpStore %x_105_phi %209
-               OpBranch %155
-        %156 = OpLabel
-        %210 = OpLoad %float %x_135_phi
-               OpStore %x_135 %210
-        %211 = OpLoad %float %x_136_phi
-               OpStore %x_136 %211
-        %212 = OpLoad %bool %x_137_phi
-        %213 = OpLoad %float %x_135
-               OpStore %x_139_phi %213
-               OpSelectionMerge %214 None
-               OpBranchConditional %212 %215 %214
-        %215 = OpLabel
-               OpBranch %153
-        %214 = OpLabel
-        %216 = OpLoad %float %x_136
-               OpStore %x_139_phi %216
-               OpBranch %153
-        %153 = OpLabel
-        %217 = OpLoad %float %x_139_phi
-        %218 = OpAccessChain %_ptr_Function_float %c %uint_1
-               OpStore %218 %217
-        %219 = OpAccessChain %_ptr_Function_float %c %uint_0
-        %220 = OpLoad %float %219
-        %221 = OpAccessChain %_ptr_Function_float %c %uint_1
-        %222 = OpLoad %float %221
-        %224 = OpAccessChain %_ptr_Function_float %c %uint_2
-        %225 = OpFAdd %float %220 %222
-               OpStore %224 %225
+        %227 = OpLoad %float %x_139_phi
+        %228 = OpAccessChain %_ptr_Function_float %c %uint_1
+               OpStore %228 %227
+        %229 = OpAccessChain %_ptr_Function_float %c %uint_0
+        %230 = OpLoad %float %229
+        %231 = OpAccessChain %_ptr_Function_float %c %uint_1
+        %232 = OpLoad %float %231
+        %234 = OpAccessChain %_ptr_Function_float %c %uint_2
+        %235 = OpFAdd %float %230 %232
+               OpStore %234 %235
                OpStore %x_146_phi %int_0
-               OpBranch %226
-        %226 = OpLabel
-               OpLoopMerge %227 %228 None
-               OpBranch %229
-        %229 = OpLabel
-        %231 = OpLoad %int %x_146_phi
-        %233 = OpSLessThan %bool %231 %int_3
-               OpSelectionMerge %234 None
-               OpBranchConditional %233 %235 %236
-        %235 = OpLabel
-               OpBranch %234
+               OpBranch %236
         %236 = OpLabel
-               OpBranch %227
-        %234 = OpLabel
-        %237 = OpAccessChain %_ptr_Function_float %c %231
-        %238 = OpLoad %float %237
-        %240 = OpFOrdGreaterThanEqual %bool %238 %float_1
-               OpSelectionMerge %241 None
-               OpBranchConditional %240 %242 %241
-        %242 = OpLabel
-        %243 = OpAccessChain %_ptr_Function_float %c %231
-        %244 = OpLoad %float %243
-        %245 = OpAccessChain %_ptr_Function_float %c %231
-        %246 = OpLoad %float %245
-        %247 = OpAccessChain %_ptr_Function_float %c %231
-        %248 = OpFMul %float %244 %246
-               OpStore %247 %248
-        %249 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
-        %250 = OpLoad %float %249
-        %251 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
-        %252 = OpLoad %float %251
-        %253 = OpFOrdGreaterThan %bool %250 %252
-               OpSelectionMerge %254 None
-               OpBranchConditional %253 %255 %254
-        %255 = OpLabel
+               OpLoopMerge %237 %238 None
+               OpBranch %239
+        %239 = OpLabel
+        %241 = OpLoad %int %x_146_phi
+        %243 = OpSLessThan %bool %241 %int_3
+               OpSelectionMerge %244 None
+               OpBranchConditional %243 %245 %246
+        %245 = OpLabel
+               OpBranch %244
+        %246 = OpLabel
+               OpBranch %237
+        %244 = OpLabel
+        %247 = OpAccessChain %_ptr_Function_float %c %241
+        %248 = OpLoad %float %247
+        %250 = OpFOrdGreaterThanEqual %bool %248 %float_1
+               OpSelectionMerge %251 None
+               OpBranchConditional %250 %252 %251
+        %252 = OpLabel
+        %253 = OpAccessChain %_ptr_Function_float %c %241
+        %254 = OpLoad %float %253
+        %255 = OpAccessChain %_ptr_Function_float %c %241
+        %256 = OpLoad %float %255
+        %257 = OpAccessChain %_ptr_Function_float %c %241
+        %258 = OpFMul %float %254 %256
+               OpStore %257 %258
+        %259 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_0
+        %260 = OpLoad %float %259
+        %261 = OpAccessChain %_ptr_Uniform_float %x_6 %uint_0 %uint_1
+        %262 = OpLoad %float %261
+        %263 = OpFOrdGreaterThan %bool %260 %262
+               OpSelectionMerge %264 None
+               OpBranchConditional %263 %265 %264
+        %265 = OpLabel
                OpKill
-        %254 = OpLabel
-               OpBranch %241
-        %241 = OpLabel
-               OpBranch %228
-        %228 = OpLabel
-        %256 = OpIAdd %int %231 %int_1
-               OpStore %x_147 %256
-        %257 = OpLoad %int %x_147
-               OpStore %x_146_phi %257
-               OpBranch %226
-        %227 = OpLabel
-        %258 = OpLoad %v3float %c
-        %260 = OpExtInst %v3float %59 FAbs %258
-        %259 = OpExtInst %v3float %59 Normalize %260
-        %261 = OpCompositeExtract %float %259 0
-        %262 = OpCompositeExtract %float %259 1
-        %263 = OpCompositeExtract %float %259 2
-        %264 = OpCompositeConstruct %v4float %261 %262 %263 %float_1
-               OpStore %x_GLF_color %264
+        %264 = OpLabel
+               OpBranch %251
+        %251 = OpLabel
+               OpBranch %238
+        %238 = OpLabel
+        %266 = OpIAdd %int %241 %int_1
+               OpStore %x_147 %266
+        %267 = OpLoad %int %x_147
+               OpStore %x_146_phi %267
+               OpBranch %236
+        %237 = OpLabel
+        %268 = OpLoad %v3float %c
+        %270 = OpExtInst %v3float %59 FAbs %268
+        %269 = OpExtInst %v3float %59 Normalize %270
+        %271 = OpCompositeExtract %float %269 0
+        %272 = OpCompositeExtract %float %269 1
+        %273 = OpCompositeExtract %float %269 2
+        %274 = OpCompositeConstruct %v4float %271 %272 %273 %float_1
+               OpStore %x_GLF_color %274
                OpReturn
                OpFunctionEnd
-%tint_symbol_3 = OpFunction %void None %265
+%tint_symbol_3 = OpFunction %void None %275
 %tint_symbol_1 = OpFunctionParameter %main_out
-        %269 = OpLabel
-        %270 = OpCompositeExtract %v4float %tint_symbol_1 0
-               OpStore %tint_symbol_2 %270
+        %279 = OpLabel
+        %280 = OpCompositeExtract %v4float %tint_symbol_1 0
+               OpStore %tint_symbol_2 %280
                OpReturn
                OpFunctionEnd
        %main = OpFunction %void None %18
-        %272 = OpLabel
-        %273 = OpLoad %v4float %tint_symbol
-               OpStore %gl_FragCoord %273
-        %274 = OpFunctionCall %void %main_1
-        %276 = OpLoad %v4float %x_GLF_color
-        %277 = OpCompositeConstruct %main_out %276
-        %275 = OpFunctionCall %void %tint_symbol_3 %277
+        %282 = OpLabel
+        %283 = OpLoad %v4float %tint_symbol
+               OpStore %gl_FragCoord %283
+        %284 = OpFunctionCall %void %main_1
+        %286 = OpLoad %v4float %x_GLF_color
+        %287 = OpCompositeConstruct %main_out %286
+        %285 = OpFunctionCall %void %tint_symbol_3 %287
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.wgsl
index 5688188..e8c696d 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.spvasm.expected.wgsl
@@ -62,7 +62,7 @@
           x_59_phi = x_71;
         } else {
           x_79_phi = x_58;
-          if (((f32(x_61) % round(x_52)) <= 0.01)) {
+          if (((f32(x_61) - (round(x_52) * floor((f32(x_61) / round(x_52))))) <= 0.01)) {
             x_78 = (x_58 + 100.0);
             x_79_phi = x_78;
           }
@@ -135,7 +135,7 @@
           x_103_phi = x_115;
         } else {
           x_123_phi = x_102;
-          if (((f32(x_105) % round(x_52)) <= 0.01)) {
+          if (((f32(x_105) - (round(x_52) * floor((f32(x_105) / round(x_52))))) <= 0.01)) {
             x_122 = (x_102 + 100.0);
             x_123_phi = x_122;
           }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.msl
index 1f4f528..b5f9f63 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -62,7 +60,7 @@
           x_59_phi = x_71;
         } else {
           x_79_phi = x_58;
-          if (((float(x_61) % rint(x_52)) <= 0.01f)) {
+          if ((fmod(float(x_61), rint(x_52)) <= 0.01f)) {
             x_78 = (x_58 + 100.0f);
             x_79_phi = x_78;
           }
@@ -134,7 +132,7 @@
           x_103_phi = x_115;
         } else {
           x_123_phi = x_102;
-          if (((float(x_105) % rint(x_52)) <= 0.01f)) {
+          if ((fmod(float(x_105), rint(x_52)) <= 0.01f)) {
             x_122 = (x_102 + 100.0f);
             x_123_phi = x_122;
           }
@@ -216,11 +214,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\ucz4.0.metal:63:29: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_61) % rint(x_52)) <= 0.01f)) {
-                ~~~~~~~~~~~ ^ ~~~~~~~~~~
-T:\tmp\ucz4.0.metal:135:30: error: invalid operands to binary expression ('float' and 'float')
-          if (((float(x_105) % rint(x_52)) <= 0.01f)) {
-                ~~~~~~~~~~~~ ^ ~~~~~~~~~~
-2 errors generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.spvasm
index 585bfcd..a037b9b 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-double-always-false-discard/1.wgsl.expected.spvasm
@@ -218,7 +218,7 @@
                OpStore %x_79_phi %100
         %101 = OpConvertSToF %float %78
         %102 = OpExtInst %float %59 RoundEven %58
-        %103 = OpFMod %float %101 %102
+        %103 = OpFRem %float %101 %102
         %105 = OpFOrdLessThanEqual %bool %103 %float_0_00999999978
                OpSelectionMerge %106 None
                OpBranchConditional %105 %107 %106
@@ -334,7 +334,7 @@
                OpStore %x_123_phi %180
         %181 = OpConvertSToF %float %164
         %182 = OpExtInst %float %59 RoundEven %58
-        %183 = OpFMod %float %181 %182
+        %183 = OpFRem %float %181 %182
         %184 = OpFOrdLessThanEqual %bool %183 %float_0_00999999978
                OpSelectionMerge %185 None
                OpBranchConditional %184 %186 %185
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.hlsl
index 7295dbb..461df51 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.hlsl
@@ -20,7 +20,7 @@
       } else {
         const int x_122 = i;
         const float x_124 = thirty_two;
-        if (((float(x_122) % round(x_124)) <= 0.01f)) {
+        if (((float(x_122) - (round(x_124) * floor((float(x_122) / round(x_124))))) <= 0.01f)) {
           result = (result + 100.0f);
         }
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.msl
index 51d7aa0..b31b105 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -31,7 +29,7 @@
     } else {
       int const x_122 = i;
       float const x_124 = *(thirty_two);
-      if (((float(x_122) % rint(x_124)) <= 0.01f)) {
+      if (((float(x_122) - (rint(x_124) * floor((float(x_122) / rint(x_124))))) <= 0.01f)) {
         float const x_130 = result;
         result = (x_130 + 100.0f);
       }
@@ -115,8 +113,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\ufic.0.metal:32:26: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_122) % rint(x_124)) <= 0.01f)) {
-            ~~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.spvasm
index 15ed885..f7d8cfd 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 172
+; Bound: 177
 ; Schema: 0
                OpCapability Shader
          %56 = OpExtInstImport "GLSL.std.450"
@@ -71,14 +71,14 @@
 %float_0_00999999978 = OpConstant %float 0.00999999978
   %float_100 = OpConstant %float 100
        %void = OpTypeVoid
-         %76 = OpTypeFunction %void
+         %81 = OpTypeFunction %void
     %v3float = OpTypeVector %float 3
 %_ptr_Function_v3float = OpTypePointer Function %v3float
-         %83 = OpConstantNull %v3float
+         %88 = OpConstantNull %v3float
     %float_7 = OpConstant %float 7
     %float_8 = OpConstant %float 8
     %float_9 = OpConstant %float 9
-         %93 = OpConstantComposite %v3float %float_7 %float_8 %float_9
+         %98 = OpConstantComposite %v3float %float_7 %float_8 %float_9
        %uint = OpTypeInt 32 0
      %uint_0 = OpConstant %uint 0
 %_ptr_Uniform_float = OpTypePointer Uniform %float
@@ -88,7 +88,7 @@
       %int_3 = OpConstant %int 3
     %float_1 = OpConstant %float 1
    %main_out = OpTypeStruct %v4float
-        %159 = OpTypeFunction %void %main_out
+        %164 = OpTypeFunction %void %main_out
 %compute_value_f1_f1_ = OpFunction %float None %15
       %limit = OpFunctionParameter %_ptr_Function_float
  %thirty_two = OpFunctionParameter %_ptr_Function_float
@@ -126,141 +126,146 @@
          %53 = OpLoad %float %thirty_two
          %54 = OpConvertSToF %float %51
          %55 = OpExtInst %float %56 RoundEven %53
-         %57 = OpFMod %float %54 %55
-         %59 = OpFOrdLessThanEqual %bool %57 %float_0_00999999978
-               OpSelectionMerge %60 None
-               OpBranchConditional %59 %61 %60
-         %61 = OpLabel
-         %62 = OpLoad %float %result
-         %64 = OpFAdd %float %62 %float_100
-               OpStore %result %64
-               OpBranch %60
-         %60 = OpLabel
+         %58 = OpConvertSToF %float %51
+         %59 = OpExtInst %float %56 RoundEven %53
+         %60 = OpFDiv %float %58 %59
+         %57 = OpExtInst %float %56 Floor %60
+         %61 = OpFMul %float %55 %57
+         %62 = OpFSub %float %54 %61
+         %64 = OpFOrdLessThanEqual %bool %62 %float_0_00999999978
+               OpSelectionMerge %65 None
+               OpBranchConditional %64 %66 %65
+         %66 = OpLabel
+         %67 = OpLoad %float %result
+         %69 = OpFAdd %float %67 %float_100
+               OpStore %result %69
+               OpBranch %65
+         %65 = OpLabel
                OpBranch %45
          %45 = OpLabel
-         %65 = OpLoad %int %i
-         %67 = OpLoad %float %limit
-         %68 = OpConvertSToF %float %65
-         %69 = OpFOrdGreaterThanEqual %bool %68 %67
-               OpSelectionMerge %70 None
-               OpBranchConditional %69 %71 %70
-         %71 = OpLabel
-         %72 = OpLoad %float %result
-               OpReturnValue %72
-         %70 = OpLabel
+         %70 = OpLoad %int %i
+         %72 = OpLoad %float %limit
+         %73 = OpConvertSToF %float %70
+         %74 = OpFOrdGreaterThanEqual %bool %73 %72
+               OpSelectionMerge %75 None
+               OpBranchConditional %74 %76 %75
+         %76 = OpLabel
+         %77 = OpLoad %float %result
+               OpReturnValue %77
+         %75 = OpLabel
                OpBranch %31
          %31 = OpLabel
-         %73 = OpLoad %int %i
-         %74 = OpIAdd %int %73 %int_1
-               OpStore %i %74
+         %78 = OpLoad %int %i
+         %79 = OpIAdd %int %78 %int_1
+               OpStore %i %79
                OpBranch %29
          %30 = OpLabel
-         %75 = OpLoad %float %result
-               OpReturnValue %75
+         %80 = OpLoad %float %result
+               OpReturnValue %80
                OpFunctionEnd
-     %main_1 = OpFunction %void None %76
-         %79 = OpLabel
-          %c = OpVariable %_ptr_Function_v3float Function %83
+     %main_1 = OpFunction %void None %81
+         %84 = OpLabel
+          %c = OpVariable %_ptr_Function_v3float Function %88
 %thirty_two_1 = OpVariable %_ptr_Function_float Function %22
       %param = OpVariable %_ptr_Function_float Function %22
     %param_1 = OpVariable %_ptr_Function_float Function %22
     %param_2 = OpVariable %_ptr_Function_float Function %22
     %param_3 = OpVariable %_ptr_Function_float Function %22
         %i_1 = OpVariable %_ptr_Function_int Function %26
-               OpStore %c %93
-         %97 = OpAccessChain %_ptr_Uniform_float %x_13 %uint_0 %uint_0
-         %98 = OpLoad %float %97
-        %100 = OpFDiv %float %98 %float_8
-         %99 = OpExtInst %float %56 RoundEven %100
-               OpStore %thirty_two_1 %99
-        %102 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
+               OpStore %c %98
+        %102 = OpAccessChain %_ptr_Uniform_float %x_13 %uint_0 %uint_0
         %103 = OpLoad %float %102
-               OpStore %param %103
-        %104 = OpLoad %float %thirty_two_1
-               OpStore %param_1 %104
-        %105 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
-        %108 = OpAccessChain %_ptr_Function_float %c %uint_0
-               OpStore %108 %105
-        %110 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %111 = OpLoad %float %110
-               OpStore %param_2 %111
-        %112 = OpLoad %float %thirty_two_1
-               OpStore %param_3 %112
-        %113 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
-        %116 = OpAccessChain %_ptr_Function_float %c %uint_1
-               OpStore %116 %113
-        %117 = OpAccessChain %_ptr_Function_float %c %uint_0
-        %118 = OpLoad %float %117
-        %119 = OpAccessChain %_ptr_Function_float %c %uint_1
-        %120 = OpLoad %float %119
-        %122 = OpAccessChain %_ptr_Function_float %c %uint_2
-        %123 = OpFAdd %float %118 %120
-               OpStore %122 %123
+        %105 = OpFDiv %float %103 %float_8
+        %104 = OpExtInst %float %56 RoundEven %105
+               OpStore %thirty_two_1 %104
+        %107 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
+        %108 = OpLoad %float %107
+               OpStore %param %108
+        %109 = OpLoad %float %thirty_two_1
+               OpStore %param_1 %109
+        %110 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
+        %113 = OpAccessChain %_ptr_Function_float %c %uint_0
+               OpStore %113 %110
+        %115 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %116 = OpLoad %float %115
+               OpStore %param_2 %116
+        %117 = OpLoad %float %thirty_two_1
+               OpStore %param_3 %117
+        %118 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
+        %121 = OpAccessChain %_ptr_Function_float %c %uint_1
+               OpStore %121 %118
+        %122 = OpAccessChain %_ptr_Function_float %c %uint_0
+        %123 = OpLoad %float %122
+        %124 = OpAccessChain %_ptr_Function_float %c %uint_1
+        %125 = OpLoad %float %124
+        %127 = OpAccessChain %_ptr_Function_float %c %uint_2
+        %128 = OpFAdd %float %123 %125
+               OpStore %127 %128
                OpStore %i_1 %int_0
-               OpBranch %124
-        %124 = OpLabel
-               OpLoopMerge %125 %126 None
-               OpBranch %127
-        %127 = OpLabel
-        %128 = OpLoad %int %i_1
-        %130 = OpSLessThan %bool %128 %int_3
-               OpSelectionMerge %131 None
-               OpBranchConditional %130 %132 %133
+               OpBranch %129
+        %129 = OpLabel
+               OpLoopMerge %130 %131 None
+               OpBranch %132
         %132 = OpLabel
-               OpBranch %131
-        %133 = OpLabel
-               OpBranch %125
-        %131 = OpLabel
-        %134 = OpLoad %int %i_1
-        %135 = OpAccessChain %_ptr_Function_float %c %134
-        %136 = OpLoad %float %135
-        %138 = OpFOrdGreaterThanEqual %bool %136 %float_1
-               OpSelectionMerge %139 None
-               OpBranchConditional %138 %140 %139
-        %140 = OpLabel
-        %141 = OpLoad %int %i_1
-        %142 = OpLoad %int %i_1
-        %143 = OpAccessChain %_ptr_Function_float %c %142
-        %144 = OpLoad %float %143
-        %145 = OpLoad %int %i_1
-        %146 = OpAccessChain %_ptr_Function_float %c %145
-        %147 = OpLoad %float %146
-        %148 = OpAccessChain %_ptr_Function_float %c %141
-        %149 = OpFMul %float %144 %147
-               OpStore %148 %149
-               OpBranch %139
-        %139 = OpLabel
-               OpBranch %126
-        %126 = OpLabel
+        %133 = OpLoad %int %i_1
+        %135 = OpSLessThan %bool %133 %int_3
+               OpSelectionMerge %136 None
+               OpBranchConditional %135 %137 %138
+        %137 = OpLabel
+               OpBranch %136
+        %138 = OpLabel
+               OpBranch %130
+        %136 = OpLabel
+        %139 = OpLoad %int %i_1
+        %140 = OpAccessChain %_ptr_Function_float %c %139
+        %141 = OpLoad %float %140
+        %143 = OpFOrdGreaterThanEqual %bool %141 %float_1
+               OpSelectionMerge %144 None
+               OpBranchConditional %143 %145 %144
+        %145 = OpLabel
+        %146 = OpLoad %int %i_1
+        %147 = OpLoad %int %i_1
+        %148 = OpAccessChain %_ptr_Function_float %c %147
+        %149 = OpLoad %float %148
         %150 = OpLoad %int %i_1
-        %151 = OpIAdd %int %150 %int_1
-               OpStore %i_1 %151
-               OpBranch %124
-        %125 = OpLabel
-        %152 = OpLoad %v3float %c
-        %154 = OpExtInst %v3float %56 FAbs %152
-        %153 = OpExtInst %v3float %56 Normalize %154
-        %155 = OpCompositeExtract %float %153 0
-        %156 = OpCompositeExtract %float %153 1
-        %157 = OpCompositeExtract %float %153 2
-        %158 = OpCompositeConstruct %v4float %155 %156 %157 %float_1
-               OpStore %x_GLF_color %158
+        %151 = OpAccessChain %_ptr_Function_float %c %150
+        %152 = OpLoad %float %151
+        %153 = OpAccessChain %_ptr_Function_float %c %146
+        %154 = OpFMul %float %149 %152
+               OpStore %153 %154
+               OpBranch %144
+        %144 = OpLabel
+               OpBranch %131
+        %131 = OpLabel
+        %155 = OpLoad %int %i_1
+        %156 = OpIAdd %int %155 %int_1
+               OpStore %i_1 %156
+               OpBranch %129
+        %130 = OpLabel
+        %157 = OpLoad %v3float %c
+        %159 = OpExtInst %v3float %56 FAbs %157
+        %158 = OpExtInst %v3float %56 Normalize %159
+        %160 = OpCompositeExtract %float %158 0
+        %161 = OpCompositeExtract %float %158 1
+        %162 = OpCompositeExtract %float %158 2
+        %163 = OpCompositeConstruct %v4float %160 %161 %162 %float_1
+               OpStore %x_GLF_color %163
                OpReturn
                OpFunctionEnd
-%tint_symbol_3 = OpFunction %void None %159
+%tint_symbol_3 = OpFunction %void None %164
 %tint_symbol_1 = OpFunctionParameter %main_out
-        %163 = OpLabel
-        %164 = OpCompositeExtract %v4float %tint_symbol_1 0
-               OpStore %tint_symbol_2 %164
+        %168 = OpLabel
+        %169 = OpCompositeExtract %v4float %tint_symbol_1 0
+               OpStore %tint_symbol_2 %169
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %76
-        %166 = OpLabel
-        %167 = OpLoad %v4float %tint_symbol
-               OpStore %gl_FragCoord %167
-        %168 = OpFunctionCall %void %main_1
-        %170 = OpLoad %v4float %x_GLF_color
-        %171 = OpCompositeConstruct %main_out %170
-        %169 = OpFunctionCall %void %tint_symbol_3 %171
+       %main = OpFunction %void None %81
+        %171 = OpLabel
+        %172 = OpLoad %v4float %tint_symbol
+               OpStore %gl_FragCoord %172
+        %173 = OpFunctionCall %void %main_1
+        %175 = OpLoad %v4float %x_GLF_color
+        %176 = OpCompositeConstruct %main_out %175
+        %174 = OpFunctionCall %void %tint_symbol_3 %176
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.wgsl
index 82eab45..f3b8b01 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.spvasm.expected.wgsl
@@ -27,7 +27,7 @@
     } else {
       let x_122 : i32 = i;
       let x_124 : f32 = *(thirty_two);
-      if (((f32(x_122) % round(x_124)) <= 0.01)) {
+      if (((f32(x_122) - (round(x_124) * floor((f32(x_122) / round(x_124))))) <= 0.01)) {
         let x_130 : f32 = result;
         result = (x_130 + 100.0);
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.msl
index e209f72..8d2c08a 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -31,7 +29,7 @@
     } else {
       int const x_122 = i;
       float const x_124 = *(thirty_two);
-      if (((float(x_122) % rint(x_124)) <= 0.01f)) {
+      if ((fmod(float(x_122), rint(x_124)) <= 0.01f)) {
         float const x_130 = result;
         result = (x_130 + 100.0f);
       }
@@ -115,8 +113,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\u2a4.0.metal:32:26: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_122) % rint(x_124)) <= 0.01f)) {
-            ~~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.spvasm
index 15ed885..dfc561e 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-float-mat-determinant-clamp/0.wgsl.expected.spvasm
@@ -126,7 +126,7 @@
          %53 = OpLoad %float %thirty_two
          %54 = OpConvertSToF %float %51
          %55 = OpExtInst %float %56 RoundEven %53
-         %57 = OpFMod %float %54 %55
+         %57 = OpFRem %float %54 %55
          %59 = OpFOrdLessThanEqual %bool %57 %float_0_00999999978
                OpSelectionMerge %60 None
                OpBranchConditional %59 %61 %60
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.hlsl
index 91938cd..645b4dc 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.hlsl
@@ -23,7 +23,7 @@
       } else {
         const int x_136 = i;
         const float x_138 = thirty_two;
-        if (((float(x_136) % round(x_138)) <= 0.01f)) {
+        if (((float(x_136) - (round(x_138) * floor((float(x_136) / round(x_138))))) <= 0.01f)) {
           result = (result + 100.0f);
         }
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.msl
index 6f17012..e87d98f 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -34,7 +32,7 @@
     } else {
       int const x_136 = i;
       float const x_138 = *(thirty_two);
-      if (((float(x_136) % rint(x_138)) <= 0.01f)) {
+      if (((float(x_136) - (rint(x_138) * floor((float(x_136) / rint(x_138))))) <= 0.01f)) {
         float const x_144 = result;
         result = (x_144 + 100.0f);
       }
@@ -128,8 +126,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\u8uo.0.metal:35:26: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_136) % rint(x_138)) <= 0.01f)) {
-            ~~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.spvasm
index 91ba40f..b1caf46 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 186
+; Bound: 191
 ; Schema: 0
                OpCapability Shader
          %59 = OpExtInstImport "GLSL.std.450"
@@ -83,14 +83,14 @@
 %float_0_00999999978 = OpConstant %float 0.00999999978
   %float_100 = OpConstant %float 100
        %void = OpTypeVoid
-         %79 = OpTypeFunction %void
+         %84 = OpTypeFunction %void
     %v3float = OpTypeVector %float 3
 %_ptr_Function_v3float = OpTypePointer Function %v3float
-         %86 = OpConstantNull %v3float
+         %91 = OpConstantNull %v3float
     %float_7 = OpConstant %float 7
     %float_8 = OpConstant %float 8
     %float_9 = OpConstant %float 9
-         %97 = OpConstantComposite %v3float %float_7 %float_8 %float_9
+        %102 = OpConstantComposite %v3float %float_7 %float_8 %float_9
        %uint = OpTypeInt 32 0
      %uint_0 = OpConstant %uint 0
 %_ptr_Uniform_float = OpTypePointer Uniform %float
@@ -100,7 +100,7 @@
       %int_3 = OpConstant %int 3
     %float_1 = OpConstant %float 1
    %main_out = OpTypeStruct %v4float
-        %173 = OpTypeFunction %void %main_out
+        %178 = OpTypeFunction %void %main_out
 %compute_value_f1_f1_ = OpFunction %float None %18
       %limit = OpFunctionParameter %_ptr_Function_float
  %thirty_two = OpFunctionParameter %_ptr_Function_float
@@ -138,158 +138,163 @@
          %56 = OpLoad %float %thirty_two
          %57 = OpConvertSToF %float %54
          %58 = OpExtInst %float %59 RoundEven %56
-         %60 = OpFMod %float %57 %58
-         %62 = OpFOrdLessThanEqual %bool %60 %float_0_00999999978
-               OpSelectionMerge %63 None
-               OpBranchConditional %62 %64 %63
-         %64 = OpLabel
-         %65 = OpLoad %float %result
-         %67 = OpFAdd %float %65 %float_100
-               OpStore %result %67
-               OpBranch %63
-         %63 = OpLabel
+         %61 = OpConvertSToF %float %54
+         %62 = OpExtInst %float %59 RoundEven %56
+         %63 = OpFDiv %float %61 %62
+         %60 = OpExtInst %float %59 Floor %63
+         %64 = OpFMul %float %58 %60
+         %65 = OpFSub %float %57 %64
+         %67 = OpFOrdLessThanEqual %bool %65 %float_0_00999999978
+               OpSelectionMerge %68 None
+               OpBranchConditional %67 %69 %68
+         %69 = OpLabel
+         %70 = OpLoad %float %result
+         %72 = OpFAdd %float %70 %float_100
+               OpStore %result %72
+               OpBranch %68
+         %68 = OpLabel
                OpBranch %48
          %48 = OpLabel
-         %68 = OpLoad %int %i
-         %70 = OpLoad %float %limit
-         %71 = OpConvertSToF %float %68
-         %72 = OpFOrdGreaterThanEqual %bool %71 %70
-               OpSelectionMerge %73 None
-               OpBranchConditional %72 %74 %73
-         %74 = OpLabel
-         %75 = OpLoad %float %result
-               OpReturnValue %75
-         %73 = OpLabel
+         %73 = OpLoad %int %i
+         %75 = OpLoad %float %limit
+         %76 = OpConvertSToF %float %73
+         %77 = OpFOrdGreaterThanEqual %bool %76 %75
+               OpSelectionMerge %78 None
+               OpBranchConditional %77 %79 %78
+         %79 = OpLabel
+         %80 = OpLoad %float %result
+               OpReturnValue %80
+         %78 = OpLabel
                OpBranch %34
          %34 = OpLabel
-         %76 = OpLoad %int %i
-         %77 = OpIAdd %int %76 %int_1
-               OpStore %i %77
+         %81 = OpLoad %int %i
+         %82 = OpIAdd %int %81 %int_1
+               OpStore %i %82
                OpBranch %32
          %33 = OpLabel
-         %78 = OpLoad %float %result
-               OpReturnValue %78
+         %83 = OpLoad %float %result
+               OpReturnValue %83
                OpFunctionEnd
-     %main_1 = OpFunction %void None %79
-         %82 = OpLabel
-          %c = OpVariable %_ptr_Function_v3float Function %86
+     %main_1 = OpFunction %void None %84
+         %87 = OpLabel
+          %c = OpVariable %_ptr_Function_v3float Function %91
 %thirty_two_1 = OpVariable %_ptr_Function_float Function %25
       %param = OpVariable %_ptr_Function_float Function %25
     %param_1 = OpVariable %_ptr_Function_float Function %25
     %param_2 = OpVariable %_ptr_Function_float Function %25
     %param_3 = OpVariable %_ptr_Function_float Function %25
         %i_1 = OpVariable %_ptr_Function_int Function %29
-       %x_58 = OpVariable %_ptr_Function_v3float Function %86
-               OpStore %c %97
-        %101 = OpAccessChain %_ptr_Uniform_float %x_13 %uint_0 %uint_0
-        %102 = OpLoad %float %101
-        %104 = OpFDiv %float %102 %float_8
-        %103 = OpExtInst %float %59 RoundEven %104
-               OpStore %thirty_two_1 %103
-        %106 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
+       %x_58 = OpVariable %_ptr_Function_v3float Function %91
+               OpStore %c %102
+        %106 = OpAccessChain %_ptr_Uniform_float %x_13 %uint_0 %uint_0
         %107 = OpLoad %float %106
-               OpStore %param %107
-        %108 = OpLoad %float %thirty_two_1
-               OpStore %param_1 %108
-        %109 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
-        %112 = OpAccessChain %_ptr_Function_float %c %uint_0
-               OpStore %112 %109
-        %114 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %115 = OpLoad %float %114
-               OpStore %param_2 %115
-        %116 = OpLoad %float %thirty_two_1
-               OpStore %param_3 %116
-        %117 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
-        %120 = OpAccessChain %_ptr_Function_float %c %uint_1
-               OpStore %120 %117
-        %121 = OpAccessChain %_ptr_Function_float %c %uint_0
-        %122 = OpLoad %float %121
-        %123 = OpAccessChain %_ptr_Function_float %c %uint_1
-        %124 = OpLoad %float %123
-        %126 = OpAccessChain %_ptr_Function_float %c %uint_2
-        %127 = OpFAdd %float %122 %124
-               OpStore %126 %127
+        %109 = OpFDiv %float %107 %float_8
+        %108 = OpExtInst %float %59 RoundEven %109
+               OpStore %thirty_two_1 %108
+        %111 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
+        %112 = OpLoad %float %111
+               OpStore %param %112
+        %113 = OpLoad %float %thirty_two_1
+               OpStore %param_1 %113
+        %114 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
+        %117 = OpAccessChain %_ptr_Function_float %c %uint_0
+               OpStore %117 %114
+        %119 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %120 = OpLoad %float %119
+               OpStore %param_2 %120
+        %121 = OpLoad %float %thirty_two_1
+               OpStore %param_3 %121
+        %122 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
+        %125 = OpAccessChain %_ptr_Function_float %c %uint_1
+               OpStore %125 %122
+        %126 = OpAccessChain %_ptr_Function_float %c %uint_0
+        %127 = OpLoad %float %126
+        %128 = OpAccessChain %_ptr_Function_float %c %uint_1
+        %129 = OpLoad %float %128
+        %131 = OpAccessChain %_ptr_Function_float %c %uint_2
+        %132 = OpFAdd %float %127 %129
+               OpStore %131 %132
                OpStore %i_1 %int_0
-               OpBranch %128
-        %128 = OpLabel
-               OpLoopMerge %129 %130 None
-               OpBranch %131
-        %131 = OpLabel
-        %132 = OpLoad %int %i_1
-        %134 = OpSLessThan %bool %132 %int_3
-               OpSelectionMerge %135 None
-               OpBranchConditional %134 %136 %137
+               OpBranch %133
+        %133 = OpLabel
+               OpLoopMerge %134 %135 None
+               OpBranch %136
         %136 = OpLabel
-               OpBranch %135
-        %137 = OpLabel
-               OpBranch %129
-        %135 = OpLabel
-        %138 = OpLoad %int %i_1
-        %139 = OpAccessChain %_ptr_Function_float %c %138
-        %140 = OpLoad %float %139
-        %142 = OpFOrdGreaterThanEqual %bool %140 %float_1
-               OpSelectionMerge %143 None
-               OpBranchConditional %142 %144 %143
-        %144 = OpLabel
-        %145 = OpLoad %int %i_1
-        %146 = OpLoad %int %i_1
-        %147 = OpAccessChain %_ptr_Function_float %c %146
-        %148 = OpLoad %float %147
-        %149 = OpLoad %int %i_1
-        %150 = OpAccessChain %_ptr_Function_float %c %149
-        %151 = OpLoad %float %150
-        %152 = OpAccessChain %_ptr_Function_float %c %145
-        %153 = OpFMul %float %148 %151
-               OpStore %152 %153
-               OpBranch %143
-        %143 = OpLabel
-               OpBranch %130
-        %130 = OpLabel
+        %137 = OpLoad %int %i_1
+        %139 = OpSLessThan %bool %137 %int_3
+               OpSelectionMerge %140 None
+               OpBranchConditional %139 %141 %142
+        %141 = OpLabel
+               OpBranch %140
+        %142 = OpLabel
+               OpBranch %134
+        %140 = OpLabel
+        %143 = OpLoad %int %i_1
+        %144 = OpAccessChain %_ptr_Function_float %c %143
+        %145 = OpLoad %float %144
+        %147 = OpFOrdGreaterThanEqual %bool %145 %float_1
+               OpSelectionMerge %148 None
+               OpBranchConditional %147 %149 %148
+        %149 = OpLabel
+        %150 = OpLoad %int %i_1
+        %151 = OpLoad %int %i_1
+        %152 = OpAccessChain %_ptr_Function_float %c %151
+        %153 = OpLoad %float %152
         %154 = OpLoad %int %i_1
-        %155 = OpIAdd %int %154 %int_1
-               OpStore %i_1 %155
-               OpBranch %128
-        %129 = OpLabel
-        %156 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_0 %uint_0
-        %157 = OpLoad %float %156
-        %158 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_0 %uint_1
-        %159 = OpLoad %float %158
-        %160 = OpFOrdLessThan %bool %157 %159
-               OpSelectionMerge %161 None
-               OpBranchConditional %160 %162 %163
-        %162 = OpLabel
-        %164 = OpLoad %v3float %c
-        %165 = OpExtInst %v3float %59 FAbs %164
-               OpStore %x_58 %165
-               OpBranch %161
-        %163 = OpLabel
-        %166 = OpLoad %v3float %c
-               OpStore %x_58 %166
-               OpBranch %161
-        %161 = OpLabel
-        %167 = OpLoad %v3float %x_58
-        %168 = OpExtInst %v3float %59 Normalize %167
-        %169 = OpCompositeExtract %float %168 0
-        %170 = OpCompositeExtract %float %168 1
-        %171 = OpCompositeExtract %float %168 2
-        %172 = OpCompositeConstruct %v4float %169 %170 %171 %float_1
-               OpStore %x_GLF_color %172
+        %155 = OpAccessChain %_ptr_Function_float %c %154
+        %156 = OpLoad %float %155
+        %157 = OpAccessChain %_ptr_Function_float %c %150
+        %158 = OpFMul %float %153 %156
+               OpStore %157 %158
+               OpBranch %148
+        %148 = OpLabel
+               OpBranch %135
+        %135 = OpLabel
+        %159 = OpLoad %int %i_1
+        %160 = OpIAdd %int %159 %int_1
+               OpStore %i_1 %160
+               OpBranch %133
+        %134 = OpLabel
+        %161 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_0 %uint_0
+        %162 = OpLoad %float %161
+        %163 = OpAccessChain %_ptr_Uniform_float %x_20 %uint_0 %uint_1
+        %164 = OpLoad %float %163
+        %165 = OpFOrdLessThan %bool %162 %164
+               OpSelectionMerge %166 None
+               OpBranchConditional %165 %167 %168
+        %167 = OpLabel
+        %169 = OpLoad %v3float %c
+        %170 = OpExtInst %v3float %59 FAbs %169
+               OpStore %x_58 %170
+               OpBranch %166
+        %168 = OpLabel
+        %171 = OpLoad %v3float %c
+               OpStore %x_58 %171
+               OpBranch %166
+        %166 = OpLabel
+        %172 = OpLoad %v3float %x_58
+        %173 = OpExtInst %v3float %59 Normalize %172
+        %174 = OpCompositeExtract %float %173 0
+        %175 = OpCompositeExtract %float %173 1
+        %176 = OpCompositeExtract %float %173 2
+        %177 = OpCompositeConstruct %v4float %174 %175 %176 %float_1
+               OpStore %x_GLF_color %177
                OpReturn
                OpFunctionEnd
-%tint_symbol_3 = OpFunction %void None %173
+%tint_symbol_3 = OpFunction %void None %178
 %tint_symbol_1 = OpFunctionParameter %main_out
-        %177 = OpLabel
-        %178 = OpCompositeExtract %v4float %tint_symbol_1 0
-               OpStore %tint_symbol_2 %178
+        %182 = OpLabel
+        %183 = OpCompositeExtract %v4float %tint_symbol_1 0
+               OpStore %tint_symbol_2 %183
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %79
-        %180 = OpLabel
-        %181 = OpLoad %v4float %tint_symbol
-               OpStore %gl_FragCoord %181
-        %182 = OpFunctionCall %void %main_1
-        %184 = OpLoad %v4float %x_GLF_color
-        %185 = OpCompositeConstruct %main_out %184
-        %183 = OpFunctionCall %void %tint_symbol_3 %185
+       %main = OpFunction %void None %84
+        %185 = OpLabel
+        %186 = OpLoad %v4float %tint_symbol
+               OpStore %gl_FragCoord %186
+        %187 = OpFunctionCall %void %main_1
+        %189 = OpLoad %v4float %x_GLF_color
+        %190 = OpCompositeConstruct %main_out %189
+        %188 = OpFunctionCall %void %tint_symbol_3 %190
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.wgsl
index 60de1ab..b3b5f7c 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.spvasm.expected.wgsl
@@ -34,7 +34,7 @@
     } else {
       let x_136 : i32 = i;
       let x_138 : f32 = *(thirty_two);
-      if (((f32(x_136) % round(x_138)) <= 0.01)) {
+      if (((f32(x_136) - (round(x_138) * floor((f32(x_136) / round(x_138))))) <= 0.01)) {
         let x_144 : f32 = result;
         result = (x_144 + 100.0);
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.msl
index d03ce1e..2877362 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -34,7 +32,7 @@
     } else {
       int const x_136 = i;
       float const x_138 = *(thirty_two);
-      if (((float(x_136) % rint(x_138)) <= 0.01f)) {
+      if ((fmod(float(x_136), rint(x_138)) <= 0.01f)) {
         float const x_144 = result;
         result = (x_144 + 100.0f);
       }
@@ -128,8 +126,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\uf2s.0.metal:35:26: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_136) % rint(x_138)) <= 0.01f)) {
-            ~~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.spvasm
index 91ba40f..8fe03c2 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-injected-conditional-true/1.wgsl.expected.spvasm
@@ -138,7 +138,7 @@
          %56 = OpLoad %float %thirty_two
          %57 = OpConvertSToF %float %54
          %58 = OpExtInst %float %59 RoundEven %56
-         %60 = OpFMod %float %57 %58
+         %60 = OpFRem %float %57 %58
          %62 = OpFOrdLessThanEqual %bool %60 %float_0_00999999978
                OpSelectionMerge %63 None
                OpBranchConditional %62 %64 %63
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.hlsl
index 125f7d9..d2c43f1 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.hlsl
@@ -33,7 +33,7 @@
     } else {
       const float x_106 = thirty_two;
       x_113_phi = x_91;
-      if (((float(x_94) % round(x_106)) <= 0.01f)) {
+      if (((float(x_94) - (round(x_106) * floor((float(x_94) / round(x_106))))) <= 0.01f)) {
         x_112 = (x_91 + 100.0f);
         x_113_phi = x_112;
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.msl
index 798c221..27db58e 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -38,7 +36,7 @@
     } else {
       float const x_106 = *(thirty_two);
       x_113_phi = x_91;
-      if (((float(x_94) % rint(x_106)) <= 0.01f)) {
+      if (((float(x_94) - (rint(x_106) * floor((float(x_94) / rint(x_106))))) <= 0.01f)) {
         x_112 = (x_91 + 100.0f);
         x_113_phi = x_112;
       }
@@ -119,8 +117,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\u26w.0.metal:39:25: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_94) % rint(x_106)) <= 0.01f)) {
-            ~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.spvasm
index 42303b9..a7cfea1 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 180
+; Bound: 185
 ; Schema: 0
                OpCapability Shader
          %64 = OpExtInstImport "GLSL.std.450"
@@ -79,14 +79,14 @@
 %float_0_00999999978 = OpConstant %float 0.00999999978
   %float_100 = OpConstant %float 100
        %void = OpTypeVoid
-         %89 = OpTypeFunction %void
+         %94 = OpTypeFunction %void
     %v3float = OpTypeVector %float 3
 %_ptr_Function_v3float = OpTypePointer Function %v3float
-         %96 = OpConstantNull %v3float
+        %101 = OpConstantNull %v3float
     %float_7 = OpConstant %float 7
     %float_8 = OpConstant %float 8
     %float_9 = OpConstant %float 9
-        %105 = OpConstantComposite %v3float %float_7 %float_8 %float_9
+        %110 = OpConstantComposite %v3float %float_7 %float_8 %float_9
        %uint = OpTypeInt 32 0
      %uint_0 = OpConstant %uint 0
 %_ptr_Uniform_float = OpTypePointer Uniform %float
@@ -97,7 +97,7 @@
       %int_3 = OpConstant %int 3
     %float_1 = OpConstant %float 1
    %main_out = OpTypeStruct %v4float
-        %167 = OpTypeFunction %void %main_out
+        %172 = OpTypeFunction %void %main_out
 %compute_value_f1_f1_ = OpFunction %float None %15
       %limit = OpFunctionParameter %_ptr_Function_float
  %thirty_two = OpFunctionParameter %_ptr_Function_float
@@ -147,145 +147,150 @@
                OpStore %x_113_phi %61
          %62 = OpConvertSToF %float %39
          %63 = OpExtInst %float %64 RoundEven %60
-         %65 = OpFMod %float %62 %63
-         %67 = OpFOrdLessThanEqual %bool %65 %float_0_00999999978
-               OpSelectionMerge %68 None
-               OpBranchConditional %67 %69 %68
-         %69 = OpLabel
-         %70 = OpLoad %float %x_91
-         %72 = OpFAdd %float %70 %float_100
-               OpStore %x_112 %72
-         %73 = OpLoad %float %x_112
-               OpStore %x_113_phi %73
-               OpBranch %68
-         %68 = OpLabel
-         %74 = OpLoad %float %x_113_phi
-               OpStore %x_113 %74
-         %75 = OpLoad %float %x_113
-               OpStore %x_92_phi %75
+         %66 = OpConvertSToF %float %39
+         %67 = OpExtInst %float %64 RoundEven %60
+         %68 = OpFDiv %float %66 %67
+         %65 = OpExtInst %float %64 Floor %68
+         %69 = OpFMul %float %63 %65
+         %70 = OpFSub %float %62 %69
+         %72 = OpFOrdLessThanEqual %bool %70 %float_0_00999999978
+               OpSelectionMerge %73 None
+               OpBranchConditional %72 %74 %73
+         %74 = OpLabel
+         %75 = OpLoad %float %x_91
+         %77 = OpFAdd %float %75 %float_100
+               OpStore %x_112 %77
+         %78 = OpLoad %float %x_112
+               OpStore %x_113_phi %78
+               OpBranch %73
+         %73 = OpLabel
+         %79 = OpLoad %float %x_113_phi
+               OpStore %x_113 %79
+         %80 = OpLoad %float %x_113
+               OpStore %x_92_phi %80
                OpBranch %52
          %52 = OpLabel
-         %77 = OpLoad %float %x_92_phi
-               OpStore %x_92 %77
-         %79 = OpLoad %float %limit
-         %80 = OpConvertSToF %float %39
-         %81 = OpFOrdGreaterThanEqual %bool %80 %79
-               OpSelectionMerge %82 None
-               OpBranchConditional %81 %83 %82
-         %83 = OpLabel
-         %84 = OpLoad %float %x_92
-               OpReturnValue %84
-         %82 = OpLabel
+         %82 = OpLoad %float %x_92_phi
+               OpStore %x_92 %82
+         %84 = OpLoad %float %limit
+         %85 = OpConvertSToF %float %39
+         %86 = OpFOrdGreaterThanEqual %bool %85 %84
+               OpSelectionMerge %87 None
+               OpBranchConditional %86 %88 %87
+         %88 = OpLabel
+         %89 = OpLoad %float %x_92
+               OpReturnValue %89
+         %87 = OpLabel
                OpBranch %32
          %32 = OpLabel
-         %85 = OpIAdd %int %39 %int_1
-               OpStore %x_95 %85
-         %86 = OpLoad %float %x_92
-               OpStore %x_91_phi %86
-         %87 = OpLoad %int %x_95
-               OpStore %x_94_phi %87
+         %90 = OpIAdd %int %39 %int_1
+               OpStore %x_95 %90
+         %91 = OpLoad %float %x_92
+               OpStore %x_91_phi %91
+         %92 = OpLoad %int %x_95
+               OpStore %x_94_phi %92
                OpBranch %30
          %31 = OpLabel
-         %88 = OpLoad %float %x_91
-               OpReturnValue %88
+         %93 = OpLoad %float %x_91
+               OpReturnValue %93
                OpFunctionEnd
-     %main_1 = OpFunction %void None %89
-         %92 = OpLabel
-          %c = OpVariable %_ptr_Function_v3float Function %96
+     %main_1 = OpFunction %void None %94
+         %97 = OpLabel
+          %c = OpVariable %_ptr_Function_v3float Function %101
       %param = OpVariable %_ptr_Function_float Function %22
     %param_1 = OpVariable %_ptr_Function_float Function %22
     %param_2 = OpVariable %_ptr_Function_float Function %22
     %param_3 = OpVariable %_ptr_Function_float Function %22
    %x_68_phi = OpVariable %_ptr_Function_int Function %27
        %x_69 = OpVariable %_ptr_Function_int Function %27
-               OpStore %c %105
-        %109 = OpAccessChain %_ptr_Uniform_float %x_10 %uint_0 %uint_0
-        %110 = OpLoad %float %109
-        %113 = OpFMul %float %110 %float_0_125
-        %111 = OpExtInst %float %64 RoundEven %113
-        %115 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
-        %116 = OpLoad %float %115
-               OpStore %param %116
-               OpStore %param_1 %111
-        %117 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
-        %120 = OpAccessChain %_ptr_Function_float %c %uint_0
-               OpStore %120 %117
-        %122 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %123 = OpLoad %float %122
-               OpStore %param_2 %123
-               OpStore %param_3 %111
-        %124 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
-        %127 = OpAccessChain %_ptr_Function_float %c %uint_1
-               OpStore %127 %124
-        %128 = OpAccessChain %_ptr_Function_float %c %uint_0
-        %129 = OpLoad %float %128
-        %130 = OpAccessChain %_ptr_Function_float %c %uint_1
-        %131 = OpLoad %float %130
-        %133 = OpAccessChain %_ptr_Function_float %c %uint_2
-        %134 = OpFAdd %float %129 %131
-               OpStore %133 %134
+               OpStore %c %110
+        %114 = OpAccessChain %_ptr_Uniform_float %x_10 %uint_0 %uint_0
+        %115 = OpLoad %float %114
+        %118 = OpFMul %float %115 %float_0_125
+        %116 = OpExtInst %float %64 RoundEven %118
+        %120 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
+        %121 = OpLoad %float %120
+               OpStore %param %121
+               OpStore %param_1 %116
+        %122 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
+        %125 = OpAccessChain %_ptr_Function_float %c %uint_0
+               OpStore %125 %122
+        %127 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %128 = OpLoad %float %127
+               OpStore %param_2 %128
+               OpStore %param_3 %116
+        %129 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
+        %132 = OpAccessChain %_ptr_Function_float %c %uint_1
+               OpStore %132 %129
+        %133 = OpAccessChain %_ptr_Function_float %c %uint_0
+        %134 = OpLoad %float %133
+        %135 = OpAccessChain %_ptr_Function_float %c %uint_1
+        %136 = OpLoad %float %135
+        %138 = OpAccessChain %_ptr_Function_float %c %uint_2
+        %139 = OpFAdd %float %134 %136
+               OpStore %138 %139
                OpStore %x_68_phi %int_0
-               OpBranch %135
-        %135 = OpLabel
-               OpLoopMerge %136 %137 None
-               OpBranch %138
-        %138 = OpLabel
-        %140 = OpLoad %int %x_68_phi
-        %142 = OpSLessThan %bool %140 %int_3
-               OpSelectionMerge %143 None
-               OpBranchConditional %142 %144 %145
-        %144 = OpLabel
+               OpBranch %140
+        %140 = OpLabel
+               OpLoopMerge %141 %142 None
                OpBranch %143
-        %145 = OpLabel
-               OpBranch %136
         %143 = OpLabel
-        %146 = OpAccessChain %_ptr_Function_float %c %140
-        %147 = OpLoad %float %146
-        %149 = OpFOrdGreaterThanEqual %bool %147 %float_1
-               OpSelectionMerge %150 None
-               OpBranchConditional %149 %151 %150
-        %151 = OpLabel
-        %152 = OpAccessChain %_ptr_Function_float %c %140
-        %153 = OpLoad %float %152
-        %154 = OpAccessChain %_ptr_Function_float %c %140
-        %155 = OpLoad %float %154
-        %156 = OpAccessChain %_ptr_Function_float %c %140
-        %157 = OpFMul %float %153 %155
-               OpStore %156 %157
-               OpBranch %150
+        %145 = OpLoad %int %x_68_phi
+        %147 = OpSLessThan %bool %145 %int_3
+               OpSelectionMerge %148 None
+               OpBranchConditional %147 %149 %150
+        %149 = OpLabel
+               OpBranch %148
         %150 = OpLabel
-               OpBranch %137
-        %137 = OpLabel
-        %158 = OpIAdd %int %140 %int_1
-               OpStore %x_69 %158
-        %159 = OpLoad %int %x_69
-               OpStore %x_68_phi %159
-               OpBranch %135
-        %136 = OpLabel
-        %160 = OpLoad %v3float %c
-        %162 = OpExtInst %v3float %64 FAbs %160
-        %161 = OpExtInst %v3float %64 Normalize %162
-        %163 = OpCompositeExtract %float %161 0
-        %164 = OpCompositeExtract %float %161 1
-        %165 = OpCompositeExtract %float %161 2
-        %166 = OpCompositeConstruct %v4float %163 %164 %165 %float_1
-               OpStore %x_GLF_color %166
+               OpBranch %141
+        %148 = OpLabel
+        %151 = OpAccessChain %_ptr_Function_float %c %145
+        %152 = OpLoad %float %151
+        %154 = OpFOrdGreaterThanEqual %bool %152 %float_1
+               OpSelectionMerge %155 None
+               OpBranchConditional %154 %156 %155
+        %156 = OpLabel
+        %157 = OpAccessChain %_ptr_Function_float %c %145
+        %158 = OpLoad %float %157
+        %159 = OpAccessChain %_ptr_Function_float %c %145
+        %160 = OpLoad %float %159
+        %161 = OpAccessChain %_ptr_Function_float %c %145
+        %162 = OpFMul %float %158 %160
+               OpStore %161 %162
+               OpBranch %155
+        %155 = OpLabel
+               OpBranch %142
+        %142 = OpLabel
+        %163 = OpIAdd %int %145 %int_1
+               OpStore %x_69 %163
+        %164 = OpLoad %int %x_69
+               OpStore %x_68_phi %164
+               OpBranch %140
+        %141 = OpLabel
+        %165 = OpLoad %v3float %c
+        %167 = OpExtInst %v3float %64 FAbs %165
+        %166 = OpExtInst %v3float %64 Normalize %167
+        %168 = OpCompositeExtract %float %166 0
+        %169 = OpCompositeExtract %float %166 1
+        %170 = OpCompositeExtract %float %166 2
+        %171 = OpCompositeConstruct %v4float %168 %169 %170 %float_1
+               OpStore %x_GLF_color %171
                OpReturn
                OpFunctionEnd
-%tint_symbol_3 = OpFunction %void None %167
+%tint_symbol_3 = OpFunction %void None %172
 %tint_symbol_1 = OpFunctionParameter %main_out
-        %171 = OpLabel
-        %172 = OpCompositeExtract %v4float %tint_symbol_1 0
-               OpStore %tint_symbol_2 %172
+        %176 = OpLabel
+        %177 = OpCompositeExtract %v4float %tint_symbol_1 0
+               OpStore %tint_symbol_2 %177
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %89
-        %174 = OpLabel
-        %175 = OpLoad %v4float %tint_symbol
-               OpStore %gl_FragCoord %175
-        %176 = OpFunctionCall %void %main_1
-        %178 = OpLoad %v4float %x_GLF_color
-        %179 = OpCompositeConstruct %main_out %178
-        %177 = OpFunctionCall %void %tint_symbol_3 %179
+       %main = OpFunction %void None %94
+        %179 = OpLabel
+        %180 = OpLoad %v4float %tint_symbol
+               OpStore %gl_FragCoord %180
+        %181 = OpFunctionCall %void %main_1
+        %183 = OpLoad %v4float %x_GLF_color
+        %184 = OpCompositeConstruct %main_out %183
+        %182 = OpFunctionCall %void %tint_symbol_3 %184
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.wgsl
index ba37d91..5452729 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.spvasm.expected.wgsl
@@ -34,7 +34,7 @@
     } else {
       let x_106 : f32 = *(thirty_two);
       x_113_phi = x_91;
-      if (((f32(x_94) % round(x_106)) <= 0.01)) {
+      if (((f32(x_94) - (round(x_106) * floor((f32(x_94) / round(x_106))))) <= 0.01)) {
         x_112 = (x_91 + 100.0);
         x_113_phi = x_112;
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.msl
index 5ee750f..bd3bd6f 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -38,7 +36,7 @@
     } else {
       float const x_106 = *(thirty_two);
       x_113_phi = x_91;
-      if (((float(x_94) % rint(x_106)) <= 0.01f)) {
+      if ((fmod(float(x_94), rint(x_106)) <= 0.01f)) {
         x_112 = (x_91 + 100.0f);
         x_113_phi = x_112;
       }
@@ -119,8 +117,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\u8cs.0.metal:39:25: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_94) % rint(x_106)) <= 0.01f)) {
-            ~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.spvasm
index 42303b9..f1e2c9b 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/0-opt.wgsl.expected.spvasm
@@ -147,7 +147,7 @@
                OpStore %x_113_phi %61
          %62 = OpConvertSToF %float %39
          %63 = OpExtInst %float %64 RoundEven %60
-         %65 = OpFMod %float %62 %63
+         %65 = OpFRem %float %62 %63
          %67 = OpFOrdLessThanEqual %bool %65 %float_0_00999999978
                OpSelectionMerge %68 None
                OpBranchConditional %67 %69 %68
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.hlsl
index 3a417df..32ea2b3 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.hlsl
@@ -36,7 +36,7 @@
     } else {
       const float x_118 = thirty_two;
       x_125_phi = x_104;
-      if (((float(x_107) % round(x_118)) <= 0.01f)) {
+      if (((float(x_107) - (round(x_118) * floor((float(x_107) / round(x_118))))) <= 0.01f)) {
         x_124 = (x_104 + 100.0f);
         x_125_phi = x_124;
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.msl
index 45c08ae..a314658 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -41,7 +39,7 @@
     } else {
       float const x_118 = *(thirty_two);
       x_125_phi = x_104;
-      if (((float(x_107) % rint(x_118)) <= 0.01f)) {
+      if (((float(x_107) - (rint(x_118) * floor((float(x_107) / rint(x_118))))) <= 0.01f)) {
         x_124 = (x_104 + 100.0f);
         x_125_phi = x_124;
       }
@@ -130,8 +128,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\ufno.0.metal:42:26: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_107) % rint(x_118)) <= 0.01f)) {
-            ~~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.spvasm
index d622545..cc78cd7 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 192
+; Bound: 197
 ; Schema: 0
                OpCapability Shader
          %67 = OpExtInstImport "GLSL.std.450"
@@ -91,14 +91,14 @@
 %float_0_00999999978 = OpConstant %float 0.00999999978
   %float_100 = OpConstant %float 100
        %void = OpTypeVoid
-         %92 = OpTypeFunction %void
+         %97 = OpTypeFunction %void
     %v3float = OpTypeVector %float 3
 %_ptr_Function_v3float = OpTypePointer Function %v3float
-         %99 = OpConstantNull %v3float
+        %104 = OpConstantNull %v3float
     %float_7 = OpConstant %float 7
     %float_8 = OpConstant %float 8
     %float_9 = OpConstant %float 9
-        %109 = OpConstantComposite %v3float %float_7 %float_8 %float_9
+        %114 = OpConstantComposite %v3float %float_7 %float_8 %float_9
        %uint = OpTypeInt 32 0
      %uint_0 = OpConstant %uint 0
 %_ptr_Uniform_float = OpTypePointer Uniform %float
@@ -109,7 +109,7 @@
       %int_3 = OpConstant %int 3
     %float_1 = OpConstant %float 1
    %main_out = OpTypeStruct %v4float
-        %179 = OpTypeFunction %void %main_out
+        %184 = OpTypeFunction %void %main_out
 %compute_value_f1_f1_ = OpFunction %float None %18
       %limit = OpFunctionParameter %_ptr_Function_float
  %thirty_two = OpFunctionParameter %_ptr_Function_float
@@ -159,158 +159,163 @@
                OpStore %x_125_phi %64
          %65 = OpConvertSToF %float %42
          %66 = OpExtInst %float %67 RoundEven %63
-         %68 = OpFMod %float %65 %66
-         %70 = OpFOrdLessThanEqual %bool %68 %float_0_00999999978
-               OpSelectionMerge %71 None
-               OpBranchConditional %70 %72 %71
-         %72 = OpLabel
-         %73 = OpLoad %float %x_104
-         %75 = OpFAdd %float %73 %float_100
-               OpStore %x_124 %75
-         %76 = OpLoad %float %x_124
-               OpStore %x_125_phi %76
-               OpBranch %71
-         %71 = OpLabel
-         %77 = OpLoad %float %x_125_phi
-               OpStore %x_125 %77
-         %78 = OpLoad %float %x_125
-               OpStore %x_105_phi %78
+         %69 = OpConvertSToF %float %42
+         %70 = OpExtInst %float %67 RoundEven %63
+         %71 = OpFDiv %float %69 %70
+         %68 = OpExtInst %float %67 Floor %71
+         %72 = OpFMul %float %66 %68
+         %73 = OpFSub %float %65 %72
+         %75 = OpFOrdLessThanEqual %bool %73 %float_0_00999999978
+               OpSelectionMerge %76 None
+               OpBranchConditional %75 %77 %76
+         %77 = OpLabel
+         %78 = OpLoad %float %x_104
+         %80 = OpFAdd %float %78 %float_100
+               OpStore %x_124 %80
+         %81 = OpLoad %float %x_124
+               OpStore %x_125_phi %81
+               OpBranch %76
+         %76 = OpLabel
+         %82 = OpLoad %float %x_125_phi
+               OpStore %x_125 %82
+         %83 = OpLoad %float %x_125
+               OpStore %x_105_phi %83
                OpBranch %55
          %55 = OpLabel
-         %80 = OpLoad %float %x_105_phi
-               OpStore %x_105 %80
-         %82 = OpLoad %float %limit
-         %83 = OpConvertSToF %float %42
-         %84 = OpFOrdGreaterThanEqual %bool %83 %82
-               OpSelectionMerge %85 None
-               OpBranchConditional %84 %86 %85
-         %86 = OpLabel
-         %87 = OpLoad %float %x_105
-               OpReturnValue %87
-         %85 = OpLabel
+         %85 = OpLoad %float %x_105_phi
+               OpStore %x_105 %85
+         %87 = OpLoad %float %limit
+         %88 = OpConvertSToF %float %42
+         %89 = OpFOrdGreaterThanEqual %bool %88 %87
+               OpSelectionMerge %90 None
+               OpBranchConditional %89 %91 %90
+         %91 = OpLabel
+         %92 = OpLoad %float %x_105
+               OpReturnValue %92
+         %90 = OpLabel
                OpBranch %35
          %35 = OpLabel
-         %88 = OpIAdd %int %42 %int_1
-               OpStore %x_108 %88
-         %89 = OpLoad %float %x_105
-               OpStore %x_104_phi %89
-         %90 = OpLoad %int %x_108
-               OpStore %x_107_phi %90
+         %93 = OpIAdd %int %42 %int_1
+               OpStore %x_108 %93
+         %94 = OpLoad %float %x_105
+               OpStore %x_104_phi %94
+         %95 = OpLoad %int %x_108
+               OpStore %x_107_phi %95
                OpBranch %33
          %34 = OpLabel
-         %91 = OpLoad %float %x_104
-               OpReturnValue %91
+         %96 = OpLoad %float %x_104
+               OpReturnValue %96
                OpFunctionEnd
-     %main_1 = OpFunction %void None %92
-         %95 = OpLabel
-          %c = OpVariable %_ptr_Function_v3float Function %99
+     %main_1 = OpFunction %void None %97
+        %100 = OpLabel
+          %c = OpVariable %_ptr_Function_v3float Function %104
       %param = OpVariable %_ptr_Function_float Function %25
     %param_1 = OpVariable %_ptr_Function_float Function %25
     %param_2 = OpVariable %_ptr_Function_float Function %25
     %param_3 = OpVariable %_ptr_Function_float Function %25
-       %x_54 = OpVariable %_ptr_Function_v3float Function %99
+       %x_54 = OpVariable %_ptr_Function_v3float Function %104
    %x_74_phi = OpVariable %_ptr_Function_int Function %30
        %x_75 = OpVariable %_ptr_Function_int Function %30
-               OpStore %c %109
-        %113 = OpAccessChain %_ptr_Uniform_float %x_10 %uint_0 %uint_0
-        %114 = OpLoad %float %113
-        %117 = OpFMul %float %114 %float_0_125
-        %115 = OpExtInst %float %67 RoundEven %117
-        %119 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
-        %120 = OpLoad %float %119
-               OpStore %param %120
-               OpStore %param_1 %115
-        %121 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
-        %124 = OpAccessChain %_ptr_Function_float %c %uint_0
-               OpStore %124 %121
-        %126 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %127 = OpLoad %float %126
-               OpStore %param_2 %127
-               OpStore %param_3 %115
-        %128 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
-        %131 = OpAccessChain %_ptr_Function_float %c %uint_1
-               OpStore %131 %128
-        %132 = OpAccessChain %_ptr_Function_float %c %uint_0
-        %133 = OpLoad %float %132
-        %134 = OpLoad %v3float %c
-               OpStore %x_54 %134
-        %135 = OpAccessChain %_ptr_Function_float %x_54 %uint_1
-        %136 = OpLoad %float %135
-        %138 = OpAccessChain %_ptr_Function_float %c %uint_2
-        %139 = OpFAdd %float %133 %136
-               OpStore %138 %139
+               OpStore %c %114
+        %118 = OpAccessChain %_ptr_Uniform_float %x_10 %uint_0 %uint_0
+        %119 = OpLoad %float %118
+        %122 = OpFMul %float %119 %float_0_125
+        %120 = OpExtInst %float %67 RoundEven %122
+        %124 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
+        %125 = OpLoad %float %124
+               OpStore %param %125
+               OpStore %param_1 %120
+        %126 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
+        %129 = OpAccessChain %_ptr_Function_float %c %uint_0
+               OpStore %129 %126
+        %131 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %132 = OpLoad %float %131
+               OpStore %param_2 %132
+               OpStore %param_3 %120
+        %133 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
+        %136 = OpAccessChain %_ptr_Function_float %c %uint_1
+               OpStore %136 %133
+        %137 = OpAccessChain %_ptr_Function_float %c %uint_0
+        %138 = OpLoad %float %137
+        %139 = OpLoad %v3float %c
+               OpStore %x_54 %139
+        %140 = OpAccessChain %_ptr_Function_float %x_54 %uint_1
+        %141 = OpLoad %float %140
+        %143 = OpAccessChain %_ptr_Function_float %c %uint_2
+        %144 = OpFAdd %float %138 %141
+               OpStore %143 %144
                OpStore %x_74_phi %int_0
-               OpBranch %140
-        %140 = OpLabel
-               OpLoopMerge %141 %142 None
-               OpBranch %143
-        %143 = OpLabel
-        %145 = OpLoad %int %x_74_phi
-        %147 = OpSLessThan %bool %145 %int_3
-               OpSelectionMerge %148 None
-               OpBranchConditional %147 %149 %150
-        %149 = OpLabel
+               OpBranch %145
+        %145 = OpLabel
+               OpLoopMerge %146 %147 None
                OpBranch %148
-        %150 = OpLabel
-               OpBranch %141
         %148 = OpLabel
-        %151 = OpAccessChain %_ptr_Function_float %c %145
-        %152 = OpLoad %float %151
-        %154 = OpFOrdGreaterThanEqual %bool %152 %float_1
-               OpSelectionMerge %155 None
-               OpBranchConditional %154 %156 %155
-        %156 = OpLabel
-        %157 = OpAccessChain %_ptr_Uniform_float %x_16 %uint_0 %uint_0
-        %158 = OpLoad %float %157
-        %159 = OpAccessChain %_ptr_Uniform_float %x_16 %uint_0 %uint_1
-        %160 = OpLoad %float %159
-        %161 = OpFOrdGreaterThan %bool %158 %160
-               OpSelectionMerge %162 None
-               OpBranchConditional %161 %163 %162
-        %163 = OpLabel
-               OpKill
-        %162 = OpLabel
-        %164 = OpAccessChain %_ptr_Function_float %c %145
-        %165 = OpLoad %float %164
-        %166 = OpAccessChain %_ptr_Function_float %c %145
-        %167 = OpLoad %float %166
-        %168 = OpAccessChain %_ptr_Function_float %c %145
-        %169 = OpFMul %float %165 %167
-               OpStore %168 %169
-               OpBranch %155
+        %150 = OpLoad %int %x_74_phi
+        %152 = OpSLessThan %bool %150 %int_3
+               OpSelectionMerge %153 None
+               OpBranchConditional %152 %154 %155
+        %154 = OpLabel
+               OpBranch %153
         %155 = OpLabel
-               OpBranch %142
-        %142 = OpLabel
-        %170 = OpIAdd %int %145 %int_1
-               OpStore %x_75 %170
-        %171 = OpLoad %int %x_75
-               OpStore %x_74_phi %171
-               OpBranch %140
-        %141 = OpLabel
-        %172 = OpLoad %v3float %c
-        %174 = OpExtInst %v3float %67 FAbs %172
-        %173 = OpExtInst %v3float %67 Normalize %174
-        %175 = OpCompositeExtract %float %173 0
-        %176 = OpCompositeExtract %float %173 1
-        %177 = OpCompositeExtract %float %173 2
-        %178 = OpCompositeConstruct %v4float %175 %176 %177 %float_1
-               OpStore %x_GLF_color %178
+               OpBranch %146
+        %153 = OpLabel
+        %156 = OpAccessChain %_ptr_Function_float %c %150
+        %157 = OpLoad %float %156
+        %159 = OpFOrdGreaterThanEqual %bool %157 %float_1
+               OpSelectionMerge %160 None
+               OpBranchConditional %159 %161 %160
+        %161 = OpLabel
+        %162 = OpAccessChain %_ptr_Uniform_float %x_16 %uint_0 %uint_0
+        %163 = OpLoad %float %162
+        %164 = OpAccessChain %_ptr_Uniform_float %x_16 %uint_0 %uint_1
+        %165 = OpLoad %float %164
+        %166 = OpFOrdGreaterThan %bool %163 %165
+               OpSelectionMerge %167 None
+               OpBranchConditional %166 %168 %167
+        %168 = OpLabel
+               OpKill
+        %167 = OpLabel
+        %169 = OpAccessChain %_ptr_Function_float %c %150
+        %170 = OpLoad %float %169
+        %171 = OpAccessChain %_ptr_Function_float %c %150
+        %172 = OpLoad %float %171
+        %173 = OpAccessChain %_ptr_Function_float %c %150
+        %174 = OpFMul %float %170 %172
+               OpStore %173 %174
+               OpBranch %160
+        %160 = OpLabel
+               OpBranch %147
+        %147 = OpLabel
+        %175 = OpIAdd %int %150 %int_1
+               OpStore %x_75 %175
+        %176 = OpLoad %int %x_75
+               OpStore %x_74_phi %176
+               OpBranch %145
+        %146 = OpLabel
+        %177 = OpLoad %v3float %c
+        %179 = OpExtInst %v3float %67 FAbs %177
+        %178 = OpExtInst %v3float %67 Normalize %179
+        %180 = OpCompositeExtract %float %178 0
+        %181 = OpCompositeExtract %float %178 1
+        %182 = OpCompositeExtract %float %178 2
+        %183 = OpCompositeConstruct %v4float %180 %181 %182 %float_1
+               OpStore %x_GLF_color %183
                OpReturn
                OpFunctionEnd
-%tint_symbol_3 = OpFunction %void None %179
+%tint_symbol_3 = OpFunction %void None %184
 %tint_symbol_1 = OpFunctionParameter %main_out
-        %183 = OpLabel
-        %184 = OpCompositeExtract %v4float %tint_symbol_1 0
-               OpStore %tint_symbol_2 %184
+        %188 = OpLabel
+        %189 = OpCompositeExtract %v4float %tint_symbol_1 0
+               OpStore %tint_symbol_2 %189
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %92
-        %186 = OpLabel
-        %187 = OpLoad %v4float %tint_symbol
-               OpStore %gl_FragCoord %187
-        %188 = OpFunctionCall %void %main_1
-        %190 = OpLoad %v4float %x_GLF_color
-        %191 = OpCompositeConstruct %main_out %190
-        %189 = OpFunctionCall %void %tint_symbol_3 %191
+       %main = OpFunction %void None %97
+        %191 = OpLabel
+        %192 = OpLoad %v4float %tint_symbol
+               OpStore %gl_FragCoord %192
+        %193 = OpFunctionCall %void %main_1
+        %195 = OpLoad %v4float %x_GLF_color
+        %196 = OpCompositeConstruct %main_out %195
+        %194 = OpFunctionCall %void %tint_symbol_3 %196
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.wgsl
index 57edb9b..76b1a5d 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.spvasm.expected.wgsl
@@ -41,7 +41,7 @@
     } else {
       let x_118 : f32 = *(thirty_two);
       x_125_phi = x_104;
-      if (((f32(x_107) % round(x_118)) <= 0.01)) {
+      if (((f32(x_107) - (round(x_118) * floor((f32(x_107) / round(x_118))))) <= 0.01)) {
         x_124 = (x_104 + 100.0);
         x_125_phi = x_124;
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.msl
index 12d7016..d609e54 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -41,7 +39,7 @@
     } else {
       float const x_118 = *(thirty_two);
       x_125_phi = x_104;
-      if (((float(x_107) % rint(x_118)) <= 0.01f)) {
+      if ((fmod(float(x_107), rint(x_118)) <= 0.01f)) {
         x_124 = (x_104 + 100.0f);
         x_125_phi = x_124;
       }
@@ -130,8 +128,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\uq0.0.metal:42:26: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_107) % rint(x_118)) <= 0.01f)) {
-            ~~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.spvasm
index d622545..a05688b 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-divided-1/1.wgsl.expected.spvasm
@@ -159,7 +159,7 @@
                OpStore %x_125_phi %64
          %65 = OpConvertSToF %float %42
          %66 = OpExtInst %float %67 RoundEven %63
-         %68 = OpFMod %float %65 %66
+         %68 = OpFRem %float %65 %66
          %70 = OpFOrdLessThanEqual %bool %68 %float_0_00999999978
                OpSelectionMerge %71 None
                OpBranchConditional %70 %72 %71
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.hlsl
index 8f3bad1..4740814 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.hlsl
@@ -23,7 +23,7 @@
       } else {
         const int x_155 = i;
         const float x_157 = thirty_two;
-        if (((float(x_155) % round(x_157)) <= 0.01f)) {
+        if (((float(x_155) - (round(x_157) * floor((float(x_155) / round(x_157))))) <= 0.01f)) {
           result = (result + 100.0f);
         }
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.msl
index 721f3ab..ac14c85 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -34,7 +32,7 @@
     } else {
       int const x_155 = i;
       float const x_157 = *(thirty_two);
-      if (((float(x_155) % rint(x_157)) <= 0.01f)) {
+      if (((float(x_155) - (rint(x_157) * floor((float(x_155) / rint(x_157))))) <= 0.01f)) {
         float const x_163 = result;
         result = (x_163 + 100.0f);
       }
@@ -144,8 +142,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\ufhc.0.metal:35:26: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_155) % rint(x_157)) <= 0.01f)) {
-            ~~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.spvasm
index 304913e..ddb9a0a 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 207
+; Bound: 212
 ; Schema: 0
                OpCapability Shader
          %59 = OpExtInstImport "GLSL.std.450"
@@ -84,14 +84,14 @@
 %float_0_00999999978 = OpConstant %float 0.00999999978
   %float_100 = OpConstant %float 100
        %void = OpTypeVoid
-         %79 = OpTypeFunction %void
+         %84 = OpTypeFunction %void
     %v3float = OpTypeVector %float 3
 %_ptr_Function_v3float = OpTypePointer Function %v3float
-         %86 = OpConstantNull %v3float
+         %91 = OpConstantNull %v3float
     %float_7 = OpConstant %float 7
     %float_8 = OpConstant %float 8
     %float_9 = OpConstant %float 9
-         %98 = OpConstantComposite %v3float %float_7 %float_8 %float_9
+        %103 = OpConstantComposite %v3float %float_7 %float_8 %float_9
        %uint = OpTypeInt 32 0
      %uint_0 = OpConstant %uint 0
 %_ptr_Uniform_float = OpTypePointer Uniform %float
@@ -103,7 +103,7 @@
     %float_1 = OpConstant %float 1
     %float_0 = OpConstant %float 0
    %main_out = OpTypeStruct %v4float
-        %194 = OpTypeFunction %void %main_out
+        %199 = OpTypeFunction %void %main_out
 %compute_value_f1_f1_ = OpFunction %float None %18
       %limit = OpFunctionParameter %_ptr_Function_float
  %thirty_two = OpFunctionParameter %_ptr_Function_float
@@ -141,191 +141,196 @@
          %56 = OpLoad %float %thirty_two
          %57 = OpConvertSToF %float %54
          %58 = OpExtInst %float %59 RoundEven %56
-         %60 = OpFMod %float %57 %58
-         %62 = OpFOrdLessThanEqual %bool %60 %float_0_00999999978
-               OpSelectionMerge %63 None
-               OpBranchConditional %62 %64 %63
-         %64 = OpLabel
-         %65 = OpLoad %float %result
-         %67 = OpFAdd %float %65 %float_100
-               OpStore %result %67
-               OpBranch %63
-         %63 = OpLabel
+         %61 = OpConvertSToF %float %54
+         %62 = OpExtInst %float %59 RoundEven %56
+         %63 = OpFDiv %float %61 %62
+         %60 = OpExtInst %float %59 Floor %63
+         %64 = OpFMul %float %58 %60
+         %65 = OpFSub %float %57 %64
+         %67 = OpFOrdLessThanEqual %bool %65 %float_0_00999999978
+               OpSelectionMerge %68 None
+               OpBranchConditional %67 %69 %68
+         %69 = OpLabel
+         %70 = OpLoad %float %result
+         %72 = OpFAdd %float %70 %float_100
+               OpStore %result %72
+               OpBranch %68
+         %68 = OpLabel
                OpBranch %48
          %48 = OpLabel
-         %68 = OpLoad %int %i
-         %70 = OpLoad %float %limit
-         %71 = OpConvertSToF %float %68
-         %72 = OpFOrdGreaterThanEqual %bool %71 %70
-               OpSelectionMerge %73 None
-               OpBranchConditional %72 %74 %73
-         %74 = OpLabel
-         %75 = OpLoad %float %result
-               OpReturnValue %75
-         %73 = OpLabel
+         %73 = OpLoad %int %i
+         %75 = OpLoad %float %limit
+         %76 = OpConvertSToF %float %73
+         %77 = OpFOrdGreaterThanEqual %bool %76 %75
+               OpSelectionMerge %78 None
+               OpBranchConditional %77 %79 %78
+         %79 = OpLabel
+         %80 = OpLoad %float %result
+               OpReturnValue %80
+         %78 = OpLabel
                OpBranch %34
          %34 = OpLabel
-         %76 = OpLoad %int %i
-         %77 = OpIAdd %int %76 %int_1
-               OpStore %i %77
+         %81 = OpLoad %int %i
+         %82 = OpIAdd %int %81 %int_1
+               OpStore %i %82
                OpBranch %32
          %33 = OpLabel
-         %78 = OpLoad %float %result
-               OpReturnValue %78
+         %83 = OpLoad %float %result
+               OpReturnValue %83
                OpFunctionEnd
-     %main_1 = OpFunction %void None %79
-         %82 = OpLabel
-          %c = OpVariable %_ptr_Function_v3float Function %86
+     %main_1 = OpFunction %void None %84
+         %87 = OpLabel
+          %c = OpVariable %_ptr_Function_v3float Function %91
 %thirty_two_1 = OpVariable %_ptr_Function_float Function %25
       %param = OpVariable %_ptr_Function_float Function %25
     %param_1 = OpVariable %_ptr_Function_float Function %25
     %param_2 = OpVariable %_ptr_Function_float Function %25
     %param_3 = OpVariable %_ptr_Function_float Function %25
-       %x_61 = OpVariable %_ptr_Function_v3float Function %86
+       %x_61 = OpVariable %_ptr_Function_v3float Function %91
         %i_1 = OpVariable %_ptr_Function_int Function %29
           %j = OpVariable %_ptr_Function_float Function %25
-               OpStore %c %98
-        %102 = OpAccessChain %_ptr_Uniform_float %x_13 %uint_0 %uint_0
-        %103 = OpLoad %float %102
-        %105 = OpFDiv %float %103 %float_8
-        %104 = OpExtInst %float %59 RoundEven %105
-               OpStore %thirty_two_1 %104
-        %107 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
+               OpStore %c %103
+        %107 = OpAccessChain %_ptr_Uniform_float %x_13 %uint_0 %uint_0
         %108 = OpLoad %float %107
-               OpStore %param %108
-        %109 = OpLoad %float %thirty_two_1
-               OpStore %param_1 %109
-        %110 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
-        %113 = OpAccessChain %_ptr_Function_float %c %uint_0
-               OpStore %113 %110
-        %115 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %116 = OpLoad %float %115
-               OpStore %param_2 %116
-        %117 = OpLoad %float %thirty_two_1
-               OpStore %param_3 %117
-        %118 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
-        %121 = OpAccessChain %_ptr_Function_float %c %uint_1
-               OpStore %121 %118
-        %122 = OpAccessChain %_ptr_Function_float %c %uint_0
-        %123 = OpLoad %float %122
-               OpSelectionMerge %125 None
-               OpBranchConditional %true %126 %127
-        %126 = OpLabel
-        %128 = OpLoad %v3float %c
-               OpStore %x_61 %128
-               OpBranch %125
-        %127 = OpLabel
-        %129 = OpLoad %v3float %c
-        %130 = OpAccessChain %_ptr_Uniform_float %x_19 %uint_0 %uint_0
-        %131 = OpLoad %float %130
-        %132 = OpVectorTimesScalar %v3float %129 %131
-               OpStore %x_61 %132
-               OpBranch %125
-        %125 = OpLabel
-        %133 = OpAccessChain %_ptr_Function_float %x_61 %uint_1
-        %134 = OpLoad %float %133
-        %136 = OpAccessChain %_ptr_Function_float %c %uint_2
-        %137 = OpFAdd %float %123 %134
-               OpStore %136 %137
+        %110 = OpFDiv %float %108 %float_8
+        %109 = OpExtInst %float %59 RoundEven %110
+               OpStore %thirty_two_1 %109
+        %112 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
+        %113 = OpLoad %float %112
+               OpStore %param %113
+        %114 = OpLoad %float %thirty_two_1
+               OpStore %param_1 %114
+        %115 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
+        %118 = OpAccessChain %_ptr_Function_float %c %uint_0
+               OpStore %118 %115
+        %120 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %121 = OpLoad %float %120
+               OpStore %param_2 %121
+        %122 = OpLoad %float %thirty_two_1
+               OpStore %param_3 %122
+        %123 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
+        %126 = OpAccessChain %_ptr_Function_float %c %uint_1
+               OpStore %126 %123
+        %127 = OpAccessChain %_ptr_Function_float %c %uint_0
+        %128 = OpLoad %float %127
+               OpSelectionMerge %130 None
+               OpBranchConditional %true %131 %132
+        %131 = OpLabel
+        %133 = OpLoad %v3float %c
+               OpStore %x_61 %133
+               OpBranch %130
+        %132 = OpLabel
+        %134 = OpLoad %v3float %c
+        %135 = OpAccessChain %_ptr_Uniform_float %x_19 %uint_0 %uint_0
+        %136 = OpLoad %float %135
+        %137 = OpVectorTimesScalar %v3float %134 %136
+               OpStore %x_61 %137
+               OpBranch %130
+        %130 = OpLabel
+        %138 = OpAccessChain %_ptr_Function_float %x_61 %uint_1
+        %139 = OpLoad %float %138
+        %141 = OpAccessChain %_ptr_Function_float %c %uint_2
+        %142 = OpFAdd %float %128 %139
+               OpStore %141 %142
                OpStore %i_1 %int_0
-               OpBranch %138
-        %138 = OpLabel
-               OpLoopMerge %139 %140 None
-               OpBranch %141
-        %141 = OpLabel
-        %142 = OpLoad %int %i_1
-        %144 = OpSLessThan %bool %142 %int_3
-               OpSelectionMerge %145 None
-               OpBranchConditional %144 %146 %147
+               OpBranch %143
+        %143 = OpLabel
+               OpLoopMerge %144 %145 None
+               OpBranch %146
         %146 = OpLabel
-               OpBranch %145
-        %147 = OpLabel
-               OpBranch %139
-        %145 = OpLabel
-        %148 = OpLoad %int %i_1
-        %149 = OpAccessChain %_ptr_Function_float %c %148
-        %150 = OpLoad %float %149
-        %152 = OpFOrdGreaterThanEqual %bool %150 %float_1
-               OpSelectionMerge %153 None
-               OpBranchConditional %152 %154 %153
-        %154 = OpLabel
-        %155 = OpLoad %int %i_1
-        %156 = OpLoad %int %i_1
-        %157 = OpAccessChain %_ptr_Function_float %c %156
-        %158 = OpLoad %float %157
-        %159 = OpLoad %int %i_1
-        %160 = OpAccessChain %_ptr_Function_float %c %159
-        %161 = OpLoad %float %160
-        %162 = OpAccessChain %_ptr_Function_float %c %155
-        %163 = OpFMul %float %158 %161
-               OpStore %162 %163
-               OpBranch %153
-        %153 = OpLabel
+        %147 = OpLoad %int %i_1
+        %149 = OpSLessThan %bool %147 %int_3
+               OpSelectionMerge %150 None
+               OpBranchConditional %149 %151 %152
+        %151 = OpLabel
+               OpBranch %150
+        %152 = OpLabel
+               OpBranch %144
+        %150 = OpLabel
+        %153 = OpLoad %int %i_1
+        %154 = OpAccessChain %_ptr_Function_float %c %153
+        %155 = OpLoad %float %154
+        %157 = OpFOrdGreaterThanEqual %bool %155 %float_1
+               OpSelectionMerge %158 None
+               OpBranchConditional %157 %159 %158
+        %159 = OpLabel
+        %160 = OpLoad %int %i_1
+        %161 = OpLoad %int %i_1
+        %162 = OpAccessChain %_ptr_Function_float %c %161
+        %163 = OpLoad %float %162
+        %164 = OpLoad %int %i_1
+        %165 = OpAccessChain %_ptr_Function_float %c %164
+        %166 = OpLoad %float %165
+        %167 = OpAccessChain %_ptr_Function_float %c %160
+        %168 = OpFMul %float %163 %166
+               OpStore %167 %168
+               OpBranch %158
+        %158 = OpLabel
                OpStore %j %float_0
-               OpBranch %165
-        %165 = OpLabel
-               OpLoopMerge %166 %167 None
-               OpBranch %168
-        %168 = OpLabel
-        %169 = OpAccessChain %_ptr_Uniform_float %x_19 %uint_0 %uint_0
-        %170 = OpLoad %float %169
-        %171 = OpAccessChain %_ptr_Uniform_float %x_19 %uint_0 %uint_1
-        %172 = OpLoad %float %171
-        %173 = OpFOrdGreaterThan %bool %170 %172
-               OpSelectionMerge %174 None
-               OpBranchConditional %173 %175 %176
-        %175 = OpLabel
-               OpBranch %174
-        %176 = OpLabel
-               OpBranch %166
-        %174 = OpLabel
-        %177 = OpLoad %float %j
-        %178 = OpAccessChain %_ptr_Uniform_float %x_19 %uint_0 %uint_0
-        %179 = OpLoad %float %178
-        %180 = OpFOrdGreaterThanEqual %bool %177 %179
-               OpSelectionMerge %181 None
-               OpBranchConditional %180 %182 %181
-        %182 = OpLabel
-               OpBranch %166
+               OpBranch %170
+        %170 = OpLabel
+               OpLoopMerge %171 %172 None
+               OpBranch %173
+        %173 = OpLabel
+        %174 = OpAccessChain %_ptr_Uniform_float %x_19 %uint_0 %uint_0
+        %175 = OpLoad %float %174
+        %176 = OpAccessChain %_ptr_Uniform_float %x_19 %uint_0 %uint_1
+        %177 = OpLoad %float %176
+        %178 = OpFOrdGreaterThan %bool %175 %177
+               OpSelectionMerge %179 None
+               OpBranchConditional %178 %180 %181
+        %180 = OpLabel
+               OpBranch %179
         %181 = OpLabel
-        %183 = OpLoad %float %j
-        %184 = OpFAdd %float %183 %float_1
-               OpStore %j %184
-               OpBranch %167
-        %167 = OpLabel
-               OpBranch %165
-        %166 = OpLabel
-               OpBranch %140
-        %140 = OpLabel
-        %185 = OpLoad %int %i_1
-        %186 = OpIAdd %int %185 %int_1
-               OpStore %i_1 %186
-               OpBranch %138
-        %139 = OpLabel
-        %187 = OpLoad %v3float %c
-        %189 = OpExtInst %v3float %59 FAbs %187
-        %188 = OpExtInst %v3float %59 Normalize %189
-        %190 = OpCompositeExtract %float %188 0
-        %191 = OpCompositeExtract %float %188 1
-        %192 = OpCompositeExtract %float %188 2
-        %193 = OpCompositeConstruct %v4float %190 %191 %192 %float_1
-               OpStore %x_GLF_color %193
+               OpBranch %171
+        %179 = OpLabel
+        %182 = OpLoad %float %j
+        %183 = OpAccessChain %_ptr_Uniform_float %x_19 %uint_0 %uint_0
+        %184 = OpLoad %float %183
+        %185 = OpFOrdGreaterThanEqual %bool %182 %184
+               OpSelectionMerge %186 None
+               OpBranchConditional %185 %187 %186
+        %187 = OpLabel
+               OpBranch %171
+        %186 = OpLabel
+        %188 = OpLoad %float %j
+        %189 = OpFAdd %float %188 %float_1
+               OpStore %j %189
+               OpBranch %172
+        %172 = OpLabel
+               OpBranch %170
+        %171 = OpLabel
+               OpBranch %145
+        %145 = OpLabel
+        %190 = OpLoad %int %i_1
+        %191 = OpIAdd %int %190 %int_1
+               OpStore %i_1 %191
+               OpBranch %143
+        %144 = OpLabel
+        %192 = OpLoad %v3float %c
+        %194 = OpExtInst %v3float %59 FAbs %192
+        %193 = OpExtInst %v3float %59 Normalize %194
+        %195 = OpCompositeExtract %float %193 0
+        %196 = OpCompositeExtract %float %193 1
+        %197 = OpCompositeExtract %float %193 2
+        %198 = OpCompositeConstruct %v4float %195 %196 %197 %float_1
+               OpStore %x_GLF_color %198
                OpReturn
                OpFunctionEnd
-%tint_symbol_3 = OpFunction %void None %194
+%tint_symbol_3 = OpFunction %void None %199
 %tint_symbol_1 = OpFunctionParameter %main_out
-        %198 = OpLabel
-        %199 = OpCompositeExtract %v4float %tint_symbol_1 0
-               OpStore %tint_symbol_2 %199
+        %203 = OpLabel
+        %204 = OpCompositeExtract %v4float %tint_symbol_1 0
+               OpStore %tint_symbol_2 %204
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %79
-        %201 = OpLabel
-        %202 = OpLoad %v4float %tint_symbol
-               OpStore %gl_FragCoord %202
-        %203 = OpFunctionCall %void %main_1
-        %205 = OpLoad %v4float %x_GLF_color
-        %206 = OpCompositeConstruct %main_out %205
-        %204 = OpFunctionCall %void %tint_symbol_3 %206
+       %main = OpFunction %void None %84
+        %206 = OpLabel
+        %207 = OpLoad %v4float %tint_symbol
+               OpStore %gl_FragCoord %207
+        %208 = OpFunctionCall %void %main_1
+        %210 = OpLoad %v4float %x_GLF_color
+        %211 = OpCompositeConstruct %main_out %210
+        %209 = OpFunctionCall %void %tint_symbol_3 %211
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.wgsl
index 97ffaf9..4920c6d 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.spvasm.expected.wgsl
@@ -34,7 +34,7 @@
     } else {
       let x_155 : i32 = i;
       let x_157 : f32 = *(thirty_two);
-      if (((f32(x_155) % round(x_157)) <= 0.01)) {
+      if (((f32(x_155) - (round(x_157) * floor((f32(x_155) / round(x_157))))) <= 0.01)) {
         let x_163 : f32 = result;
         result = (x_163 + 100.0);
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.msl
index 2641e75..e9ded5d 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -34,7 +32,7 @@
     } else {
       int const x_155 = i;
       float const x_157 = *(thirty_two);
-      if (((float(x_155) % rint(x_157)) <= 0.01f)) {
+      if ((fmod(float(x_155), rint(x_157)) <= 0.01f)) {
         float const x_163 = result;
         result = (x_163 + 100.0f);
       }
@@ -144,8 +142,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\u7k8.0.metal:35:26: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_155) % rint(x_157)) <= 0.01f)) {
-            ~~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.spvasm
index 304913e..9faf394 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-true-conditional-simple-loop/1.wgsl.expected.spvasm
@@ -141,7 +141,7 @@
          %56 = OpLoad %float %thirty_two
          %57 = OpConvertSToF %float %54
          %58 = OpExtInst %float %59 RoundEven %56
-         %60 = OpFMod %float %57 %58
+         %60 = OpFRem %float %57 %58
          %62 = OpFOrdLessThanEqual %bool %60 %float_0_00999999978
                OpSelectionMerge %63 None
                OpBranchConditional %62 %64 %63
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.hlsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.hlsl
index 20808b2..66c6ab5 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.hlsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.hlsl
@@ -20,7 +20,7 @@
       } else {
         const int x_147 = i;
         const float x_149 = thirty_two;
-        if (((float(x_147) % round(x_149)) <= 0.01f)) {
+        if (((float(x_147) - (round(x_149) * floor((float(x_147) / round(x_149))))) <= 0.01f)) {
           result = (result + 100.0f);
         }
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.msl
index 223b0b5..f0268f3 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -31,7 +29,7 @@
     } else {
       int const x_147 = i;
       float const x_149 = *(thirty_two);
-      if (((float(x_147) % rint(x_149)) <= 0.01f)) {
+      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);
       }
@@ -120,8 +118,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\uajw.0.metal:32:26: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_147) % rint(x_149)) <= 0.01f)) {
-            ~~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.spvasm
index 8feef9e..ab70f51 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.spvasm
@@ -1,7 +1,7 @@
 ; SPIR-V
 ; Version: 1.3
 ; Generator: Google Tint Compiler; 0
-; Bound: 199
+; Bound: 204
 ; Schema: 0
                OpCapability Shader
          %56 = OpExtInstImport "GLSL.std.450"
@@ -71,14 +71,14 @@
 %float_0_00999999978 = OpConstant %float 0.00999999978
   %float_100 = OpConstant %float 100
        %void = OpTypeVoid
-         %76 = OpTypeFunction %void
+         %81 = OpTypeFunction %void
     %v3float = OpTypeVector %float 3
 %_ptr_Function_v3float = OpTypePointer Function %v3float
-         %83 = OpConstantNull %v3float
+         %88 = OpConstantNull %v3float
     %float_7 = OpConstant %float 7
     %float_8 = OpConstant %float 8
     %float_9 = OpConstant %float 9
-         %93 = OpConstantComposite %v3float %float_7 %float_8 %float_9
+         %98 = OpConstantComposite %v3float %float_7 %float_8 %float_9
        %uint = OpTypeInt 32 0
      %uint_0 = OpConstant %uint 0
 %_ptr_Uniform_float = OpTypePointer Uniform %float
@@ -87,16 +87,16 @@
 %mat4v2float = OpTypeMatrix %v2float 4
     %float_1 = OpConstant %float 1
     %float_0 = OpConstant %float 0
-        %127 = OpConstantComposite %v2float %float_1 %float_0
+        %132 = OpConstantComposite %v2float %float_1 %float_0
      %uint_2 = OpConstant %uint 2
 %mat3v3float = OpTypeMatrix %v3float 3
-        %132 = OpConstantComposite %v3float %float_1 %float_0 %float_0
-        %133 = OpConstantComposite %v3float %float_0 %float_1 %float_0
-        %134 = OpConstantComposite %v3float %float_0 %float_0 %float_1
-        %135 = OpConstantComposite %mat3v3float %132 %133 %134
+        %137 = OpConstantComposite %v3float %float_1 %float_0 %float_0
+        %138 = OpConstantComposite %v3float %float_0 %float_1 %float_0
+        %139 = OpConstantComposite %v3float %float_0 %float_0 %float_1
+        %140 = OpConstantComposite %mat3v3float %137 %138 %139
       %int_3 = OpConstant %int 3
    %main_out = OpTypeStruct %v4float
-        %186 = OpTypeFunction %void %main_out
+        %191 = OpTypeFunction %void %main_out
 %compute_value_f1_f1_ = OpFunction %float None %15
       %limit = OpFunctionParameter %_ptr_Function_float
  %thirty_two = OpFunctionParameter %_ptr_Function_float
@@ -134,163 +134,168 @@
          %53 = OpLoad %float %thirty_two
          %54 = OpConvertSToF %float %51
          %55 = OpExtInst %float %56 RoundEven %53
-         %57 = OpFMod %float %54 %55
-         %59 = OpFOrdLessThanEqual %bool %57 %float_0_00999999978
-               OpSelectionMerge %60 None
-               OpBranchConditional %59 %61 %60
-         %61 = OpLabel
-         %62 = OpLoad %float %result
-         %64 = OpFAdd %float %62 %float_100
-               OpStore %result %64
-               OpBranch %60
-         %60 = OpLabel
+         %58 = OpConvertSToF %float %51
+         %59 = OpExtInst %float %56 RoundEven %53
+         %60 = OpFDiv %float %58 %59
+         %57 = OpExtInst %float %56 Floor %60
+         %61 = OpFMul %float %55 %57
+         %62 = OpFSub %float %54 %61
+         %64 = OpFOrdLessThanEqual %bool %62 %float_0_00999999978
+               OpSelectionMerge %65 None
+               OpBranchConditional %64 %66 %65
+         %66 = OpLabel
+         %67 = OpLoad %float %result
+         %69 = OpFAdd %float %67 %float_100
+               OpStore %result %69
+               OpBranch %65
+         %65 = OpLabel
                OpBranch %45
          %45 = OpLabel
-         %65 = OpLoad %int %i
-         %67 = OpLoad %float %limit
-         %68 = OpConvertSToF %float %65
-         %69 = OpFOrdGreaterThanEqual %bool %68 %67
-               OpSelectionMerge %70 None
-               OpBranchConditional %69 %71 %70
-         %71 = OpLabel
-         %72 = OpLoad %float %result
-               OpReturnValue %72
-         %70 = OpLabel
+         %70 = OpLoad %int %i
+         %72 = OpLoad %float %limit
+         %73 = OpConvertSToF %float %70
+         %74 = OpFOrdGreaterThanEqual %bool %73 %72
+               OpSelectionMerge %75 None
+               OpBranchConditional %74 %76 %75
+         %76 = OpLabel
+         %77 = OpLoad %float %result
+               OpReturnValue %77
+         %75 = OpLabel
                OpBranch %31
          %31 = OpLabel
-         %73 = OpLoad %int %i
-         %74 = OpIAdd %int %73 %int_1
-               OpStore %i %74
+         %78 = OpLoad %int %i
+         %79 = OpIAdd %int %78 %int_1
+               OpStore %i %79
                OpBranch %29
          %30 = OpLabel
-         %75 = OpLoad %float %result
-               OpReturnValue %75
+         %80 = OpLoad %float %result
+               OpReturnValue %80
                OpFunctionEnd
-     %main_1 = OpFunction %void None %76
-         %79 = OpLabel
-          %c = OpVariable %_ptr_Function_v3float Function %83
+     %main_1 = OpFunction %void None %81
+         %84 = OpLabel
+          %c = OpVariable %_ptr_Function_v3float Function %88
 %thirty_two_1 = OpVariable %_ptr_Function_float Function %22
       %param = OpVariable %_ptr_Function_float Function %22
     %param_1 = OpVariable %_ptr_Function_float Function %22
     %param_2 = OpVariable %_ptr_Function_float Function %22
     %param_3 = OpVariable %_ptr_Function_float Function %22
         %i_1 = OpVariable %_ptr_Function_int Function %26
-               OpStore %c %93
-         %97 = OpAccessChain %_ptr_Uniform_float %x_13 %uint_0 %uint_0
-         %98 = OpLoad %float %97
-        %100 = OpFDiv %float %98 %float_8
-         %99 = OpExtInst %float %56 RoundEven %100
-               OpStore %thirty_two_1 %99
-        %102 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
+               OpStore %c %98
+        %102 = OpAccessChain %_ptr_Uniform_float %x_13 %uint_0 %uint_0
         %103 = OpLoad %float %102
-               OpStore %param %103
-        %104 = OpLoad %float %thirty_two_1
-               OpStore %param_1 %104
-        %105 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
-        %108 = OpAccessChain %_ptr_Function_float %c %uint_0
-               OpStore %108 %105
-        %110 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %111 = OpLoad %float %110
-               OpStore %param_2 %111
-        %112 = OpLoad %float %thirty_two_1
-               OpStore %param_3 %112
-        %113 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
-        %116 = OpAccessChain %_ptr_Function_float %c %uint_1
-               OpStore %116 %113
-        %117 = OpLoad %v3float %c
-        %118 = OpLoad %v3float %c
-        %120 = OpCompositeExtract %float %118 0
-        %121 = OpCompositeExtract %float %118 1
-        %122 = OpCompositeConstruct %v2float %120 %121
-        %123 = OpCompositeExtract %float %118 2
-        %125 = OpCompositeConstruct %v2float %123 %float_1
-        %128 = OpCompositeConstruct %mat4v2float %122 %125 %127 %127
-        %130 = OpAccessChain %_ptr_Function_float %c %uint_2
-        %136 = OpVectorTimesMatrix %v3float %117 %135
-        %137 = OpCompositeExtract %float %136 0
-        %138 = OpCompositeExtract %v2float %128 0
-        %139 = OpCompositeExtract %float %138 0
-        %140 = OpCompositeExtract %v2float %128 0
-        %141 = OpCompositeExtract %float %140 1
-        %142 = OpCompositeExtract %v2float %128 1
-        %143 = OpCompositeExtract %float %142 0
-        %144 = OpCompositeConstruct %v3float %139 %141 %143
-        %145 = OpCompositeExtract %float %144 1
-        %146 = OpFAdd %float %137 %145
-               OpStore %130 %146
+        %105 = OpFDiv %float %103 %float_8
+        %104 = OpExtInst %float %56 RoundEven %105
+               OpStore %thirty_two_1 %104
+        %107 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_0
+        %108 = OpLoad %float %107
+               OpStore %param %108
+        %109 = OpLoad %float %thirty_two_1
+               OpStore %param_1 %109
+        %110 = OpFunctionCall %float %compute_value_f1_f1_ %param %param_1
+        %113 = OpAccessChain %_ptr_Function_float %c %uint_0
+               OpStore %113 %110
+        %115 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %116 = OpLoad %float %115
+               OpStore %param_2 %116
+        %117 = OpLoad %float %thirty_two_1
+               OpStore %param_3 %117
+        %118 = OpFunctionCall %float %compute_value_f1_f1_ %param_2 %param_3
+        %121 = OpAccessChain %_ptr_Function_float %c %uint_1
+               OpStore %121 %118
+        %122 = OpLoad %v3float %c
+        %123 = OpLoad %v3float %c
+        %125 = OpCompositeExtract %float %123 0
+        %126 = OpCompositeExtract %float %123 1
+        %127 = OpCompositeConstruct %v2float %125 %126
+        %128 = OpCompositeExtract %float %123 2
+        %130 = OpCompositeConstruct %v2float %128 %float_1
+        %133 = OpCompositeConstruct %mat4v2float %127 %130 %132 %132
+        %135 = OpAccessChain %_ptr_Function_float %c %uint_2
+        %141 = OpVectorTimesMatrix %v3float %122 %140
+        %142 = OpCompositeExtract %float %141 0
+        %143 = OpCompositeExtract %v2float %133 0
+        %144 = OpCompositeExtract %float %143 0
+        %145 = OpCompositeExtract %v2float %133 0
+        %146 = OpCompositeExtract %float %145 1
+        %147 = OpCompositeExtract %v2float %133 1
+        %148 = OpCompositeExtract %float %147 0
+        %149 = OpCompositeConstruct %v3float %144 %146 %148
+        %150 = OpCompositeExtract %float %149 1
+        %151 = OpFAdd %float %142 %150
+               OpStore %135 %151
                OpStore %i_1 %int_0
-               OpBranch %147
-        %147 = OpLabel
-               OpLoopMerge %148 %149 None
-               OpBranch %150
-        %150 = OpLabel
-        %151 = OpLoad %int %i_1
-        %153 = OpSLessThan %bool %151 %int_3
-               OpSelectionMerge %154 None
-               OpBranchConditional %153 %155 %156
+               OpBranch %152
+        %152 = OpLabel
+               OpLoopMerge %153 %154 None
+               OpBranch %155
         %155 = OpLabel
-               OpBranch %154
-        %156 = OpLabel
-               OpBranch %148
-        %154 = OpLabel
-        %157 = OpLoad %int %i_1
-        %158 = OpAccessChain %_ptr_Function_float %c %157
-        %159 = OpLoad %float %158
-        %160 = OpFOrdGreaterThanEqual %bool %159 %float_1
-               OpSelectionMerge %161 None
-               OpBranchConditional %160 %162 %161
-        %162 = OpLabel
-        %163 = OpLoad %int %i_1
-        %164 = OpLoad %int %i_1
-        %165 = OpAccessChain %_ptr_Function_float %c %164
-        %166 = OpLoad %float %165
-        %167 = OpLoad %int %i_1
-        %168 = OpAccessChain %_ptr_Function_float %c %167
-        %169 = OpLoad %float %168
-        %170 = OpAccessChain %_ptr_Function_float %c %163
-        %171 = OpFMul %float %166 %169
-               OpStore %170 %171
-        %172 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
-        %173 = OpLoad %float %172
-        %174 = OpFOrdLessThan %bool %173 %float_0
-               OpSelectionMerge %175 None
-               OpBranchConditional %174 %176 %175
-        %176 = OpLabel
-               OpBranch %148
-        %175 = OpLabel
-               OpBranch %161
+        %156 = OpLoad %int %i_1
+        %158 = OpSLessThan %bool %156 %int_3
+               OpSelectionMerge %159 None
+               OpBranchConditional %158 %160 %161
+        %160 = OpLabel
+               OpBranch %159
         %161 = OpLabel
-               OpBranch %149
-        %149 = OpLabel
-        %177 = OpLoad %int %i_1
-        %178 = OpIAdd %int %177 %int_1
-               OpStore %i_1 %178
-               OpBranch %147
-        %148 = OpLabel
-        %179 = OpLoad %v3float %c
-        %181 = OpExtInst %v3float %56 FAbs %179
-        %180 = OpExtInst %v3float %56 Normalize %181
-        %182 = OpCompositeExtract %float %180 0
-        %183 = OpCompositeExtract %float %180 1
-        %184 = OpCompositeExtract %float %180 2
-        %185 = OpCompositeConstruct %v4float %182 %183 %184 %float_1
-               OpStore %x_GLF_color %185
+               OpBranch %153
+        %159 = OpLabel
+        %162 = OpLoad %int %i_1
+        %163 = OpAccessChain %_ptr_Function_float %c %162
+        %164 = OpLoad %float %163
+        %165 = OpFOrdGreaterThanEqual %bool %164 %float_1
+               OpSelectionMerge %166 None
+               OpBranchConditional %165 %167 %166
+        %167 = OpLabel
+        %168 = OpLoad %int %i_1
+        %169 = OpLoad %int %i_1
+        %170 = OpAccessChain %_ptr_Function_float %c %169
+        %171 = OpLoad %float %170
+        %172 = OpLoad %int %i_1
+        %173 = OpAccessChain %_ptr_Function_float %c %172
+        %174 = OpLoad %float %173
+        %175 = OpAccessChain %_ptr_Function_float %c %168
+        %176 = OpFMul %float %171 %174
+               OpStore %175 %176
+        %177 = OpAccessChain %_ptr_Private_float %gl_FragCoord %uint_1
+        %178 = OpLoad %float %177
+        %179 = OpFOrdLessThan %bool %178 %float_0
+               OpSelectionMerge %180 None
+               OpBranchConditional %179 %181 %180
+        %181 = OpLabel
+               OpBranch %153
+        %180 = OpLabel
+               OpBranch %166
+        %166 = OpLabel
+               OpBranch %154
+        %154 = OpLabel
+        %182 = OpLoad %int %i_1
+        %183 = OpIAdd %int %182 %int_1
+               OpStore %i_1 %183
+               OpBranch %152
+        %153 = OpLabel
+        %184 = OpLoad %v3float %c
+        %186 = OpExtInst %v3float %56 FAbs %184
+        %185 = OpExtInst %v3float %56 Normalize %186
+        %187 = OpCompositeExtract %float %185 0
+        %188 = OpCompositeExtract %float %185 1
+        %189 = OpCompositeExtract %float %185 2
+        %190 = OpCompositeConstruct %v4float %187 %188 %189 %float_1
+               OpStore %x_GLF_color %190
                OpReturn
                OpFunctionEnd
-%tint_symbol_3 = OpFunction %void None %186
+%tint_symbol_3 = OpFunction %void None %191
 %tint_symbol_1 = OpFunctionParameter %main_out
-        %190 = OpLabel
-        %191 = OpCompositeExtract %v4float %tint_symbol_1 0
-               OpStore %tint_symbol_2 %191
+        %195 = OpLabel
+        %196 = OpCompositeExtract %v4float %tint_symbol_1 0
+               OpStore %tint_symbol_2 %196
                OpReturn
                OpFunctionEnd
-       %main = OpFunction %void None %76
-        %193 = OpLabel
-        %194 = OpLoad %v4float %tint_symbol
-               OpStore %gl_FragCoord %194
-        %195 = OpFunctionCall %void %main_1
-        %197 = OpLoad %v4float %x_GLF_color
-        %198 = OpCompositeConstruct %main_out %197
-        %196 = OpFunctionCall %void %tint_symbol_3 %198
+       %main = OpFunction %void None %81
+        %198 = OpLabel
+        %199 = OpLoad %v4float %tint_symbol
+               OpStore %gl_FragCoord %199
+        %200 = OpFunctionCall %void %main_1
+        %202 = OpLoad %v4float %x_GLF_color
+        %203 = OpCompositeConstruct %main_out %202
+        %201 = OpFunctionCall %void %tint_symbol_3 %203
                OpReturn
                OpFunctionEnd
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.wgsl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.wgsl
index ee16548..6d227b7 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.wgsl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.spvasm.expected.wgsl
@@ -27,7 +27,7 @@
     } else {
       let x_147 : i32 = i;
       let x_149 : f32 = *(thirty_two);
-      if (((f32(x_147) % round(x_149)) <= 0.01)) {
+      if (((f32(x_147) - (round(x_149) * floor((f32(x_147) / round(x_149))))) <= 0.01)) {
         let x_155 : f32 = result;
         result = (x_155 + 100.0);
       }
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.msl b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.msl
index 4db0bfd..2d76e0b 100755
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.msl
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.msl
@@ -1,5 +1,3 @@
-SKIP: FAILED
-
 #include <metal_stdlib>
 
 using namespace metal;
@@ -31,7 +29,7 @@
     } else {
       int const x_147 = i;
       float const x_149 = *(thirty_two);
-      if (((float(x_147) % rint(x_149)) <= 0.01f)) {
+      if ((fmod(float(x_147), rint(x_149)) <= 0.01f)) {
         float const x_155 = result;
         result = (x_155 + 100.0f);
       }
@@ -120,8 +118,3 @@
   return tint_symbol_4;
 }
 
-T:\tmp\uet8.0.metal:32:26: error: invalid operands to binary expression ('float' and 'float')
-      if (((float(x_147) % rint(x_149)) <= 0.01f)) {
-            ~~~~~~~~~~~~ ^ ~~~~~~~~~~~
-1 error generated.
-
diff --git a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.spvasm b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.spvasm
index 8feef9e..b1061a2 100644
--- a/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.spvasm
+++ b/test/vk-gl-cts/graphicsfuzz/stable-colorgrid-modulo-vec3-values-from-matrix/1.wgsl.expected.spvasm
@@ -134,7 +134,7 @@
          %53 = OpLoad %float %thirty_two
          %54 = OpConvertSToF %float %51
          %55 = OpExtInst %float %56 RoundEven %53
-         %57 = OpFMod %float %54 %55
+         %57 = OpFRem %float %54 %55
          %59 = OpFOrdLessThanEqual %bool %57 %float_0_00999999978
                OpSelectionMerge %60 None
                OpBranchConditional %59 %61 %60
