merge in nyc-release history after reset to nyc-dev
diff --git a/lit-tests/reduce_reflection/reduce_reflection.rs b/lit-tests/reduce_reflection/reduce_reflection.rs
deleted file mode 100644
index 93e850b..0000000
--- a/lit-tests/reduce_reflection/reduce_reflection.rs
+++ /dev/null
@@ -1,542 +0,0 @@
-// RUN: %Slang -target-api 0 %s
-// RUN: %scriptc-filecheck-wrapper --lang=Java %s
-
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-// CHECK: mExportReduceIdx_mul_half
-// Array variants of kernels with the half type are unsupported.
-// CHECK-NOT: reduce_mul_half({{.*}} in[],
-// CHECK: public void reduce_mul_half(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_half(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-half __attribute__((kernel("reduce"))) mul_half(half lhs, half rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_half2
-// CHECK-NOT: reduce_mul_half2({{.*}} in[],
-// CHECK: public void reduce_mul_half2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_half2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-half2 __attribute__((kernel("reduce"))) mul_half2(half2 lhs, half2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_half3
-// CHECK-NOT: reduce_mul_half3({{.*}} in[],
-// CHECK: public void reduce_mul_half3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_half3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-half3 __attribute__((kernel("reduce"))) mul_half3(half3 lhs, half3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_half4
-// CHECK-NOT: reduce_mul_half4({{.*}} in[],
-// CHECK: public void reduce_mul_half4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_half4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-half4 __attribute__((kernel("reduce"))) mul_half4(half4 lhs, half4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_bool
-// CHECK: public boolean reduce_mul_bool(byte[] in)
-// CHECK: public boolean reduce_mul_bool(byte[] in, int x1, int x2)
-// CHECK: public void reduce_mul_bool(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_bool(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-bool __attribute__((kernel("reduce")))
-mul_bool(bool lhs, bool rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_char
-// CHECK: public byte reduce_mul_char(byte[] in)
-// CHECK: public byte reduce_mul_char(byte[] in, int x1, int x2)
-// CHECK: public void reduce_mul_char(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_char(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-char __attribute__((kernel("reduce")))
-mul_char(char lhs, char rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_char2
-// CHECK: public Byte2 reduce_mul_char2(byte[] in)
-// CHECK: public Byte2 reduce_mul_char2(byte[] in, int x1, int x2)
-// CHECK: public void reduce_mul_char2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_char2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-char2 __attribute__((kernel("reduce")))
-mul_char2(char2 lhs, char2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_char3
-// CHECK: public Byte3 reduce_mul_char3(byte[] in)
-// CHECK: public Byte3 reduce_mul_char3(byte[] in, int x1, int x2)
-// CHECK: public void reduce_mul_char3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_char3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-char3 __attribute__((kernel("reduce")))
-mul_char3(char3 lhs, char3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_char4
-// CHECK: public Byte4 reduce_mul_char4(byte[] in)
-// CHECK: public Byte4 reduce_mul_char4(byte[] in, int x1, int x2)
-// CHECK: public void reduce_mul_char4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_char4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-char4 __attribute__((kernel("reduce")))
-mul_char4(char4 lhs, char4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_double
-// CHECK: public double reduce_mul_double(double[] in)
-// CHECK: public double reduce_mul_double(double[] in, int x1, int x2)
-// CHECK: public void reduce_mul_double(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_double(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-double __attribute__((kernel("reduce")))
-mul_double(double lhs, double rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_double2
-// CHECK: public Double2 reduce_mul_double2(double[] in)
-// CHECK: public Double2 reduce_mul_double2(double[] in, int x1, int x2)
-// CHECK: public void reduce_mul_double2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_double2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-double2 __attribute__((kernel("reduce")))
-mul_double2(double2 lhs, double2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_double3
-// CHECK: public Double3 reduce_mul_double3(double[] in)
-// CHECK: public Double3 reduce_mul_double3(double[] in, int x1, int x2)
-// CHECK: public void reduce_mul_double3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_double3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-double3 __attribute__((kernel("reduce")))
-mul_double3(double3 lhs, double3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_double4
-// CHECK: public Double4 reduce_mul_double4(double[] in)
-// CHECK: public Double4 reduce_mul_double4(double[] in, int x1, int x2)
-// CHECK: public void reduce_mul_double4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_double4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-double4 __attribute__((kernel("reduce")))
-mul_double4(double4 lhs, double4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_float
-// CHECK: public float reduce_mul_float(float[] in)
-// CHECK: public float reduce_mul_float(float[] in, int x1, int x2)
-// CHECK: public void reduce_mul_float(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_float(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-float __attribute__((kernel("reduce")))
-mul_float(float lhs, float rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_float2
-// CHECK: public Float2 reduce_mul_float2(float[] in)
-// CHECK: public Float2 reduce_mul_float2(float[] in, int x1, int x2)
-// CHECK: public void reduce_mul_float2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_float2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-float2 __attribute__((kernel("reduce")))
-mul_float2(float2 lhs, float2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_float3
-// CHECK: public Float3 reduce_mul_float3(float[] in)
-// CHECK: public Float3 reduce_mul_float3(float[] in, int x1, int x2)
-// CHECK: public void reduce_mul_float3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_float3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-float3 __attribute__((kernel("reduce")))
-mul_float3(float3 lhs, float3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_float4
-// CHECK: public Float4 reduce_mul_float4(float[] in)
-// CHECK: public Float4 reduce_mul_float4(float[] in, int x1, int x2)
-// CHECK: public void reduce_mul_float4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_float4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-float4 __attribute__((kernel("reduce")))
-mul_float4(float4 lhs, float4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_int
-// CHECK: public int reduce_mul_int(int[] in)
-// CHECK: public int reduce_mul_int(int[] in, int x1, int x2)
-// CHECK: public void reduce_mul_int(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_int(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-int __attribute__((kernel("reduce")))
-mul_int(int lhs, int rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_int2
-// CHECK: public Int2 reduce_mul_int2(int[] in)
-// CHECK: public Int2 reduce_mul_int2(int[] in, int x1, int x2)
-// CHECK: public void reduce_mul_int2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_int2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-int2 __attribute__((kernel("reduce")))
-mul_int2(int2 lhs, int2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_int3
-// CHECK: public Int3 reduce_mul_int3(int[] in)
-// CHECK: public Int3 reduce_mul_int3(int[] in, int x1, int x2)
-// CHECK: public void reduce_mul_int3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_int3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-int3 __attribute__((kernel("reduce")))
-mul_int3(int3 lhs, int3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_int4
-// CHECK: public Int4 reduce_mul_int4(int[] in)
-// CHECK: public Int4 reduce_mul_int4(int[] in, int x1, int x2)
-// CHECK: public void reduce_mul_int4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_int4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-int4 __attribute__((kernel("reduce")))
-mul_int4(int4 lhs, int4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_long
-// CHECK: public long reduce_mul_long(long[] in)
-// CHECK: public long reduce_mul_long(long[] in, int x1, int x2)
-// CHECK: public void reduce_mul_long(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_long(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-long __attribute__((kernel("reduce")))
-mul_long(long lhs, long rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_long2
-// CHECK: public Long2 reduce_mul_long2(long[] in)
-// CHECK: public Long2 reduce_mul_long2(long[] in, int x1, int x2)
-// CHECK: public void reduce_mul_long2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_long2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-long2 __attribute__((kernel("reduce")))
-mul_long2(long2 lhs, long2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_long3
-// CHECK: public Long3 reduce_mul_long3(long[] in)
-// CHECK: public Long3 reduce_mul_long3(long[] in, int x1, int x2)
-// CHECK: public void reduce_mul_long3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_long3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-long3 __attribute__((kernel("reduce")))
-mul_long3(long3 lhs, long3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_long4
-// CHECK: public Long4 reduce_mul_long4(long[] in)
-// CHECK: public Long4 reduce_mul_long4(long[] in, int x1, int x2)
-// CHECK: public void reduce_mul_long4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_long4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-long4 __attribute__((kernel("reduce")))
-mul_long4(long4 lhs, long4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_short
-// CHECK: public short reduce_mul_short(short[] in)
-// CHECK: public short reduce_mul_short(short[] in, int x1, int x2)
-// CHECK: public void reduce_mul_short(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_short(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-short __attribute__((kernel("reduce")))
-mul_short(short lhs, short rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_short2
-// CHECK: public Short2 reduce_mul_short2(short[] in)
-// CHECK: public Short2 reduce_mul_short2(short[] in, int x1, int x2)
-// CHECK: public void reduce_mul_short2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_short2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-short2 __attribute__((kernel("reduce")))
-mul_short2(short2 lhs, short2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_short3
-// CHECK: public Short3 reduce_mul_short3(short[] in)
-// CHECK: public Short3 reduce_mul_short3(short[] in, int x1, int x2)
-// CHECK: public void reduce_mul_short3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_short3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-short3 __attribute__((kernel("reduce")))
-mul_short3(short3 lhs, short3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_short4
-// CHECK: public Short4 reduce_mul_short4(short[] in)
-// CHECK: public Short4 reduce_mul_short4(short[] in, int x1, int x2)
-// CHECK: public void reduce_mul_short4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_short4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-short4 __attribute__((kernel("reduce")))
-mul_short4(short4 lhs, short4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_uchar
-// CHECK: public short reduce_mul_uchar(byte[] in)
-// CHECK: public short reduce_mul_uchar(byte[] in, int x1, int x2)
-// CHECK: public void reduce_mul_uchar(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_uchar(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-uchar __attribute__((kernel("reduce")))
-mul_uchar(uchar lhs, uchar rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_uchar2
-// CHECK: public Short2 reduce_mul_uchar2(byte[] in)
-// CHECK: public Short2 reduce_mul_uchar2(byte[] in, int x1, int x2)
-// CHECK: public void reduce_mul_uchar2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_uchar2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-uchar2 __attribute__((kernel("reduce")))
-mul_uchar2(uchar2 lhs, uchar2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_uchar3
-// CHECK: public Short3 reduce_mul_uchar3(byte[] in)
-// CHECK: public Short3 reduce_mul_uchar3(byte[] in, int x1, int x2)
-// CHECK: public void reduce_mul_uchar3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_uchar3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-uchar3 __attribute__((kernel("reduce")))
-mul_uchar3(uchar3 lhs, uchar3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_uchar4
-// CHECK: public Short4 reduce_mul_uchar4(byte[] in)
-// CHECK: public Short4 reduce_mul_uchar4(byte[] in, int x1, int x2)
-// CHECK: public void reduce_mul_uchar4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_uchar4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-uchar4 __attribute__((kernel("reduce")))
-mul_uchar4(uchar4 lhs, uchar4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_uint
-// CHECK: public long reduce_mul_uint(int[] in)
-// CHECK: public long reduce_mul_uint(int[] in, int x1, int x2)
-// CHECK: public void reduce_mul_uint(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_uint(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-uint __attribute__((kernel("reduce")))
-mul_uint(uint lhs, uint rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_uint2
-// CHECK: public Long2 reduce_mul_uint2(int[] in)
-// CHECK: public Long2 reduce_mul_uint2(int[] in, int x1, int x2)
-// CHECK: public void reduce_mul_uint2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_uint2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-uint2 __attribute__((kernel("reduce")))
-mul_uint2(uint2 lhs, uint2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_uint3
-// CHECK: public Long3 reduce_mul_uint3(int[] in)
-// CHECK: public Long3 reduce_mul_uint3(int[] in, int x1, int x2)
-// CHECK: public void reduce_mul_uint3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_uint3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-uint3 __attribute__((kernel("reduce")))
-mul_uint3(uint3 lhs, uint3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_uint4
-// CHECK: public Long4 reduce_mul_uint4(int[] in)
-// CHECK: public Long4 reduce_mul_uint4(int[] in, int x1, int x2)
-// CHECK: public void reduce_mul_uint4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_uint4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-uint4 __attribute__((kernel("reduce")))
-mul_uint4(uint4 lhs, uint4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_ulong
-// CHECK: public long reduce_mul_ulong(long[] in)
-// CHECK: public long reduce_mul_ulong(long[] in, int x1, int x2)
-// CHECK: public void reduce_mul_ulong(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_ulong(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-ulong __attribute__((kernel("reduce")))
-mul_ulong(ulong lhs, ulong rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_ulong2
-// CHECK: public Long2 reduce_mul_ulong2(long[] in)
-// CHECK: public Long2 reduce_mul_ulong2(long[] in, int x1, int x2)
-// CHECK: public void reduce_mul_ulong2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_ulong2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-ulong2 __attribute__((kernel("reduce")))
-mul_ulong2(ulong2 lhs, ulong2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_ulong3
-// CHECK: public Long3 reduce_mul_ulong3(long[] in)
-// CHECK: public Long3 reduce_mul_ulong3(long[] in, int x1, int x2)
-// CHECK: public void reduce_mul_ulong3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_ulong3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-ulong3 __attribute__((kernel("reduce")))
-mul_ulong3(ulong3 lhs, ulong3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_ulong4
-// CHECK: public Long4 reduce_mul_ulong4(long[] in)
-// CHECK: public Long4 reduce_mul_ulong4(long[] in, int x1, int x2)
-// CHECK: public void reduce_mul_ulong4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_ulong4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-ulong4 __attribute__((kernel("reduce")))
-mul_ulong4(ulong4 lhs, ulong4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_ushort
-// CHECK: public int reduce_mul_ushort(short[] in)
-// CHECK: public int reduce_mul_ushort(short[] in, int x1, int x2)
-// CHECK: public void reduce_mul_ushort(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_ushort(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-ushort __attribute__((kernel("reduce")))
-mul_ushort(ushort lhs, ushort rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_ushort2
-// CHECK: public Int2 reduce_mul_ushort2(short[] in)
-// CHECK: public Int2 reduce_mul_ushort2(short[] in, int x1, int x2)
-// CHECK: public void reduce_mul_ushort2(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_ushort2(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-ushort2 __attribute__((kernel("reduce")))
-mul_ushort2(ushort2 lhs, ushort2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_ushort3
-// CHECK: public Int3 reduce_mul_ushort3(short[] in)
-// CHECK: public Int3 reduce_mul_ushort3(short[] in, int x1, int x2)
-// CHECK: public void reduce_mul_ushort3(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_ushort3(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-ushort3 __attribute__((kernel("reduce")))
-mul_ushort3(ushort3 lhs, ushort3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: mExportReduceIdx_mul_ushort4
-// CHECK: public Int4 reduce_mul_ushort4(short[] in)
-// CHECK: public Int4 reduce_mul_ushort4(short[] in, int x1, int x2)
-// CHECK: public void reduce_mul_ushort4(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_ushort4(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-ushort4 __attribute__((kernel("reduce")))
-mul_ushort4(ushort4 lhs, ushort4 rhs) {
-  return lhs * rhs;
-}
-
-
-struct indirect {
-  bool elem_bool;
-  char elem_char;
-  char2 elem_char2;
-  char3 elem_char3;
-  char4 elem_char4;
-  double elem_double;
-  double2 elem_double2;
-  double3 elem_double3;
-  double4 elem_double4;
-  float elem_float;
-  float2 elem_float2;
-  float3 elem_float3;
-  float4 elem_float4;
-  int elem_int;
-  int2 elem_int2;
-  int3 elem_int3;
-  int4 elem_int4;
-  long elem_long;
-  long2 elem_long2;
-  long3 elem_long3;
-  long4 elem_long4;
-  short elem_short;
-  short2 elem_short2;
-  short3 elem_short3;
-  short4 elem_short4;
-  uchar elem_uchar;
-  uchar2 elem_uchar2;
-  uchar3 elem_uchar3;
-  uchar4 elem_uchar4;
-  uint elem_uint;
-  uint2 elem_uint2;
-  uint3 elem_uint3;
-  uint4 elem_uint4;
-  ulong elem_ulong;
-  ulong2 elem_ulong2;
-  ulong3 elem_ulong3;
-  ulong4 elem_ulong4;
-  ushort elem_ushort;
-  ushort2 elem_ushort2;
-  ushort3 elem_ushort3;
-  ushort4 elem_ushort4;
-};
-
-// CHECK: mExportReduceIdx_mul_indirect
-// CHECK: public void reduce_mul_indirect(Allocation ain, Allocation aout)
-// CHECK: public void reduce_mul_indirect(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-struct indirect __attribute__((kernel("reduce")))
-mul_indirect(struct indirect lhs, struct indirect rhs) {
-  lhs.elem_bool *= rhs.elem_bool;
-  lhs.elem_char *= rhs.elem_char;
-  lhs.elem_char2 *= rhs.elem_char2;
-  lhs.elem_char3 *= rhs.elem_char3;
-  lhs.elem_char4 *= rhs.elem_char4;
-  lhs.elem_double *= rhs.elem_double;
-  lhs.elem_double2 *= rhs.elem_double2;
-  lhs.elem_double3 *= rhs.elem_double3;
-  lhs.elem_double4 *= rhs.elem_double4;
-  lhs.elem_float *= rhs.elem_float;
-  lhs.elem_float2 *= rhs.elem_float2;
-  lhs.elem_float3 *= rhs.elem_float3;
-  lhs.elem_float4 *= rhs.elem_float4;
-  lhs.elem_int *= rhs.elem_int;
-  lhs.elem_int2 *= rhs.elem_int2;
-  lhs.elem_int3 *= rhs.elem_int3;
-  lhs.elem_int4 *= rhs.elem_int4;
-  lhs.elem_long *= rhs.elem_long;
-  lhs.elem_long2 *= rhs.elem_long2;
-  lhs.elem_long3 *= rhs.elem_long3;
-  lhs.elem_long4 *= rhs.elem_long4;
-  lhs.elem_short *= rhs.elem_short;
-  lhs.elem_short2 *= rhs.elem_short2;
-  lhs.elem_short3 *= rhs.elem_short3;
-  lhs.elem_short4 *= rhs.elem_short4;
-  lhs.elem_uchar *= rhs.elem_uchar;
-  lhs.elem_uchar2 *= rhs.elem_uchar2;
-  lhs.elem_uchar3 *= rhs.elem_uchar3;
-  lhs.elem_uchar4 *= rhs.elem_uchar4;
-  lhs.elem_uint *= rhs.elem_uint;
-  lhs.elem_uint2 *= rhs.elem_uint2;
-  lhs.elem_uint3 *= rhs.elem_uint3;
-  lhs.elem_uint4 *= rhs.elem_uint4;
-  lhs.elem_ulong *= rhs.elem_ulong;
-  lhs.elem_ulong2 *= rhs.elem_ulong2;
-  lhs.elem_ulong3 *= rhs.elem_ulong3;
-  lhs.elem_ulong4 *= rhs.elem_ulong4;
-  lhs.elem_ushort *= rhs.elem_ushort;
-  lhs.elem_ushort2 *= rhs.elem_ushort2;
-  lhs.elem_ushort3 *= rhs.elem_ushort3;
-  lhs.elem_ushort4 *= rhs.elem_ushort4;
-  return lhs;
-}
diff --git a/lit-tests/reduce_reflection/reduce_reflection_cpp.rs b/lit-tests/reduce_reflection/reduce_reflection_cpp.rs
deleted file mode 100644
index 0da4d0a..0000000
--- a/lit-tests/reduce_reflection/reduce_reflection_cpp.rs
+++ /dev/null
@@ -1,408 +0,0 @@
-// RUN: %Slang -target-api 0 -reflect-c++ %s
-// RUN: %scriptc-filecheck-wrapper --lang=C++ %s
-
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-// CHECK: void reduce_mul_half(android::RSC::sp<android::RSC::Allocation> ain,
-// Array variants of kernels with the half type are unsupported.
-// CHECK-NOT: half reduce_mul_half(const half in[],
-half __attribute__((kernel("reduce"))) mul_half(half lhs, half rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_half2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK-NOT: Half2 reduce_mul_half2(const half in[],
-half2 __attribute__((kernel("reduce"))) mul_half2(half2 lhs, half2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_half3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK-NOT: Half3 reduce_mul_half3(const half in[],
-half3 __attribute__((kernel("reduce"))) mul_half3(half3 lhs, half3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_half4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK-NOT: Half4 reduce_mul_half4(const half in[],
-half4 __attribute__((kernel("reduce"))) mul_half4(half4 lhs, half4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_bool(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: bool reduce_mul_bool(const bool in[],
-bool __attribute__((kernel("reduce")))
-mul_bool(bool lhs, bool rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_char(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: int8_t reduce_mul_char(const int8_t in[],
-char __attribute__((kernel("reduce")))
-mul_char(char lhs, char rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_char2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Byte2 reduce_mul_char2(const int8_t in[],
-char2 __attribute__((kernel("reduce")))
-mul_char2(char2 lhs, char2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_char3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Byte3 reduce_mul_char3(const int8_t in[],
-char3 __attribute__((kernel("reduce")))
-mul_char3(char3 lhs, char3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_char4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Byte4 reduce_mul_char4(const int8_t in[],
-char4 __attribute__((kernel("reduce")))
-mul_char4(char4 lhs, char4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_double(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: double reduce_mul_double(const double in[],
-double __attribute__((kernel("reduce")))
-mul_double(double lhs, double rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_double2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Double2 reduce_mul_double2(const double in[],
-double2 __attribute__((kernel("reduce")))
-mul_double2(double2 lhs, double2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_double3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Double3 reduce_mul_double3(const double in[],
-double3 __attribute__((kernel("reduce")))
-mul_double3(double3 lhs, double3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_double4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Double4 reduce_mul_double4(const double in[],
-double4 __attribute__((kernel("reduce")))
-mul_double4(double4 lhs, double4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_float(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: float reduce_mul_float(const float in[],
-float __attribute__((kernel("reduce")))
-mul_float(float lhs, float rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_float2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Float2 reduce_mul_float2(const float in[],
-float2 __attribute__((kernel("reduce")))
-mul_float2(float2 lhs, float2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_float3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Float3 reduce_mul_float3(const float in[],
-float3 __attribute__((kernel("reduce")))
-mul_float3(float3 lhs, float3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_float4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Float4 reduce_mul_float4(const float in[],
-float4 __attribute__((kernel("reduce")))
-mul_float4(float4 lhs, float4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_int(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: int32_t reduce_mul_int(const int32_t in[],
-int __attribute__((kernel("reduce")))
-mul_int(int lhs, int rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_int2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Int2 reduce_mul_int2(const int32_t in[],
-int2 __attribute__((kernel("reduce")))
-mul_int2(int2 lhs, int2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_int3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Int3 reduce_mul_int3(const int32_t in[],
-int3 __attribute__((kernel("reduce")))
-mul_int3(int3 lhs, int3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_int4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Int4 reduce_mul_int4(const int32_t in[],
-int4 __attribute__((kernel("reduce")))
-mul_int4(int4 lhs, int4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_long(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: int64_t reduce_mul_long(const int64_t in[],
-long __attribute__((kernel("reduce")))
-mul_long(long lhs, long rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_long2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Long2 reduce_mul_long2(const int64_t in[],
-long2 __attribute__((kernel("reduce")))
-mul_long2(long2 lhs, long2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_long3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Long3 reduce_mul_long3(const int64_t in[],
-long3 __attribute__((kernel("reduce")))
-mul_long3(long3 lhs, long3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_long4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Long4 reduce_mul_long4(const int64_t in[],
-long4 __attribute__((kernel("reduce")))
-mul_long4(long4 lhs, long4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_short(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: int16_t reduce_mul_short(const int16_t in[],
-short __attribute__((kernel("reduce")))
-mul_short(short lhs, short rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_short2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Short2 reduce_mul_short2(const int16_t in[],
-short2 __attribute__((kernel("reduce")))
-mul_short2(short2 lhs, short2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_short3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Short3 reduce_mul_short3(const int16_t in[],
-short3 __attribute__((kernel("reduce")))
-mul_short3(short3 lhs, short3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_short4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: Short4 reduce_mul_short4(const int16_t in[],
-short4 __attribute__((kernel("reduce")))
-mul_short4(short4 lhs, short4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_uchar(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: uint8_t reduce_mul_uchar(const uint8_t in[],
-uchar __attribute__((kernel("reduce")))
-mul_uchar(uchar lhs, uchar rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_uchar2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: UByte2 reduce_mul_uchar2(const uint8_t in[],
-uchar2 __attribute__((kernel("reduce")))
-mul_uchar2(uchar2 lhs, uchar2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_uchar3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: UByte3 reduce_mul_uchar3(const uint8_t in[],
-uchar3 __attribute__((kernel("reduce")))
-mul_uchar3(uchar3 lhs, uchar3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_uchar4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: UByte4 reduce_mul_uchar4(const uint8_t in[],
-uchar4 __attribute__((kernel("reduce")))
-mul_uchar4(uchar4 lhs, uchar4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_uint(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: uint32_t reduce_mul_uint(const uint32_t in[],
-uint __attribute__((kernel("reduce")))
-mul_uint(uint lhs, uint rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_uint2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: UInt2 reduce_mul_uint2(const uint32_t in[],
-uint2 __attribute__((kernel("reduce")))
-mul_uint2(uint2 lhs, uint2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_uint3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: UInt3 reduce_mul_uint3(const uint32_t in[],
-uint3 __attribute__((kernel("reduce")))
-mul_uint3(uint3 lhs, uint3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_uint4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: UInt4 reduce_mul_uint4(const uint32_t in[],
-uint4 __attribute__((kernel("reduce")))
-mul_uint4(uint4 lhs, uint4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_ulong(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: uint64_t reduce_mul_ulong(const uint64_t in[],
-ulong __attribute__((kernel("reduce")))
-mul_ulong(ulong lhs, ulong rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_ulong2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: ULong2 reduce_mul_ulong2(const uint64_t in[],
-ulong2 __attribute__((kernel("reduce")))
-mul_ulong2(ulong2 lhs, ulong2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_ulong3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: ULong3 reduce_mul_ulong3(const uint64_t in[],
-ulong3 __attribute__((kernel("reduce")))
-mul_ulong3(ulong3 lhs, ulong3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_ulong4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: ULong4 reduce_mul_ulong4(const uint64_t in[],
-ulong4 __attribute__((kernel("reduce")))
-mul_ulong4(ulong4 lhs, ulong4 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_ushort(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: uint16_t reduce_mul_ushort(const uint16_t in[],
-ushort __attribute__((kernel("reduce")))
-mul_ushort(ushort lhs, ushort rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_ushort2(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: UShort2 reduce_mul_ushort2(const uint16_t in[],
-ushort2 __attribute__((kernel("reduce")))
-mul_ushort2(ushort2 lhs, ushort2 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_ushort3(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: UShort3 reduce_mul_ushort3(const uint16_t in[],
-ushort3 __attribute__((kernel("reduce")))
-mul_ushort3(ushort3 lhs, ushort3 rhs) {
-  return lhs * rhs;
-}
-
-// CHECK: void reduce_mul_ushort4(android::RSC::sp<android::RSC::Allocation> ain,
-// CHECK: UShort4 reduce_mul_ushort4(const uint16_t in[],
-ushort4 __attribute__((kernel("reduce")))
-mul_ushort4(ushort4 lhs, ushort4 rhs) {
-  return lhs * rhs;
-}
-
-struct indirect {
-  bool elem_bool;
-  char elem_char;
-  char2 elem_char2;
-  char3 elem_char3;
-  char4 elem_char4;
-  double elem_double;
-  double2 elem_double2;
-  double3 elem_double3;
-  double4 elem_double4;
-  float elem_float;
-  float2 elem_float2;
-  float3 elem_float3;
-  float4 elem_float4;
-  int elem_int;
-  int2 elem_int2;
-  int3 elem_int3;
-  int4 elem_int4;
-  long elem_long;
-  long2 elem_long2;
-  long3 elem_long3;
-  long4 elem_long4;
-  short elem_short;
-  short2 elem_short2;
-  short3 elem_short3;
-  short4 elem_short4;
-  uchar elem_uchar;
-  uchar2 elem_uchar2;
-  uchar3 elem_uchar3;
-  uchar4 elem_uchar4;
-  uint elem_uint;
-  uint2 elem_uint2;
-  uint3 elem_uint3;
-  uint4 elem_uint4;
-  ulong elem_ulong;
-  ulong2 elem_ulong2;
-  ulong3 elem_ulong3;
-  ulong4 elem_ulong4;
-  ushort elem_ushort;
-  ushort2 elem_ushort2;
-  ushort3 elem_ushort3;
-  ushort4 elem_ushort4;
-};
-
-// CHECK: void reduce_mul_indirect(android::RSC::sp<android::RSC::Allocation> ain,
-struct indirect __attribute__((kernel("reduce")))
-mul_indirect(struct indirect lhs, struct indirect rhs) {
-  lhs.elem_bool *= rhs.elem_bool;
-  lhs.elem_char *= rhs.elem_char;
-  lhs.elem_char2 *= rhs.elem_char2;
-  lhs.elem_char3 *= rhs.elem_char3;
-  lhs.elem_char4 *= rhs.elem_char4;
-  lhs.elem_double *= rhs.elem_double;
-  lhs.elem_double2 *= rhs.elem_double2;
-  lhs.elem_double3 *= rhs.elem_double3;
-  lhs.elem_double4 *= rhs.elem_double4;
-  lhs.elem_float *= rhs.elem_float;
-  lhs.elem_float2 *= rhs.elem_float2;
-  lhs.elem_float3 *= rhs.elem_float3;
-  lhs.elem_float4 *= rhs.elem_float4;
-  lhs.elem_int *= rhs.elem_int;
-  lhs.elem_int2 *= rhs.elem_int2;
-  lhs.elem_int3 *= rhs.elem_int3;
-  lhs.elem_int4 *= rhs.elem_int4;
-  lhs.elem_long *= rhs.elem_long;
-  lhs.elem_long2 *= rhs.elem_long2;
-  lhs.elem_long3 *= rhs.elem_long3;
-  lhs.elem_long4 *= rhs.elem_long4;
-  lhs.elem_short *= rhs.elem_short;
-  lhs.elem_short2 *= rhs.elem_short2;
-  lhs.elem_short3 *= rhs.elem_short3;
-  lhs.elem_short4 *= rhs.elem_short4;
-  lhs.elem_uchar *= rhs.elem_uchar;
-  lhs.elem_uchar2 *= rhs.elem_uchar2;
-  lhs.elem_uchar3 *= rhs.elem_uchar3;
-  lhs.elem_uchar4 *= rhs.elem_uchar4;
-  lhs.elem_uint *= rhs.elem_uint;
-  lhs.elem_uint2 *= rhs.elem_uint2;
-  lhs.elem_uint3 *= rhs.elem_uint3;
-  lhs.elem_uint4 *= rhs.elem_uint4;
-  lhs.elem_ulong *= rhs.elem_ulong;
-  lhs.elem_ulong2 *= rhs.elem_ulong2;
-  lhs.elem_ulong3 *= rhs.elem_ulong3;
-  lhs.elem_ulong4 *= rhs.elem_ulong4;
-  lhs.elem_ushort *= rhs.elem_ushort;
-  lhs.elem_ushort2 *= rhs.elem_ushort2;
-  lhs.elem_ushort3 *= rhs.elem_ushort3;
-  lhs.elem_ushort4 *= rhs.elem_ushort4;
-  return lhs;
-}
diff --git a/slang_backend.cpp b/slang_backend.cpp
index cb17cb4..81de4fd 100644
--- a/slang_backend.cpp
+++ b/slang_backend.cpp
@@ -221,7 +221,7 @@
       mIsFilterscript(IsFilterscript), mExportVarMetadata(nullptr),
       mExportFuncMetadata(nullptr), mExportForEachNameMetadata(nullptr),
       mExportForEachSignatureMetadata(nullptr),
-      mExportReduceNewMetadata(nullptr),
+      mExportReduceMetadata(nullptr),
       mExportTypeMetadata(nullptr), mRSObjectSlotsMetadata(nullptr),
       mRefCount(mContext->getASTContext()),
       mASTChecker(Context, Context->getTargetAPI(), IsFilterscript),
@@ -771,21 +771,21 @@
   }
 }
 
-void Backend::dumpExportReduceNewInfo(llvm::Module *M) {
-  if (!mExportReduceNewMetadata) {
-    mExportReduceNewMetadata =
-      M->getOrInsertNamedMetadata(RS_EXPORT_REDUCE_NEW_MN);
+void Backend::dumpExportReduceInfo(llvm::Module *M) {
+  if (!mExportReduceMetadata) {
+    mExportReduceMetadata =
+      M->getOrInsertNamedMetadata(RS_EXPORT_REDUCE_MN);
   }
 
-  llvm::SmallVector<llvm::Metadata *, 6> ExportReduceNewInfo;
-  // Add operand to ExportReduceNewInfo, padding out missing operands with
+  llvm::SmallVector<llvm::Metadata *, 6> ExportReduceInfo;
+  // Add operand to ExportReduceInfo, padding out missing operands with
   // nullptr.
-  auto addOperand = [&ExportReduceNewInfo](uint32_t Idx, llvm::Metadata *N) {
-    while (Idx > ExportReduceNewInfo.size())
-      ExportReduceNewInfo.push_back(nullptr);
-    ExportReduceNewInfo.push_back(N);
+  auto addOperand = [&ExportReduceInfo](uint32_t Idx, llvm::Metadata *N) {
+    while (Idx > ExportReduceInfo.size())
+      ExportReduceInfo.push_back(nullptr);
+    ExportReduceInfo.push_back(N);
   };
-  // Add string operand to ExportReduceNewInfo, padding out missing operands
+  // Add string operand to ExportReduceInfo, padding out missing operands
   // with nullptr.
   // If string is empty, then do not add it unless Always is true.
   auto addString = [&addOperand, this](uint32_t Idx, const std::string &S,
@@ -795,10 +795,10 @@
   };
 
   // Add the description of the reduction kernels to the metadata node.
-  for (auto I = mContext->export_reduce_new_begin(),
-            E = mContext->export_reduce_new_end();
+  for (auto I = mContext->export_reduce_begin(),
+            E = mContext->export_reduce_end();
        I != E; ++I) {
-    ExportReduceNewInfo.clear();
+    ExportReduceInfo.clear();
 
     int Idx = 0;
 
@@ -819,8 +819,8 @@
     addString(Idx++, (*I)->getNameOutConverter(), false);
     addString(Idx++, (*I)->getNameHalter(), false);
 
-    mExportReduceNewMetadata->addOperand(
-      llvm::MDTuple::get(mLLVMContext, ExportReduceNewInfo));
+    mExportReduceMetadata->addOperand(
+      llvm::MDTuple::get(mLLVMContext, ExportReduceInfo));
   }
 }
 
@@ -901,8 +901,8 @@
   if (mContext->hasExportForEach())
     dumpExportForEachInfo(M);
 
-  if (mContext->hasExportReduceNew())
-    dumpExportReduceNewInfo(M);
+  if (mContext->hasExportReduce())
+    dumpExportReduceInfo(M);
 
   if (mContext->hasExportType())
     dumpExportTypeInfo(M);
diff --git a/slang_backend.h b/slang_backend.h
index 72519ae..38aa1e4 100644
--- a/slang_backend.h
+++ b/slang_backend.h
@@ -98,7 +98,7 @@
   llvm::NamedMDNode *mExportFuncMetadata;
   llvm::NamedMDNode *mExportForEachNameMetadata;
   llvm::NamedMDNode *mExportForEachSignatureMetadata;
-  llvm::NamedMDNode *mExportReduceNewMetadata;
+  llvm::NamedMDNode *mExportReduceMetadata;
   llvm::NamedMDNode *mExportTypeMetadata;
   llvm::NamedMDNode *mRSObjectSlotsMetadata;
 
@@ -113,7 +113,7 @@
   void dumpExportVarInfo(llvm::Module *M);
   void dumpExportFunctionInfo(llvm::Module *M);
   void dumpExportForEachInfo(llvm::Module *M);
-  void dumpExportReduceNewInfo(llvm::Module *M);
+  void dumpExportReduceInfo(llvm::Module *M);
   void dumpExportTypeInfo(llvm::Module *M);
 
   // Translates any rsForEach() or rsForEachWithOptions() calls inside the body
diff --git a/slang_rs_check_ast.cpp b/slang_rs_check_ast.cpp
index b24831a..52626bc 100644
--- a/slang_rs_check_ast.cpp
+++ b/slang_rs_check_ast.cpp
@@ -167,7 +167,7 @@
     llvm::StringRef KernelKind =
       FD->getAttr<clang::KernelAttr>()->getKernelKind();
 
-    if (!KernelKind.empty() && !KernelKind.equals("reduce")) {
+    if (!KernelKind.empty()) {
       Context->ReportError(FD->getLocation(),
                            "Unknown kernel attribute argument '%0' "
                            "in declaration of function '%1'")
@@ -197,8 +197,7 @@
   }
 
   bool saveKernel = mInKernel;
-  mInKernel = RSExportForEach::isRSForEachFunc(mTargetAPI, FD) ||
-              RSExportReduce::isRSReduceFunc(mTargetAPI, FD);
+  mInKernel = RSExportForEach::isRSForEachFunc(mTargetAPI, FD);
 
   if (clang::Stmt *Body = FD->getBody()) {
     Visit(Body);
diff --git a/slang_rs_context.cpp b/slang_rs_context.cpp
index 4c7971d..0e3ee53 100644
--- a/slang_rs_context.cpp
+++ b/slang_rs_context.cpp
@@ -148,15 +148,6 @@
     return true;
   }
 
-  // Reduce kernel
-  if (RSExportReduce::isRSReduceFunc(mTargetAPI, FD)) {
-    if (auto *ER = RSExportReduce::Create(this, FD)) {
-      mExportReduce.push_back(ER);
-      return true;
-    }
-    return false;
-  }
-
   // Invokable
   if (auto *EF = RSExportFunc::Create(this, FD)) {
     mExportFuncs.push_back(EF);
@@ -319,7 +310,7 @@
     BE->HandleTopLevelDecl(clang::DeclGroupRef(DummyVar));
 
   bool valid = true;
-  for (auto I = export_reduce_new_begin(), E = export_reduce_new_end(); I != E; ++I) {
+  for (auto I = export_reduce_begin(), E = export_reduce_end(); I != E; ++I) {
     if (! (*I)->analyzeTranslationUnit())
       valid = false;
   }
@@ -337,7 +328,7 @@
     // names mentioned in a reduce pragma and searchable in O(c) or
     // O(log(n)) time rather than the currently-implemented O(n) search.
     auto NameMatches = [this, FD]() {
-      for (auto I = export_reduce_new_begin(), E = export_reduce_new_end(); I != E; ++I) {
+      for (auto I = export_reduce_begin(), E = export_reduce_end(); I != E; ++I) {
         if ((*I)->matchName(FD->getName()))
           return true;
       }
diff --git a/slang_rs_context.h b/slang_rs_context.h
index 45edf3a..e6b4e8c 100644
--- a/slang_rs_context.h
+++ b/slang_rs_context.h
@@ -56,7 +56,6 @@
   class RSExportFunc;
   class RSExportForEach;
   class RSExportReduce;
-  class RSExportReduceNew;
   class RSExportType;
 
 class RSContext {
@@ -70,10 +69,9 @@
   typedef std::list<RSExportFunc*> ExportFuncList;
   typedef std::vector<RSExportForEach*> ExportForEachVector;
   typedef std::list<RSExportReduce*> ExportReduceList;
-  typedef std::list<RSExportReduceNew*> ExportReduceNewList;
 
   // WARNING: Sorted by pointer value, resulting in unpredictable order
-  typedef std::unordered_set<RSExportType*> ExportReduceNewResultTypeSet;
+  typedef std::unordered_set<RSExportType*> ExportReduceResultTypeSet;
 
   typedef llvm::StringMap<RSExportType*> ExportTypeMap;
 
@@ -119,8 +117,7 @@
   ExportForEachVector mExportForEach;
   ExportForEachVector::iterator mFirstOldStyleKernel;
   ExportReduceList mExportReduce;
-  ExportReduceNewList mExportReduceNew;
-  ExportReduceNewResultTypeSet mExportReduceNewResultType;
+  ExportReduceResultTypeSet mExportReduceResultType;
   ExportTypeMap mExportTypes;
 
   clang::QualType mAllocationType;
@@ -252,28 +249,19 @@
     return mExportReduce.end();
   }
   inline bool hasExportReduce() const { return !mExportReduce.empty(); }
-
-  typedef ExportReduceNewList::const_iterator const_export_reduce_new_iterator;
-  const_export_reduce_new_iterator export_reduce_new_begin() const {
-    return mExportReduceNew.begin();
-  }
-  const_export_reduce_new_iterator export_reduce_new_end() const {
-    return mExportReduceNew.end();
-  }
-  inline bool hasExportReduceNew() const { return !mExportReduceNew.empty(); }
-  void addExportReduceNew(RSExportReduceNew *ReduceNew) {
-    mExportReduceNew.push_back(ReduceNew);
+  void addExportReduce(RSExportReduce *Reduce) {
+    mExportReduce.push_back(Reduce);
   }
   bool processReducePragmas(Backend *BE);
   void markUsedByReducePragma(clang::FunctionDecl *FD, CheckName Check);
 
   // If the type has already been inserted, has no effect.
-  void insertExportReduceNewResultType(RSExportType *Type) { mExportReduceNewResultType.insert(Type); }
+  void insertExportReduceResultType(RSExportType *Type) { mExportReduceResultType.insert(Type); }
 
   template <class FilterIn, class Compare>
-  std::vector<RSExportType *> getReduceNewResultTypes(FilterIn Filt, Compare Comp) const {
+  std::vector<RSExportType *> getReduceResultTypes(FilterIn Filt, Compare Comp) const {
     std::vector<RSExportType *> Return;
-    std::copy_if(mExportReduceNewResultType.begin(), mExportReduceNewResultType.end(), std::back_inserter(Return), Filt);
+    std::copy_if(mExportReduceResultType.begin(), mExportReduceResultType.end(), std::back_inserter(Return), Filt);
     std::sort(Return.begin(), Return.end(), Comp);
     auto ReturnNewEndIter = std::unique(Return.begin(), Return.end(),
                                         [Comp](const RSExportType *a, const RSExportType *b) {
diff --git a/slang_rs_export_reduce.cpp b/slang_rs_export_reduce.cpp
index 4bb198c..7ec6e01 100644
--- a/slang_rs_export_reduce.cpp
+++ b/slang_rs_export_reduce.cpp
@@ -20,7 +20,6 @@
 #include <sstream>
 #include <string>
 
-#include "clang/AST/Attr.h"
 #include "clang/AST/ASTContext.h"
 
 #include "slang_assert.h"
@@ -32,169 +31,16 @@
 
 #include "bcinfo/MetadataExtractor.h"
 
-namespace {
-
-bool haveReduceInTargetAPI(unsigned int TargetAPI) {
-  return TargetAPI == RS_DEVELOPMENT_API;
-}
-
-} // end anonymous namespace
-
-
 namespace slang {
 
-// Validate the parameters to a reduce kernel, and set up the
-// exportable object if the kernel is valid.
-//
-// This checks that the passed function declaration of a reduce kernel is
-// a function which satisfies all the requirements for a reduce
-// kernel. Namely, we check for:
-//  - correct target API
-//  - correct parameter count
-//  - non void return type
-//  - return type and parameter types match
-//  - no pointer types in signature.
-//
-// We try to report useful errors to the user.
-//
-// On success, this function returns true and sets the fields mIns and
-// mType to point to the arguments and to the kernel type.
-//
-// If an error was detected, this function returns false.
-bool RSExportReduce::validateAndConstructParams(
-    RSContext *Context, const clang::FunctionDecl *FD) {
-  slangAssert(Context && FD);
-  bool Valid = true;
+const char RSExportReduce::KeyReduce[] = "reduce";
+const char RSExportReduce::KeyInitializer[] = "initializer";
+const char RSExportReduce::KeyAccumulator[] = "accumulator";
+const char RSExportReduce::KeyCombiner[] = "combiner";
+const char RSExportReduce::KeyOutConverter[] = "outconverter";
+const char RSExportReduce::KeyHalter[] = "halter";
 
-  clang::ASTContext &ASTCtx = FD->getASTContext();
-
-  // Validate API version.
-  if (!haveReduceInTargetAPI(Context->getTargetAPI())) {
-    Context->ReportError(FD->getLocation(),
-                         "Reduce-style kernel %0() unsupported in SDK level %1")
-      << FD->getName() << Context->getTargetAPI();
-    Valid = false;
-  }
-
-  // Validate parameter count.
-  if (FD->getNumParams() != 2) {
-    Context->ReportError(FD->getLocation(),
-                         "Reduce-style kernel %0() must take 2 parameters "
-                         "(found %1).")
-      << FD->getName() << FD->getNumParams();
-    Valid = false;
-  }
-
-  // Validate return type.
-  const clang::QualType ReturnTy = FD->getReturnType().getCanonicalType();
-
-  if (ReturnTy->isVoidType()) {
-    Context->ReportError(FD->getLocation(),
-                         "Reduce-style kernel %0() cannot return void")
-      << FD->getName();
-    Valid = false;
-  } else if (ReturnTy->isPointerType()) {
-    Context->ReportError(FD->getLocation(),
-                         "Reduce-style kernel %0() cannot return a pointer "
-                         "type: %1")
-      << FD->getName() << ReturnTy.getAsString();
-    Valid = false;
-  }
-
-  // Validate parameter types.
-  if (FD->getNumParams() == 0) {
-    return false;
-  }
-
-  const clang::ParmVarDecl &FirstParam = *FD->getParamDecl(0);
-  const clang::QualType FirstParamTy = FirstParam.getType().getCanonicalType();
-
-  for (auto PVD = FD->param_begin(), PE = FD->param_end(); PVD != PE; ++PVD) {
-    const clang::ParmVarDecl &Param = **PVD;
-    const clang::QualType ParamTy = Param.getType().getCanonicalType();
-
-    // Check that the parameter is not a pointer.
-    if (ParamTy->isPointerType()) {
-      Context->ReportError(Param.getLocation(),
-                           "Reduce-style kernel %0() cannot have "
-                           "parameter '%1' of pointer type: '%2'")
-        << FD->getName() << Param.getName() << ParamTy.getAsString();
-      Valid = false;
-    }
-
-    // Check for type mismatch between this parameter and the return type.
-    if (!ASTCtx.hasSameUnqualifiedType(ReturnTy, ParamTy)) {
-      Context->ReportError(FD->getLocation(),
-                           "Reduce-style kernel %0() return type '%1' is not "
-                           "the same type as parameter '%2' (type '%3')")
-        << FD->getName() << ReturnTy.getAsString() << Param.getName()
-        << ParamTy.getAsString();
-      Valid = false;
-    }
-
-    // Check for type mismatch between parameters. It is sufficient to check
-    // for a mismatch with the type of the first argument.
-    if (ParamTy != FirstParamTy) {
-      Context->ReportError(FirstParam.getLocation(),
-                           "In reduce-style kernel %0(): parameter '%1' "
-                           "(type '%2') does not have the same type as "
-                           "parameter '%3' (type '%4')")
-        << FD->getName() << FirstParam.getName() << FirstParamTy.getAsString()
-        << Param.getName() << ParamTy.getAsString();
-      Valid = false;
-    }
-  }
-
-  if (Valid) {
-    // If the validation was successful, then populate the fields of
-    // the exportable.
-    if (!(mType = RSExportType::Create(Context, ReturnTy.getTypePtr(),
-                                       NotLegacyKernelArgument))) {
-      // There was an error exporting the type for the reduce kernel.
-      return false;
-    }
-
-    slangAssert(mIns.size() == 2 && FD->param_end() - FD->param_begin() == 2);
-    std::copy(FD->param_begin(), FD->param_end(), mIns.begin());
-  }
-
-  return Valid;
-}
-
-RSExportReduce *RSExportReduce::Create(RSContext *Context,
-                                       const clang::FunctionDecl *FD) {
-  slangAssert(Context && FD);
-  llvm::StringRef Name = FD->getName();
-
-  slangAssert(!Name.empty() && "Function must have a name");
-
-  RSExportReduce *RE = new RSExportReduce(Context, Name);
-
-  if (!RE->validateAndConstructParams(Context, FD)) {
-    // Don't delete RE here - owned by Context.
-    return nullptr;
-  }
-
-  return RE;
-}
-
-bool RSExportReduce::isRSReduceFunc(unsigned int /* targetAPI */,
-                                    const clang::FunctionDecl *FD) {
-  slangAssert(FD);
-  clang::KernelAttr *KernelAttrOrNull = FD->getAttr<clang::KernelAttr>();
-  return KernelAttrOrNull && KernelAttrOrNull->getKernelKind().equals("reduce");
-}
-
-///////////////////////////////////////////////////////////////////////////////////////
-
-const char RSExportReduceNew::KeyReduce[] = "reduce";
-const char RSExportReduceNew::KeyInitializer[] = "initializer";
-const char RSExportReduceNew::KeyAccumulator[] = "accumulator";
-const char RSExportReduceNew::KeyCombiner[] = "combiner";
-const char RSExportReduceNew::KeyOutConverter[] = "outconverter";
-const char RSExportReduceNew::KeyHalter[] = "halter";
-
-bool RSExportReduceNew::matchName(const llvm::StringRef &Candidate) const {
+bool RSExportReduce::matchName(const llvm::StringRef &Candidate) const {
   return
       Candidate.equals(mNameInitializer)  ||
       Candidate.equals(mNameAccumulator)  ||
@@ -203,28 +49,28 @@
       Candidate.equals(mNameHalter);
 }
 
-RSExportReduceNew *RSExportReduceNew::Create(RSContext *Context,
-                                             const clang::SourceLocation Location,
-                                             const llvm::StringRef &NameReduce,
-                                             const llvm::StringRef &NameInitializer,
-                                             const llvm::StringRef &NameAccumulator,
-                                             const llvm::StringRef &NameCombiner,
-                                             const llvm::StringRef &NameOutConverter,
-                                             const llvm::StringRef &NameHalter) {
+RSExportReduce *RSExportReduce::Create(RSContext *Context,
+                                       const clang::SourceLocation Location,
+                                       const llvm::StringRef &NameReduce,
+                                       const llvm::StringRef &NameInitializer,
+                                       const llvm::StringRef &NameAccumulator,
+                                       const llvm::StringRef &NameCombiner,
+                                       const llvm::StringRef &NameOutConverter,
+                                       const llvm::StringRef &NameHalter) {
   slangAssert(Context);
-  RSExportReduceNew *RNE = new RSExportReduceNew(Context,
-                                                 Location,
-                                                 NameReduce,
-                                                 NameInitializer,
-                                                 NameAccumulator,
-                                                 NameCombiner,
-                                                 NameOutConverter,
-                                                 NameHalter);
+  RSExportReduce *RNE = new RSExportReduce(Context,
+                                           Location,
+                                           NameReduce,
+                                           NameInitializer,
+                                           NameAccumulator,
+                                           NameCombiner,
+                                           NameOutConverter,
+                                           NameHalter);
 
   return RNE;
 }
 
-const char *RSExportReduceNew::getKey(FnIdent Kind) {
+const char *RSExportReduce::getKey(FnIdent Kind) {
   switch (Kind) {
     default:
       slangAssert(!"Unknown FnIdent");
@@ -245,7 +91,7 @@
 // This data is needed during analyzeTranslationUnit() but not afterwards.
 // Breaking it out into a struct makes it easy for analyzeTranslationUnit()
 // to call a number of helper functions that all need access to this data.
-struct RSExportReduceNew::StateOfAnalyzeTranslationUnit {
+struct RSExportReduce::StateOfAnalyzeTranslationUnit {
 
   typedef std::function<std::string (const char *Key, const std::string &Name)> DiagnosticDescriptionType;
 
@@ -312,8 +158,8 @@
 };
 
 // does update S.Ok
-clang::FunctionDecl *RSExportReduceNew::lookupFunction(StateOfAnalyzeTranslationUnit &S,
-                                                       const char *Kind, const llvm::StringRef &Name) {
+clang::FunctionDecl *RSExportReduce::lookupFunction(StateOfAnalyzeTranslationUnit &S,
+                                                    const char *Kind, const llvm::StringRef &Name) {
   if (Name.empty())
     return nullptr;
 
@@ -361,7 +207,7 @@
 }
 
 // updates S.Ok; and, depending on Kind, possibly S.FnAccumulatorOk or S.FnOutConverterOk
-void RSExportReduceNew::notOk(StateOfAnalyzeTranslationUnit &S, FnIdent Kind) {
+void RSExportReduce::notOk(StateOfAnalyzeTranslationUnit &S, FnIdent Kind) {
     S.Ok = false;
     if (Kind == FN_IDENT_ACCUMULATOR) {
       S.FnAccumulatorOk = false;
@@ -371,8 +217,8 @@
 }
 
 // updates S.Ok; and, depending on Kind, possibly S.FnAccumulatorOk or S.FnOutConverterOk
-void RSExportReduceNew::checkVoidReturn(StateOfAnalyzeTranslationUnit &S,
-                                        FnIdent Kind, clang::FunctionDecl *Fn) {
+void RSExportReduce::checkVoidReturn(StateOfAnalyzeTranslationUnit &S,
+                                     FnIdent Kind, clang::FunctionDecl *Fn) {
   slangAssert(Fn);
   const clang::QualType ReturnTy = Fn->getReturnType().getCanonicalType();
   if (!ReturnTy->isVoidType()) {
@@ -384,9 +230,9 @@
 }
 
 // updates S.Ok; and, depending on Kind, possibly S.FnAccumulatorOk or S.FnOutConverterOk
-void RSExportReduceNew::checkPointeeConstQualified(StateOfAnalyzeTranslationUnit &S,
-                                                   FnIdent Kind, const llvm::StringRef &Name,
-                                                   const clang::ParmVarDecl *Param, bool ExpectedQualification) {
+void RSExportReduce::checkPointeeConstQualified(StateOfAnalyzeTranslationUnit &S,
+                                                FnIdent Kind, const llvm::StringRef &Name,
+                                                const clang::ParmVarDecl *Param, bool ExpectedQualification) {
   const clang::QualType ParamQType = Param->getType();
   slangAssert(ParamQType->isPointerType());
   const clang::QualType PointeeQType = ParamQType->getPointeeType();
@@ -401,7 +247,7 @@
 }
 
 // Process "void mNameInitializer(compType *accum)"
-void RSExportReduceNew::analyzeInitializer(StateOfAnalyzeTranslationUnit &S) {
+void RSExportReduce::analyzeInitializer(StateOfAnalyzeTranslationUnit &S) {
   if (!S.FnInitializer) // initializer is always optional
     return;
 
@@ -445,7 +291,7 @@
 }
 
 // Process "void mNameAccumulator(compType *accum, in1Type in1, …, inNType inN[, specialarguments])"
-void RSExportReduceNew::analyzeAccumulator(StateOfAnalyzeTranslationUnit &S) {
+void RSExportReduce::analyzeAccumulator(StateOfAnalyzeTranslationUnit &S) {
   slangAssert(S.FnAccumulator);
 
   // Must return void
@@ -584,7 +430,7 @@
 }
 
 // Process "void combinename(compType *accum, const compType *val)"
-void RSExportReduceNew::analyzeCombiner(StateOfAnalyzeTranslationUnit &S) {
+void RSExportReduce::analyzeCombiner(StateOfAnalyzeTranslationUnit &S) {
   if (S.FnCombiner) {
     // Must return void
     checkVoidReturn(S, FN_IDENT_COMBINER, S.FnCombiner);
@@ -676,7 +522,7 @@
 }
 
 // Process "void outconvertname(resultType *result, const compType *accum)"
-void RSExportReduceNew::analyzeOutConverter(StateOfAnalyzeTranslationUnit &S) {
+void RSExportReduce::analyzeOutConverter(StateOfAnalyzeTranslationUnit &S) {
   if (!S.FnOutConverter) // outconverter is always optional
     return;
 
@@ -754,7 +600,7 @@
   }
 }
 
-void RSExportReduceNew::analyzeHalter(StateOfAnalyzeTranslationUnit &S) {
+void RSExportReduce::analyzeHalter(StateOfAnalyzeTranslationUnit &S) {
   if (!S.FnHalter) // halter is always optional
     return;
 
@@ -822,7 +668,7 @@
   checkPointeeConstQualified(S, FN_IDENT_HALTER, mNameHalter, FnHalterParam, true);
 }
 
-void RSExportReduceNew::analyzeResultType(StateOfAnalyzeTranslationUnit &S) {
+void RSExportReduce::analyzeResultType(StateOfAnalyzeTranslationUnit &S) {
   if (!(S.FnAccumulatorOk && S.FnOutConverterOk)) {
     // No idea what the result type is
     slangAssert(!S.Ok);
@@ -896,12 +742,12 @@
   }
 
   if (mResultType)
-    S.RSC.insertExportReduceNewResultType(mResultType);
+    S.RSC.insertExportReduceResultType(mResultType);
   else
     S.Ok = false;
 }
 
-bool RSExportReduceNew::analyzeTranslationUnit() {
+bool RSExportReduce::analyzeTranslationUnit() {
 
   RSContext &RSC = *getRSContext();
   clang::Preprocessor &PP = RSC.getPreprocessor();
diff --git a/slang_rs_export_reduce.h b/slang_rs_export_reduce.h
index 1db0534..491bf19 100644
--- a/slang_rs_export_reduce.h
+++ b/slang_rs_export_reduce.h
@@ -34,54 +34,6 @@
 class RSExportReduce : public RSExportable {
  public:
   typedef llvm::SmallVectorImpl<const clang::ParmVarDecl*> InVec;
-  typedef InVec::const_iterator InIter;
-
- private:
-  // Function name
-  std::string mName;
-  // Input and output type
-  RSExportType *mType;
-  // Inputs
-  llvm::SmallVector<const clang::ParmVarDecl *, 2> mIns;
-
-  RSExportReduce(RSContext *Context, const llvm::StringRef &Name)
-    : RSExportable(Context, RSExportable::EX_REDUCE),
-      mName(Name.data(), Name.size()), mType(nullptr), mIns(2) {
-  }
-
-  RSExportReduce(const RSExportReduce &) = delete;
-  RSExportReduce &operator=(const RSExportReduce &) = delete;
-
-  // Given a reduce kernel declaration, validate the parameters to the
-  // reduce kernel.
-  bool validateAndConstructParams(RSContext *Context,
-                                  const clang::FunctionDecl *FD);
-
- public:
-  static RSExportReduce *Create(RSContext *Context,
-                                const clang::FunctionDecl *FD);
-
-  const std::string &getName() const {
-    return mName;
-  }
-
-  const InVec &getIns() const {
-    return mIns;
-  }
-
-  const RSExportType *getType() const {
-    return mType;
-  }
-
-  static bool isRSReduceFunc(unsigned int targetAPI,
-                             const clang::FunctionDecl *FD);
-
-};  // RSExportReduce
-
-// Base class for reflecting control-side reduce
-class RSExportReduceNew : public RSExportable {
- public:
-  typedef llvm::SmallVectorImpl<const clang::ParmVarDecl*> InVec;
   typedef llvm::SmallVectorImpl<const RSExportType*> InTypeVec;
 
   typedef InVec::const_iterator InIter;
@@ -125,15 +77,15 @@
   // result information
   RSExportType *mResultType;
 
-  RSExportReduceNew(RSContext *Context,
-                    const clang::SourceLocation Location,
-                    const llvm::StringRef &NameReduce,
-                    const llvm::StringRef &NameInitializer,
-                    const llvm::StringRef &NameAccumulator,
-                    const llvm::StringRef &NameCombiner,
-                    const llvm::StringRef &NameOutConverter,
-                    const llvm::StringRef &NameHalter)
-    : RSExportable(Context, RSExportable::EX_REDUCE_NEW),
+  RSExportReduce(RSContext *Context,
+                 const clang::SourceLocation Location,
+                 const llvm::StringRef &NameReduce,
+                 const llvm::StringRef &NameInitializer,
+                 const llvm::StringRef &NameAccumulator,
+                 const llvm::StringRef &NameCombiner,
+                 const llvm::StringRef &NameOutConverter,
+                 const llvm::StringRef &NameHalter)
+    : RSExportable(Context, RSExportable::EX_REDUCE),
       mLocation(Location),
       mNameReduce(NameReduce),
       mNameInitializer(NameInitializer),
@@ -146,8 +98,8 @@
       mResultType(nullptr) {
   }
 
-  RSExportReduceNew(const RSExportReduceNew &) = delete;
-  void operator=(const RSExportReduceNew &) = delete;
+  RSExportReduce(const RSExportReduce &) = delete;
+  void operator=(const RSExportReduce &) = delete;
 
   struct StateOfAnalyzeTranslationUnit;
 
@@ -178,14 +130,14 @@
   static const char KeyOutConverter[];
   static const char KeyHalter[];
 
-  static RSExportReduceNew *Create(RSContext *Context,
-                                   const clang::SourceLocation Location,
-                                   const llvm::StringRef &NameReduce,
-                                   const llvm::StringRef &NameInitializer,
-                                   const llvm::StringRef &NameAccumulator,
-                                   const llvm::StringRef &NameCombiner,
-                                   const llvm::StringRef &NameOutConverter,
-                                   const llvm::StringRef &NameHalter);
+  static RSExportReduce *Create(RSContext *Context,
+                                const clang::SourceLocation Location,
+                                const llvm::StringRef &NameReduce,
+                                const llvm::StringRef &NameInitializer,
+                                const llvm::StringRef &NameAccumulator,
+                                const llvm::StringRef &NameCombiner,
+                                const llvm::StringRef &NameOutConverter,
+                                const llvm::StringRef &NameHalter);
 
   const clang::SourceLocation &getLocation() const { return mLocation; }
 
@@ -209,7 +161,7 @@
   bool matchName(const llvm::StringRef &Candidate) const;
 
   bool analyzeTranslationUnit();
-};  // RSExportReduceNew
+};  // RSExportReduce
 
 }  // namespace slang
 
diff --git a/slang_rs_exportable.h b/slang_rs_exportable.h
index e8613bb..766a388 100644
--- a/slang_rs_exportable.h
+++ b/slang_rs_exportable.h
@@ -28,8 +28,7 @@
     EX_TYPE,
     EX_VAR,
     EX_FOREACH,
-    EX_REDUCE,
-    EX_REDUCE_NEW
+    EX_REDUCE
   };
 
  private:
diff --git a/slang_rs_metadata.h b/slang_rs_metadata.h
index 6d19e9a..b84a8cd 100644
--- a/slang_rs_metadata.h
+++ b/slang_rs_metadata.h
@@ -33,6 +33,6 @@
 
 #define RS_EXPORT_FOREACH_MN "#rs_export_foreach"
 
-#define RS_EXPORT_REDUCE_NEW_MN "#rs_export_reduce"
+#define RS_EXPORT_REDUCE_MN "#rs_export_reduce"
 
 #endif  // _FRAMEWORKS_COMPILE_SLANG_SLANG_RS_METADATA_H_  NOLINT
diff --git a/slang_rs_pragma_handler.cpp b/slang_rs_pragma_handler.cpp
index 065cb10..de9ba92 100644
--- a/slang_rs_pragma_handler.cpp
+++ b/slang_rs_pragma_handler.cpp
@@ -145,17 +145,17 @@
 
     // Grab "reduce(name)" ("reduce" is already known to be the first
     // token) and all the "keyword(value)" contributions
-    KeywordValueMapType KeywordValueMap({std::make_pair(RSExportReduceNew::KeyReduce, ""),
-                                         std::make_pair(RSExportReduceNew::KeyInitializer, ""),
-                                         std::make_pair(RSExportReduceNew::KeyAccumulator, ""),
-                                         std::make_pair(RSExportReduceNew::KeyCombiner, ""),
-                                         std::make_pair(RSExportReduceNew::KeyOutConverter, "")});
+    KeywordValueMapType KeywordValueMap({std::make_pair(RSExportReduce::KeyReduce, ""),
+                                         std::make_pair(RSExportReduce::KeyInitializer, ""),
+                                         std::make_pair(RSExportReduce::KeyAccumulator, ""),
+                                         std::make_pair(RSExportReduce::KeyCombiner, ""),
+                                         std::make_pair(RSExportReduce::KeyOutConverter, "")});
     if (mContext->getTargetAPI() >= SLANG_FEATURE_GENERAL_REDUCTION_HALTER_API) {
       // Halter functionality has not been released, nor has its
       // specification been finalized with partners.  We do not have a
       // specification that extends through the full RenderScript
       // software stack, either.
-      KeywordValueMap.insert(std::make_pair(RSExportReduceNew::KeyHalter, ""));
+      KeywordValueMap.insert(std::make_pair(RSExportReduce::KeyHalter, ""));
     }
     while (PragmaToken.is(clang::tok::identifier)) {
       if (!ProcessKeywordAndValue(PP, PragmaToken, KeywordValueMap))
@@ -173,11 +173,11 @@
     }
 
     // Make sure we have an accumulator
-    if (KeywordValueMap[RSExportReduceNew::KeyAccumulator].empty()) {
+    if (KeywordValueMap[RSExportReduce::KeyAccumulator].empty()) {
       PP.Diag(PragmaLocation, PP.getDiagnostics().getCustomDiagID(
                                 clang::DiagnosticsEngine::Error,
                                 "missing '%0' for '#pragma rs %1'"))
-          << RSExportReduceNew::KeyAccumulator << getName();
+          << RSExportReduce::KeyAccumulator << getName();
       return;
     }
 
@@ -185,15 +185,15 @@
     // worried there might be a VERY large number of pragmas, then we
     // could do something more efficient than walking a list to search
     // for duplicates.)
-    for (auto I = mContext->export_reduce_new_begin(),
-              E = mContext->export_reduce_new_end();
+    for (auto I = mContext->export_reduce_begin(),
+              E = mContext->export_reduce_end();
          I != E; ++I) {
-      if ((*I)->getNameReduce() == KeywordValueMap[RSExportReduceNew::KeyReduce]) {
+      if ((*I)->getNameReduce() == KeywordValueMap[RSExportReduce::KeyReduce]) {
         PP.Diag(PragmaLocation, PP.getDiagnostics().getCustomDiagID(
                                   clang::DiagnosticsEngine::Error,
                                   "reduction kernel '%0' declared multiple "
                                   "times (first one is at %1)"))
-            << KeywordValueMap[RSExportReduceNew::KeyReduce]
+            << KeywordValueMap[RSExportReduce::KeyReduce]
             << (*I)->getLocation().printToString(PP.getSourceManager());
         return;
       }
@@ -211,19 +211,19 @@
     }
 
     // Handle backward reference from pragma (see Backend::HandleTopLevelDecl for forward reference).
-    MarkUsed(PP, KeywordValueMap[RSExportReduceNew::KeyInitializer]);
-    MarkUsed(PP, KeywordValueMap[RSExportReduceNew::KeyAccumulator]);
-    MarkUsed(PP, KeywordValueMap[RSExportReduceNew::KeyCombiner]);
-    MarkUsed(PP, KeywordValueMap[RSExportReduceNew::KeyOutConverter]);
-    MarkUsed(PP, KeywordValueMap[RSExportReduceNew::KeyHalter]);
+    MarkUsed(PP, KeywordValueMap[RSExportReduce::KeyInitializer]);
+    MarkUsed(PP, KeywordValueMap[RSExportReduce::KeyAccumulator]);
+    MarkUsed(PP, KeywordValueMap[RSExportReduce::KeyCombiner]);
+    MarkUsed(PP, KeywordValueMap[RSExportReduce::KeyOutConverter]);
+    MarkUsed(PP, KeywordValueMap[RSExportReduce::KeyHalter]);
 
-    mContext->addExportReduceNew(RSExportReduceNew::Create(mContext, PragmaLocation,
-                                                           KeywordValueMap[RSExportReduceNew::KeyReduce],
-                                                           KeywordValueMap[RSExportReduceNew::KeyInitializer],
-                                                           KeywordValueMap[RSExportReduceNew::KeyAccumulator],
-                                                           KeywordValueMap[RSExportReduceNew::KeyCombiner],
-                                                           KeywordValueMap[RSExportReduceNew::KeyOutConverter],
-                                                           KeywordValueMap[RSExportReduceNew::KeyHalter]));
+    mContext->addExportReduce(RSExportReduce::Create(mContext, PragmaLocation,
+                                                     KeywordValueMap[RSExportReduce::KeyReduce],
+                                                     KeywordValueMap[RSExportReduce::KeyInitializer],
+                                                     KeywordValueMap[RSExportReduce::KeyAccumulator],
+                                                     KeywordValueMap[RSExportReduce::KeyCombiner],
+                                                     KeywordValueMap[RSExportReduce::KeyOutConverter],
+                                                     KeywordValueMap[RSExportReduce::KeyHalter]));
   }
 
  private:
@@ -573,7 +573,7 @@
 
   // For #pragma rs reduce
   PP.AddPragmaHandler(
-      "rs", new RSReducePragmaHandler(RSExportReduceNew::KeyReduce, RsContext));
+      "rs", new RSReducePragmaHandler(RSExportReduce::KeyReduce, RsContext));
 
   // For #pragma rs set_reflect_license
   PP.AddPragmaHandler(
diff --git a/slang_rs_reflection.cpp b/slang_rs_reflection.cpp
index 1303470..a203d74 100644
--- a/slang_rs_reflection.cpp
+++ b/slang_rs_reflection.cpp
@@ -67,7 +67,6 @@
 #define RS_EXPORT_FUNC_INDEX_PREFIX "mExportFuncIdx_"
 #define RS_EXPORT_FOREACH_INDEX_PREFIX "mExportForEachIdx_"
 #define RS_EXPORT_REDUCE_INDEX_PREFIX "mExportReduceIdx_"
-#define RS_EXPORT_REDUCE_NEW_INDEX_PREFIX "mExportReduceNewIdx_"
 
 #define RS_EXPORT_VAR_ALLOCATION_PREFIX "mAlloction_"
 #define RS_EXPORT_VAR_DATA_STORAGE_PREFIX "mData_"
@@ -241,7 +240,7 @@
   return "";
 }
 
-std::string GetReduceNewResultTypeName(const RSExportType *ET) {
+std::string GetReduceResultTypeName(const RSExportType *ET) {
   switch (ET->getClass()) {
     case RSExportType::ExportClassConstantArray: {
       const RSExportConstantArrayType *const CAT = static_cast<const RSExportConstantArrayType *>(ET);
@@ -257,8 +256,8 @@
   }
 }
 
-std::string GetReduceNewResultTypeName(const RSExportReduceNew *ER) {
-  return GetReduceNewResultTypeName(ER->getResultType());
+std::string GetReduceResultTypeName(const RSExportReduce *ER) {
+  return GetReduceResultTypeName(ER->getResultType());
 }
 
 } // end anonymous namespace
@@ -395,7 +394,7 @@
                            mRSSourceFileName.c_str())),
       mEmbedBitcodeInJava(EmbedBitcodeInJava), mNextExportVarSlot(0),
       mNextExportFuncSlot(0), mNextExportForEachSlot(0),
-      mNextExportReduceSlot(0), mNextExportReduceNewSlot(0), mLastError(""),
+      mNextExportReduceSlot(0), mLastError(""),
       mGeneratedFileNames(GeneratedFileNames), mFieldIndex(0) {
   slangAssert(mGeneratedFileNames && "Must supply GeneratedFileNames");
   slangAssert(!mPackageName.empty() && mPackageName != "-");
@@ -435,26 +434,20 @@
     }
   }
 
-  // Reflect exported reduce functions
+  // Reflect exported new-style reduce functions
+  for (const RSExportType *ResultType : mRSContext->getReduceResultTypes(
+           // FilterIn
+           exportableReduce,
+
+           // Compare
+           [](const RSExportType *A, const RSExportType *B)
+           { return GetReduceResultTypeName(A) < GetReduceResultTypeName(B); }))
+    genExportReduceResultType(ResultType);
   for (auto I = mRSContext->export_reduce_begin(),
             E = mRSContext->export_reduce_end();
        I != E; ++I)
     genExportReduce(*I);
 
-  // Reflect exported new-style reduce functions
-  for (const RSExportType *ResultType : mRSContext->getReduceNewResultTypes(
-           // FilterIn
-           exportableReduceNew,
-
-           // Compare
-           [](const RSExportType *A, const RSExportType *B)
-           { return GetReduceNewResultTypeName(A) < GetReduceNewResultTypeName(B); }))
-    genExportReduceNewResultType(ResultType);
-  for (auto I = mRSContext->export_reduce_new_begin(),
-            E = mRSContext->export_reduce_new_end();
-       I != E; ++I)
-    genExportReduceNew(*I);
-
   // Reflect exported functions (invokable)
   for (auto I = mRSContext->export_funcs_begin(),
             E = mRSContext->export_funcs_end();
@@ -480,8 +473,7 @@
                 "rs");
 
   const bool haveReduceExportables =
-    mRSContext->export_reduce_begin()     != mRSContext->export_reduce_end() ||
-    mRSContext->export_reduce_new_begin() != mRSContext->export_reduce_new_end();
+    mRSContext->export_reduce_begin() != mRSContext->export_reduce_end();
 
   if (getEmbedBitcodeInJava()) {
     // Call new single argument Java-only constructor
@@ -566,23 +558,16 @@
             E = mRSContext->export_reduce_end();
        I != E; I++) {
     const RSExportReduce *ER = *I;
-    genTypeInstance(ER->getType());
-  }
-
-  for (auto I = mRSContext->export_reduce_new_begin(),
-            E = mRSContext->export_reduce_new_end();
-       I != E; I++) {
-    const RSExportReduceNew *ER = *I;
 
     const RSExportType *RT = ER->getResultType();
     slangAssert(RT != nullptr);
-    if (!exportableReduceNew(RT))
+    if (!exportableReduce(RT))
       continue;
 
     genTypeInstance(RT);
 
-    const RSExportReduceNew::InTypeVec &InTypes = ER->getAccumulatorInTypes();
-    for (RSExportReduceNew::InTypeIter BI = InTypes.begin(), EI = InTypes.end();
+    const RSExportReduce::InTypeVec &InTypes = ER->getAccumulatorInTypes();
+    for (RSExportReduce::InTypeIter BI = InTypes.begin(), EI = InTypes.end();
          BI != EI; BI++) {
       slangAssert(*BI != nullptr);
       genTypeInstance(*BI);
@@ -844,15 +829,6 @@
   mOut.indent() << "}\n";
 }
 
-void RSReflectionJava::genNullOrEmptyArrayCheck(const std::string &ArrayName) {
-  genNullArrayCheck(ArrayName);
-  mOut.indent() << "// Verify that \"" << ArrayName << "\" is non-empty.\n";
-  mOut.indent() << "if (" << ArrayName << ".length == 0) {\n";
-  mOut.indent() << "    throw new RSIllegalArgumentException(\"Array \\\""
-                << ArrayName << "\\\" is zero-length!\");\n";
-  mOut.indent() << "}\n";
-}
-
 void RSReflectionJava::genVectorLengthCompatibilityCheck(const std::string &ArrayName,
                                                          unsigned VecSize) {
   mOut.indent() << "// Verify that the array length is a multiple of the vector size.\n";
@@ -864,19 +840,6 @@
   mOut.indent() << "}\n";
 }
 
-void RSReflectionJava::gen1DCheck(const std::string &Name) {
-  // TODO: Check that t0.getArrayCount() == 0, when / if this API is
-  // un-hidden.
-  mOut.indent() << "Type t0 = " << Name << ".getType();\n";
-  mOut.indent() << "// Verify " << Name << " is 1D\n";
-  mOut.indent() << "if (t0.getY() != 0  ||\n";
-  mOut.indent() << "    t0.hasFaces()   ||\n";
-  mOut.indent() << "    t0.hasMipmaps()) {\n";
-  mOut.indent() << "    throw new RSIllegalArgumentException(\"Parameter "
-                << Name << " is not 1D!\");\n";
-  mOut.indent() << "}\n\n";
-}
-
 void RSReflectionJava::genExportForEach(const RSExportForEach *EF) {
   if (EF->isDummyRoot()) {
     // Skip reflection for dummy root() kernels. Note that we have to
@@ -1059,213 +1022,10 @@
   endFunction();
 }
 
-void RSReflectionJava::genExportReduce(const RSExportReduce *ER) {
-  // Generate the reflected function index.
-  mOut.indent() << "private final static int " << RS_EXPORT_REDUCE_INDEX_PREFIX
-                << ER->getName() << " = " << getNextExportReduceSlot()
-                << ";\n";
-
-  // Two variants of reduce_* entry points get generated:
-  // Array variant:
-  //   ty' reduce_foo(ty[] input)
-  //   ty' reduce_foo(ty[] input, int x1, int x2)
-  // Allocation variant:
-  //   void reduce_foo(Allocation ain, Allocation aout)
-  //   void reduce_foo(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-
-  const RSExportType *Type = ER->getType();
-  const std::string Name = ER->getName();
-
-  genExportReduceArrayVariant(Type, Name);
-  genExportReduceAllocationVariant(Type, Name);
-}
-
-void RSReflectionJava::genExportReduceAllocationVariant(const RSExportType *Type,
-                                                        const std::string &KernelName) {
-  const std::string FuncName = "reduce_" + KernelName;
-
-  // void reduce_foo(Allocation ain, Allocation aout)
-  startFunction(AM_Public, false, "void", FuncName, 2,
-                "Allocation", "ain",
-                "Allocation", "aout");
-  mOut.indent() << FuncName << "(ain, aout, null);\n";
-  endFunction();
-
-  // void reduce_foo(Allocation ain, Allocation aout, Script.LaunchOptions sc)
-  startFunction(AM_Public, false, "void", FuncName, 3,
-                "Allocation", "ain",
-                "Allocation", "aout",
-                "Script.LaunchOptions", "sc");
-
-  // Type checking
-  genTypeCheck(Type, "ain");
-  genTypeCheck(Type, "aout");
-
-  // Check that the input is 1D
-  gen1DCheck("ain");
-
-  // Call backend
-
-  // Script.reduce has the signature
-  //
-  // protected void
-  // reduce(int slot, Allocation ain, Allocation aout, Script.LaunchOptions sc)
-  mOut.indent() << "reduce("
-                << RS_EXPORT_REDUCE_INDEX_PREFIX << KernelName
-                << ", ain, aout, sc);\n";
-
-  endFunction();
-}
-
-void RSReflectionJava::genExportReduceArrayVariant(const RSExportType *Type,
-                                                   const std::string &KernelName) {
-  // Determine if the array variant can be generated. Some type
-  // classes cannot be reflected in Java.
-  auto Class = Type->getClass();
-  if (Class != RSExportType::ExportClassPrimitive &&
-      Class != RSExportType::ExportClassVector) {
-    return;
-  }
-
-  RSReflectionTypeData TypeData;
-  Type->convertToRTD(&TypeData);
-
-  // Check if the type supports reading back from an Allocation and
-  // returning as a first class Java type. If not, the helper cannot
-  // be generated.
-  if (!TypeData.type->java_name || !TypeData.type->java_array_element_name ||
-      (TypeData.vecSize > 1 && !TypeData.type->rs_java_vector_prefix)) {
-    return;
-  }
-
-  const std::string FuncName = "reduce_" + KernelName;
-  const std::string TypeName = GetTypeName(Type);
-  const std::string ReflectedScalarType = TypeData.type->java_name;
-  const std::string ArrayElementType = TypeData.type->java_array_element_name;
-  const std::string ArrayType = ArrayElementType + "[]";
-  const std::string ElementName = Type->getElementName();
-
-  const uint32_t VecSize = TypeData.vecSize;
-
-  std::string InLength = "in.length";
-  // Adjust the length so that it corresponds to the number of
-  // elements in the allocation.
-  if (VecSize > 1) {
-    InLength += " / " + std::to_string(VecSize);
-  }
-
-  // TypeName reduce_foo(ArrayElementType[] in)
-  startFunction(AM_Public, false, TypeName.c_str(), FuncName, 1,
-                ArrayType.c_str(), "in");
-  genNullOrEmptyArrayCheck("in");
-  if (VecSize > 1) {
-    genVectorLengthCompatibilityCheck("in", VecSize);
-  }
-  mOut.indent() << "return " << FuncName << "(in, 0, "
-                << InLength << ");\n";
-  endFunction();
-
-  // TypeName reduce_foo(ArrayElementType[] in, int x1, int x2)
-
-  startFunction(AM_Public, false, TypeName.c_str(), FuncName, 3,
-                ArrayType.c_str(), "in",
-                "int", "x1",
-                "int", "x2");
-
-  genNullOrEmptyArrayCheck("in");
-  if (VecSize > 1) {
-    genVectorLengthCompatibilityCheck("in", VecSize);
-  }
-  // Check that 0 <= x1 and x1 < x2 and x2 <= InLength
-  mOut.indent() << "// Bounds check passed x1 and x2\n";
-  mOut.indent() << "if (x1 < 0 || x1 >= x2 || x2 > " << InLength << ") {\n";
-  mOut.indent() << "    throw new RSRuntimeException("
-                << "\"Input bounds are invalid!\");\n";
-  mOut.indent() << "}\n";
-
-  // Create a temporary input allocation.
-  mOut.indent() << "Allocation ain = Allocation.createSized("
-                << SAVED_RS_REFERENCE << ", "
-                << RS_ELEM_PREFIX << ElementName << ", "
-                << "x2 - x1);\n";
-  mOut.indent() << "ain.setAutoPadding(true);\n";
-  mOut.indent() << "ain.copy1DRangeFrom(x1, x2 - x1, in);\n";
-
-  // Create a temporary output allocation.
-  mOut.indent() << "Allocation aout = Allocation.createSized("
-                << SAVED_RS_REFERENCE << ", "
-                << RS_ELEM_PREFIX << ElementName << ", "
-                << "1);\n";
-  mOut.indent() << "aout.setAutoPadding(true);\n";
-
-  mOut.indent() << FuncName << "(ain, aout, null);\n";
-
-  if (VecSize > 1) {
-    // An allocation with vector elements is represented as an array
-    // of primitives, so we have to extract the output from the
-    // element array and rebuild the vector.
-    //
-    // E.g. for int2
-    //
-    // Allocation outArray = new int[2];
-    // aout.copyTo(outArray);
-    // int elem0 = outArray[0];
-    // int elem1 = outArray[1];
-    // return new Int2(elem0, elem1);
-
-    mOut.indent() << ArrayType << " outArray = new "
-                  << ArrayElementType << "[" << VecSize << "];\n";
-
-    mOut.indent() << "aout.copy1DRangeTo(0, 1, outArray);\n";
-
-    for (unsigned Elem = 0; Elem < VecSize; ++Elem) {
-      mOut.indent() << ReflectedScalarType << " elem" << Elem << " = ";
-      std::string Index = "outArray[" + std::to_string(Elem) + "]";
-
-      if (ReflectedScalarType == ArrayElementType) {
-        mOut << Index << ";\n";
-      } else {
-        mOut << ZeroExtendValue(Index, ArrayElementType, ReflectedScalarType) << ";\n";
-      }
-    }
-
-    mOut.indent() << "return new " << TypeName << "(";
-    for (unsigned Elem = 0; Elem < VecSize; ++Elem) {
-      if (Elem > 0) mOut << ", ";
-      mOut << "elem" << Elem;
-    }
-    mOut << ");\n";
-  } else {
-    // Scalar handling.
-    //
-    // E.g. for int
-    // Allocation outArray = new int[1];
-    // aout.copyTo(outArray);
-    // return outArray[0];
-    mOut.indent() << ArrayType << " outArray = new " << ArrayElementType
-                  << "[1];\n";
-    mOut.indent() << "aout.copyTo(outArray);\n";
-
-    if (ReflectedScalarType == "boolean") {
-      mOut.indent() << "return outArray[0] != 0;\n";
-    } else if (ReflectedScalarType == ArrayElementType) {
-      mOut.indent() << "return outArray[0];\n";
-    } else {
-      mOut.indent() << "return "
-                    << ZeroExtendValue("outArray[0]",
-                                       ArrayElementType,
-                                       ReflectedScalarType)
-                    << ";\n";
-    }
-  }
-
-  endFunction();
-}
-
 //////////////////////////////////////////////////////////////////////////////////////////////////////
 
 // Reductions with certain legal result types can only be reflected for NDK, not for Java.
-bool RSReflectionJava::exportableReduceNew(const RSExportType *ResultType) {
+bool RSReflectionJava::exportableReduce(const RSExportType *ResultType) {
   const RSExportType *CheckType = ResultType;
   if (ResultType->getClass() == RSExportType::ExportClassConstantArray)
     CheckType = static_cast<const RSExportConstantArrayType *>(ResultType)->getElementType();
@@ -1289,9 +1049,9 @@
 //   MappingComment      = whether or not InputMappingComment should contain type
 //   ER                  = description of the reduction
 //   InIdx               = which input (numbered from zero)
-void getReduceNewInputStrings(std::string &InputParamName, std::string &InputMappingComment,
-                              const std::string &NamePrefix, MappingComment Mapping,
-                              const RSExportReduceNew *ER, size_t InIdx) {
+void getReduceInputStrings(std::string &InputParamName, std::string &InputMappingComment,
+                           const std::string &NamePrefix, MappingComment Mapping,
+                           const RSExportReduce *ER, size_t InIdx) {
   InputParamName = NamePrefix + std::to_string(InIdx+1);
   std::string TypeString;
   if (Mapping == MappingCommentWithCType) {
@@ -1315,13 +1075,13 @@
 
 } // end anonymous namespace
 
-void RSReflectionJava::genExportReduceNew(const RSExportReduceNew *ER) {
-  if (!exportableReduceNew(ER->getResultType()))
+void RSReflectionJava::genExportReduce(const RSExportReduce *ER) {
+  if (!exportableReduce(ER->getResultType()))
     return;
 
   // Generate the reflected function index.
-  mOut.indent() << "private final static int " << RS_EXPORT_REDUCE_NEW_INDEX_PREFIX
-                << ER->getNameReduce() << " = " << getNextExportReduceNewSlot()
+  mOut.indent() << "private final static int " << RS_EXPORT_REDUCE_INDEX_PREFIX
+                << ER->getNameReduce() << " = " << getNextExportReduceSlot()
                 << ";\n";
 
   /****** remember resultSvType generation **********************************************************/
@@ -1333,11 +1093,11 @@
   //   result_<resultSvType> reduce_<name>(Allocation in1, ..., Allocation inN)
   //   result_<resultSvType> reduce_<name>(Allocation in1, ..., Allocation inN, Script.LaunchOptions sc)
 
-  genExportReduceNewArrayVariant(ER);
-  genExportReduceNewAllocationVariant(ER);
+  genExportReduceArrayVariant(ER);
+  genExportReduceAllocationVariant(ER);
 }
 
-void RSReflectionJava::genExportReduceNewArrayVariant(const RSExportReduceNew *ER) {
+void RSReflectionJava::genExportReduceArrayVariant(const RSExportReduce *ER) {
   // Analysis of result type.  Returns early if result type is not
   // suitable for array method reflection.
   const RSExportType *const ResultType = ER->getResultType();
@@ -1369,7 +1129,7 @@
     slangAssert(false);
     return;
   }
-  const std::string ResultTypeName = GetReduceNewResultTypeName(ER);
+  const std::string ResultTypeName = GetReduceResultTypeName(ER);
 
   // Analysis of inputs.  Returns early if some input type is not
   // suitable for array method reflection.
@@ -1414,7 +1174,7 @@
     }
 
     std::string InputParamName, InputComment;
-    getReduceNewInputStrings(InputParamName, InputComment, "in", MappingCommentWithoutType, ER, InIdx);
+    getReduceInputStrings(InputParamName, InputComment, "in", MappingCommentWithoutType, ER, InIdx);
     if (InTypeData.vecSize > 1)
       InputComment += (", flattened " + std::to_string(InTypeData.vecSize) + "-vectors");
     InComments.push_back(InputComment);
@@ -1490,7 +1250,7 @@
   endFunction();
 }
 
-void RSReflectionJava::genExportReduceNewAllocationVariant(const RSExportReduceNew *ER) {
+void RSReflectionJava::genExportReduceAllocationVariant(const RSExportReduce *ER) {
   const auto &Ins = ER->getAccumulatorIns();
   const auto &InTypes = ER->getAccumulatorInTypes();
   const RSExportType *ResultType = ER->getResultType();
@@ -1499,13 +1259,13 @@
   ArgTy Args;
   for (size_t InIdx = 0, InEnd = Ins.size(); InIdx < InEnd; ++InIdx) {
     std::string InputParamName, InputComment;
-    getReduceNewInputStrings(InputParamName, InputComment, "ain", MappingCommentWithCType, ER, InIdx);
+    getReduceInputStrings(InputParamName, InputComment, "ain", MappingCommentWithCType, ER, InIdx);
     InComments.push_back(InputComment);
     Args.push_back(std::make_pair("Allocation", InputParamName));
   }
 
   const std::string MethodName = "reduce_" + ER->getNameReduce();
-  const std::string ResultTypeName = GetReduceNewResultTypeName(ER);
+  const std::string ResultTypeName = GetReduceResultTypeName(ER);
 
   // result_<resultSvType> reduce_<name>(Allocation in1, ..., Allocation inN)
 
@@ -1554,7 +1314,7 @@
                 << OutputAllocLength << ");\n";
   mOut.indent() << OutputAllocName << ".setAutoPadding(true);\n";
   // Call the underlying reduce entry point
-  mOut.indent() << "reduce(" << RS_EXPORT_REDUCE_NEW_INDEX_PREFIX << ER->getNameReduce()
+  mOut.indent() << "reduce(" << RS_EXPORT_REDUCE_INDEX_PREFIX << ER->getNameReduce()
                 << ", new Allocation[]{" << In0Name;
   for (size_t InIdx = 1, InEnd = Ins.size(); InIdx < InEnd; ++InIdx)
     mOut << ", " << Args[InIdx].second;
@@ -1581,10 +1341,10 @@
 // ReflectedScalarTypeName = type of mapped value
 // InVal                   = input value that must be mapped
 //
-std::string genReduceNewResultMapping(MapFromAllocation MFA,
-                                      const std::string &ArrayElementTypeName,
-                                      const std::string &ReflectedScalarTypeName,
-                                      const char *InVal) {
+std::string genReduceResultMapping(MapFromAllocation MFA,
+                                   const std::string &ArrayElementTypeName,
+                                   const std::string &ReflectedScalarTypeName,
+                                   const char *InVal) {
   switch (MFA) {
     default:
       slangAssert(!"Unknown MapFromAllocation");
@@ -1611,12 +1371,12 @@
 // InArray                 = input array containing vector elements
 // InIdx                   = index of first vector element within InArray (or nullptr, if 0)
 //
-std::string genReduceNewResultVectorMapping(MapFromAllocation MFA,
-                                            const std::string &ArrayElementTypeName,
-                                            const std::string &ReflectedScalarTypeName,
-                                            const std::string &VectorTypeName,
-                                            unsigned VectorElementCount,
-                                            const char *InArray, const char *InIdx = nullptr) {
+std::string genReduceResultVectorMapping(MapFromAllocation MFA,
+                                         const std::string &ArrayElementTypeName,
+                                         const std::string &ReflectedScalarTypeName,
+                                         const std::string &VectorTypeName,
+                                         unsigned VectorElementCount,
+                                         const char *InArray, const char *InIdx = nullptr) {
   std::string result = "new " + VectorTypeName + "(";
   for (unsigned VectorElementIdx = 0; VectorElementIdx < VectorElementCount; ++VectorElementIdx) {
     if (VectorElementIdx)
@@ -1627,25 +1387,25 @@
       ArrayElementName += std::string(InIdx) + "+";
     ArrayElementName += std::to_string(VectorElementIdx) + "]";
 
-    result += genReduceNewResultMapping(MFA, ArrayElementTypeName, ReflectedScalarTypeName,
-                                        ArrayElementName.c_str());
+    result += genReduceResultMapping(MFA, ArrayElementTypeName, ReflectedScalarTypeName,
+                                     ArrayElementName.c_str());
   }
   result += ")";
   return result;
 }
 
-void genReduceNewResultRangeCheck(GeneratedFile &Out, const char *InVal) {
+void genReduceResultRangeCheck(GeneratedFile &Out, const char *InVal) {
   Out.indent() << "if (" << InVal << " < 0)\n";
   Out.indent() << "    throw new RSRuntimeException(\"Result is not representible in Java\");\n";
 }
 
 } // end anonymous namespace
 
-void RSReflectionJava::genExportReduceNewResultType(const RSExportType *ResultType) {
-  if (!exportableReduceNew(ResultType))
+void RSReflectionJava::genExportReduceResultType(const RSExportType *ResultType) {
+  if (!exportableReduce(ResultType))
     return;
 
-  const std::string ClassName = GetReduceNewResultTypeName(ResultType);
+  const std::string ClassName = GetReduceResultTypeName(ResultType);
   const std::string GetMethodReturnTypeName = GetTypeName(ResultType);
   mOut.indent() << "// To obtain the result, invoke get(), which blocks\n";
   mOut.indent() << "// until the asynchronously-launched operation has completed.\n";
@@ -1685,10 +1445,10 @@
     if (TypeData.arraySize == 0) { // result type is non-array non-vector
       // mResult = outArray[0]; // but there are several special cases
       if (MFA == MapFromAllocationPositive)
-        genReduceNewResultRangeCheck(mOut, "outArray[0]");
+        genReduceResultRangeCheck(mOut, "outArray[0]");
       mOut.indent() << "mResult = "
-                    << genReduceNewResultMapping(MFA, ArrayElementTypeName, ReflectedScalarTypeName,
-                                                 "outArray[0]")
+                    << genReduceResultMapping(MFA, ArrayElementTypeName, ReflectedScalarTypeName,
+                                              "outArray[0]")
                     << ";\n";
     } else { // result type is array of non-vector
       if (MFA == MapFromAllocationTrivial) {
@@ -1707,10 +1467,10 @@
         mOut.indent() << "for (int Idx = 0; Idx < " << TypeData.arraySize << "; ++Idx)";
         mOut.startBlock();
         if (MFA == MapFromAllocationPositive) {
-          genReduceNewResultRangeCheck(mOut, "outArray[Idx]");
+          genReduceResultRangeCheck(mOut, "outArray[Idx]");
         } else {
           mOut.indent() << "result[Idx] = "
-                        << genReduceNewResultMapping(MFA, ArrayElementTypeName, ReflectedScalarTypeName,
+                        << genReduceResultMapping(MFA, ArrayElementTypeName, ReflectedScalarTypeName,
                                                      "outArray[Idx]")
                         << ";\n";
         }
@@ -1729,16 +1489,16 @@
     if (MFA == MapFromAllocationPositive) {
       mOut.indent() << "for (int Idx = 0; Idx < " << OutArrayElementCount << "; ++Idx)";
       mOut.startBlock();
-      genReduceNewResultRangeCheck(mOut, "outArray[Idx]");
+      genReduceResultRangeCheck(mOut, "outArray[Idx]");
       mOut.endBlock();
     }
     if (TypeData.arraySize == 0) { // result type is vector
       // mResult = new <ResultType>(outArray[0], outArray[1] ...); // but there are several special cases
       mOut.indent() << "mResult = "
-                    << genReduceNewResultVectorMapping(MFA,
-                                                       ArrayElementTypeName, ReflectedScalarTypeName,
-                                                       GetTypeName(ResultType), VectorElementCount,
-                                                       "outArray")
+                    << genReduceResultVectorMapping(MFA,
+                                                    ArrayElementTypeName, ReflectedScalarTypeName,
+                                                    GetTypeName(ResultType), VectorElementCount,
+                                                    "outArray")
                     << ";\n";
     } else { // result type is array of vector
       // <ResultType> result = new <UnbracketedResultType>[<ArrayElementCount>];
@@ -1752,10 +1512,10 @@
       mOut.indent() << "for (int Idx = 0; Idx < " << TypeData.arraySize << "; ++Idx)";
       mOut.startBlock();
       mOut.indent() << "result[Idx] = "
-                    << genReduceNewResultVectorMapping(MFA,
-                                                       ArrayElementTypeName, ReflectedScalarTypeName,
-                                                       UnbracketedResultTypeName, VectorElementCount,
-                                                       "outArray", (std::to_string(VectorElementCount) + "*Idx").c_str())
+                    << genReduceResultVectorMapping(MFA,
+                                                    ArrayElementTypeName, ReflectedScalarTypeName,
+                                                    UnbracketedResultTypeName, VectorElementCount,
+                                                    "outArray", (std::to_string(VectorElementCount) + "*Idx").c_str())
                     << ";\n";
       mOut.endBlock();
       mOut.indent() << "mResult = result;\n";
diff --git a/slang_rs_reflection.h b/slang_rs_reflection.h
index 9a5078c..c95e203 100644
--- a/slang_rs_reflection.h
+++ b/slang_rs_reflection.h
@@ -82,7 +82,6 @@
   int mNextExportFuncSlot;
   int mNextExportForEachSlot;
   int mNextExportReduceSlot;
-  int mNextExportReduceNewSlot;
 
   GeneratedFile mOut;
 
@@ -104,7 +103,6 @@
     mNextExportFuncSlot = 0;
     mNextExportForEachSlot = 0;
     mNextExportReduceSlot = 0;
-    mNextExportReduceNewSlot = 0;
   }
 
 public:
@@ -132,7 +130,6 @@
   inline int getNextExportFuncSlot() { return mNextExportFuncSlot++; }
   inline int getNextExportForEachSlot() { return mNextExportForEachSlot++; }
   inline int getNextExportReduceSlot() { return mNextExportReduceSlot++; }
-  inline int getNextExportReduceNewSlot() { return mNextExportReduceNewSlot++; }
 
   bool startClass(AccessModifier AM, bool IsStatic,
                   const std::string &ClassName, const char *SuperClassName,
@@ -175,7 +172,7 @@
   inline void clearFieldIndexMap() { mFieldIndexMap.clear(); }
 
 private:
-  static bool exportableReduceNew(const RSExportType *ResultType);
+  static bool exportableReduce(const RSExportType *ResultType);
 
   bool genScriptClass(const std::string &ClassName, std::string &ErrorMsg);
   void genScriptClassConstructor();
@@ -206,15 +203,9 @@
   void genExportForEach(const RSExportForEach *EF);
 
   void genExportReduce(const RSExportReduce *ER);
-  void genExportReduceAllocationVariant(const RSExportType *Type,
-                                        const std::string &KernelName);
-  void genExportReduceArrayVariant(const RSExportType *Type,
-                                   const std::string &KernelName);
-
-  void genExportReduceNew(const RSExportReduceNew *ER);
-  void genExportReduceNewAllocationVariant(const RSExportReduceNew *ER);
-  void genExportReduceNewArrayVariant(const RSExportReduceNew *ER);
-  void genExportReduceNewResultType(const RSExportType *ResultType);
+  void genExportReduceAllocationVariant(const RSExportReduce *ER);
+  void genExportReduceArrayVariant(const RSExportReduce *ER);
+  void genExportReduceResultType(const RSExportType *ResultType);
 
   void genTypeCheck(const RSExportType *ET, const char *VarName);
 
@@ -255,8 +246,6 @@
   void genPairwiseDimCheck(std::string name0, std::string name1);
   void genVectorLengthCompatibilityCheck(const std::string &ArrayName, unsigned VecSize);
   void genNullArrayCheck(const std::string &ArrayName);
-  void genNullOrEmptyArrayCheck(const std::string &ArrayName);
-  void gen1DCheck(const std::string &Name);
 
 public:
   RSReflectionJava(const RSContext *Context,
diff --git a/slang_rs_reflection_cpp.cpp b/slang_rs_reflection_cpp.cpp
index 7bf9e3b..60fb6fa 100644
--- a/slang_rs_reflection_cpp.cpp
+++ b/slang_rs_reflection_cpp.cpp
@@ -31,7 +31,6 @@
 #include "slang_rs_export_var.h"
 #include "slang_rs_export_foreach.h"
 #include "slang_rs_export_func.h"
-#include "slang_rs_export_reduce.h"
 #include "slang_rs_reflect_utils.h"
 #include "slang_version.h"
 
@@ -45,7 +44,6 @@
 const char kRsElemPrefix[] = "__rs_elem_";
 // The name of the Allocation type that is reflected in C++
 const char kAllocationSp[] = "android::RSC::sp<android::RSC::Allocation>";
-const char kConstRsScriptCall[] = "const RsScriptCall";
 
 static const char *GetMatrixTypeName(const RSExportMatrixType *EMT) {
   static const char *MatrixTypeCNameMap[] = {
@@ -118,23 +116,13 @@
   return "";
 }
 
-static bool canExportReduceArrayVariant(const RSExportType *Type) {
-  // FIXME: No half types available for C++ reflection yet
-  if (Type->getElementName().find("F16") == 0) {
-    return false;
-  }
-  return Type->getClass() == RSExportType::ExportClassPrimitive ||
-    Type->getClass() == RSExportType::ExportClassVector;
-}
-
 RSReflectionCpp::RSReflectionCpp(const RSContext *Context,
                                  const string &OutputDirectory,
                                  const string &RSSourceFileName,
                                  const string &BitCodeFileName)
     : mRSContext(Context), mRSSourceFilePath(RSSourceFileName),
       mBitCodeFilePath(BitCodeFileName), mOutputDirectory(OutputDirectory),
-      mNextExportVarSlot(0), mNextExportFuncSlot(0), mNextExportForEachSlot(0),
-      mNextExportReduceSlot(0) {
+      mNextExportVarSlot(0), mNextExportFuncSlot(0), mNextExportForEachSlot(0) {
   mCleanedRSFileName = RootNameFromRSFileName(mRSSourceFilePath);
   mClassName = "ScriptC_" + mCleanedRSFileName;
 }
@@ -174,7 +162,6 @@
 
   genFieldsToStoreExportVariableValues();
   genTypeInstancesUsedInForEach();
-  genTypeInstancesUsedInReduce();
   genFieldsForAllocationTypeVerification();
 
   mOut.decreaseIndent();
@@ -187,7 +174,6 @@
 
   genExportVariablesGetterAndSetter();
   genForEachDeclarations();
-  genReduceDeclarations();
   genExportFunctionDeclarations();
 
   mOut.endBlock(true);
@@ -216,15 +202,6 @@
   }
 }
 
-// Ensure that the type of the reduce kernel is reflected.
-void RSReflectionCpp::genTypeInstancesUsedInReduce() {
-  for (auto I = mRSContext->export_reduce_begin(),
-            E = mRSContext->export_reduce_end();
-       I != E; ++I) {
-    genTypeInstance((*I)->getType());
-  }
-}
-
 void RSReflectionCpp::genFieldsForAllocationTypeVerification() {
   bool CommentAdded = false;
   for (std::set<std::string>::iterator I = mTypesToCheck.begin(),
@@ -317,21 +294,6 @@
   }
 }
 
-void RSReflectionCpp::genReduceDeclarations() {
-  bool CommentAdded = false;
-  for (auto I = mRSContext->export_reduce_begin(),
-            E = mRSContext->export_reduce_end(); I != E; I++) {
-    if (!CommentAdded) {
-      mOut.comment("For each reduce kernel of the script, there is an entry "
-                   "point to call the reduce kernel.");
-      CommentAdded = true;
-    }
-
-    makeReduceSignatureAllocationVariant(false, *I);
-    makeReduceSignatureArrayVariant(false, *I);
-  }
-}
-
 void RSReflectionCpp::genExportFunctionDeclarations() {
   for (RSContext::const_export_func_iterator
            I = mRSContext->export_funcs_begin(),
@@ -426,103 +388,6 @@
   }
 }
 
-// reduce_* implementation
-void RSReflectionCpp::genExportReduceBodies() {
-  for (auto I = mRSContext->export_reduce_begin(),
-            E = mRSContext->export_reduce_end();
-       I != E; ++I) {
-    const RSExportReduce &Reduce = **I;
-    const RSExportType *Type = Reduce.getType();
-
-    // Allocation variant
-    //
-    // void reduce_foo(sp<Allocation> ain, sp<Allocation> aout,
-    //                 const RsScriptCall *sc);
-    makeReduceSignatureAllocationVariant(true, &Reduce);
-    mOut.startBlock();
-
-    // Type check
-    genTypeCheck(Type, "ain");
-    genTypeCheck(Type, "aout");
-
-    // Dimension check
-    gen1DCheck("ain");
-
-    const uint32_t Slot = getNextExportReduceSlot();
-
-    // Call into RenderScript.
-    mOut.indent() << "reduce(" << Slot << ", "
-                  << "ain, aout, sc);\n";
-    mOut.endBlock();
-
-    if (!canExportReduceArrayVariant(Type)) {
-      continue;
-    }
-
-    // Array variant
-    //
-    // Ty reduce_foo(const ElemTy[] in, uint32_t x1, uint32_t x2, uint32_t inLen);
-    // "Ty" could be different from "ElemTy" in the case of vectors.
-    makeReduceSignatureArrayVariant(true, &Reduce);
-    mOut.startBlock();
-
-    const std::string ReturnType = GetTypeName(Type);
-    const std::string DefaultReturnValue = ReturnType + "()";
-
-    genNullOrEmptyArrayCheck("in", "inLen", DefaultReturnValue);
-
-    RSReflectionTypeData TypeData;
-    Type->convertToRTD(&TypeData);
-    const uint32_t VecSize = TypeData.vecSize;
-    std::string InLength = "inLen";
-    // Adjust the length so that it corresponds to the number of elements in the allocation.
-    if (VecSize > 1) {
-      InLength += " / " + std::to_string(VecSize);
-    }
-    genVectorLengthCompatibilityCheck("inLen", VecSize, DefaultReturnValue);
-
-    mOut.indent() << "if (x1 >= x2 || x2 > " << InLength << ")";
-    mOut.startBlock();
-    mOut.indent() << "mRS->throwError(RS_ERROR_RUNTIME_ERROR, "
-                  << "\"Input bounds are invalid\");\n";
-    mOut.indent() << "return " << DefaultReturnValue << ";\n";
-    mOut.endBlock();
-
-    mOut.indent() << kAllocationSp
-                  << " ain = android::RSC::Allocation::createSized(mRS, "
-                  << kRsElemPrefix << Type->getElementName() << ", "
-                  << "x2 - x1);\n";
-
-    mOut.indent() << "ain->setAutoPadding(true);\n";
-
-    mOut.indent() << kAllocationSp
-                  << " aout = android::RSC::Allocation::createSized(mRS, "
-                  << kRsElemPrefix << Type->getElementName() << ", 1);\n";
-
-    mOut.indent() << "aout->setAutoPadding(true);\n";
-
-    const std::string ArrayElementType = TypeData.type->c_name;
-
-    std::string StartOffset = "x1";
-    if (VecSize > 1) {
-      StartOffset += " * " + std::to_string(VecSize);
-    }
-    mOut.indent() << "ain->copy1DRangeFrom(0, x2 - x1, &in[" << StartOffset << "]);\n";
-    mOut.indent() << "reduce_" << Reduce.getName() << "(ain, aout);\n";
-    mOut.indent() << ArrayElementType << " outArray[" << VecSize << "];\n";
-
-    mOut.indent() << "aout->copy1DRangeTo(0, 1, &outArray[0]);\n";
-
-    mOut.indent() << "return " << ReturnType << "(";
-    for (uint32_t VecElem = 0; VecElem < VecSize; ++VecElem) {
-      if (VecElem > 0) mOut << ", ";
-      mOut << "outArray[" << VecElem << "]";
-    }
-    mOut << ");\n";
-    mOut.endBlock();
-  }
-}
-
 // invoke_* implementation
 void RSReflectionCpp::genExportFunctionBodies() {
   uint32_t slot = 0;
@@ -629,7 +494,6 @@
 
   // Function bodies
   genExportForEachBodies();
-  genExportReduceBodies();
   genExportFunctionBodies();
 
   mOut.closeFile();
@@ -864,131 +728,6 @@
   }
 }
 
-void RSReflectionCpp::makeReduceSignatureAllocationVariant(bool IsDefinition,
-                                                           const RSExportReduce *ER) {
-  // void reduce_foo(sp<Allocation> ain, sp<Allocation> aout,
-  //                 const RsScriptCall *sc = nullptr);
-  std::string FunctionStart = "void ";
-  if (IsDefinition) {
-    FunctionStart += mClassName +  "::";
-  }
-  FunctionStart += "reduce_" + ER->getName() + "(";
-
-  ArgumentList Arguments{
-    Argument(kAllocationSp, "ain"),
-    Argument(kAllocationSp, "aout"),
-    Argument(kConstRsScriptCall, "*sc", IsDefinition ? "" : "nullptr")
-  };
-
-  mOut.indent() << FunctionStart;
-
-  genArguments(Arguments, FunctionStart.length());
-
-  if (IsDefinition) {
-    mOut << ")";
-  } else {
-    mOut << ");\n\n";
-  }
-}
-
-void RSReflectionCpp::makeReduceSignatureArrayVariant(bool IsDefinition,
-                                                      const RSExportReduce *ER) {
-  // Ty reduce_foo(const ElemTy[] in, uint32_t x1, uint32_t x2, size_t inLen);
-  // "Ty" could be different from "ElemTy" in the case of vectors.
-
-  const RSExportType *Type = ER->getType();
-  if (!canExportReduceArrayVariant(Type)) {
-      return;
-  }
-
-  RSReflectionTypeData TypeData;
-  Type->convertToRTD(&TypeData);
-
-  const std::string ReturnType = GetTypeName(Type);
-  std::string FunctionStart = ReturnType + " ";
-  if (IsDefinition) {
-    FunctionStart += mClassName +  "::";
-  }
-  FunctionStart += "reduce_" + ER->getName() + "(";
-
-  const std::string ArrayElementType = TypeData.type->c_name;
-
-  ArgumentList Arguments{
-    Argument("const " + ArrayElementType, "in[]"),
-    Argument("uint32_t", "x1"),
-    Argument("uint32_t", "x2"),
-    Argument("size_t", "inLen")
-  };
-
-  mOut.indent() << FunctionStart;
-  genArguments(Arguments, FunctionStart.size());
-
-  if (IsDefinition) {
-    mOut << ")";
-  } else {
-    mOut << ");\n\n";
-  }
-
-  if (!IsDefinition) {
-    // We reflect three more variants in the header. First, there is
-    //
-    //   Ty reduce_foo(const ElemTy[] in, size_t inLen);
-    //
-    // Note the inLen is the number of primitive elements in the array, as opposed to the
-    // bounds whose units are allocation elements. The other variants use templates to infer
-    // the array length statically:
-    //
-    //   template<size_t inLen> Ty reduce_foo(const ElemTy (&in)[inLen]);
-    //   template<size_t inLen> Ty reduce_foo(const ElemTy (&in)[inLen], uint32_t x1, uint32_t x2);
-
-    // Generate inLen variant
-    const uint32_t VecSize = TypeData.vecSize;
-    std::string X2 = "inLen";
-
-    const std::string FunctionName = ER->getName();
-
-    auto ForwardReduce = [this, &FunctionName](const std::string &x1,
-                                               const std::string &x2,
-                                               const std::string &inLen) {
-      this->mOut.indent() << "    return reduce_" << FunctionName << "(in, "
-                          << x1 << ", " << x2 << ", " << inLen << ");\n";
-      this->mOut.indent() << "}\n\n";
-    };
-
-    const std::string DefaultValue = ReturnType + "()";
-
-    ArgumentList InLenVariantArguments{
-      Argument("const " + ArrayElementType, "in[]"), Argument("size_t", "inLen")
-    };
-    mOut.indent() << FunctionStart;
-    genArguments(InLenVariantArguments, FunctionStart.size());
-    mOut << ") {\n";
-    if (VecSize > 1) {
-      genVectorLengthCompatibilityCheck("inLen", VecSize, DefaultValue, 2);
-      X2 += " / " + std::to_string(VecSize);
-    }
-    ForwardReduce("0", X2, "inLen");
-
-    // Generate template variants
-    ArgumentList TemplateVariantArguments{
-      Argument("const " + ArrayElementType, "(&in)[inLen]")
-    };
-
-    mOut.indent() << "template<size_t inLen>\n";
-    mOut.indent() << FunctionStart;
-    genArguments(TemplateVariantArguments, FunctionStart.size());
-    mOut << ") {\n        return reduce_" << FunctionName << "(in, inLen);\n    }\n\n";
-
-    TemplateVariantArguments.push_back(Argument("uint32_t", "x1"));
-    TemplateVariantArguments.push_back(Argument("uint32_t", "x2"));
-    mOut.indent() << "template<size_t inLen>\n";
-    mOut.indent() << FunctionStart;
-    genArguments(TemplateVariantArguments, FunctionStart.size());
-    mOut << ") {\n";
-    ForwardReduce("x1", "x2", "inLen");
-  }
-}
-
 void RSReflectionCpp::genArguments(const ArgumentList &Arguments, int Offset) {
   bool FirstArg = true;
 
@@ -1146,60 +885,6 @@
   }
 }
 
-// Ensure that the input is 1 dimensional.
-void RSReflectionCpp::gen1DCheck(const std::string &VarName) {
-  mOut.indent() << "// check that " << VarName << " is 1d\n";
-  mOut.indent() << "sp<const Type> t0 = " << VarName << "->getType();\n";
-  mOut.indent() << "if (t0->getY() != 0 ||\n";
-  mOut.indent() << "    t0->hasFaces()  ||\n";
-  mOut.indent() << "    t0->hasMipmaps())";
-  mOut.startBlock();
-  mOut.indent() << "mRS->throwError(RS_ERROR_INVALID_PARAMETER, "
-                << "\"" << VarName << " is not 1D!\");\n";
-  mOut.indent() << "return;\n";
-  mOut.endBlock();
-}
-
-// Generates code to ensure that the supplied array length is a multiple of the vector size.
-void RSReflectionCpp::genVectorLengthCompatibilityCheck(const std::string &Length,
-                                                        unsigned VecSize,
-                                                        const std::string &ValueToReturn,
-                                                        unsigned IndentLevels) {
-  auto Indenter = [this, IndentLevels]() -> std::ofstream& {
-    GeneratedFile &Out = this->mOut;
-    for (unsigned Level = 0; Level < IndentLevels; ++Level) {
-      Out.indent();
-    }
-    return Out;
-  };
-
-  Indenter() << "// Verify that the array length is a multiple of the vector size.\n";
-  Indenter() << "if (" << Length << " % " << std::to_string(VecSize) << " != 0) {\n";
-  Indenter() << "    mRS->throwError(RS_ERROR_INVALID_PARAMETER, "
-             << "\"Input array length is not a multiple of "
-             << std::to_string(VecSize) << "\");\n";
-  Indenter() << "    return " << ValueToReturn << ";\n";
-  Indenter() << "}\n\n";
-}
-
-// Generates code to ensure that the supplied array is non-null and nonzero in length.
-void RSReflectionCpp::genNullOrEmptyArrayCheck(const std::string &ArrayName,
-                                               const std::string &Length,
-                                               const std::string &ValueToReturn) {
-  mOut.indent() << "// Verify that the array is non-null and non-empty.\n";
-  mOut.indent() << "if (" << ArrayName << " == nullptr) {\n";
-  mOut.indent() << "    mRS->throwError(RS_ERROR_INVALID_PARAMETER, "
-                << "\"Input array is null\");\n";
-  mOut.indent() << "    return " << ValueToReturn << ";\n";
-  mOut.indent() << "}\n\n";
-
-  mOut.indent() << "if (" << Length << " == 0) {\n";
-  mOut.indent() << "    mRS->throwError(RS_ERROR_INVALID_PARAMETER, "
-                << "\"Input array is zero-length\");\n";
-  mOut.indent() << "    return " << ValueToReturn << ";\n";
-  mOut.indent() << "}\n\n";
-}
-
 void RSReflectionCpp::genTypeInstanceFromPointer(const RSExportType *ET) {
   if (ET->getClass() == RSExportType::ExportClassPointer) {
     // For pointer parameters to original forEach kernels.
diff --git a/slang_rs_reflection_cpp.h b/slang_rs_reflection_cpp.h
index 9c55ad8..c613d79 100644
--- a/slang_rs_reflection_cpp.h
+++ b/slang_rs_reflection_cpp.h
@@ -64,7 +64,6 @@
   unsigned int mNextExportVarSlot;
   unsigned int mNextExportFuncSlot;
   unsigned int mNextExportForEachSlot;
-  unsigned int mNextExportReduceSlot;
 
   // Generated RS Elements for type-checking code.
   std::set<std::string> mTypesToCheck;
@@ -73,7 +72,6 @@
     mNextExportVarSlot = 0;
     mNextExportFuncSlot = 0;
     mNextExportForEachSlot = 0;
-    mNextExportReduceSlot = 0;
     mTypesToCheck.clear();
   }
 
@@ -92,22 +90,15 @@
     return mNextExportForEachSlot++;
   }
 
-  inline unsigned int getNextExportReduceSlot() {
-    return mNextExportReduceSlot++;
-  }
-
   bool writeHeaderFile();
   bool writeImplementationFile();
 
   // Write out signatures both in the header and implementation.
   void makeFunctionSignature(bool isDefinition, const RSExportFunc *ef);
-  void makeReduceSignatureAllocationVariant(bool isDefinition, const RSExportReduce *er);
-  void makeReduceSignatureArrayVariant(bool isDefinition, const RSExportReduce *er);
 
   bool genEncodedBitCode();
   void genFieldsToStoreExportVariableValues();
   void genTypeInstancesUsedInForEach();
-  void genTypeInstancesUsedInReduce();
   void genFieldsForAllocationTypeVerification();
 
   // Write out the code for the getters and setters.
@@ -115,12 +106,10 @@
 
   // Write out the code for the declaration of the kernel entry points.
   void genForEachDeclarations();
-  void genReduceDeclarations();
   void genExportFunctionDeclarations();
 
   // Write out code for the definitions of the kernel entry points.
   void genExportForEachBodies();
-  void genExportReduceBodies();
   void genExportFunctionBodies();
 
   bool startScriptHeader();
@@ -156,19 +145,6 @@
   // Generate a runtime type check for VarName.
   void genTypeCheck(const RSExportType *ET, const char *VarName);
 
-  // Generate a runtime check that VarName is 1-dimensional.
-  void gen1DCheck(const std::string &VarName);
-
-  // Generate a runtime check that VarName is non-null.
-  void genNullOrEmptyArrayCheck(const std::string &ArrayName, const std::string &Length,
-                                const std::string &ValueToReturn);
-
-  // Generate a runtime check that ArrayName's length is a multiple of
-  // a vector size.
-  void genVectorLengthCompatibilityCheck(const std::string &Length, unsigned VecSize,
-                                         const std::string &ValueToReturn,
-                                         unsigned IndentLevels = 1);
-
   // Generate a type instance for a given type.
   void genTypeInstanceFromPointer(const RSExportType *ET);
   void genTypeInstance(const RSExportType *ET);
diff --git a/tests/F_kernel_badattr/kernel_badattr.rs b/tests/F_kernel_badattr/kernel_badattr.rs
index a719bd9..ef43d44 100644
--- a/tests/F_kernel_badattr/kernel_badattr.rs
+++ b/tests/F_kernel_badattr/kernel_badattr.rs
@@ -12,3 +12,7 @@
 int __attribute__((kernel("reduce", 1))) kernel3(int arg) {
   return 0;
 }
+
+int __attribute__((kernel("reduce"))) kernel4(int arg) {
+  return 0;
+}
diff --git a/tests/F_kernel_badattr/stderr.txt.expect b/tests/F_kernel_badattr/stderr.txt.expect
index 6cd1c74..0d206ad 100644
--- a/tests/F_kernel_badattr/stderr.txt.expect
+++ b/tests/F_kernel_badattr/stderr.txt.expect
@@ -1,3 +1,4 @@
 kernel_badattr.rs:8:27: error: 'kernel' attribute requires a string
 kernel_badattr.rs:12:20: error: 'kernel' attribute takes no more than 1 argument
 kernel_badattr.rs:4:46: error: Unknown kernel attribute argument 'unimplemented' in declaration of function 'kernel'
+kernel_badattr.rs:16:39: error: Unknown kernel attribute argument 'reduce' in declaration of function 'kernel4'
diff --git a/tests/F_reduce_api_unsupported/reduce_api_unsupported.rs b/tests/F_reduce_api_unsupported/reduce_api_unsupported.rs
deleted file mode 100644
index 8dfedfb..0000000
--- a/tests/F_reduce_api_unsupported/reduce_api_unsupported.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// -target-api 23
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-typedef struct foo {
-   int x;
-} foo;
-
-foo __attribute__((kernel("reduce"))) addFoo(foo a, foo b) {
-  foo result = { a.x + b.x };
-  return result;
-}
diff --git a/tests/F_reduce_api_unsupported/stderr.txt.expect b/tests/F_reduce_api_unsupported/stderr.txt.expect
deleted file mode 100644
index 0e389a4..0000000
--- a/tests/F_reduce_api_unsupported/stderr.txt.expect
+++ /dev/null
@@ -1 +0,0 @@
-reduce_api_unsupported.rs:9:39: error: Reduce-style kernel addFoo() unsupported in SDK level 23
diff --git a/tests/F_reduce_api_unsupported/stdout.txt.expect b/tests/F_reduce_api_unsupported/stdout.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/F_reduce_api_unsupported/stdout.txt.expect
+++ /dev/null
diff --git a/tests/F_reduce_non_binary/reduce_non_binary.rs b/tests/F_reduce_non_binary/reduce_non_binary.rs
deleted file mode 100644
index 77fdaa1..0000000
--- a/tests/F_reduce_non_binary/reduce_non_binary.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-// -target-api 0
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-/* 0 arguments */
-
-int __attribute__((kernel("reduce"))) kernel0(void) {
-  return 0;
-}
-
-/* 1 argument */
-
-int __attribute__((kernel("reduce"))) kernel1(int arg1) {
-  return 0;
-}
-
-/* 3 arguments */
-
-int __attribute__((kernel("reduce"))) kernel3(int arg1, int arg2, int arg3) {
-  return 0;
-}
-
-/* 4 arguments */
-
-int __attribute__((kernel("reduce"))) kernel4(int arg1, int arg2, int arg3, int arg4) {
-  return 0;
-}
diff --git a/tests/F_reduce_non_binary/stderr.txt.expect b/tests/F_reduce_non_binary/stderr.txt.expect
deleted file mode 100644
index 1463a21..0000000
--- a/tests/F_reduce_non_binary/stderr.txt.expect
+++ /dev/null
@@ -1,4 +0,0 @@
-reduce_non_binary.rs:7:39: error: Reduce-style kernel kernel0() must take 2 parameters (found 0).
-reduce_non_binary.rs:13:39: error: Reduce-style kernel kernel1() must take 2 parameters (found 1).
-reduce_non_binary.rs:19:39: error: Reduce-style kernel kernel3() must take 2 parameters (found 3).
-reduce_non_binary.rs:25:39: error: Reduce-style kernel kernel4() must take 2 parameters (found 4).
diff --git a/tests/F_reduce_non_binary/stdout.txt.expect b/tests/F_reduce_non_binary/stdout.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/F_reduce_non_binary/stdout.txt.expect
+++ /dev/null
diff --git a/tests/F_reduce_param_type_mismatch/reduce_param_type_mismatch.rs b/tests/F_reduce_param_type_mismatch/reduce_param_type_mismatch.rs
deleted file mode 100644
index fd8e1aa..0000000
--- a/tests/F_reduce_param_type_mismatch/reduce_param_type_mismatch.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// -target-api 0
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-int __attribute__((kernel("reduce"))) kernel1(int arg1, float arg2) {
-  return 0;
-}
diff --git a/tests/F_reduce_param_type_mismatch/stderr.txt.expect b/tests/F_reduce_param_type_mismatch/stderr.txt.expect
deleted file mode 100644
index cc55737..0000000
--- a/tests/F_reduce_param_type_mismatch/stderr.txt.expect
+++ /dev/null
@@ -1,2 +0,0 @@
-reduce_param_type_mismatch.rs:5:39: error: Reduce-style kernel kernel1() return type 'int' is not the same type as parameter 'arg2' (type 'float')
-reduce_param_type_mismatch.rs:5:51: error: In reduce-style kernel kernel1(): parameter 'arg1' (type 'int') does not have the same type as parameter 'arg2' (type 'float')
diff --git a/tests/F_reduce_param_type_mismatch/stdout.txt.expect b/tests/F_reduce_param_type_mismatch/stdout.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/F_reduce_param_type_mismatch/stdout.txt.expect
+++ /dev/null
diff --git a/tests/F_reduce_ptr_param/reduce_ptr_param.rs b/tests/F_reduce_ptr_param/reduce_ptr_param.rs
deleted file mode 100644
index f099e19..0000000
--- a/tests/F_reduce_ptr_param/reduce_ptr_param.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// -target-api 0
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-int __attribute__((kernel("reduce"))) kernel(int *arg1, int *arg2) {
-  return 0;
-}
diff --git a/tests/F_reduce_ptr_param/stderr.txt.expect b/tests/F_reduce_ptr_param/stderr.txt.expect
deleted file mode 100644
index 3dc971e..0000000
--- a/tests/F_reduce_ptr_param/stderr.txt.expect
+++ /dev/null
@@ -1,4 +0,0 @@
-reduce_ptr_param.rs:5:51: error: Reduce-style kernel kernel() cannot have parameter 'arg1' of pointer type: 'int *'
-reduce_ptr_param.rs:5:39: error: Reduce-style kernel kernel() return type 'int' is not the same type as parameter 'arg1' (type 'int *')
-reduce_ptr_param.rs:5:62: error: Reduce-style kernel kernel() cannot have parameter 'arg2' of pointer type: 'int *'
-reduce_ptr_param.rs:5:39: error: Reduce-style kernel kernel() return type 'int' is not the same type as parameter 'arg2' (type 'int *')
diff --git a/tests/F_reduce_ptr_param/stdout.txt.expect b/tests/F_reduce_ptr_param/stdout.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/F_reduce_ptr_param/stdout.txt.expect
+++ /dev/null
diff --git a/tests/F_reduce_ptr_ret_val/reduce_ptr_ret_val.rs b/tests/F_reduce_ptr_ret_val/reduce_ptr_ret_val.rs
deleted file mode 100644
index b1ee9c9..0000000
--- a/tests/F_reduce_ptr_ret_val/reduce_ptr_ret_val.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// -target-api 0
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-int *__attribute__((kernel("reduce"))) kernel(int arg1, int arg2) {
-  return 0;
-}
diff --git a/tests/F_reduce_ptr_ret_val/stderr.txt.expect b/tests/F_reduce_ptr_ret_val/stderr.txt.expect
deleted file mode 100644
index 5e5852e..0000000
--- a/tests/F_reduce_ptr_ret_val/stderr.txt.expect
+++ /dev/null
@@ -1,3 +0,0 @@
-reduce_ptr_ret_val.rs:5:40: error: Reduce-style kernel kernel() cannot return a pointer type: int *
-reduce_ptr_ret_val.rs:5:40: error: Reduce-style kernel kernel() return type 'int *' is not the same type as parameter 'arg1' (type 'int')
-reduce_ptr_ret_val.rs:5:40: error: Reduce-style kernel kernel() return type 'int *' is not the same type as parameter 'arg2' (type 'int')
diff --git a/tests/F_reduce_ptr_ret_val/stdout.txt.expect b/tests/F_reduce_ptr_ret_val/stdout.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/F_reduce_ptr_ret_val/stdout.txt.expect
+++ /dev/null
diff --git a/tests/F_reduce_ret_type_mismatch/reduce_ret_type_mismatch.rs b/tests/F_reduce_ret_type_mismatch/reduce_ret_type_mismatch.rs
deleted file mode 100644
index e43ca89..0000000
--- a/tests/F_reduce_ret_type_mismatch/reduce_ret_type_mismatch.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// -target-api 0
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-double __attribute__((kernel("reduce"))) kernel(float arg1, float arg2) {
-  return arg1 + arg2;
-}
diff --git a/tests/F_reduce_ret_type_mismatch/stderr.txt.expect b/tests/F_reduce_ret_type_mismatch/stderr.txt.expect
deleted file mode 100644
index e616c94..0000000
--- a/tests/F_reduce_ret_type_mismatch/stderr.txt.expect
+++ /dev/null
@@ -1,2 +0,0 @@
-reduce_ret_type_mismatch.rs:5:42: error: Reduce-style kernel kernel() return type 'double' is not the same type as parameter 'arg1' (type 'float')
-reduce_ret_type_mismatch.rs:5:42: error: Reduce-style kernel kernel() return type 'double' is not the same type as parameter 'arg2' (type 'float')
diff --git a/tests/F_reduce_ret_type_mismatch/stdout.txt.expect b/tests/F_reduce_ret_type_mismatch/stdout.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/F_reduce_ret_type_mismatch/stdout.txt.expect
+++ /dev/null
diff --git a/tests/F_reduce_void_ret/reduce_void_ret.rs b/tests/F_reduce_void_ret/reduce_void_ret.rs
deleted file mode 100644
index 8fecfc2..0000000
--- a/tests/F_reduce_void_ret/reduce_void_ret.rs
+++ /dev/null
@@ -1,7 +0,0 @@
-// -target-api 0
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-void __attribute__((kernel("reduce"))) kernel(int arg1, int arg2) {
-  return;
-}
diff --git a/tests/F_reduce_void_ret/stderr.txt.expect b/tests/F_reduce_void_ret/stderr.txt.expect
deleted file mode 100644
index ecb3dd1..0000000
--- a/tests/F_reduce_void_ret/stderr.txt.expect
+++ /dev/null
@@ -1,3 +0,0 @@
-reduce_void_ret.rs:5:40: error: Reduce-style kernel kernel() cannot return void
-reduce_void_ret.rs:5:40: error: Reduce-style kernel kernel() return type 'void' is not the same type as parameter 'arg1' (type 'int')
-reduce_void_ret.rs:5:40: error: Reduce-style kernel kernel() return type 'void' is not the same type as parameter 'arg2' (type 'int')
diff --git a/tests/F_reduce_void_ret/stdout.txt.expect b/tests/F_reduce_void_ret/stdout.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/F_reduce_void_ret/stdout.txt.expect
+++ /dev/null
diff --git a/tests/P_reduce/reduce.rs b/tests/P_reduce/reduce.rs
deleted file mode 100644
index 4017f79..0000000
--- a/tests/P_reduce/reduce.rs
+++ /dev/null
@@ -1,298 +0,0 @@
-// -target-api 0
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-bool __attribute__((kernel("reduce")))
-mul_bool(bool lhs, bool rhs) {
-  return lhs * rhs;
-}
-
-char __attribute__((kernel("reduce")))
-mul_char(char lhs, char rhs) {
-  return lhs * rhs;
-}
-
-char2 __attribute__((kernel("reduce")))
-mul_char2(char2 lhs, char2 rhs) {
-  return lhs * rhs;
-}
-
-char3 __attribute__((kernel("reduce")))
-mul_char3(char3 lhs, char3 rhs) {
-  return lhs * rhs;
-}
-
-char4 __attribute__((kernel("reduce")))
-mul_char4(char4 lhs, char4 rhs) {
-  return lhs * rhs;
-}
-
-double __attribute__((kernel("reduce")))
-mul_double(double lhs, double rhs) {
-  return lhs * rhs;
-}
-
-double2 __attribute__((kernel("reduce")))
-mul_double2(double2 lhs, double2 rhs) {
-  return lhs * rhs;
-}
-
-double3 __attribute__((kernel("reduce")))
-mul_double3(double3 lhs, double3 rhs) {
-  return lhs * rhs;
-}
-
-double4 __attribute__((kernel("reduce")))
-mul_double4(double4 lhs, double4 rhs) {
-  return lhs * rhs;
-}
-
-float __attribute__((kernel("reduce")))
-mul_float(float lhs, float rhs) {
-  return lhs * rhs;
-}
-
-float2 __attribute__((kernel("reduce")))
-mul_float2(float2 lhs, float2 rhs) {
-  return lhs * rhs;
-}
-
-float3 __attribute__((kernel("reduce")))
-mul_float3(float3 lhs, float3 rhs) {
-  return lhs * rhs;
-}
-
-float4 __attribute__((kernel("reduce")))
-mul_float4(float4 lhs, float4 rhs) {
-  return lhs * rhs;
-}
-
-int __attribute__((kernel("reduce")))
-mul_int(int lhs, int rhs) {
-  return lhs * rhs;
-}
-
-int2 __attribute__((kernel("reduce")))
-mul_int2(int2 lhs, int2 rhs) {
-  return lhs * rhs;
-}
-
-int3 __attribute__((kernel("reduce")))
-mul_int3(int3 lhs, int3 rhs) {
-  return lhs * rhs;
-}
-
-int4 __attribute__((kernel("reduce")))
-mul_int4(int4 lhs, int4 rhs) {
-  return lhs * rhs;
-}
-
-long __attribute__((kernel("reduce")))
-mul_long(long lhs, long rhs) {
-  return lhs * rhs;
-}
-
-long2 __attribute__((kernel("reduce")))
-mul_long2(long2 lhs, long2 rhs) {
-  return lhs * rhs;
-}
-
-long3 __attribute__((kernel("reduce")))
-mul_long3(long3 lhs, long3 rhs) {
-  return lhs * rhs;
-}
-
-long4 __attribute__((kernel("reduce")))
-mul_long4(long4 lhs, long4 rhs) {
-  return lhs * rhs;
-}
-
-short __attribute__((kernel("reduce")))
-mul_short(short lhs, short rhs) {
-  return lhs * rhs;
-}
-
-short2 __attribute__((kernel("reduce")))
-mul_short2(short2 lhs, short2 rhs) {
-  return lhs * rhs;
-}
-
-short3 __attribute__((kernel("reduce")))
-mul_short3(short3 lhs, short3 rhs) {
-  return lhs * rhs;
-}
-
-short4 __attribute__((kernel("reduce")))
-mul_short4(short4 lhs, short4 rhs) {
-  return lhs * rhs;
-}
-
-uchar __attribute__((kernel("reduce")))
-mul_uchar(uchar lhs, uchar rhs) {
-  return lhs * rhs;
-}
-
-uchar2 __attribute__((kernel("reduce")))
-mul_uchar2(uchar2 lhs, uchar2 rhs) {
-  return lhs * rhs;
-}
-
-uchar3 __attribute__((kernel("reduce")))
-mul_uchar3(uchar3 lhs, uchar3 rhs) {
-  return lhs * rhs;
-}
-
-uchar4 __attribute__((kernel("reduce")))
-mul_uchar4(uchar4 lhs, uchar4 rhs) {
-  return lhs * rhs;
-}
-
-uint __attribute__((kernel("reduce")))
-mul_uint(uint lhs, uint rhs) {
-  return lhs * rhs;
-}
-
-uint2 __attribute__((kernel("reduce")))
-mul_uint2(uint2 lhs, uint2 rhs) {
-  return lhs * rhs;
-}
-
-uint3 __attribute__((kernel("reduce")))
-mul_uint3(uint3 lhs, uint3 rhs) {
-  return lhs * rhs;
-}
-
-uint4 __attribute__((kernel("reduce")))
-mul_uint4(uint4 lhs, uint4 rhs) {
-  return lhs * rhs;
-}
-
-ulong __attribute__((kernel("reduce")))
-mul_ulong(ulong lhs, ulong rhs) {
-  return lhs * rhs;
-}
-
-ulong2 __attribute__((kernel("reduce")))
-mul_ulong2(ulong2 lhs, ulong2 rhs) {
-  return lhs * rhs;
-}
-
-ulong3 __attribute__((kernel("reduce")))
-mul_ulong3(ulong3 lhs, ulong3 rhs) {
-  return lhs * rhs;
-}
-
-ulong4 __attribute__((kernel("reduce")))
-mul_ulong4(ulong4 lhs, ulong4 rhs) {
-  return lhs * rhs;
-}
-
-ushort __attribute__((kernel("reduce")))
-mul_ushort(ushort lhs, ushort rhs) {
-  return lhs * rhs;
-}
-
-ushort2 __attribute__((kernel("reduce")))
-mul_ushort2(ushort2 lhs, ushort2 rhs) {
-  return lhs * rhs;
-}
-
-ushort3 __attribute__((kernel("reduce")))
-mul_ushort3(ushort3 lhs, ushort3 rhs) {
-  return lhs * rhs;
-}
-
-ushort4 __attribute__((kernel("reduce")))
-mul_ushort4(ushort4 lhs, ushort4 rhs) {
-  return lhs * rhs;
-}
-
-struct indirect {
-  bool elem_bool;
-  char elem_char;
-  char2 elem_char2;
-  char3 elem_char3;
-  char4 elem_char4;
-  double elem_double;
-  double2 elem_double2;
-  double3 elem_double3;
-  double4 elem_double4;
-  float elem_float;
-  float2 elem_float2;
-  float3 elem_float3;
-  float4 elem_float4;
-  int elem_int;
-  int2 elem_int2;
-  int3 elem_int3;
-  int4 elem_int4;
-  long elem_long;
-  long2 elem_long2;
-  long3 elem_long3;
-  long4 elem_long4;
-  short elem_short;
-  short2 elem_short2;
-  short3 elem_short3;
-  short4 elem_short4;
-  uchar elem_uchar;
-  uchar2 elem_uchar2;
-  uchar3 elem_uchar3;
-  uchar4 elem_uchar4;
-  uint elem_uint;
-  uint2 elem_uint2;
-  uint3 elem_uint3;
-  uint4 elem_uint4;
-  ulong elem_ulong;
-  ulong2 elem_ulong2;
-  ulong3 elem_ulong3;
-  ulong4 elem_ulong4;
-  ushort elem_ushort;
-  ushort2 elem_ushort2;
-  ushort3 elem_ushort3;
-  ushort4 elem_ushort4;
-};
-
-struct indirect __attribute__((kernel("reduce")))
-mul_indirect(struct indirect lhs, struct indirect rhs) {
-  lhs.elem_bool *= rhs.elem_bool;
-  lhs.elem_char *= rhs.elem_char;
-  lhs.elem_char2 *= rhs.elem_char2;
-  lhs.elem_char3 *= rhs.elem_char3;
-  lhs.elem_char4 *= rhs.elem_char4;
-  lhs.elem_double *= rhs.elem_double;
-  lhs.elem_double2 *= rhs.elem_double2;
-  lhs.elem_double3 *= rhs.elem_double3;
-  lhs.elem_double4 *= rhs.elem_double4;
-  lhs.elem_float *= rhs.elem_float;
-  lhs.elem_float2 *= rhs.elem_float2;
-  lhs.elem_float3 *= rhs.elem_float3;
-  lhs.elem_float4 *= rhs.elem_float4;
-  lhs.elem_int *= rhs.elem_int;
-  lhs.elem_int2 *= rhs.elem_int2;
-  lhs.elem_int3 *= rhs.elem_int3;
-  lhs.elem_int4 *= rhs.elem_int4;
-  lhs.elem_long *= rhs.elem_long;
-  lhs.elem_long2 *= rhs.elem_long2;
-  lhs.elem_long3 *= rhs.elem_long3;
-  lhs.elem_long4 *= rhs.elem_long4;
-  lhs.elem_short *= rhs.elem_short;
-  lhs.elem_short2 *= rhs.elem_short2;
-  lhs.elem_short3 *= rhs.elem_short3;
-  lhs.elem_short4 *= rhs.elem_short4;
-  lhs.elem_uchar *= rhs.elem_uchar;
-  lhs.elem_uchar2 *= rhs.elem_uchar2;
-  lhs.elem_uchar3 *= rhs.elem_uchar3;
-  lhs.elem_uchar4 *= rhs.elem_uchar4;
-  lhs.elem_uint *= rhs.elem_uint;
-  lhs.elem_uint2 *= rhs.elem_uint2;
-  lhs.elem_uint3 *= rhs.elem_uint3;
-  lhs.elem_uint4 *= rhs.elem_uint4;
-  lhs.elem_ulong *= rhs.elem_ulong;
-  lhs.elem_ulong2 *= rhs.elem_ulong2;
-  lhs.elem_ulong3 *= rhs.elem_ulong3;
-  lhs.elem_ulong4 *= rhs.elem_ulong4;
-  lhs.elem_ushort *= rhs.elem_ushort;
-  lhs.elem_ushort2 *= rhs.elem_ushort2;
-  lhs.elem_ushort3 *= rhs.elem_ushort3;
-  lhs.elem_ushort4 *= rhs.elem_ushort4;
-  return lhs;
-}
diff --git a/tests/P_reduce/stderr.txt.expect b/tests/P_reduce/stderr.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/P_reduce/stderr.txt.expect
+++ /dev/null
diff --git a/tests/P_reduce/stdout.txt.expect b/tests/P_reduce/stdout.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/P_reduce/stdout.txt.expect
+++ /dev/null
diff --git a/tests/P_reduce_cpp/reduce_cpp.rs b/tests/P_reduce_cpp/reduce_cpp.rs
deleted file mode 100644
index a4ddeb5..0000000
--- a/tests/P_reduce_cpp/reduce_cpp.rs
+++ /dev/null
@@ -1,8 +0,0 @@
-// -target-api 0 -reflect-c++
-
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-int __attribute__((kernel("reduce"))) add(int a, int b) {
-  return a + b;
-}
diff --git a/tests/P_reduce_cpp/stderr.txt.expect b/tests/P_reduce_cpp/stderr.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/P_reduce_cpp/stderr.txt.expect
+++ /dev/null
diff --git a/tests/P_reduce_cpp/stdout.txt.expect b/tests/P_reduce_cpp/stdout.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/P_reduce_cpp/stdout.txt.expect
+++ /dev/null
diff --git a/tests/P_reduce_general_accumulator/ScriptC_reduce_general_accumulator.java.expect b/tests/P_reduce_general_accumulator/ScriptC_reduce_general_accumulator.java.expect
index 8d75878..c39ce7c 100644
--- a/tests/P_reduce_general_accumulator/ScriptC_reduce_general_accumulator.java.expect
+++ b/tests/P_reduce_general_accumulator/ScriptC_reduce_general_accumulator.java.expect
@@ -77,7 +77,7 @@
         private int mResult;
     }
 
-    private final static int mExportReduceNewIdx_my_half = 0;
+    private final static int mExportReduceIdx_my_half = 0;
     // in1 = "val"
     public result_int reduce_my_half(int[] in1) {
         // Verify that "in1" is non-null.
@@ -106,11 +106,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2 = 1;
+    private final static int mExportReduceIdx_my_half2 = 1;
     // in1 = "val"
     public result_int reduce_my_half2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -139,11 +139,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4 = 2;
+    private final static int mExportReduceIdx_my_half4 = 2;
     // in1 = "val"
     public result_int reduce_my_half4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -172,11 +172,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_half = 3;
+    private final static int mExportReduceIdx_my_array_half = 3;
     // in1 = "val"
     public result_int reduce_my_array_half(int[] in1) {
         // Verify that "in1" is non-null.
@@ -205,11 +205,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_half, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_half, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_half2 = 4;
+    private final static int mExportReduceIdx_my_array_half2 = 4;
     // in1 = "val"
     public result_int reduce_my_array_half2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -238,11 +238,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_half2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_half2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_half4 = 5;
+    private final static int mExportReduceIdx_my_array_half4 = 5;
     // in1 = "val"
     public result_int reduce_my_array_half4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -271,11 +271,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_half4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_half4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float = 6;
+    private final static int mExportReduceIdx_my_float = 6;
     // in1 = "val"
     public result_int reduce_my_float(int[] in1) {
         // Verify that "in1" is non-null.
@@ -304,11 +304,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2 = 7;
+    private final static int mExportReduceIdx_my_float2 = 7;
     // in1 = "val"
     public result_int reduce_my_float2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -337,11 +337,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4 = 8;
+    private final static int mExportReduceIdx_my_float4 = 8;
     // in1 = "val"
     public result_int reduce_my_float4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -370,11 +370,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_float = 9;
+    private final static int mExportReduceIdx_my_array_float = 9;
     // in1 = "val"
     public result_int reduce_my_array_float(int[] in1) {
         // Verify that "in1" is non-null.
@@ -403,11 +403,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_float, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_float, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_float2 = 10;
+    private final static int mExportReduceIdx_my_array_float2 = 10;
     // in1 = "val"
     public result_int reduce_my_array_float2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -436,11 +436,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_float2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_float2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_float4 = 11;
+    private final static int mExportReduceIdx_my_array_float4 = 11;
     // in1 = "val"
     public result_int reduce_my_array_float4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -469,11 +469,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_float4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_float4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double = 12;
+    private final static int mExportReduceIdx_my_double = 12;
     // in1 = "val"
     public result_int reduce_my_double(int[] in1) {
         // Verify that "in1" is non-null.
@@ -502,11 +502,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2 = 13;
+    private final static int mExportReduceIdx_my_double2 = 13;
     // in1 = "val"
     public result_int reduce_my_double2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -535,11 +535,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4 = 14;
+    private final static int mExportReduceIdx_my_double4 = 14;
     // in1 = "val"
     public result_int reduce_my_double4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -568,11 +568,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_double = 15;
+    private final static int mExportReduceIdx_my_array_double = 15;
     // in1 = "val"
     public result_int reduce_my_array_double(int[] in1) {
         // Verify that "in1" is non-null.
@@ -601,11 +601,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_double, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_double, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_double2 = 16;
+    private final static int mExportReduceIdx_my_array_double2 = 16;
     // in1 = "val"
     public result_int reduce_my_array_double2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -634,11 +634,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_double2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_double2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_double4 = 17;
+    private final static int mExportReduceIdx_my_array_double4 = 17;
     // in1 = "val"
     public result_int reduce_my_array_double4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -667,11 +667,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_double4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_double4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char = 18;
+    private final static int mExportReduceIdx_my_char = 18;
     // in1 = "val"
     public result_int reduce_my_char(int[] in1) {
         // Verify that "in1" is non-null.
@@ -700,11 +700,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2 = 19;
+    private final static int mExportReduceIdx_my_char2 = 19;
     // in1 = "val"
     public result_int reduce_my_char2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -733,11 +733,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4 = 20;
+    private final static int mExportReduceIdx_my_char4 = 20;
     // in1 = "val"
     public result_int reduce_my_char4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -766,11 +766,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_char = 21;
+    private final static int mExportReduceIdx_my_array_char = 21;
     // in1 = "val"
     public result_int reduce_my_array_char(int[] in1) {
         // Verify that "in1" is non-null.
@@ -799,11 +799,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_char, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_char, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_char2 = 22;
+    private final static int mExportReduceIdx_my_array_char2 = 22;
     // in1 = "val"
     public result_int reduce_my_array_char2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -832,11 +832,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_char2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_char2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_char4 = 23;
+    private final static int mExportReduceIdx_my_array_char4 = 23;
     // in1 = "val"
     public result_int reduce_my_array_char4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -865,11 +865,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_char4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_char4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short = 24;
+    private final static int mExportReduceIdx_my_short = 24;
     // in1 = "val"
     public result_int reduce_my_short(int[] in1) {
         // Verify that "in1" is non-null.
@@ -898,11 +898,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2 = 25;
+    private final static int mExportReduceIdx_my_short2 = 25;
     // in1 = "val"
     public result_int reduce_my_short2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -931,11 +931,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4 = 26;
+    private final static int mExportReduceIdx_my_short4 = 26;
     // in1 = "val"
     public result_int reduce_my_short4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -964,11 +964,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_short = 27;
+    private final static int mExportReduceIdx_my_array_short = 27;
     // in1 = "val"
     public result_int reduce_my_array_short(int[] in1) {
         // Verify that "in1" is non-null.
@@ -997,11 +997,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_short, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_short, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_short2 = 28;
+    private final static int mExportReduceIdx_my_array_short2 = 28;
     // in1 = "val"
     public result_int reduce_my_array_short2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1030,11 +1030,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_short2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_short2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_short4 = 29;
+    private final static int mExportReduceIdx_my_array_short4 = 29;
     // in1 = "val"
     public result_int reduce_my_array_short4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1063,11 +1063,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_short4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_short4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int = 30;
+    private final static int mExportReduceIdx_my_int = 30;
     // in1 = "val"
     public result_int reduce_my_int(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1096,11 +1096,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2 = 31;
+    private final static int mExportReduceIdx_my_int2 = 31;
     // in1 = "val"
     public result_int reduce_my_int2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1129,11 +1129,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4 = 32;
+    private final static int mExportReduceIdx_my_int4 = 32;
     // in1 = "val"
     public result_int reduce_my_int4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1162,11 +1162,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_int = 33;
+    private final static int mExportReduceIdx_my_array_int = 33;
     // in1 = "val"
     public result_int reduce_my_array_int(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1195,11 +1195,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_int, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_int, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_int2 = 34;
+    private final static int mExportReduceIdx_my_array_int2 = 34;
     // in1 = "val"
     public result_int reduce_my_array_int2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1228,11 +1228,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_int2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_int2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_int4 = 35;
+    private final static int mExportReduceIdx_my_array_int4 = 35;
     // in1 = "val"
     public result_int reduce_my_array_int4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1261,11 +1261,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_int4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_int4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long = 36;
+    private final static int mExportReduceIdx_my_long = 36;
     // in1 = "val"
     public result_int reduce_my_long(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1294,11 +1294,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2 = 37;
+    private final static int mExportReduceIdx_my_long2 = 37;
     // in1 = "val"
     public result_int reduce_my_long2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1327,11 +1327,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4 = 38;
+    private final static int mExportReduceIdx_my_long4 = 38;
     // in1 = "val"
     public result_int reduce_my_long4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1360,11 +1360,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_long = 39;
+    private final static int mExportReduceIdx_my_array_long = 39;
     // in1 = "val"
     public result_int reduce_my_array_long(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1393,11 +1393,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_long, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_long, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_long2 = 40;
+    private final static int mExportReduceIdx_my_array_long2 = 40;
     // in1 = "val"
     public result_int reduce_my_array_long2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1426,11 +1426,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_long2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_long2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_long4 = 41;
+    private final static int mExportReduceIdx_my_array_long4 = 41;
     // in1 = "val"
     public result_int reduce_my_array_long4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1459,11 +1459,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_long4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_long4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar = 42;
+    private final static int mExportReduceIdx_my_uchar = 42;
     // in1 = "val"
     public result_int reduce_my_uchar(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1492,11 +1492,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2 = 43;
+    private final static int mExportReduceIdx_my_uchar2 = 43;
     // in1 = "val"
     public result_int reduce_my_uchar2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1525,11 +1525,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4 = 44;
+    private final static int mExportReduceIdx_my_uchar4 = 44;
     // in1 = "val"
     public result_int reduce_my_uchar4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1558,11 +1558,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uchar = 45;
+    private final static int mExportReduceIdx_my_array_uchar = 45;
     // in1 = "val"
     public result_int reduce_my_array_uchar(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1591,11 +1591,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uchar, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uchar, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uchar2 = 46;
+    private final static int mExportReduceIdx_my_array_uchar2 = 46;
     // in1 = "val"
     public result_int reduce_my_array_uchar2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1624,11 +1624,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uchar2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uchar2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uchar4 = 47;
+    private final static int mExportReduceIdx_my_array_uchar4 = 47;
     // in1 = "val"
     public result_int reduce_my_array_uchar4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1657,11 +1657,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uchar4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uchar4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort = 48;
+    private final static int mExportReduceIdx_my_ushort = 48;
     // in1 = "val"
     public result_int reduce_my_ushort(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1690,11 +1690,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2 = 49;
+    private final static int mExportReduceIdx_my_ushort2 = 49;
     // in1 = "val"
     public result_int reduce_my_ushort2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1723,11 +1723,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4 = 50;
+    private final static int mExportReduceIdx_my_ushort4 = 50;
     // in1 = "val"
     public result_int reduce_my_ushort4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1756,11 +1756,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ushort = 51;
+    private final static int mExportReduceIdx_my_array_ushort = 51;
     // in1 = "val"
     public result_int reduce_my_array_ushort(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1789,11 +1789,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ushort, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ushort, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ushort2 = 52;
+    private final static int mExportReduceIdx_my_array_ushort2 = 52;
     // in1 = "val"
     public result_int reduce_my_array_ushort2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1822,11 +1822,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ushort2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ushort2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ushort4 = 53;
+    private final static int mExportReduceIdx_my_array_ushort4 = 53;
     // in1 = "val"
     public result_int reduce_my_array_ushort4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1855,11 +1855,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ushort4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ushort4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint = 54;
+    private final static int mExportReduceIdx_my_uint = 54;
     // in1 = "val"
     public result_int reduce_my_uint(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1888,11 +1888,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2 = 55;
+    private final static int mExportReduceIdx_my_uint2 = 55;
     // in1 = "val"
     public result_int reduce_my_uint2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1921,11 +1921,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4 = 56;
+    private final static int mExportReduceIdx_my_uint4 = 56;
     // in1 = "val"
     public result_int reduce_my_uint4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1954,11 +1954,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uint = 57;
+    private final static int mExportReduceIdx_my_array_uint = 57;
     // in1 = "val"
     public result_int reduce_my_array_uint(int[] in1) {
         // Verify that "in1" is non-null.
@@ -1987,11 +1987,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uint, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uint, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uint2 = 58;
+    private final static int mExportReduceIdx_my_array_uint2 = 58;
     // in1 = "val"
     public result_int reduce_my_array_uint2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2020,11 +2020,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uint2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uint2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uint4 = 59;
+    private final static int mExportReduceIdx_my_array_uint4 = 59;
     // in1 = "val"
     public result_int reduce_my_array_uint4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2053,11 +2053,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uint4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uint4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong = 60;
+    private final static int mExportReduceIdx_my_ulong = 60;
     // in1 = "val"
     public result_int reduce_my_ulong(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2086,11 +2086,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2 = 61;
+    private final static int mExportReduceIdx_my_ulong2 = 61;
     // in1 = "val"
     public result_int reduce_my_ulong2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2119,11 +2119,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4 = 62;
+    private final static int mExportReduceIdx_my_ulong4 = 62;
     // in1 = "val"
     public result_int reduce_my_ulong4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2152,11 +2152,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ulong = 63;
+    private final static int mExportReduceIdx_my_array_ulong = 63;
     // in1 = "val"
     public result_int reduce_my_array_ulong(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2185,11 +2185,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ulong, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ulong, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ulong2 = 64;
+    private final static int mExportReduceIdx_my_array_ulong2 = 64;
     // in1 = "val"
     public result_int reduce_my_array_ulong2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2218,11 +2218,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ulong2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ulong2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ulong4 = 65;
+    private final static int mExportReduceIdx_my_array_ulong4 = 65;
     // in1 = "val"
     public result_int reduce_my_array_ulong4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2251,11 +2251,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ulong4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ulong4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool = 66;
+    private final static int mExportReduceIdx_my_bool = 66;
     // in1 = "val"
     public result_int reduce_my_bool(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2284,11 +2284,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_bool = 67;
+    private final static int mExportReduceIdx_my_array_bool = 67;
     // in1 = "val"
     public result_int reduce_my_array_bool(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2317,11 +2317,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_bool, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_bool, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2 = 68;
+    private final static int mExportReduceIdx_my_rs_matrix2x2 = 68;
     // in1 = "val"
     public result_int reduce_my_rs_matrix2x2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2350,11 +2350,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_rs_matrix2x2 = 69;
+    private final static int mExportReduceIdx_my_array_rs_matrix2x2 = 69;
     // in1 = "val"
     public result_int reduce_my_array_rs_matrix2x2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2383,11 +2383,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_rs_matrix2x2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_rs_matrix2x2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3 = 70;
+    private final static int mExportReduceIdx_my_rs_matrix3x3 = 70;
     // in1 = "val"
     public result_int reduce_my_rs_matrix3x3(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2416,11 +2416,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_rs_matrix3x3 = 71;
+    private final static int mExportReduceIdx_my_array_rs_matrix3x3 = 71;
     // in1 = "val"
     public result_int reduce_my_array_rs_matrix3x3(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2449,11 +2449,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_rs_matrix3x3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_rs_matrix3x3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4 = 72;
+    private final static int mExportReduceIdx_my_rs_matrix4x4 = 72;
     // in1 = "val"
     public result_int reduce_my_rs_matrix4x4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2482,11 +2482,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_rs_matrix4x4 = 73;
+    private final static int mExportReduceIdx_my_array_rs_matrix4x4 = 73;
     // in1 = "val"
     public result_int reduce_my_array_rs_matrix4x4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2515,11 +2515,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_rs_matrix4x4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_rs_matrix4x4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_for_each_strategy_t = 74;
+    private final static int mExportReduceIdx_my_rs_for_each_strategy_t = 74;
     // in1 = "val"
     public result_int reduce_my_rs_for_each_strategy_t(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2548,11 +2548,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_for_each_strategy_t, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_for_each_strategy_t, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_rs_for_each_strategy_t = 75;
+    private final static int mExportReduceIdx_my_array_rs_for_each_strategy_t = 75;
     // in1 = "val"
     public result_int reduce_my_array_rs_for_each_strategy_t(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2581,11 +2581,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_rs_for_each_strategy_t, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_rs_for_each_strategy_t, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_script_call_t = 76;
+    private final static int mExportReduceIdx_my_rs_script_call_t = 76;
     // in1 = "val"
     public result_int reduce_my_rs_script_call_t(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2614,11 +2614,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_script_call_t, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_script_call_t, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_rs_script_call_t = 77;
+    private final static int mExportReduceIdx_my_array_rs_script_call_t = 77;
     // in1 = "val"
     public result_int reduce_my_array_rs_script_call_t(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2647,11 +2647,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_rs_script_call_t, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_rs_script_call_t, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_time_t = 78;
+    private final static int mExportReduceIdx_my_rs_time_t = 78;
     // in1 = "val"
     public result_int reduce_my_rs_time_t(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2680,11 +2680,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_time_t, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_time_t, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_rs_time_t = 79;
+    private final static int mExportReduceIdx_my_array_rs_time_t = 79;
     // in1 = "val"
     public result_int reduce_my_array_rs_time_t(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2713,11 +2713,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_rs_time_t, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_rs_time_t, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_tm = 80;
+    private final static int mExportReduceIdx_my_rs_tm = 80;
     // in1 = "val"
     public result_int reduce_my_rs_tm(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2746,11 +2746,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_tm, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_tm, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_rs_tm = 81;
+    private final static int mExportReduceIdx_my_array_rs_tm = 81;
     // in1 = "val"
     public result_int reduce_my_array_rs_tm(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2779,11 +2779,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_rs_tm, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_rs_tm, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyEnum = 82;
+    private final static int mExportReduceIdx_my_MyEnum = 82;
     // in1 = "val"
     public result_int reduce_my_MyEnum(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2812,11 +2812,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyEnum, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyEnum, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_MyEnum = 83;
+    private final static int mExportReduceIdx_my_array_MyEnum = 83;
     // in1 = "val"
     public result_int reduce_my_array_MyEnum(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2845,11 +2845,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_MyEnum, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_MyEnum, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyPtrArray = 84;
+    private final static int mExportReduceIdx_my_MyPtrArray = 84;
     // in1 = "val"
     public result_int reduce_my_MyPtrArray(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2878,11 +2878,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyPtrArray, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyPtrArray, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_MyPtrArray = 85;
+    private final static int mExportReduceIdx_my_array_MyPtrArray = 85;
     // in1 = "val"
     public result_int reduce_my_array_MyPtrArray(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2911,11 +2911,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_MyPtrArray, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_MyPtrArray, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyPtrFn = 86;
+    private final static int mExportReduceIdx_my_MyPtrFn = 86;
     // in1 = "val"
     public result_int reduce_my_MyPtrFn(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2944,11 +2944,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyPtrFn, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyPtrFn, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_MyPtrFn = 87;
+    private final static int mExportReduceIdx_my_array_MyPtrFn = 87;
     // in1 = "val"
     public result_int reduce_my_array_MyPtrFn(int[] in1) {
         // Verify that "in1" is non-null.
@@ -2977,11 +2977,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_MyPtrFn, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_MyPtrFn, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyPtrIncomplete = 88;
+    private final static int mExportReduceIdx_my_MyPtrIncomplete = 88;
     // in1 = "val"
     public result_int reduce_my_MyPtrIncomplete(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3010,11 +3010,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyPtrIncomplete, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyPtrIncomplete, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_MyPtrIncomplete = 89;
+    private final static int mExportReduceIdx_my_array_MyPtrIncomplete = 89;
     // in1 = "val"
     public result_int reduce_my_array_MyPtrIncomplete(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3043,11 +3043,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_MyPtrIncomplete, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_MyPtrIncomplete, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyPtrShort = 90;
+    private final static int mExportReduceIdx_my_MyPtrShort = 90;
     // in1 = "val"
     public result_int reduce_my_MyPtrShort(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3076,11 +3076,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyPtrShort, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyPtrShort, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_MyPtrShort = 91;
+    private final static int mExportReduceIdx_my_array_MyPtrShort = 91;
     // in1 = "val"
     public result_int reduce_my_array_MyPtrShort(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3109,11 +3109,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_MyPtrShort, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_MyPtrShort, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyPtrVoid = 92;
+    private final static int mExportReduceIdx_my_MyPtrVoid = 92;
     // in1 = "val"
     public result_int reduce_my_MyPtrVoid(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3142,11 +3142,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyPtrVoid, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyPtrVoid, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_MyPtrVoid = 93;
+    private final static int mExportReduceIdx_my_array_MyPtrVoid = 93;
     // in1 = "val"
     public result_int reduce_my_array_MyPtrVoid(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3175,11 +3175,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_MyPtrVoid, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_MyPtrVoid, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct = 94;
+    private final static int mExportReduceIdx_my_MyStruct = 94;
     // in1 = "val"
     public result_int reduce_my_MyStruct(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3208,11 +3208,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_MyStruct = 95;
+    private final static int mExportReduceIdx_my_array_MyStruct = 95;
     // in1 = "val"
     public result_int reduce_my_array_MyStruct(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3241,11 +3241,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_MyStruct, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_MyStruct, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyUnion = 96;
+    private final static int mExportReduceIdx_my_MyUnion = 96;
     // in1 = "val"
     public result_int reduce_my_MyUnion(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3274,11 +3274,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyUnion, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyUnion, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_MyUnion = 97;
+    private final static int mExportReduceIdx_my_array_MyUnion = 97;
     // in1 = "val"
     public result_int reduce_my_array_MyUnion(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3307,11 +3307,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_MyUnion, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_MyUnion, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyBlob = 98;
+    private final static int mExportReduceIdx_my_MyBlob = 98;
     // in1 = "val"
     public result_int reduce_my_MyBlob(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3340,11 +3340,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyBlob, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyBlob, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_MyBlob = 99;
+    private final static int mExportReduceIdx_my_array_MyBlob = 99;
     // in1 = "val"
     public result_int reduce_my_array_MyBlob(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3373,7 +3373,7 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_MyBlob, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_MyBlob, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
diff --git a/tests/P_reduce_general_duplicate_array/ScriptC_reduce_general_duplicate_array.java.expect b/tests/P_reduce_general_duplicate_array/ScriptC_reduce_general_duplicate_array.java.expect
index bc32c17..c4d88ab 100644
--- a/tests/P_reduce_general_duplicate_array/ScriptC_reduce_general_duplicate_array.java.expect
+++ b/tests/P_reduce_general_duplicate_array/ScriptC_reduce_general_duplicate_array.java.expect
@@ -77,7 +77,7 @@
         private int[] mResult;
     }
 
-    private final static int mExportReduceNewIdx_sumDec = 0;
+    private final static int mExportReduceIdx_sumDec = 0;
     // in1 = "val"
     public resultArray4_int reduce_sumDec(int[] in1) {
         // Verify that "in1" is non-null.
@@ -106,11 +106,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 4);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_sumDec, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_sumDec, new Allocation[]{ain1}, aout, sc);
         return new resultArray4_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_sumInc = 1;
+    private final static int mExportReduceIdx_sumInc = 1;
     // in1 = "val"
     public resultArray4_int reduce_sumInc(int[] in1) {
         // Verify that "in1" is non-null.
@@ -139,7 +139,7 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 4);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_sumInc, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_sumInc, new Allocation[]{ain1}, aout, sc);
         return new resultArray4_int(aout);
     }
 
diff --git a/tests/P_reduce_general_examples/ScriptC_reduce_general_examples.java.expect b/tests/P_reduce_general_examples/ScriptC_reduce_general_examples.java.expect
index 0d61a74..74b295e 100644
--- a/tests/P_reduce_general_examples/ScriptC_reduce_general_examples.java.expect
+++ b/tests/P_reduce_general_examples/ScriptC_reduce_general_examples.java.expect
@@ -198,7 +198,7 @@
         private Int2 mResult;
     }
 
-    private final static int mExportReduceNewIdx_addint = 0;
+    private final static int mExportReduceIdx_addint = 0;
     // in1 = "val"
     public result_int reduce_addint(int[] in1) {
         // Verify that "in1" is non-null.
@@ -227,11 +227,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_addint, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_addint, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_mpyint = 1;
+    private final static int mExportReduceIdx_mpyint = 1;
     // in1 = "val"
     public result_int reduce_mpyint(int[] in1) {
         // Verify that "in1" is non-null.
@@ -260,11 +260,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_mpyint, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_mpyint, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_dp = 2;
+    private final static int mExportReduceIdx_dp = 2;
     // in1 = "in1"
     // in2 = "in2"
     public result_float reduce_dp(float[] in1, float[] in2) {
@@ -324,11 +324,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __F32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_dp, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_dp, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_float(aout);
     }
 
-    private final static int mExportReduceNewIdx_findMinAndMax = 3;
+    private final static int mExportReduceIdx_findMinAndMax = 3;
     // in1 = "in"
     public result_int2 reduce_findMinAndMax(float[] in1) {
         // Verify that "in1" is non-null.
@@ -357,11 +357,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_findMinAndMax, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_findMinAndMax, new Allocation[]{ain1}, aout, sc);
         return new result_int2(aout);
     }
 
-    private final static int mExportReduceNewIdx_fz = 4;
+    private final static int mExportReduceIdx_fz = 4;
     // in1 = "inVal"
     public result_int reduce_fz(int[] in1) {
         // Verify that "in1" is non-null.
@@ -390,11 +390,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_fz, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_fz, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_fz2 = 5;
+    private final static int mExportReduceIdx_fz2 = 5;
     // in1 = "inVal"
     public result_int2 reduce_fz2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -423,11 +423,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_fz2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_fz2, new Allocation[]{ain1}, aout, sc);
         return new result_int2(aout);
     }
 
-    private final static int mExportReduceNewIdx_histogram = 6;
+    private final static int mExportReduceIdx_histogram = 6;
     // in1 = "in"
     public resultArray256_uint reduce_histogram(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -456,11 +456,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U32, 256);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_histogram, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_histogram, new Allocation[]{ain1}, aout, sc);
         return new resultArray256_uint(aout);
     }
 
-    private final static int mExportReduceNewIdx_mode = 7;
+    private final static int mExportReduceIdx_mode = 7;
     // in1 = "in"
     public result_int2 reduce_mode(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -489,7 +489,7 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_mode, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_mode, new Allocation[]{ain1}, aout, sc);
         return new result_int2(aout);
     }
 
diff --git a/tests/P_reduce_general_examples_backward/ScriptC_reduce_general_examples_backward.java.expect b/tests/P_reduce_general_examples_backward/ScriptC_reduce_general_examples_backward.java.expect
index d71c7f8..50437f3 100644
--- a/tests/P_reduce_general_examples_backward/ScriptC_reduce_general_examples_backward.java.expect
+++ b/tests/P_reduce_general_examples_backward/ScriptC_reduce_general_examples_backward.java.expect
@@ -198,7 +198,7 @@
         private Int2 mResult;
     }
 
-    private final static int mExportReduceNewIdx_addint = 0;
+    private final static int mExportReduceIdx_addint = 0;
     // in1 = "val"
     public result_int reduce_addint(int[] in1) {
         // Verify that "in1" is non-null.
@@ -227,11 +227,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_addint, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_addint, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_mpyint = 1;
+    private final static int mExportReduceIdx_mpyint = 1;
     // in1 = "val"
     public result_int reduce_mpyint(int[] in1) {
         // Verify that "in1" is non-null.
@@ -260,11 +260,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_mpyint, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_mpyint, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_dp = 2;
+    private final static int mExportReduceIdx_dp = 2;
     // in1 = "in1"
     // in2 = "in2"
     public result_float reduce_dp(float[] in1, float[] in2) {
@@ -324,11 +324,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __F32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_dp, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_dp, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_float(aout);
     }
 
-    private final static int mExportReduceNewIdx_findMinAndMax = 3;
+    private final static int mExportReduceIdx_findMinAndMax = 3;
     // in1 = "in"
     public result_int2 reduce_findMinAndMax(float[] in1) {
         // Verify that "in1" is non-null.
@@ -357,11 +357,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_findMinAndMax, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_findMinAndMax, new Allocation[]{ain1}, aout, sc);
         return new result_int2(aout);
     }
 
-    private final static int mExportReduceNewIdx_fz = 4;
+    private final static int mExportReduceIdx_fz = 4;
     // in1 = "inVal"
     public result_int reduce_fz(int[] in1) {
         // Verify that "in1" is non-null.
@@ -390,11 +390,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_fz, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_fz, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_fz2 = 5;
+    private final static int mExportReduceIdx_fz2 = 5;
     // in1 = "inVal"
     public result_int2 reduce_fz2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -423,11 +423,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_fz2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_fz2, new Allocation[]{ain1}, aout, sc);
         return new result_int2(aout);
     }
 
-    private final static int mExportReduceNewIdx_histogram = 6;
+    private final static int mExportReduceIdx_histogram = 6;
     // in1 = "in"
     public resultArray256_uint reduce_histogram(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -456,11 +456,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U32, 256);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_histogram, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_histogram, new Allocation[]{ain1}, aout, sc);
         return new resultArray256_uint(aout);
     }
 
-    private final static int mExportReduceNewIdx_mode = 7;
+    private final static int mExportReduceIdx_mode = 7;
     // in1 = "in"
     public result_int2 reduce_mode(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -489,7 +489,7 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_mode, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_mode, new Allocation[]{ain1}, aout, sc);
         return new result_int2(aout);
     }
 
diff --git a/tests/P_reduce_general_examples_explicit/ScriptC_reduce_general_examples_explicit.java.expect b/tests/P_reduce_general_examples_explicit/ScriptC_reduce_general_examples_explicit.java.expect
index 6240645..013838e 100644
--- a/tests/P_reduce_general_examples_explicit/ScriptC_reduce_general_examples_explicit.java.expect
+++ b/tests/P_reduce_general_examples_explicit/ScriptC_reduce_general_examples_explicit.java.expect
@@ -160,7 +160,7 @@
         private int mResult;
     }
 
-    private final static int mExportReduceNewIdx_addint_init = 0;
+    private final static int mExportReduceIdx_addint_init = 0;
     // in1 = "val"
     public result_int reduce_addint_init(int[] in1) {
         // Verify that "in1" is non-null.
@@ -189,11 +189,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_addint_init, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_addint_init, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_addint_comb = 1;
+    private final static int mExportReduceIdx_addint_comb = 1;
     // in1 = "val"
     public result_int reduce_addint_comb(int[] in1) {
         // Verify that "in1" is non-null.
@@ -222,11 +222,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_addint_comb, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_addint_comb, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_addint_init_comb = 2;
+    private final static int mExportReduceIdx_addint_init_comb = 2;
     // in1 = "val"
     public result_int reduce_addint_init_comb(int[] in1) {
         // Verify that "in1" is non-null.
@@ -255,11 +255,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_addint_init_comb, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_addint_init_comb, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_dp_init = 3;
+    private final static int mExportReduceIdx_dp_init = 3;
     // in1 = "in1"
     // in2 = "in2"
     public result_float reduce_dp_init(float[] in1, float[] in2) {
@@ -319,11 +319,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __F32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_dp_init, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_dp_init, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_float(aout);
     }
 
-    private final static int mExportReduceNewIdx_histogram_init = 4;
+    private final static int mExportReduceIdx_histogram_init = 4;
     // in1 = "in"
     public resultArray256_uint reduce_histogram_init(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -352,7 +352,7 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U32, 256);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_histogram_init, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_histogram_init, new Allocation[]{ain1}, aout, sc);
         return new resultArray256_uint(aout);
     }
 
diff --git a/tests/P_reduce_general_examples_halter/ScriptC_reduce_general_examples_halter.java.expect b/tests/P_reduce_general_examples_halter/ScriptC_reduce_general_examples_halter.java.expect
index 5d9ee49..0b2f3da 100644
--- a/tests/P_reduce_general_examples_halter/ScriptC_reduce_general_examples_halter.java.expect
+++ b/tests/P_reduce_general_examples_halter/ScriptC_reduce_general_examples_halter.java.expect
@@ -115,7 +115,7 @@
         private Int2 mResult;
     }
 
-    private final static int mExportReduceNewIdx_fz = 0;
+    private final static int mExportReduceIdx_fz = 0;
     // in1 = "inVal"
     public result_int reduce_fz(int[] in1) {
         // Verify that "in1" is non-null.
@@ -144,11 +144,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_fz, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_fz, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_fz2 = 1;
+    private final static int mExportReduceIdx_fz2 = 1;
     // in1 = "inVal"
     public result_int2 reduce_fz2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -177,7 +177,7 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_fz2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_fz2, new Allocation[]{ain1}, aout, sc);
         return new result_int2(aout);
     }
 
diff --git a/tests/P_reduce_general_input/ScriptC_reduce_general_input.java.expect b/tests/P_reduce_general_input/ScriptC_reduce_general_input.java.expect
index 48a9e6e..bc151f1 100644
--- a/tests/P_reduce_general_input/ScriptC_reduce_general_input.java.expect
+++ b/tests/P_reduce_general_input/ScriptC_reduce_general_input.java.expect
@@ -145,7 +145,7 @@
         private int mResult;
     }
 
-    private final static int mExportReduceNewIdx_my_half_0 = 0;
+    private final static int mExportReduceIdx_my_half_0 = 0;
     // in1 = "in"
     public result_int reduce_my_half_0(short[] in1) {
         // Verify that "in1" is non-null.
@@ -174,11 +174,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_1 = 1;
+    private final static int mExportReduceIdx_my_half_1 = 1;
     // in1 = "in"
     public result_int reduce_my_half_1(short[] in1) {
         // Verify that "in1" is non-null.
@@ -207,11 +207,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_2 = 2;
+    private final static int mExportReduceIdx_my_half_2 = 2;
     // in1 = "in"
     public result_int reduce_my_half_2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -240,11 +240,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_3 = 3;
+    private final static int mExportReduceIdx_my_half_3 = 3;
     // in1 = "in"
     public result_int reduce_my_half_3(short[] in1) {
         // Verify that "in1" is non-null.
@@ -273,11 +273,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_4 = 4;
+    private final static int mExportReduceIdx_my_half_4 = 4;
     // in1 = "in"
     public result_int reduce_my_half_4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -306,11 +306,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_5 = 5;
+    private final static int mExportReduceIdx_my_half_5 = 5;
     // in1 = "in"
     public result_int reduce_my_half_5(short[] in1) {
         // Verify that "in1" is non-null.
@@ -339,11 +339,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_6 = 6;
+    private final static int mExportReduceIdx_my_half_6 = 6;
     // in1 = "in"
     public result_int reduce_my_half_6(short[] in1) {
         // Verify that "in1" is non-null.
@@ -372,11 +372,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_7 = 7;
+    private final static int mExportReduceIdx_my_half_7 = 7;
     // in1 = "in"
     public result_int reduce_my_half_7(short[] in1) {
         // Verify that "in1" is non-null.
@@ -405,11 +405,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_8 = 8;
+    private final static int mExportReduceIdx_my_half_8 = 8;
     // in1 = "in"
     public result_int reduce_my_half_8(short[] in1) {
         // Verify that "in1" is non-null.
@@ -438,11 +438,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_9 = 9;
+    private final static int mExportReduceIdx_my_half_9 = 9;
     // in1 = "in"
     public result_int reduce_my_half_9(short[] in1) {
         // Verify that "in1" is non-null.
@@ -471,11 +471,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_10 = 10;
+    private final static int mExportReduceIdx_my_half_10 = 10;
     // in1 = "in"
     public result_int reduce_my_half_10(short[] in1) {
         // Verify that "in1" is non-null.
@@ -504,11 +504,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_11 = 11;
+    private final static int mExportReduceIdx_my_half_11 = 11;
     // in1 = "in"
     public result_int reduce_my_half_11(short[] in1) {
         // Verify that "in1" is non-null.
@@ -537,11 +537,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_12 = 12;
+    private final static int mExportReduceIdx_my_half_12 = 12;
     // in1 = "in"
     public result_int reduce_my_half_12(short[] in1) {
         // Verify that "in1" is non-null.
@@ -570,11 +570,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_13 = 13;
+    private final static int mExportReduceIdx_my_half_13 = 13;
     // in1 = "in"
     public result_int reduce_my_half_13(short[] in1) {
         // Verify that "in1" is non-null.
@@ -603,11 +603,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_14 = 14;
+    private final static int mExportReduceIdx_my_half_14 = 14;
     // in1 = "in"
     public result_int reduce_my_half_14(short[] in1) {
         // Verify that "in1" is non-null.
@@ -636,11 +636,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_15 = 15;
+    private final static int mExportReduceIdx_my_half_15 = 15;
     // in1 = "in"
     public result_int reduce_my_half_15(short[] in1) {
         // Verify that "in1" is non-null.
@@ -669,11 +669,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_0 = 16;
+    private final static int mExportReduceIdx_my_half2_0 = 16;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_0(short[] in1) {
         // Verify that "in1" is non-null.
@@ -706,11 +706,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_1 = 17;
+    private final static int mExportReduceIdx_my_half2_1 = 17;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_1(short[] in1) {
         // Verify that "in1" is non-null.
@@ -743,11 +743,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_2 = 18;
+    private final static int mExportReduceIdx_my_half2_2 = 18;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -780,11 +780,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_3 = 19;
+    private final static int mExportReduceIdx_my_half2_3 = 19;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_3(short[] in1) {
         // Verify that "in1" is non-null.
@@ -817,11 +817,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_4 = 20;
+    private final static int mExportReduceIdx_my_half2_4 = 20;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -854,11 +854,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_5 = 21;
+    private final static int mExportReduceIdx_my_half2_5 = 21;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_5(short[] in1) {
         // Verify that "in1" is non-null.
@@ -891,11 +891,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_6 = 22;
+    private final static int mExportReduceIdx_my_half2_6 = 22;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_6(short[] in1) {
         // Verify that "in1" is non-null.
@@ -928,11 +928,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_7 = 23;
+    private final static int mExportReduceIdx_my_half2_7 = 23;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_7(short[] in1) {
         // Verify that "in1" is non-null.
@@ -965,11 +965,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_8 = 24;
+    private final static int mExportReduceIdx_my_half2_8 = 24;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_8(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1002,11 +1002,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_9 = 25;
+    private final static int mExportReduceIdx_my_half2_9 = 25;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_9(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1039,11 +1039,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_10 = 26;
+    private final static int mExportReduceIdx_my_half2_10 = 26;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_10(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1076,11 +1076,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_11 = 27;
+    private final static int mExportReduceIdx_my_half2_11 = 27;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_11(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1113,11 +1113,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_12 = 28;
+    private final static int mExportReduceIdx_my_half2_12 = 28;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_12(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1150,11 +1150,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_13 = 29;
+    private final static int mExportReduceIdx_my_half2_13 = 29;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_13(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1187,11 +1187,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_14 = 30;
+    private final static int mExportReduceIdx_my_half2_14 = 30;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_14(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1224,11 +1224,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_15 = 31;
+    private final static int mExportReduceIdx_my_half2_15 = 31;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_half2_15(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1261,11 +1261,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_0 = 32;
+    private final static int mExportReduceIdx_my_half4_0 = 32;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_0(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1298,11 +1298,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_1 = 33;
+    private final static int mExportReduceIdx_my_half4_1 = 33;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_1(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1335,11 +1335,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_2 = 34;
+    private final static int mExportReduceIdx_my_half4_2 = 34;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1372,11 +1372,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_3 = 35;
+    private final static int mExportReduceIdx_my_half4_3 = 35;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_3(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1409,11 +1409,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_4 = 36;
+    private final static int mExportReduceIdx_my_half4_4 = 36;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1446,11 +1446,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_5 = 37;
+    private final static int mExportReduceIdx_my_half4_5 = 37;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_5(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1483,11 +1483,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_6 = 38;
+    private final static int mExportReduceIdx_my_half4_6 = 38;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_6(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1520,11 +1520,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_7 = 39;
+    private final static int mExportReduceIdx_my_half4_7 = 39;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_7(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1557,11 +1557,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_8 = 40;
+    private final static int mExportReduceIdx_my_half4_8 = 40;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_8(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1594,11 +1594,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_9 = 41;
+    private final static int mExportReduceIdx_my_half4_9 = 41;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_9(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1631,11 +1631,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_10 = 42;
+    private final static int mExportReduceIdx_my_half4_10 = 42;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_10(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1668,11 +1668,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_11 = 43;
+    private final static int mExportReduceIdx_my_half4_11 = 43;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_11(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1705,11 +1705,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_12 = 44;
+    private final static int mExportReduceIdx_my_half4_12 = 44;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_12(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1742,11 +1742,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_13 = 45;
+    private final static int mExportReduceIdx_my_half4_13 = 45;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_13(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1779,11 +1779,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_14 = 46;
+    private final static int mExportReduceIdx_my_half4_14 = 46;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_14(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1816,11 +1816,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_15 = 47;
+    private final static int mExportReduceIdx_my_half4_15 = 47;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_half4_15(short[] in1) {
         // Verify that "in1" is non-null.
@@ -1853,11 +1853,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_0 = 48;
+    private final static int mExportReduceIdx_my_float_0 = 48;
     // in1 = "in"
     public result_int reduce_my_float_0(float[] in1) {
         // Verify that "in1" is non-null.
@@ -1886,11 +1886,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_1 = 49;
+    private final static int mExportReduceIdx_my_float_1 = 49;
     // in1 = "in"
     public result_int reduce_my_float_1(float[] in1) {
         // Verify that "in1" is non-null.
@@ -1919,11 +1919,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_2 = 50;
+    private final static int mExportReduceIdx_my_float_2 = 50;
     // in1 = "in"
     public result_int reduce_my_float_2(float[] in1) {
         // Verify that "in1" is non-null.
@@ -1952,11 +1952,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_3 = 51;
+    private final static int mExportReduceIdx_my_float_3 = 51;
     // in1 = "in"
     public result_int reduce_my_float_3(float[] in1) {
         // Verify that "in1" is non-null.
@@ -1985,11 +1985,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_4 = 52;
+    private final static int mExportReduceIdx_my_float_4 = 52;
     // in1 = "in"
     public result_int reduce_my_float_4(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2018,11 +2018,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_5 = 53;
+    private final static int mExportReduceIdx_my_float_5 = 53;
     // in1 = "in"
     public result_int reduce_my_float_5(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2051,11 +2051,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_6 = 54;
+    private final static int mExportReduceIdx_my_float_6 = 54;
     // in1 = "in"
     public result_int reduce_my_float_6(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2084,11 +2084,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_7 = 55;
+    private final static int mExportReduceIdx_my_float_7 = 55;
     // in1 = "in"
     public result_int reduce_my_float_7(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2117,11 +2117,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_8 = 56;
+    private final static int mExportReduceIdx_my_float_8 = 56;
     // in1 = "in"
     public result_int reduce_my_float_8(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2150,11 +2150,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_9 = 57;
+    private final static int mExportReduceIdx_my_float_9 = 57;
     // in1 = "in"
     public result_int reduce_my_float_9(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2183,11 +2183,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_10 = 58;
+    private final static int mExportReduceIdx_my_float_10 = 58;
     // in1 = "in"
     public result_int reduce_my_float_10(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2216,11 +2216,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_11 = 59;
+    private final static int mExportReduceIdx_my_float_11 = 59;
     // in1 = "in"
     public result_int reduce_my_float_11(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2249,11 +2249,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_12 = 60;
+    private final static int mExportReduceIdx_my_float_12 = 60;
     // in1 = "in"
     public result_int reduce_my_float_12(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2282,11 +2282,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_13 = 61;
+    private final static int mExportReduceIdx_my_float_13 = 61;
     // in1 = "in"
     public result_int reduce_my_float_13(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2315,11 +2315,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_14 = 62;
+    private final static int mExportReduceIdx_my_float_14 = 62;
     // in1 = "in"
     public result_int reduce_my_float_14(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2348,11 +2348,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_15 = 63;
+    private final static int mExportReduceIdx_my_float_15 = 63;
     // in1 = "in"
     public result_int reduce_my_float_15(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2381,11 +2381,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_0 = 64;
+    private final static int mExportReduceIdx_my_float2_0 = 64;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_0(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2418,11 +2418,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_1 = 65;
+    private final static int mExportReduceIdx_my_float2_1 = 65;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_1(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2455,11 +2455,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_2 = 66;
+    private final static int mExportReduceIdx_my_float2_2 = 66;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_2(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2492,11 +2492,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_3 = 67;
+    private final static int mExportReduceIdx_my_float2_3 = 67;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_3(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2529,11 +2529,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_4 = 68;
+    private final static int mExportReduceIdx_my_float2_4 = 68;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_4(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2566,11 +2566,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_5 = 69;
+    private final static int mExportReduceIdx_my_float2_5 = 69;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_5(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2603,11 +2603,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_6 = 70;
+    private final static int mExportReduceIdx_my_float2_6 = 70;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_6(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2640,11 +2640,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_7 = 71;
+    private final static int mExportReduceIdx_my_float2_7 = 71;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_7(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2677,11 +2677,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_8 = 72;
+    private final static int mExportReduceIdx_my_float2_8 = 72;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_8(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2714,11 +2714,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_9 = 73;
+    private final static int mExportReduceIdx_my_float2_9 = 73;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_9(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2751,11 +2751,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_10 = 74;
+    private final static int mExportReduceIdx_my_float2_10 = 74;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_10(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2788,11 +2788,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_11 = 75;
+    private final static int mExportReduceIdx_my_float2_11 = 75;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_11(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2825,11 +2825,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_12 = 76;
+    private final static int mExportReduceIdx_my_float2_12 = 76;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_12(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2862,11 +2862,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_13 = 77;
+    private final static int mExportReduceIdx_my_float2_13 = 77;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_13(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2899,11 +2899,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_14 = 78;
+    private final static int mExportReduceIdx_my_float2_14 = 78;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_14(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2936,11 +2936,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_15 = 79;
+    private final static int mExportReduceIdx_my_float2_15 = 79;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_float2_15(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2973,11 +2973,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_0 = 80;
+    private final static int mExportReduceIdx_my_float4_0 = 80;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_0(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3010,11 +3010,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_1 = 81;
+    private final static int mExportReduceIdx_my_float4_1 = 81;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_1(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3047,11 +3047,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_2 = 82;
+    private final static int mExportReduceIdx_my_float4_2 = 82;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_2(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3084,11 +3084,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_3 = 83;
+    private final static int mExportReduceIdx_my_float4_3 = 83;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_3(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3121,11 +3121,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_4 = 84;
+    private final static int mExportReduceIdx_my_float4_4 = 84;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_4(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3158,11 +3158,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_5 = 85;
+    private final static int mExportReduceIdx_my_float4_5 = 85;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_5(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3195,11 +3195,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_6 = 86;
+    private final static int mExportReduceIdx_my_float4_6 = 86;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_6(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3232,11 +3232,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_7 = 87;
+    private final static int mExportReduceIdx_my_float4_7 = 87;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_7(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3269,11 +3269,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_8 = 88;
+    private final static int mExportReduceIdx_my_float4_8 = 88;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_8(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3306,11 +3306,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_9 = 89;
+    private final static int mExportReduceIdx_my_float4_9 = 89;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_9(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3343,11 +3343,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_10 = 90;
+    private final static int mExportReduceIdx_my_float4_10 = 90;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_10(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3380,11 +3380,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_11 = 91;
+    private final static int mExportReduceIdx_my_float4_11 = 91;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_11(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3417,11 +3417,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_12 = 92;
+    private final static int mExportReduceIdx_my_float4_12 = 92;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_12(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3454,11 +3454,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_13 = 93;
+    private final static int mExportReduceIdx_my_float4_13 = 93;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_13(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3491,11 +3491,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_14 = 94;
+    private final static int mExportReduceIdx_my_float4_14 = 94;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_14(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3528,11 +3528,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_15 = 95;
+    private final static int mExportReduceIdx_my_float4_15 = 95;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_float4_15(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3565,11 +3565,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_0 = 96;
+    private final static int mExportReduceIdx_my_double_0 = 96;
     // in1 = "in"
     public result_int reduce_my_double_0(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3598,11 +3598,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_1 = 97;
+    private final static int mExportReduceIdx_my_double_1 = 97;
     // in1 = "in"
     public result_int reduce_my_double_1(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3631,11 +3631,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_2 = 98;
+    private final static int mExportReduceIdx_my_double_2 = 98;
     // in1 = "in"
     public result_int reduce_my_double_2(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3664,11 +3664,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_3 = 99;
+    private final static int mExportReduceIdx_my_double_3 = 99;
     // in1 = "in"
     public result_int reduce_my_double_3(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3697,11 +3697,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_4 = 100;
+    private final static int mExportReduceIdx_my_double_4 = 100;
     // in1 = "in"
     public result_int reduce_my_double_4(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3730,11 +3730,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_5 = 101;
+    private final static int mExportReduceIdx_my_double_5 = 101;
     // in1 = "in"
     public result_int reduce_my_double_5(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3763,11 +3763,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_6 = 102;
+    private final static int mExportReduceIdx_my_double_6 = 102;
     // in1 = "in"
     public result_int reduce_my_double_6(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3796,11 +3796,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_7 = 103;
+    private final static int mExportReduceIdx_my_double_7 = 103;
     // in1 = "in"
     public result_int reduce_my_double_7(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3829,11 +3829,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_8 = 104;
+    private final static int mExportReduceIdx_my_double_8 = 104;
     // in1 = "in"
     public result_int reduce_my_double_8(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3862,11 +3862,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_9 = 105;
+    private final static int mExportReduceIdx_my_double_9 = 105;
     // in1 = "in"
     public result_int reduce_my_double_9(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3895,11 +3895,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_10 = 106;
+    private final static int mExportReduceIdx_my_double_10 = 106;
     // in1 = "in"
     public result_int reduce_my_double_10(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3928,11 +3928,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_11 = 107;
+    private final static int mExportReduceIdx_my_double_11 = 107;
     // in1 = "in"
     public result_int reduce_my_double_11(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3961,11 +3961,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_12 = 108;
+    private final static int mExportReduceIdx_my_double_12 = 108;
     // in1 = "in"
     public result_int reduce_my_double_12(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3994,11 +3994,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_13 = 109;
+    private final static int mExportReduceIdx_my_double_13 = 109;
     // in1 = "in"
     public result_int reduce_my_double_13(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4027,11 +4027,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_14 = 110;
+    private final static int mExportReduceIdx_my_double_14 = 110;
     // in1 = "in"
     public result_int reduce_my_double_14(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4060,11 +4060,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double_15 = 111;
+    private final static int mExportReduceIdx_my_double_15 = 111;
     // in1 = "in"
     public result_int reduce_my_double_15(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4093,11 +4093,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_0 = 112;
+    private final static int mExportReduceIdx_my_double2_0 = 112;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_0(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4130,11 +4130,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_1 = 113;
+    private final static int mExportReduceIdx_my_double2_1 = 113;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_1(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4167,11 +4167,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_2 = 114;
+    private final static int mExportReduceIdx_my_double2_2 = 114;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_2(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4204,11 +4204,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_3 = 115;
+    private final static int mExportReduceIdx_my_double2_3 = 115;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_3(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4241,11 +4241,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_4 = 116;
+    private final static int mExportReduceIdx_my_double2_4 = 116;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_4(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4278,11 +4278,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_5 = 117;
+    private final static int mExportReduceIdx_my_double2_5 = 117;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_5(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4315,11 +4315,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_6 = 118;
+    private final static int mExportReduceIdx_my_double2_6 = 118;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_6(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4352,11 +4352,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_7 = 119;
+    private final static int mExportReduceIdx_my_double2_7 = 119;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_7(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4389,11 +4389,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_8 = 120;
+    private final static int mExportReduceIdx_my_double2_8 = 120;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_8(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4426,11 +4426,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_9 = 121;
+    private final static int mExportReduceIdx_my_double2_9 = 121;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_9(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4463,11 +4463,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_10 = 122;
+    private final static int mExportReduceIdx_my_double2_10 = 122;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_10(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4500,11 +4500,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_11 = 123;
+    private final static int mExportReduceIdx_my_double2_11 = 123;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_11(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4537,11 +4537,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_12 = 124;
+    private final static int mExportReduceIdx_my_double2_12 = 124;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_12(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4574,11 +4574,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_13 = 125;
+    private final static int mExportReduceIdx_my_double2_13 = 125;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_13(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4611,11 +4611,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_14 = 126;
+    private final static int mExportReduceIdx_my_double2_14 = 126;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_14(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4648,11 +4648,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2_15 = 127;
+    private final static int mExportReduceIdx_my_double2_15 = 127;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_double2_15(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4685,11 +4685,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_0 = 128;
+    private final static int mExportReduceIdx_my_double4_0 = 128;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_0(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4722,11 +4722,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_1 = 129;
+    private final static int mExportReduceIdx_my_double4_1 = 129;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_1(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4759,11 +4759,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_2 = 130;
+    private final static int mExportReduceIdx_my_double4_2 = 130;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_2(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4796,11 +4796,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_3 = 131;
+    private final static int mExportReduceIdx_my_double4_3 = 131;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_3(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4833,11 +4833,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_4 = 132;
+    private final static int mExportReduceIdx_my_double4_4 = 132;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_4(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4870,11 +4870,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_5 = 133;
+    private final static int mExportReduceIdx_my_double4_5 = 133;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_5(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4907,11 +4907,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_6 = 134;
+    private final static int mExportReduceIdx_my_double4_6 = 134;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_6(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4944,11 +4944,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_7 = 135;
+    private final static int mExportReduceIdx_my_double4_7 = 135;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_7(double[] in1) {
         // Verify that "in1" is non-null.
@@ -4981,11 +4981,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_8 = 136;
+    private final static int mExportReduceIdx_my_double4_8 = 136;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_8(double[] in1) {
         // Verify that "in1" is non-null.
@@ -5018,11 +5018,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_9 = 137;
+    private final static int mExportReduceIdx_my_double4_9 = 137;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_9(double[] in1) {
         // Verify that "in1" is non-null.
@@ -5055,11 +5055,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_10 = 138;
+    private final static int mExportReduceIdx_my_double4_10 = 138;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_10(double[] in1) {
         // Verify that "in1" is non-null.
@@ -5092,11 +5092,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_11 = 139;
+    private final static int mExportReduceIdx_my_double4_11 = 139;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_11(double[] in1) {
         // Verify that "in1" is non-null.
@@ -5129,11 +5129,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_12 = 140;
+    private final static int mExportReduceIdx_my_double4_12 = 140;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_12(double[] in1) {
         // Verify that "in1" is non-null.
@@ -5166,11 +5166,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_13 = 141;
+    private final static int mExportReduceIdx_my_double4_13 = 141;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_13(double[] in1) {
         // Verify that "in1" is non-null.
@@ -5203,11 +5203,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_14 = 142;
+    private final static int mExportReduceIdx_my_double4_14 = 142;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_14(double[] in1) {
         // Verify that "in1" is non-null.
@@ -5240,11 +5240,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4_15 = 143;
+    private final static int mExportReduceIdx_my_double4_15 = 143;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_double4_15(double[] in1) {
         // Verify that "in1" is non-null.
@@ -5277,11 +5277,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_0 = 144;
+    private final static int mExportReduceIdx_my_char_0 = 144;
     // in1 = "in"
     public result_int reduce_my_char_0(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5310,11 +5310,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_1 = 145;
+    private final static int mExportReduceIdx_my_char_1 = 145;
     // in1 = "in"
     public result_int reduce_my_char_1(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5343,11 +5343,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_2 = 146;
+    private final static int mExportReduceIdx_my_char_2 = 146;
     // in1 = "in"
     public result_int reduce_my_char_2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5376,11 +5376,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_3 = 147;
+    private final static int mExportReduceIdx_my_char_3 = 147;
     // in1 = "in"
     public result_int reduce_my_char_3(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5409,11 +5409,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_4 = 148;
+    private final static int mExportReduceIdx_my_char_4 = 148;
     // in1 = "in"
     public result_int reduce_my_char_4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5442,11 +5442,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_5 = 149;
+    private final static int mExportReduceIdx_my_char_5 = 149;
     // in1 = "in"
     public result_int reduce_my_char_5(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5475,11 +5475,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_6 = 150;
+    private final static int mExportReduceIdx_my_char_6 = 150;
     // in1 = "in"
     public result_int reduce_my_char_6(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5508,11 +5508,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_7 = 151;
+    private final static int mExportReduceIdx_my_char_7 = 151;
     // in1 = "in"
     public result_int reduce_my_char_7(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5541,11 +5541,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_8 = 152;
+    private final static int mExportReduceIdx_my_char_8 = 152;
     // in1 = "in"
     public result_int reduce_my_char_8(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5574,11 +5574,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_9 = 153;
+    private final static int mExportReduceIdx_my_char_9 = 153;
     // in1 = "in"
     public result_int reduce_my_char_9(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5607,11 +5607,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_10 = 154;
+    private final static int mExportReduceIdx_my_char_10 = 154;
     // in1 = "in"
     public result_int reduce_my_char_10(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5640,11 +5640,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_11 = 155;
+    private final static int mExportReduceIdx_my_char_11 = 155;
     // in1 = "in"
     public result_int reduce_my_char_11(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5673,11 +5673,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_12 = 156;
+    private final static int mExportReduceIdx_my_char_12 = 156;
     // in1 = "in"
     public result_int reduce_my_char_12(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5706,11 +5706,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_13 = 157;
+    private final static int mExportReduceIdx_my_char_13 = 157;
     // in1 = "in"
     public result_int reduce_my_char_13(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5739,11 +5739,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_14 = 158;
+    private final static int mExportReduceIdx_my_char_14 = 158;
     // in1 = "in"
     public result_int reduce_my_char_14(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5772,11 +5772,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_15 = 159;
+    private final static int mExportReduceIdx_my_char_15 = 159;
     // in1 = "in"
     public result_int reduce_my_char_15(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5805,11 +5805,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_0 = 160;
+    private final static int mExportReduceIdx_my_char2_0 = 160;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_0(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5842,11 +5842,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_1 = 161;
+    private final static int mExportReduceIdx_my_char2_1 = 161;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_1(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5879,11 +5879,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_2 = 162;
+    private final static int mExportReduceIdx_my_char2_2 = 162;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5916,11 +5916,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_3 = 163;
+    private final static int mExportReduceIdx_my_char2_3 = 163;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_3(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5953,11 +5953,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_4 = 164;
+    private final static int mExportReduceIdx_my_char2_4 = 164;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5990,11 +5990,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_5 = 165;
+    private final static int mExportReduceIdx_my_char2_5 = 165;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_5(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6027,11 +6027,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_6 = 166;
+    private final static int mExportReduceIdx_my_char2_6 = 166;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_6(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6064,11 +6064,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_7 = 167;
+    private final static int mExportReduceIdx_my_char2_7 = 167;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_7(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6101,11 +6101,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_8 = 168;
+    private final static int mExportReduceIdx_my_char2_8 = 168;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_8(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6138,11 +6138,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_9 = 169;
+    private final static int mExportReduceIdx_my_char2_9 = 169;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_9(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6175,11 +6175,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_10 = 170;
+    private final static int mExportReduceIdx_my_char2_10 = 170;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_10(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6212,11 +6212,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_11 = 171;
+    private final static int mExportReduceIdx_my_char2_11 = 171;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_11(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6249,11 +6249,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_12 = 172;
+    private final static int mExportReduceIdx_my_char2_12 = 172;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_12(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6286,11 +6286,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_13 = 173;
+    private final static int mExportReduceIdx_my_char2_13 = 173;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_13(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6323,11 +6323,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_14 = 174;
+    private final static int mExportReduceIdx_my_char2_14 = 174;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_14(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6360,11 +6360,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_15 = 175;
+    private final static int mExportReduceIdx_my_char2_15 = 175;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_char2_15(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6397,11 +6397,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_0 = 176;
+    private final static int mExportReduceIdx_my_char4_0 = 176;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_0(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6434,11 +6434,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_1 = 177;
+    private final static int mExportReduceIdx_my_char4_1 = 177;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_1(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6471,11 +6471,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_2 = 178;
+    private final static int mExportReduceIdx_my_char4_2 = 178;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6508,11 +6508,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_3 = 179;
+    private final static int mExportReduceIdx_my_char4_3 = 179;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_3(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6545,11 +6545,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_4 = 180;
+    private final static int mExportReduceIdx_my_char4_4 = 180;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6582,11 +6582,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_5 = 181;
+    private final static int mExportReduceIdx_my_char4_5 = 181;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_5(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6619,11 +6619,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_6 = 182;
+    private final static int mExportReduceIdx_my_char4_6 = 182;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_6(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6656,11 +6656,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_7 = 183;
+    private final static int mExportReduceIdx_my_char4_7 = 183;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_7(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6693,11 +6693,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_8 = 184;
+    private final static int mExportReduceIdx_my_char4_8 = 184;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_8(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6730,11 +6730,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_9 = 185;
+    private final static int mExportReduceIdx_my_char4_9 = 185;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_9(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6767,11 +6767,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_10 = 186;
+    private final static int mExportReduceIdx_my_char4_10 = 186;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_10(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6804,11 +6804,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_11 = 187;
+    private final static int mExportReduceIdx_my_char4_11 = 187;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_11(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6841,11 +6841,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_12 = 188;
+    private final static int mExportReduceIdx_my_char4_12 = 188;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_12(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6878,11 +6878,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_13 = 189;
+    private final static int mExportReduceIdx_my_char4_13 = 189;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_13(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6915,11 +6915,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_14 = 190;
+    private final static int mExportReduceIdx_my_char4_14 = 190;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_14(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6952,11 +6952,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_15 = 191;
+    private final static int mExportReduceIdx_my_char4_15 = 191;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_char4_15(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -6989,11 +6989,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_0 = 192;
+    private final static int mExportReduceIdx_my_short_0 = 192;
     // in1 = "in"
     public result_int reduce_my_short_0(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7022,11 +7022,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_1 = 193;
+    private final static int mExportReduceIdx_my_short_1 = 193;
     // in1 = "in"
     public result_int reduce_my_short_1(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7055,11 +7055,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_2 = 194;
+    private final static int mExportReduceIdx_my_short_2 = 194;
     // in1 = "in"
     public result_int reduce_my_short_2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7088,11 +7088,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_3 = 195;
+    private final static int mExportReduceIdx_my_short_3 = 195;
     // in1 = "in"
     public result_int reduce_my_short_3(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7121,11 +7121,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_4 = 196;
+    private final static int mExportReduceIdx_my_short_4 = 196;
     // in1 = "in"
     public result_int reduce_my_short_4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7154,11 +7154,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_5 = 197;
+    private final static int mExportReduceIdx_my_short_5 = 197;
     // in1 = "in"
     public result_int reduce_my_short_5(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7187,11 +7187,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_6 = 198;
+    private final static int mExportReduceIdx_my_short_6 = 198;
     // in1 = "in"
     public result_int reduce_my_short_6(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7220,11 +7220,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_7 = 199;
+    private final static int mExportReduceIdx_my_short_7 = 199;
     // in1 = "in"
     public result_int reduce_my_short_7(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7253,11 +7253,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_8 = 200;
+    private final static int mExportReduceIdx_my_short_8 = 200;
     // in1 = "in"
     public result_int reduce_my_short_8(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7286,11 +7286,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_9 = 201;
+    private final static int mExportReduceIdx_my_short_9 = 201;
     // in1 = "in"
     public result_int reduce_my_short_9(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7319,11 +7319,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_10 = 202;
+    private final static int mExportReduceIdx_my_short_10 = 202;
     // in1 = "in"
     public result_int reduce_my_short_10(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7352,11 +7352,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_11 = 203;
+    private final static int mExportReduceIdx_my_short_11 = 203;
     // in1 = "in"
     public result_int reduce_my_short_11(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7385,11 +7385,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_12 = 204;
+    private final static int mExportReduceIdx_my_short_12 = 204;
     // in1 = "in"
     public result_int reduce_my_short_12(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7418,11 +7418,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_13 = 205;
+    private final static int mExportReduceIdx_my_short_13 = 205;
     // in1 = "in"
     public result_int reduce_my_short_13(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7451,11 +7451,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_14 = 206;
+    private final static int mExportReduceIdx_my_short_14 = 206;
     // in1 = "in"
     public result_int reduce_my_short_14(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7484,11 +7484,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_15 = 207;
+    private final static int mExportReduceIdx_my_short_15 = 207;
     // in1 = "in"
     public result_int reduce_my_short_15(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7517,11 +7517,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_0 = 208;
+    private final static int mExportReduceIdx_my_short2_0 = 208;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_0(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7554,11 +7554,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_1 = 209;
+    private final static int mExportReduceIdx_my_short2_1 = 209;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_1(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7591,11 +7591,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_2 = 210;
+    private final static int mExportReduceIdx_my_short2_2 = 210;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7628,11 +7628,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_3 = 211;
+    private final static int mExportReduceIdx_my_short2_3 = 211;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_3(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7665,11 +7665,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_4 = 212;
+    private final static int mExportReduceIdx_my_short2_4 = 212;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7702,11 +7702,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_5 = 213;
+    private final static int mExportReduceIdx_my_short2_5 = 213;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_5(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7739,11 +7739,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_6 = 214;
+    private final static int mExportReduceIdx_my_short2_6 = 214;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_6(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7776,11 +7776,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_7 = 215;
+    private final static int mExportReduceIdx_my_short2_7 = 215;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_7(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7813,11 +7813,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_8 = 216;
+    private final static int mExportReduceIdx_my_short2_8 = 216;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_8(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7850,11 +7850,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_9 = 217;
+    private final static int mExportReduceIdx_my_short2_9 = 217;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_9(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7887,11 +7887,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_10 = 218;
+    private final static int mExportReduceIdx_my_short2_10 = 218;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_10(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7924,11 +7924,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_11 = 219;
+    private final static int mExportReduceIdx_my_short2_11 = 219;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_11(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7961,11 +7961,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_12 = 220;
+    private final static int mExportReduceIdx_my_short2_12 = 220;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_12(short[] in1) {
         // Verify that "in1" is non-null.
@@ -7998,11 +7998,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_13 = 221;
+    private final static int mExportReduceIdx_my_short2_13 = 221;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_13(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8035,11 +8035,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_14 = 222;
+    private final static int mExportReduceIdx_my_short2_14 = 222;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_14(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8072,11 +8072,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_15 = 223;
+    private final static int mExportReduceIdx_my_short2_15 = 223;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_short2_15(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8109,11 +8109,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_0 = 224;
+    private final static int mExportReduceIdx_my_short4_0 = 224;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_0(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8146,11 +8146,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_1 = 225;
+    private final static int mExportReduceIdx_my_short4_1 = 225;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_1(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8183,11 +8183,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_2 = 226;
+    private final static int mExportReduceIdx_my_short4_2 = 226;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8220,11 +8220,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_3 = 227;
+    private final static int mExportReduceIdx_my_short4_3 = 227;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_3(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8257,11 +8257,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_4 = 228;
+    private final static int mExportReduceIdx_my_short4_4 = 228;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8294,11 +8294,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_5 = 229;
+    private final static int mExportReduceIdx_my_short4_5 = 229;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_5(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8331,11 +8331,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_6 = 230;
+    private final static int mExportReduceIdx_my_short4_6 = 230;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_6(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8368,11 +8368,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_7 = 231;
+    private final static int mExportReduceIdx_my_short4_7 = 231;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_7(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8405,11 +8405,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_8 = 232;
+    private final static int mExportReduceIdx_my_short4_8 = 232;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_8(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8442,11 +8442,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_9 = 233;
+    private final static int mExportReduceIdx_my_short4_9 = 233;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_9(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8479,11 +8479,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_10 = 234;
+    private final static int mExportReduceIdx_my_short4_10 = 234;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_10(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8516,11 +8516,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_11 = 235;
+    private final static int mExportReduceIdx_my_short4_11 = 235;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_11(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8553,11 +8553,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_12 = 236;
+    private final static int mExportReduceIdx_my_short4_12 = 236;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_12(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8590,11 +8590,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_13 = 237;
+    private final static int mExportReduceIdx_my_short4_13 = 237;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_13(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8627,11 +8627,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_14 = 238;
+    private final static int mExportReduceIdx_my_short4_14 = 238;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_14(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8664,11 +8664,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_15 = 239;
+    private final static int mExportReduceIdx_my_short4_15 = 239;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_short4_15(short[] in1) {
         // Verify that "in1" is non-null.
@@ -8701,11 +8701,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_0 = 240;
+    private final static int mExportReduceIdx_my_int_0 = 240;
     // in1 = "in"
     public result_int reduce_my_int_0(int[] in1) {
         // Verify that "in1" is non-null.
@@ -8734,11 +8734,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_1 = 241;
+    private final static int mExportReduceIdx_my_int_1 = 241;
     // in1 = "in"
     public result_int reduce_my_int_1(int[] in1) {
         // Verify that "in1" is non-null.
@@ -8767,11 +8767,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_2 = 242;
+    private final static int mExportReduceIdx_my_int_2 = 242;
     // in1 = "in"
     public result_int reduce_my_int_2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -8800,11 +8800,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_3 = 243;
+    private final static int mExportReduceIdx_my_int_3 = 243;
     // in1 = "in"
     public result_int reduce_my_int_3(int[] in1) {
         // Verify that "in1" is non-null.
@@ -8833,11 +8833,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_4 = 244;
+    private final static int mExportReduceIdx_my_int_4 = 244;
     // in1 = "in"
     public result_int reduce_my_int_4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -8866,11 +8866,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_5 = 245;
+    private final static int mExportReduceIdx_my_int_5 = 245;
     // in1 = "in"
     public result_int reduce_my_int_5(int[] in1) {
         // Verify that "in1" is non-null.
@@ -8899,11 +8899,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_6 = 246;
+    private final static int mExportReduceIdx_my_int_6 = 246;
     // in1 = "in"
     public result_int reduce_my_int_6(int[] in1) {
         // Verify that "in1" is non-null.
@@ -8932,11 +8932,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_7 = 247;
+    private final static int mExportReduceIdx_my_int_7 = 247;
     // in1 = "in"
     public result_int reduce_my_int_7(int[] in1) {
         // Verify that "in1" is non-null.
@@ -8965,11 +8965,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_8 = 248;
+    private final static int mExportReduceIdx_my_int_8 = 248;
     // in1 = "in"
     public result_int reduce_my_int_8(int[] in1) {
         // Verify that "in1" is non-null.
@@ -8998,11 +8998,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_9 = 249;
+    private final static int mExportReduceIdx_my_int_9 = 249;
     // in1 = "in"
     public result_int reduce_my_int_9(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9031,11 +9031,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_10 = 250;
+    private final static int mExportReduceIdx_my_int_10 = 250;
     // in1 = "in"
     public result_int reduce_my_int_10(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9064,11 +9064,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_11 = 251;
+    private final static int mExportReduceIdx_my_int_11 = 251;
     // in1 = "in"
     public result_int reduce_my_int_11(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9097,11 +9097,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_12 = 252;
+    private final static int mExportReduceIdx_my_int_12 = 252;
     // in1 = "in"
     public result_int reduce_my_int_12(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9130,11 +9130,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_13 = 253;
+    private final static int mExportReduceIdx_my_int_13 = 253;
     // in1 = "in"
     public result_int reduce_my_int_13(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9163,11 +9163,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_14 = 254;
+    private final static int mExportReduceIdx_my_int_14 = 254;
     // in1 = "in"
     public result_int reduce_my_int_14(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9196,11 +9196,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int_15 = 255;
+    private final static int mExportReduceIdx_my_int_15 = 255;
     // in1 = "in"
     public result_int reduce_my_int_15(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9229,11 +9229,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_0 = 256;
+    private final static int mExportReduceIdx_my_int2_0 = 256;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_0(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9266,11 +9266,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_1 = 257;
+    private final static int mExportReduceIdx_my_int2_1 = 257;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_1(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9303,11 +9303,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_2 = 258;
+    private final static int mExportReduceIdx_my_int2_2 = 258;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9340,11 +9340,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_3 = 259;
+    private final static int mExportReduceIdx_my_int2_3 = 259;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_3(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9377,11 +9377,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_4 = 260;
+    private final static int mExportReduceIdx_my_int2_4 = 260;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9414,11 +9414,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_5 = 261;
+    private final static int mExportReduceIdx_my_int2_5 = 261;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_5(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9451,11 +9451,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_6 = 262;
+    private final static int mExportReduceIdx_my_int2_6 = 262;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_6(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9488,11 +9488,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_7 = 263;
+    private final static int mExportReduceIdx_my_int2_7 = 263;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_7(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9525,11 +9525,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_8 = 264;
+    private final static int mExportReduceIdx_my_int2_8 = 264;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_8(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9562,11 +9562,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_9 = 265;
+    private final static int mExportReduceIdx_my_int2_9 = 265;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_9(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9599,11 +9599,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_10 = 266;
+    private final static int mExportReduceIdx_my_int2_10 = 266;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_10(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9636,11 +9636,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_11 = 267;
+    private final static int mExportReduceIdx_my_int2_11 = 267;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_11(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9673,11 +9673,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_12 = 268;
+    private final static int mExportReduceIdx_my_int2_12 = 268;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_12(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9710,11 +9710,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_13 = 269;
+    private final static int mExportReduceIdx_my_int2_13 = 269;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_13(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9747,11 +9747,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_14 = 270;
+    private final static int mExportReduceIdx_my_int2_14 = 270;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_14(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9784,11 +9784,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2_15 = 271;
+    private final static int mExportReduceIdx_my_int2_15 = 271;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_int2_15(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9821,11 +9821,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_0 = 272;
+    private final static int mExportReduceIdx_my_int4_0 = 272;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_0(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9858,11 +9858,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_1 = 273;
+    private final static int mExportReduceIdx_my_int4_1 = 273;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_1(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9895,11 +9895,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_2 = 274;
+    private final static int mExportReduceIdx_my_int4_2 = 274;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9932,11 +9932,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_3 = 275;
+    private final static int mExportReduceIdx_my_int4_3 = 275;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_3(int[] in1) {
         // Verify that "in1" is non-null.
@@ -9969,11 +9969,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_4 = 276;
+    private final static int mExportReduceIdx_my_int4_4 = 276;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10006,11 +10006,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_5 = 277;
+    private final static int mExportReduceIdx_my_int4_5 = 277;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_5(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10043,11 +10043,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_6 = 278;
+    private final static int mExportReduceIdx_my_int4_6 = 278;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_6(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10080,11 +10080,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_7 = 279;
+    private final static int mExportReduceIdx_my_int4_7 = 279;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_7(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10117,11 +10117,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_8 = 280;
+    private final static int mExportReduceIdx_my_int4_8 = 280;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_8(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10154,11 +10154,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_9 = 281;
+    private final static int mExportReduceIdx_my_int4_9 = 281;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_9(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10191,11 +10191,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_10 = 282;
+    private final static int mExportReduceIdx_my_int4_10 = 282;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_10(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10228,11 +10228,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_11 = 283;
+    private final static int mExportReduceIdx_my_int4_11 = 283;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_11(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10265,11 +10265,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_12 = 284;
+    private final static int mExportReduceIdx_my_int4_12 = 284;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_12(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10302,11 +10302,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_13 = 285;
+    private final static int mExportReduceIdx_my_int4_13 = 285;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_13(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10339,11 +10339,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_14 = 286;
+    private final static int mExportReduceIdx_my_int4_14 = 286;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_14(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10376,11 +10376,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4_15 = 287;
+    private final static int mExportReduceIdx_my_int4_15 = 287;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_int4_15(int[] in1) {
         // Verify that "in1" is non-null.
@@ -10413,11 +10413,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_0 = 288;
+    private final static int mExportReduceIdx_my_long_0 = 288;
     // in1 = "in"
     public result_int reduce_my_long_0(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10446,11 +10446,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_1 = 289;
+    private final static int mExportReduceIdx_my_long_1 = 289;
     // in1 = "in"
     public result_int reduce_my_long_1(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10479,11 +10479,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_2 = 290;
+    private final static int mExportReduceIdx_my_long_2 = 290;
     // in1 = "in"
     public result_int reduce_my_long_2(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10512,11 +10512,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_3 = 291;
+    private final static int mExportReduceIdx_my_long_3 = 291;
     // in1 = "in"
     public result_int reduce_my_long_3(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10545,11 +10545,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_4 = 292;
+    private final static int mExportReduceIdx_my_long_4 = 292;
     // in1 = "in"
     public result_int reduce_my_long_4(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10578,11 +10578,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_5 = 293;
+    private final static int mExportReduceIdx_my_long_5 = 293;
     // in1 = "in"
     public result_int reduce_my_long_5(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10611,11 +10611,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_6 = 294;
+    private final static int mExportReduceIdx_my_long_6 = 294;
     // in1 = "in"
     public result_int reduce_my_long_6(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10644,11 +10644,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_7 = 295;
+    private final static int mExportReduceIdx_my_long_7 = 295;
     // in1 = "in"
     public result_int reduce_my_long_7(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10677,11 +10677,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_8 = 296;
+    private final static int mExportReduceIdx_my_long_8 = 296;
     // in1 = "in"
     public result_int reduce_my_long_8(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10710,11 +10710,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_9 = 297;
+    private final static int mExportReduceIdx_my_long_9 = 297;
     // in1 = "in"
     public result_int reduce_my_long_9(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10743,11 +10743,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_10 = 298;
+    private final static int mExportReduceIdx_my_long_10 = 298;
     // in1 = "in"
     public result_int reduce_my_long_10(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10776,11 +10776,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_11 = 299;
+    private final static int mExportReduceIdx_my_long_11 = 299;
     // in1 = "in"
     public result_int reduce_my_long_11(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10809,11 +10809,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_12 = 300;
+    private final static int mExportReduceIdx_my_long_12 = 300;
     // in1 = "in"
     public result_int reduce_my_long_12(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10842,11 +10842,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_13 = 301;
+    private final static int mExportReduceIdx_my_long_13 = 301;
     // in1 = "in"
     public result_int reduce_my_long_13(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10875,11 +10875,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_14 = 302;
+    private final static int mExportReduceIdx_my_long_14 = 302;
     // in1 = "in"
     public result_int reduce_my_long_14(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10908,11 +10908,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long_15 = 303;
+    private final static int mExportReduceIdx_my_long_15 = 303;
     // in1 = "in"
     public result_int reduce_my_long_15(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10941,11 +10941,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_0 = 304;
+    private final static int mExportReduceIdx_my_long2_0 = 304;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_0(long[] in1) {
         // Verify that "in1" is non-null.
@@ -10978,11 +10978,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_1 = 305;
+    private final static int mExportReduceIdx_my_long2_1 = 305;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_1(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11015,11 +11015,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_2 = 306;
+    private final static int mExportReduceIdx_my_long2_2 = 306;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_2(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11052,11 +11052,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_3 = 307;
+    private final static int mExportReduceIdx_my_long2_3 = 307;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_3(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11089,11 +11089,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_4 = 308;
+    private final static int mExportReduceIdx_my_long2_4 = 308;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_4(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11126,11 +11126,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_5 = 309;
+    private final static int mExportReduceIdx_my_long2_5 = 309;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_5(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11163,11 +11163,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_6 = 310;
+    private final static int mExportReduceIdx_my_long2_6 = 310;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_6(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11200,11 +11200,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_7 = 311;
+    private final static int mExportReduceIdx_my_long2_7 = 311;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_7(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11237,11 +11237,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_8 = 312;
+    private final static int mExportReduceIdx_my_long2_8 = 312;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_8(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11274,11 +11274,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_9 = 313;
+    private final static int mExportReduceIdx_my_long2_9 = 313;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_9(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11311,11 +11311,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_10 = 314;
+    private final static int mExportReduceIdx_my_long2_10 = 314;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_10(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11348,11 +11348,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_11 = 315;
+    private final static int mExportReduceIdx_my_long2_11 = 315;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_11(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11385,11 +11385,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_12 = 316;
+    private final static int mExportReduceIdx_my_long2_12 = 316;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_12(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11422,11 +11422,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_13 = 317;
+    private final static int mExportReduceIdx_my_long2_13 = 317;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_13(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11459,11 +11459,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_14 = 318;
+    private final static int mExportReduceIdx_my_long2_14 = 318;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_14(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11496,11 +11496,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2_15 = 319;
+    private final static int mExportReduceIdx_my_long2_15 = 319;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_long2_15(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11533,11 +11533,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_0 = 320;
+    private final static int mExportReduceIdx_my_long4_0 = 320;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_0(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11570,11 +11570,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_1 = 321;
+    private final static int mExportReduceIdx_my_long4_1 = 321;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_1(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11607,11 +11607,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_2 = 322;
+    private final static int mExportReduceIdx_my_long4_2 = 322;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_2(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11644,11 +11644,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_3 = 323;
+    private final static int mExportReduceIdx_my_long4_3 = 323;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_3(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11681,11 +11681,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_4 = 324;
+    private final static int mExportReduceIdx_my_long4_4 = 324;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_4(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11718,11 +11718,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_5 = 325;
+    private final static int mExportReduceIdx_my_long4_5 = 325;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_5(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11755,11 +11755,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_6 = 326;
+    private final static int mExportReduceIdx_my_long4_6 = 326;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_6(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11792,11 +11792,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_7 = 327;
+    private final static int mExportReduceIdx_my_long4_7 = 327;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_7(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11829,11 +11829,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_8 = 328;
+    private final static int mExportReduceIdx_my_long4_8 = 328;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_8(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11866,11 +11866,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_9 = 329;
+    private final static int mExportReduceIdx_my_long4_9 = 329;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_9(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11903,11 +11903,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_10 = 330;
+    private final static int mExportReduceIdx_my_long4_10 = 330;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_10(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11940,11 +11940,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_11 = 331;
+    private final static int mExportReduceIdx_my_long4_11 = 331;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_11(long[] in1) {
         // Verify that "in1" is non-null.
@@ -11977,11 +11977,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_12 = 332;
+    private final static int mExportReduceIdx_my_long4_12 = 332;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_12(long[] in1) {
         // Verify that "in1" is non-null.
@@ -12014,11 +12014,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_13 = 333;
+    private final static int mExportReduceIdx_my_long4_13 = 333;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_13(long[] in1) {
         // Verify that "in1" is non-null.
@@ -12051,11 +12051,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_14 = 334;
+    private final static int mExportReduceIdx_my_long4_14 = 334;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_14(long[] in1) {
         // Verify that "in1" is non-null.
@@ -12088,11 +12088,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4_15 = 335;
+    private final static int mExportReduceIdx_my_long4_15 = 335;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_long4_15(long[] in1) {
         // Verify that "in1" is non-null.
@@ -12125,11 +12125,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_0 = 336;
+    private final static int mExportReduceIdx_my_uchar_0 = 336;
     // in1 = "in"
     public result_int reduce_my_uchar_0(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12158,11 +12158,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_1 = 337;
+    private final static int mExportReduceIdx_my_uchar_1 = 337;
     // in1 = "in"
     public result_int reduce_my_uchar_1(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12191,11 +12191,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_2 = 338;
+    private final static int mExportReduceIdx_my_uchar_2 = 338;
     // in1 = "in"
     public result_int reduce_my_uchar_2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12224,11 +12224,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_3 = 339;
+    private final static int mExportReduceIdx_my_uchar_3 = 339;
     // in1 = "in"
     public result_int reduce_my_uchar_3(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12257,11 +12257,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_4 = 340;
+    private final static int mExportReduceIdx_my_uchar_4 = 340;
     // in1 = "in"
     public result_int reduce_my_uchar_4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12290,11 +12290,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_5 = 341;
+    private final static int mExportReduceIdx_my_uchar_5 = 341;
     // in1 = "in"
     public result_int reduce_my_uchar_5(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12323,11 +12323,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_6 = 342;
+    private final static int mExportReduceIdx_my_uchar_6 = 342;
     // in1 = "in"
     public result_int reduce_my_uchar_6(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12356,11 +12356,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_7 = 343;
+    private final static int mExportReduceIdx_my_uchar_7 = 343;
     // in1 = "in"
     public result_int reduce_my_uchar_7(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12389,11 +12389,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_8 = 344;
+    private final static int mExportReduceIdx_my_uchar_8 = 344;
     // in1 = "in"
     public result_int reduce_my_uchar_8(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12422,11 +12422,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_9 = 345;
+    private final static int mExportReduceIdx_my_uchar_9 = 345;
     // in1 = "in"
     public result_int reduce_my_uchar_9(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12455,11 +12455,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_10 = 346;
+    private final static int mExportReduceIdx_my_uchar_10 = 346;
     // in1 = "in"
     public result_int reduce_my_uchar_10(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12488,11 +12488,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_11 = 347;
+    private final static int mExportReduceIdx_my_uchar_11 = 347;
     // in1 = "in"
     public result_int reduce_my_uchar_11(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12521,11 +12521,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_12 = 348;
+    private final static int mExportReduceIdx_my_uchar_12 = 348;
     // in1 = "in"
     public result_int reduce_my_uchar_12(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12554,11 +12554,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_13 = 349;
+    private final static int mExportReduceIdx_my_uchar_13 = 349;
     // in1 = "in"
     public result_int reduce_my_uchar_13(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12587,11 +12587,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_14 = 350;
+    private final static int mExportReduceIdx_my_uchar_14 = 350;
     // in1 = "in"
     public result_int reduce_my_uchar_14(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12620,11 +12620,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_15 = 351;
+    private final static int mExportReduceIdx_my_uchar_15 = 351;
     // in1 = "in"
     public result_int reduce_my_uchar_15(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12653,11 +12653,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_0 = 352;
+    private final static int mExportReduceIdx_my_uchar2_0 = 352;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_0(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12690,11 +12690,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_1 = 353;
+    private final static int mExportReduceIdx_my_uchar2_1 = 353;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_1(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12727,11 +12727,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_2 = 354;
+    private final static int mExportReduceIdx_my_uchar2_2 = 354;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12764,11 +12764,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_3 = 355;
+    private final static int mExportReduceIdx_my_uchar2_3 = 355;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_3(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12801,11 +12801,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_4 = 356;
+    private final static int mExportReduceIdx_my_uchar2_4 = 356;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12838,11 +12838,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_5 = 357;
+    private final static int mExportReduceIdx_my_uchar2_5 = 357;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_5(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12875,11 +12875,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_6 = 358;
+    private final static int mExportReduceIdx_my_uchar2_6 = 358;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_6(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12912,11 +12912,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_7 = 359;
+    private final static int mExportReduceIdx_my_uchar2_7 = 359;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_7(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12949,11 +12949,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_8 = 360;
+    private final static int mExportReduceIdx_my_uchar2_8 = 360;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_8(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -12986,11 +12986,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_9 = 361;
+    private final static int mExportReduceIdx_my_uchar2_9 = 361;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_9(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13023,11 +13023,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_10 = 362;
+    private final static int mExportReduceIdx_my_uchar2_10 = 362;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_10(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13060,11 +13060,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_11 = 363;
+    private final static int mExportReduceIdx_my_uchar2_11 = 363;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_11(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13097,11 +13097,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_12 = 364;
+    private final static int mExportReduceIdx_my_uchar2_12 = 364;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_12(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13134,11 +13134,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_13 = 365;
+    private final static int mExportReduceIdx_my_uchar2_13 = 365;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_13(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13171,11 +13171,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_14 = 366;
+    private final static int mExportReduceIdx_my_uchar2_14 = 366;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_14(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13208,11 +13208,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_15 = 367;
+    private final static int mExportReduceIdx_my_uchar2_15 = 367;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uchar2_15(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13245,11 +13245,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_0 = 368;
+    private final static int mExportReduceIdx_my_uchar4_0 = 368;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_0(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13282,11 +13282,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_1 = 369;
+    private final static int mExportReduceIdx_my_uchar4_1 = 369;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_1(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13319,11 +13319,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_2 = 370;
+    private final static int mExportReduceIdx_my_uchar4_2 = 370;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13356,11 +13356,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_3 = 371;
+    private final static int mExportReduceIdx_my_uchar4_3 = 371;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_3(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13393,11 +13393,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_4 = 372;
+    private final static int mExportReduceIdx_my_uchar4_4 = 372;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13430,11 +13430,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_5 = 373;
+    private final static int mExportReduceIdx_my_uchar4_5 = 373;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_5(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13467,11 +13467,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_6 = 374;
+    private final static int mExportReduceIdx_my_uchar4_6 = 374;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_6(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13504,11 +13504,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_7 = 375;
+    private final static int mExportReduceIdx_my_uchar4_7 = 375;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_7(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13541,11 +13541,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_8 = 376;
+    private final static int mExportReduceIdx_my_uchar4_8 = 376;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_8(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13578,11 +13578,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_9 = 377;
+    private final static int mExportReduceIdx_my_uchar4_9 = 377;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_9(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13615,11 +13615,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_10 = 378;
+    private final static int mExportReduceIdx_my_uchar4_10 = 378;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_10(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13652,11 +13652,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_11 = 379;
+    private final static int mExportReduceIdx_my_uchar4_11 = 379;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_11(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13689,11 +13689,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_12 = 380;
+    private final static int mExportReduceIdx_my_uchar4_12 = 380;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_12(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13726,11 +13726,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_13 = 381;
+    private final static int mExportReduceIdx_my_uchar4_13 = 381;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_13(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13763,11 +13763,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_14 = 382;
+    private final static int mExportReduceIdx_my_uchar4_14 = 382;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_14(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13800,11 +13800,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_15 = 383;
+    private final static int mExportReduceIdx_my_uchar4_15 = 383;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uchar4_15(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -13837,11 +13837,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_0 = 384;
+    private final static int mExportReduceIdx_my_ushort_0 = 384;
     // in1 = "in"
     public result_int reduce_my_ushort_0(short[] in1) {
         // Verify that "in1" is non-null.
@@ -13870,11 +13870,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_1 = 385;
+    private final static int mExportReduceIdx_my_ushort_1 = 385;
     // in1 = "in"
     public result_int reduce_my_ushort_1(short[] in1) {
         // Verify that "in1" is non-null.
@@ -13903,11 +13903,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_2 = 386;
+    private final static int mExportReduceIdx_my_ushort_2 = 386;
     // in1 = "in"
     public result_int reduce_my_ushort_2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -13936,11 +13936,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_3 = 387;
+    private final static int mExportReduceIdx_my_ushort_3 = 387;
     // in1 = "in"
     public result_int reduce_my_ushort_3(short[] in1) {
         // Verify that "in1" is non-null.
@@ -13969,11 +13969,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_4 = 388;
+    private final static int mExportReduceIdx_my_ushort_4 = 388;
     // in1 = "in"
     public result_int reduce_my_ushort_4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14002,11 +14002,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_5 = 389;
+    private final static int mExportReduceIdx_my_ushort_5 = 389;
     // in1 = "in"
     public result_int reduce_my_ushort_5(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14035,11 +14035,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_6 = 390;
+    private final static int mExportReduceIdx_my_ushort_6 = 390;
     // in1 = "in"
     public result_int reduce_my_ushort_6(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14068,11 +14068,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_7 = 391;
+    private final static int mExportReduceIdx_my_ushort_7 = 391;
     // in1 = "in"
     public result_int reduce_my_ushort_7(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14101,11 +14101,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_8 = 392;
+    private final static int mExportReduceIdx_my_ushort_8 = 392;
     // in1 = "in"
     public result_int reduce_my_ushort_8(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14134,11 +14134,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_9 = 393;
+    private final static int mExportReduceIdx_my_ushort_9 = 393;
     // in1 = "in"
     public result_int reduce_my_ushort_9(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14167,11 +14167,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_10 = 394;
+    private final static int mExportReduceIdx_my_ushort_10 = 394;
     // in1 = "in"
     public result_int reduce_my_ushort_10(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14200,11 +14200,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_11 = 395;
+    private final static int mExportReduceIdx_my_ushort_11 = 395;
     // in1 = "in"
     public result_int reduce_my_ushort_11(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14233,11 +14233,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_12 = 396;
+    private final static int mExportReduceIdx_my_ushort_12 = 396;
     // in1 = "in"
     public result_int reduce_my_ushort_12(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14266,11 +14266,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_13 = 397;
+    private final static int mExportReduceIdx_my_ushort_13 = 397;
     // in1 = "in"
     public result_int reduce_my_ushort_13(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14299,11 +14299,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_14 = 398;
+    private final static int mExportReduceIdx_my_ushort_14 = 398;
     // in1 = "in"
     public result_int reduce_my_ushort_14(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14332,11 +14332,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_15 = 399;
+    private final static int mExportReduceIdx_my_ushort_15 = 399;
     // in1 = "in"
     public result_int reduce_my_ushort_15(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14365,11 +14365,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_0 = 400;
+    private final static int mExportReduceIdx_my_ushort2_0 = 400;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_0(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14402,11 +14402,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_1 = 401;
+    private final static int mExportReduceIdx_my_ushort2_1 = 401;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_1(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14439,11 +14439,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_2 = 402;
+    private final static int mExportReduceIdx_my_ushort2_2 = 402;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14476,11 +14476,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_3 = 403;
+    private final static int mExportReduceIdx_my_ushort2_3 = 403;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_3(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14513,11 +14513,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_4 = 404;
+    private final static int mExportReduceIdx_my_ushort2_4 = 404;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14550,11 +14550,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_5 = 405;
+    private final static int mExportReduceIdx_my_ushort2_5 = 405;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_5(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14587,11 +14587,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_6 = 406;
+    private final static int mExportReduceIdx_my_ushort2_6 = 406;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_6(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14624,11 +14624,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_7 = 407;
+    private final static int mExportReduceIdx_my_ushort2_7 = 407;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_7(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14661,11 +14661,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_8 = 408;
+    private final static int mExportReduceIdx_my_ushort2_8 = 408;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_8(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14698,11 +14698,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_9 = 409;
+    private final static int mExportReduceIdx_my_ushort2_9 = 409;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_9(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14735,11 +14735,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_10 = 410;
+    private final static int mExportReduceIdx_my_ushort2_10 = 410;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_10(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14772,11 +14772,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_11 = 411;
+    private final static int mExportReduceIdx_my_ushort2_11 = 411;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_11(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14809,11 +14809,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_12 = 412;
+    private final static int mExportReduceIdx_my_ushort2_12 = 412;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_12(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14846,11 +14846,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_13 = 413;
+    private final static int mExportReduceIdx_my_ushort2_13 = 413;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_13(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14883,11 +14883,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_14 = 414;
+    private final static int mExportReduceIdx_my_ushort2_14 = 414;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_14(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14920,11 +14920,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_15 = 415;
+    private final static int mExportReduceIdx_my_ushort2_15 = 415;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ushort2_15(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14957,11 +14957,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_0 = 416;
+    private final static int mExportReduceIdx_my_ushort4_0 = 416;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_0(short[] in1) {
         // Verify that "in1" is non-null.
@@ -14994,11 +14994,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_1 = 417;
+    private final static int mExportReduceIdx_my_ushort4_1 = 417;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_1(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15031,11 +15031,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_2 = 418;
+    private final static int mExportReduceIdx_my_ushort4_2 = 418;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15068,11 +15068,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_3 = 419;
+    private final static int mExportReduceIdx_my_ushort4_3 = 419;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_3(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15105,11 +15105,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_4 = 420;
+    private final static int mExportReduceIdx_my_ushort4_4 = 420;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15142,11 +15142,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_5 = 421;
+    private final static int mExportReduceIdx_my_ushort4_5 = 421;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_5(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15179,11 +15179,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_6 = 422;
+    private final static int mExportReduceIdx_my_ushort4_6 = 422;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_6(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15216,11 +15216,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_7 = 423;
+    private final static int mExportReduceIdx_my_ushort4_7 = 423;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_7(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15253,11 +15253,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_8 = 424;
+    private final static int mExportReduceIdx_my_ushort4_8 = 424;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_8(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15290,11 +15290,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_9 = 425;
+    private final static int mExportReduceIdx_my_ushort4_9 = 425;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_9(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15327,11 +15327,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_10 = 426;
+    private final static int mExportReduceIdx_my_ushort4_10 = 426;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_10(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15364,11 +15364,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_11 = 427;
+    private final static int mExportReduceIdx_my_ushort4_11 = 427;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_11(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15401,11 +15401,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_12 = 428;
+    private final static int mExportReduceIdx_my_ushort4_12 = 428;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_12(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15438,11 +15438,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_13 = 429;
+    private final static int mExportReduceIdx_my_ushort4_13 = 429;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_13(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15475,11 +15475,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_14 = 430;
+    private final static int mExportReduceIdx_my_ushort4_14 = 430;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_14(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15512,11 +15512,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_15 = 431;
+    private final static int mExportReduceIdx_my_ushort4_15 = 431;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ushort4_15(short[] in1) {
         // Verify that "in1" is non-null.
@@ -15549,11 +15549,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_0 = 432;
+    private final static int mExportReduceIdx_my_uint_0 = 432;
     // in1 = "in"
     public result_int reduce_my_uint_0(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15582,11 +15582,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_1 = 433;
+    private final static int mExportReduceIdx_my_uint_1 = 433;
     // in1 = "in"
     public result_int reduce_my_uint_1(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15615,11 +15615,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_2 = 434;
+    private final static int mExportReduceIdx_my_uint_2 = 434;
     // in1 = "in"
     public result_int reduce_my_uint_2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15648,11 +15648,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_3 = 435;
+    private final static int mExportReduceIdx_my_uint_3 = 435;
     // in1 = "in"
     public result_int reduce_my_uint_3(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15681,11 +15681,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_4 = 436;
+    private final static int mExportReduceIdx_my_uint_4 = 436;
     // in1 = "in"
     public result_int reduce_my_uint_4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15714,11 +15714,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_5 = 437;
+    private final static int mExportReduceIdx_my_uint_5 = 437;
     // in1 = "in"
     public result_int reduce_my_uint_5(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15747,11 +15747,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_6 = 438;
+    private final static int mExportReduceIdx_my_uint_6 = 438;
     // in1 = "in"
     public result_int reduce_my_uint_6(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15780,11 +15780,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_7 = 439;
+    private final static int mExportReduceIdx_my_uint_7 = 439;
     // in1 = "in"
     public result_int reduce_my_uint_7(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15813,11 +15813,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_8 = 440;
+    private final static int mExportReduceIdx_my_uint_8 = 440;
     // in1 = "in"
     public result_int reduce_my_uint_8(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15846,11 +15846,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_9 = 441;
+    private final static int mExportReduceIdx_my_uint_9 = 441;
     // in1 = "in"
     public result_int reduce_my_uint_9(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15879,11 +15879,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_10 = 442;
+    private final static int mExportReduceIdx_my_uint_10 = 442;
     // in1 = "in"
     public result_int reduce_my_uint_10(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15912,11 +15912,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_11 = 443;
+    private final static int mExportReduceIdx_my_uint_11 = 443;
     // in1 = "in"
     public result_int reduce_my_uint_11(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15945,11 +15945,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_12 = 444;
+    private final static int mExportReduceIdx_my_uint_12 = 444;
     // in1 = "in"
     public result_int reduce_my_uint_12(int[] in1) {
         // Verify that "in1" is non-null.
@@ -15978,11 +15978,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_13 = 445;
+    private final static int mExportReduceIdx_my_uint_13 = 445;
     // in1 = "in"
     public result_int reduce_my_uint_13(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16011,11 +16011,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_14 = 446;
+    private final static int mExportReduceIdx_my_uint_14 = 446;
     // in1 = "in"
     public result_int reduce_my_uint_14(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16044,11 +16044,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint_15 = 447;
+    private final static int mExportReduceIdx_my_uint_15 = 447;
     // in1 = "in"
     public result_int reduce_my_uint_15(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16077,11 +16077,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_0 = 448;
+    private final static int mExportReduceIdx_my_uint2_0 = 448;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_0(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16114,11 +16114,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_1 = 449;
+    private final static int mExportReduceIdx_my_uint2_1 = 449;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_1(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16151,11 +16151,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_2 = 450;
+    private final static int mExportReduceIdx_my_uint2_2 = 450;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16188,11 +16188,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_3 = 451;
+    private final static int mExportReduceIdx_my_uint2_3 = 451;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_3(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16225,11 +16225,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_4 = 452;
+    private final static int mExportReduceIdx_my_uint2_4 = 452;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16262,11 +16262,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_5 = 453;
+    private final static int mExportReduceIdx_my_uint2_5 = 453;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_5(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16299,11 +16299,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_6 = 454;
+    private final static int mExportReduceIdx_my_uint2_6 = 454;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_6(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16336,11 +16336,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_7 = 455;
+    private final static int mExportReduceIdx_my_uint2_7 = 455;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_7(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16373,11 +16373,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_8 = 456;
+    private final static int mExportReduceIdx_my_uint2_8 = 456;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_8(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16410,11 +16410,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_9 = 457;
+    private final static int mExportReduceIdx_my_uint2_9 = 457;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_9(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16447,11 +16447,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_10 = 458;
+    private final static int mExportReduceIdx_my_uint2_10 = 458;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_10(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16484,11 +16484,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_11 = 459;
+    private final static int mExportReduceIdx_my_uint2_11 = 459;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_11(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16521,11 +16521,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_12 = 460;
+    private final static int mExportReduceIdx_my_uint2_12 = 460;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_12(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16558,11 +16558,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_13 = 461;
+    private final static int mExportReduceIdx_my_uint2_13 = 461;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_13(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16595,11 +16595,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_14 = 462;
+    private final static int mExportReduceIdx_my_uint2_14 = 462;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_14(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16632,11 +16632,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2_15 = 463;
+    private final static int mExportReduceIdx_my_uint2_15 = 463;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_uint2_15(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16669,11 +16669,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_0 = 464;
+    private final static int mExportReduceIdx_my_uint4_0 = 464;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_0(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16706,11 +16706,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_1 = 465;
+    private final static int mExportReduceIdx_my_uint4_1 = 465;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_1(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16743,11 +16743,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_2 = 466;
+    private final static int mExportReduceIdx_my_uint4_2 = 466;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16780,11 +16780,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_3 = 467;
+    private final static int mExportReduceIdx_my_uint4_3 = 467;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_3(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16817,11 +16817,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_4 = 468;
+    private final static int mExportReduceIdx_my_uint4_4 = 468;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16854,11 +16854,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_5 = 469;
+    private final static int mExportReduceIdx_my_uint4_5 = 469;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_5(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16891,11 +16891,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_6 = 470;
+    private final static int mExportReduceIdx_my_uint4_6 = 470;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_6(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16928,11 +16928,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_7 = 471;
+    private final static int mExportReduceIdx_my_uint4_7 = 471;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_7(int[] in1) {
         // Verify that "in1" is non-null.
@@ -16965,11 +16965,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_8 = 472;
+    private final static int mExportReduceIdx_my_uint4_8 = 472;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_8(int[] in1) {
         // Verify that "in1" is non-null.
@@ -17002,11 +17002,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_9 = 473;
+    private final static int mExportReduceIdx_my_uint4_9 = 473;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_9(int[] in1) {
         // Verify that "in1" is non-null.
@@ -17039,11 +17039,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_10 = 474;
+    private final static int mExportReduceIdx_my_uint4_10 = 474;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_10(int[] in1) {
         // Verify that "in1" is non-null.
@@ -17076,11 +17076,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_11 = 475;
+    private final static int mExportReduceIdx_my_uint4_11 = 475;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_11(int[] in1) {
         // Verify that "in1" is non-null.
@@ -17113,11 +17113,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_12 = 476;
+    private final static int mExportReduceIdx_my_uint4_12 = 476;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_12(int[] in1) {
         // Verify that "in1" is non-null.
@@ -17150,11 +17150,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_13 = 477;
+    private final static int mExportReduceIdx_my_uint4_13 = 477;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_13(int[] in1) {
         // Verify that "in1" is non-null.
@@ -17187,11 +17187,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_14 = 478;
+    private final static int mExportReduceIdx_my_uint4_14 = 478;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_14(int[] in1) {
         // Verify that "in1" is non-null.
@@ -17224,11 +17224,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4_15 = 479;
+    private final static int mExportReduceIdx_my_uint4_15 = 479;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_uint4_15(int[] in1) {
         // Verify that "in1" is non-null.
@@ -17261,11 +17261,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_0 = 480;
+    private final static int mExportReduceIdx_my_ulong_0 = 480;
     // in1 = "in"
     public result_int reduce_my_ulong_0(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17294,11 +17294,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_1 = 481;
+    private final static int mExportReduceIdx_my_ulong_1 = 481;
     // in1 = "in"
     public result_int reduce_my_ulong_1(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17327,11 +17327,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_2 = 482;
+    private final static int mExportReduceIdx_my_ulong_2 = 482;
     // in1 = "in"
     public result_int reduce_my_ulong_2(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17360,11 +17360,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_3 = 483;
+    private final static int mExportReduceIdx_my_ulong_3 = 483;
     // in1 = "in"
     public result_int reduce_my_ulong_3(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17393,11 +17393,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_4 = 484;
+    private final static int mExportReduceIdx_my_ulong_4 = 484;
     // in1 = "in"
     public result_int reduce_my_ulong_4(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17426,11 +17426,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_5 = 485;
+    private final static int mExportReduceIdx_my_ulong_5 = 485;
     // in1 = "in"
     public result_int reduce_my_ulong_5(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17459,11 +17459,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_6 = 486;
+    private final static int mExportReduceIdx_my_ulong_6 = 486;
     // in1 = "in"
     public result_int reduce_my_ulong_6(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17492,11 +17492,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_7 = 487;
+    private final static int mExportReduceIdx_my_ulong_7 = 487;
     // in1 = "in"
     public result_int reduce_my_ulong_7(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17525,11 +17525,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_8 = 488;
+    private final static int mExportReduceIdx_my_ulong_8 = 488;
     // in1 = "in"
     public result_int reduce_my_ulong_8(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17558,11 +17558,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_9 = 489;
+    private final static int mExportReduceIdx_my_ulong_9 = 489;
     // in1 = "in"
     public result_int reduce_my_ulong_9(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17591,11 +17591,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_10 = 490;
+    private final static int mExportReduceIdx_my_ulong_10 = 490;
     // in1 = "in"
     public result_int reduce_my_ulong_10(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17624,11 +17624,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_11 = 491;
+    private final static int mExportReduceIdx_my_ulong_11 = 491;
     // in1 = "in"
     public result_int reduce_my_ulong_11(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17657,11 +17657,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_12 = 492;
+    private final static int mExportReduceIdx_my_ulong_12 = 492;
     // in1 = "in"
     public result_int reduce_my_ulong_12(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17690,11 +17690,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_13 = 493;
+    private final static int mExportReduceIdx_my_ulong_13 = 493;
     // in1 = "in"
     public result_int reduce_my_ulong_13(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17723,11 +17723,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_14 = 494;
+    private final static int mExportReduceIdx_my_ulong_14 = 494;
     // in1 = "in"
     public result_int reduce_my_ulong_14(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17756,11 +17756,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong_15 = 495;
+    private final static int mExportReduceIdx_my_ulong_15 = 495;
     // in1 = "in"
     public result_int reduce_my_ulong_15(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17789,11 +17789,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_0 = 496;
+    private final static int mExportReduceIdx_my_ulong2_0 = 496;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_0(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17826,11 +17826,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_1 = 497;
+    private final static int mExportReduceIdx_my_ulong2_1 = 497;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_1(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17863,11 +17863,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_2 = 498;
+    private final static int mExportReduceIdx_my_ulong2_2 = 498;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_2(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17900,11 +17900,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_3 = 499;
+    private final static int mExportReduceIdx_my_ulong2_3 = 499;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_3(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17937,11 +17937,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_4 = 500;
+    private final static int mExportReduceIdx_my_ulong2_4 = 500;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_4(long[] in1) {
         // Verify that "in1" is non-null.
@@ -17974,11 +17974,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_5 = 501;
+    private final static int mExportReduceIdx_my_ulong2_5 = 501;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_5(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18011,11 +18011,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_6 = 502;
+    private final static int mExportReduceIdx_my_ulong2_6 = 502;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_6(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18048,11 +18048,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_7 = 503;
+    private final static int mExportReduceIdx_my_ulong2_7 = 503;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_7(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18085,11 +18085,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_8 = 504;
+    private final static int mExportReduceIdx_my_ulong2_8 = 504;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_8(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18122,11 +18122,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_9 = 505;
+    private final static int mExportReduceIdx_my_ulong2_9 = 505;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_9(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18159,11 +18159,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_10 = 506;
+    private final static int mExportReduceIdx_my_ulong2_10 = 506;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_10(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18196,11 +18196,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_11 = 507;
+    private final static int mExportReduceIdx_my_ulong2_11 = 507;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_11(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18233,11 +18233,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_12 = 508;
+    private final static int mExportReduceIdx_my_ulong2_12 = 508;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_12(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18270,11 +18270,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_13 = 509;
+    private final static int mExportReduceIdx_my_ulong2_13 = 509;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_13(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18307,11 +18307,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_14 = 510;
+    private final static int mExportReduceIdx_my_ulong2_14 = 510;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_14(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18344,11 +18344,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2_15 = 511;
+    private final static int mExportReduceIdx_my_ulong2_15 = 511;
     // in1 = "in", flattened 2-vectors
     public result_int reduce_my_ulong2_15(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18381,11 +18381,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_0 = 512;
+    private final static int mExportReduceIdx_my_ulong4_0 = 512;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_0(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18418,11 +18418,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_1 = 513;
+    private final static int mExportReduceIdx_my_ulong4_1 = 513;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_1(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18455,11 +18455,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_2 = 514;
+    private final static int mExportReduceIdx_my_ulong4_2 = 514;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_2(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18492,11 +18492,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_3 = 515;
+    private final static int mExportReduceIdx_my_ulong4_3 = 515;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_3(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18529,11 +18529,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_4 = 516;
+    private final static int mExportReduceIdx_my_ulong4_4 = 516;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_4(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18566,11 +18566,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_5 = 517;
+    private final static int mExportReduceIdx_my_ulong4_5 = 517;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_5(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18603,11 +18603,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_6 = 518;
+    private final static int mExportReduceIdx_my_ulong4_6 = 518;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_6(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18640,11 +18640,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_7 = 519;
+    private final static int mExportReduceIdx_my_ulong4_7 = 519;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_7(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18677,11 +18677,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_8 = 520;
+    private final static int mExportReduceIdx_my_ulong4_8 = 520;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_8(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18714,11 +18714,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_9 = 521;
+    private final static int mExportReduceIdx_my_ulong4_9 = 521;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_9(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18751,11 +18751,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_10 = 522;
+    private final static int mExportReduceIdx_my_ulong4_10 = 522;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_10(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18788,11 +18788,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_11 = 523;
+    private final static int mExportReduceIdx_my_ulong4_11 = 523;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_11(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18825,11 +18825,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_12 = 524;
+    private final static int mExportReduceIdx_my_ulong4_12 = 524;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_12(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18862,11 +18862,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_13 = 525;
+    private final static int mExportReduceIdx_my_ulong4_13 = 525;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_13(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18899,11 +18899,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_14 = 526;
+    private final static int mExportReduceIdx_my_ulong4_14 = 526;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_14(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18936,11 +18936,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4_15 = 527;
+    private final static int mExportReduceIdx_my_ulong4_15 = 527;
     // in1 = "in", flattened 4-vectors
     public result_int reduce_my_ulong4_15(long[] in1) {
         // Verify that "in1" is non-null.
@@ -18973,11 +18973,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_0 = 528;
+    private final static int mExportReduceIdx_my_bool_0 = 528;
     // in1 = "in"
     public result_int reduce_my_bool_0(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19006,11 +19006,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_1 = 529;
+    private final static int mExportReduceIdx_my_bool_1 = 529;
     // in1 = "in"
     public result_int reduce_my_bool_1(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19039,11 +19039,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_2 = 530;
+    private final static int mExportReduceIdx_my_bool_2 = 530;
     // in1 = "in"
     public result_int reduce_my_bool_2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19072,11 +19072,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_3 = 531;
+    private final static int mExportReduceIdx_my_bool_3 = 531;
     // in1 = "in"
     public result_int reduce_my_bool_3(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19105,11 +19105,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_4 = 532;
+    private final static int mExportReduceIdx_my_bool_4 = 532;
     // in1 = "in"
     public result_int reduce_my_bool_4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19138,11 +19138,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_5 = 533;
+    private final static int mExportReduceIdx_my_bool_5 = 533;
     // in1 = "in"
     public result_int reduce_my_bool_5(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19171,11 +19171,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_6 = 534;
+    private final static int mExportReduceIdx_my_bool_6 = 534;
     // in1 = "in"
     public result_int reduce_my_bool_6(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19204,11 +19204,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_7 = 535;
+    private final static int mExportReduceIdx_my_bool_7 = 535;
     // in1 = "in"
     public result_int reduce_my_bool_7(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19237,11 +19237,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_8 = 536;
+    private final static int mExportReduceIdx_my_bool_8 = 536;
     // in1 = "in"
     public result_int reduce_my_bool_8(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19270,11 +19270,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_9 = 537;
+    private final static int mExportReduceIdx_my_bool_9 = 537;
     // in1 = "in"
     public result_int reduce_my_bool_9(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19303,11 +19303,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_10 = 538;
+    private final static int mExportReduceIdx_my_bool_10 = 538;
     // in1 = "in"
     public result_int reduce_my_bool_10(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19336,11 +19336,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_11 = 539;
+    private final static int mExportReduceIdx_my_bool_11 = 539;
     // in1 = "in"
     public result_int reduce_my_bool_11(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19369,11 +19369,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_12 = 540;
+    private final static int mExportReduceIdx_my_bool_12 = 540;
     // in1 = "in"
     public result_int reduce_my_bool_12(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19402,11 +19402,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_13 = 541;
+    private final static int mExportReduceIdx_my_bool_13 = 541;
     // in1 = "in"
     public result_int reduce_my_bool_13(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19435,11 +19435,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_14 = 542;
+    private final static int mExportReduceIdx_my_bool_14 = 542;
     // in1 = "in"
     public result_int reduce_my_bool_14(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19468,11 +19468,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_15 = 543;
+    private final static int mExportReduceIdx_my_bool_15 = 543;
     // in1 = "in"
     public result_int reduce_my_bool_15(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -19501,11 +19501,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_0 = 544;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_0 = 544;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_0(Allocation ain1) {
         return reduce_my_rs_matrix2x2_0(ain1, null);
@@ -19516,11 +19516,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_1 = 545;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_1 = 545;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_1(Allocation ain1) {
         return reduce_my_rs_matrix2x2_1(ain1, null);
@@ -19531,11 +19531,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_2 = 546;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_2 = 546;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_2(Allocation ain1) {
         return reduce_my_rs_matrix2x2_2(ain1, null);
@@ -19546,11 +19546,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_3 = 547;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_3 = 547;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_3(Allocation ain1) {
         return reduce_my_rs_matrix2x2_3(ain1, null);
@@ -19561,11 +19561,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_4 = 548;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_4 = 548;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_4(Allocation ain1) {
         return reduce_my_rs_matrix2x2_4(ain1, null);
@@ -19576,11 +19576,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_5 = 549;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_5 = 549;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_5(Allocation ain1) {
         return reduce_my_rs_matrix2x2_5(ain1, null);
@@ -19591,11 +19591,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_6 = 550;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_6 = 550;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_6(Allocation ain1) {
         return reduce_my_rs_matrix2x2_6(ain1, null);
@@ -19606,11 +19606,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_7 = 551;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_7 = 551;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_7(Allocation ain1) {
         return reduce_my_rs_matrix2x2_7(ain1, null);
@@ -19621,11 +19621,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_8 = 552;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_8 = 552;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_8(Allocation ain1) {
         return reduce_my_rs_matrix2x2_8(ain1, null);
@@ -19636,11 +19636,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_9 = 553;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_9 = 553;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_9(Allocation ain1) {
         return reduce_my_rs_matrix2x2_9(ain1, null);
@@ -19651,11 +19651,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_10 = 554;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_10 = 554;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_10(Allocation ain1) {
         return reduce_my_rs_matrix2x2_10(ain1, null);
@@ -19666,11 +19666,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_11 = 555;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_11 = 555;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_11(Allocation ain1) {
         return reduce_my_rs_matrix2x2_11(ain1, null);
@@ -19681,11 +19681,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_12 = 556;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_12 = 556;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_12(Allocation ain1) {
         return reduce_my_rs_matrix2x2_12(ain1, null);
@@ -19696,11 +19696,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_13 = 557;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_13 = 557;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_13(Allocation ain1) {
         return reduce_my_rs_matrix2x2_13(ain1, null);
@@ -19711,11 +19711,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_14 = 558;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_14 = 558;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_14(Allocation ain1) {
         return reduce_my_rs_matrix2x2_14(ain1, null);
@@ -19726,11 +19726,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_15 = 559;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_15 = 559;
     // ain1 = "rs_matrix2x2 in"
     public result_int reduce_my_rs_matrix2x2_15(Allocation ain1) {
         return reduce_my_rs_matrix2x2_15(ain1, null);
@@ -19741,11 +19741,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_0 = 560;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_0 = 560;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_0(Allocation ain1) {
         return reduce_my_rs_matrix3x3_0(ain1, null);
@@ -19756,11 +19756,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_1 = 561;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_1 = 561;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_1(Allocation ain1) {
         return reduce_my_rs_matrix3x3_1(ain1, null);
@@ -19771,11 +19771,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_2 = 562;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_2 = 562;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_2(Allocation ain1) {
         return reduce_my_rs_matrix3x3_2(ain1, null);
@@ -19786,11 +19786,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_3 = 563;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_3 = 563;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_3(Allocation ain1) {
         return reduce_my_rs_matrix3x3_3(ain1, null);
@@ -19801,11 +19801,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_4 = 564;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_4 = 564;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_4(Allocation ain1) {
         return reduce_my_rs_matrix3x3_4(ain1, null);
@@ -19816,11 +19816,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_5 = 565;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_5 = 565;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_5(Allocation ain1) {
         return reduce_my_rs_matrix3x3_5(ain1, null);
@@ -19831,11 +19831,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_6 = 566;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_6 = 566;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_6(Allocation ain1) {
         return reduce_my_rs_matrix3x3_6(ain1, null);
@@ -19846,11 +19846,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_7 = 567;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_7 = 567;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_7(Allocation ain1) {
         return reduce_my_rs_matrix3x3_7(ain1, null);
@@ -19861,11 +19861,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_8 = 568;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_8 = 568;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_8(Allocation ain1) {
         return reduce_my_rs_matrix3x3_8(ain1, null);
@@ -19876,11 +19876,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_9 = 569;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_9 = 569;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_9(Allocation ain1) {
         return reduce_my_rs_matrix3x3_9(ain1, null);
@@ -19891,11 +19891,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_10 = 570;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_10 = 570;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_10(Allocation ain1) {
         return reduce_my_rs_matrix3x3_10(ain1, null);
@@ -19906,11 +19906,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_11 = 571;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_11 = 571;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_11(Allocation ain1) {
         return reduce_my_rs_matrix3x3_11(ain1, null);
@@ -19921,11 +19921,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_12 = 572;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_12 = 572;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_12(Allocation ain1) {
         return reduce_my_rs_matrix3x3_12(ain1, null);
@@ -19936,11 +19936,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_13 = 573;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_13 = 573;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_13(Allocation ain1) {
         return reduce_my_rs_matrix3x3_13(ain1, null);
@@ -19951,11 +19951,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_14 = 574;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_14 = 574;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_14(Allocation ain1) {
         return reduce_my_rs_matrix3x3_14(ain1, null);
@@ -19966,11 +19966,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix3x3_15 = 575;
+    private final static int mExportReduceIdx_my_rs_matrix3x3_15 = 575;
     // ain1 = "rs_matrix3x3 in"
     public result_int reduce_my_rs_matrix3x3_15(Allocation ain1) {
         return reduce_my_rs_matrix3x3_15(ain1, null);
@@ -19981,11 +19981,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix3x3_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix3x3_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_0 = 576;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_0 = 576;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_0(Allocation ain1) {
         return reduce_my_rs_matrix4x4_0(ain1, null);
@@ -19996,11 +19996,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_1 = 577;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_1 = 577;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_1(Allocation ain1) {
         return reduce_my_rs_matrix4x4_1(ain1, null);
@@ -20011,11 +20011,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_2 = 578;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_2 = 578;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_2(Allocation ain1) {
         return reduce_my_rs_matrix4x4_2(ain1, null);
@@ -20026,11 +20026,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_3 = 579;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_3 = 579;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_3(Allocation ain1) {
         return reduce_my_rs_matrix4x4_3(ain1, null);
@@ -20041,11 +20041,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_4 = 580;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_4 = 580;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_4(Allocation ain1) {
         return reduce_my_rs_matrix4x4_4(ain1, null);
@@ -20056,11 +20056,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_5 = 581;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_5 = 581;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_5(Allocation ain1) {
         return reduce_my_rs_matrix4x4_5(ain1, null);
@@ -20071,11 +20071,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_6 = 582;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_6 = 582;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_6(Allocation ain1) {
         return reduce_my_rs_matrix4x4_6(ain1, null);
@@ -20086,11 +20086,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_7 = 583;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_7 = 583;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_7(Allocation ain1) {
         return reduce_my_rs_matrix4x4_7(ain1, null);
@@ -20101,11 +20101,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_8 = 584;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_8 = 584;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_8(Allocation ain1) {
         return reduce_my_rs_matrix4x4_8(ain1, null);
@@ -20116,11 +20116,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_9 = 585;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_9 = 585;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_9(Allocation ain1) {
         return reduce_my_rs_matrix4x4_9(ain1, null);
@@ -20131,11 +20131,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_10 = 586;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_10 = 586;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_10(Allocation ain1) {
         return reduce_my_rs_matrix4x4_10(ain1, null);
@@ -20146,11 +20146,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_11 = 587;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_11 = 587;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_11(Allocation ain1) {
         return reduce_my_rs_matrix4x4_11(ain1, null);
@@ -20161,11 +20161,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_12 = 588;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_12 = 588;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_12(Allocation ain1) {
         return reduce_my_rs_matrix4x4_12(ain1, null);
@@ -20176,11 +20176,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_13 = 589;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_13 = 589;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_13(Allocation ain1) {
         return reduce_my_rs_matrix4x4_13(ain1, null);
@@ -20191,11 +20191,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_14 = 590;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_14 = 590;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_14(Allocation ain1) {
         return reduce_my_rs_matrix4x4_14(ain1, null);
@@ -20206,11 +20206,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix4x4_15 = 591;
+    private final static int mExportReduceIdx_my_rs_matrix4x4_15 = 591;
     // ain1 = "rs_matrix4x4 in"
     public result_int reduce_my_rs_matrix4x4_15(Allocation ain1) {
         return reduce_my_rs_matrix4x4_15(ain1, null);
@@ -20221,11 +20221,11 @@
         // check ain1
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix4x4_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix4x4_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_0 = 592;
+    private final static int mExportReduceIdx_my_MyStruct_0 = 592;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_0(Allocation ain1) {
         return reduce_my_MyStruct_0(ain1, null);
@@ -20239,11 +20239,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_0, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_0, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_1 = 593;
+    private final static int mExportReduceIdx_my_MyStruct_1 = 593;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_1(Allocation ain1) {
         return reduce_my_MyStruct_1(ain1, null);
@@ -20257,11 +20257,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_1, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_1, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_2 = 594;
+    private final static int mExportReduceIdx_my_MyStruct_2 = 594;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_2(Allocation ain1) {
         return reduce_my_MyStruct_2(ain1, null);
@@ -20275,11 +20275,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_2, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_3 = 595;
+    private final static int mExportReduceIdx_my_MyStruct_3 = 595;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_3(Allocation ain1) {
         return reduce_my_MyStruct_3(ain1, null);
@@ -20293,11 +20293,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_3, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_3, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_4 = 596;
+    private final static int mExportReduceIdx_my_MyStruct_4 = 596;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_4(Allocation ain1) {
         return reduce_my_MyStruct_4(ain1, null);
@@ -20311,11 +20311,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_4, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_5 = 597;
+    private final static int mExportReduceIdx_my_MyStruct_5 = 597;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_5(Allocation ain1) {
         return reduce_my_MyStruct_5(ain1, null);
@@ -20329,11 +20329,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_5, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_5, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_6 = 598;
+    private final static int mExportReduceIdx_my_MyStruct_6 = 598;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_6(Allocation ain1) {
         return reduce_my_MyStruct_6(ain1, null);
@@ -20347,11 +20347,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_6, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_6, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_7 = 599;
+    private final static int mExportReduceIdx_my_MyStruct_7 = 599;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_7(Allocation ain1) {
         return reduce_my_MyStruct_7(ain1, null);
@@ -20365,11 +20365,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_7, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_7, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_8 = 600;
+    private final static int mExportReduceIdx_my_MyStruct_8 = 600;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_8(Allocation ain1) {
         return reduce_my_MyStruct_8(ain1, null);
@@ -20383,11 +20383,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_8, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_8, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_9 = 601;
+    private final static int mExportReduceIdx_my_MyStruct_9 = 601;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_9(Allocation ain1) {
         return reduce_my_MyStruct_9(ain1, null);
@@ -20401,11 +20401,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_9, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_9, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_10 = 602;
+    private final static int mExportReduceIdx_my_MyStruct_10 = 602;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_10(Allocation ain1) {
         return reduce_my_MyStruct_10(ain1, null);
@@ -20419,11 +20419,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_10, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_10, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_11 = 603;
+    private final static int mExportReduceIdx_my_MyStruct_11 = 603;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_11(Allocation ain1) {
         return reduce_my_MyStruct_11(ain1, null);
@@ -20437,11 +20437,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_11, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_11, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_12 = 604;
+    private final static int mExportReduceIdx_my_MyStruct_12 = 604;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_12(Allocation ain1) {
         return reduce_my_MyStruct_12(ain1, null);
@@ -20455,11 +20455,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_12, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_12, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_13 = 605;
+    private final static int mExportReduceIdx_my_MyStruct_13 = 605;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_13(Allocation ain1) {
         return reduce_my_MyStruct_13(ain1, null);
@@ -20473,11 +20473,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_13, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_13, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_14 = 606;
+    private final static int mExportReduceIdx_my_MyStruct_14 = 606;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_14(Allocation ain1) {
         return reduce_my_MyStruct_14(ain1, null);
@@ -20491,11 +20491,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_14, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_14, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_15 = 607;
+    private final static int mExportReduceIdx_my_MyStruct_15 = 607;
     // ain1 = "/* struct <> */ in"
     public result_int reduce_my_MyStruct_15(Allocation ain1) {
         return reduce_my_MyStruct_15(ain1, null);
@@ -20509,7 +20509,7 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_15, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_15, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
diff --git a/tests/P_reduce_general_inputs/ScriptC_reduce_general_inputs.java.expect b/tests/P_reduce_general_inputs/ScriptC_reduce_general_inputs.java.expect
index fd98a92..05b80ad 100644
--- a/tests/P_reduce_general_inputs/ScriptC_reduce_general_inputs.java.expect
+++ b/tests/P_reduce_general_inputs/ScriptC_reduce_general_inputs.java.expect
@@ -117,7 +117,7 @@
         private int mResult;
     }
 
-    private final static int mExportReduceNewIdx_my_half_half_0 = 0;
+    private final static int mExportReduceIdx_my_half_half_0 = 0;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_half_0(short[] in1, short[] in2) {
@@ -177,11 +177,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_half_1 = 1;
+    private final static int mExportReduceIdx_my_half_half_1 = 1;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_half_1(short[] in1, short[] in2) {
@@ -241,11 +241,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_half2_0 = 2;
+    private final static int mExportReduceIdx_my_half_half2_0 = 2;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_half2_0(short[] in1, short[] in2) {
@@ -309,11 +309,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_half2_1 = 3;
+    private final static int mExportReduceIdx_my_half_half2_1 = 3;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_half2_1(short[] in1, short[] in2) {
@@ -377,11 +377,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_half4_0 = 4;
+    private final static int mExportReduceIdx_my_half_half4_0 = 4;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_half4_0(short[] in1, short[] in2) {
@@ -445,11 +445,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_half4_1 = 5;
+    private final static int mExportReduceIdx_my_half_half4_1 = 5;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_half4_1(short[] in1, short[] in2) {
@@ -513,11 +513,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_float_0 = 6;
+    private final static int mExportReduceIdx_my_half_float_0 = 6;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_float_0(short[] in1, float[] in2) {
@@ -577,11 +577,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_float_1 = 7;
+    private final static int mExportReduceIdx_my_half_float_1 = 7;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_float_1(short[] in1, float[] in2) {
@@ -641,11 +641,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_float2_0 = 8;
+    private final static int mExportReduceIdx_my_half_float2_0 = 8;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_float2_0(short[] in1, float[] in2) {
@@ -709,11 +709,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_float2_1 = 9;
+    private final static int mExportReduceIdx_my_half_float2_1 = 9;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_float2_1(short[] in1, float[] in2) {
@@ -777,11 +777,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_float4_0 = 10;
+    private final static int mExportReduceIdx_my_half_float4_0 = 10;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_float4_0(short[] in1, float[] in2) {
@@ -845,11 +845,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_float4_1 = 11;
+    private final static int mExportReduceIdx_my_half_float4_1 = 11;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_float4_1(short[] in1, float[] in2) {
@@ -913,11 +913,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_char_0 = 12;
+    private final static int mExportReduceIdx_my_half_char_0 = 12;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_char_0(short[] in1, byte[] in2) {
@@ -977,11 +977,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_char_1 = 13;
+    private final static int mExportReduceIdx_my_half_char_1 = 13;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_char_1(short[] in1, byte[] in2) {
@@ -1041,11 +1041,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_char2_0 = 14;
+    private final static int mExportReduceIdx_my_half_char2_0 = 14;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_char2_0(short[] in1, byte[] in2) {
@@ -1109,11 +1109,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_char2_1 = 15;
+    private final static int mExportReduceIdx_my_half_char2_1 = 15;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_char2_1(short[] in1, byte[] in2) {
@@ -1177,11 +1177,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_char4_0 = 16;
+    private final static int mExportReduceIdx_my_half_char4_0 = 16;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_char4_0(short[] in1, byte[] in2) {
@@ -1245,11 +1245,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_char4_1 = 17;
+    private final static int mExportReduceIdx_my_half_char4_1 = 17;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_char4_1(short[] in1, byte[] in2) {
@@ -1313,11 +1313,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_short_0 = 18;
+    private final static int mExportReduceIdx_my_half_short_0 = 18;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_short_0(short[] in1, short[] in2) {
@@ -1377,11 +1377,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_short_1 = 19;
+    private final static int mExportReduceIdx_my_half_short_1 = 19;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_short_1(short[] in1, short[] in2) {
@@ -1441,11 +1441,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_short2_0 = 20;
+    private final static int mExportReduceIdx_my_half_short2_0 = 20;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_short2_0(short[] in1, short[] in2) {
@@ -1509,11 +1509,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_short2_1 = 21;
+    private final static int mExportReduceIdx_my_half_short2_1 = 21;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_short2_1(short[] in1, short[] in2) {
@@ -1577,11 +1577,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_short4_0 = 22;
+    private final static int mExportReduceIdx_my_half_short4_0 = 22;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_short4_0(short[] in1, short[] in2) {
@@ -1645,11 +1645,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_short4_1 = 23;
+    private final static int mExportReduceIdx_my_half_short4_1 = 23;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_short4_1(short[] in1, short[] in2) {
@@ -1713,11 +1713,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_uchar_0 = 24;
+    private final static int mExportReduceIdx_my_half_uchar_0 = 24;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_uchar_0(short[] in1, byte[] in2) {
@@ -1777,11 +1777,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_uchar_1 = 25;
+    private final static int mExportReduceIdx_my_half_uchar_1 = 25;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_uchar_1(short[] in1, byte[] in2) {
@@ -1841,11 +1841,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_uchar2_0 = 26;
+    private final static int mExportReduceIdx_my_half_uchar2_0 = 26;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_uchar2_0(short[] in1, byte[] in2) {
@@ -1909,11 +1909,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_uchar2_1 = 27;
+    private final static int mExportReduceIdx_my_half_uchar2_1 = 27;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_uchar2_1(short[] in1, byte[] in2) {
@@ -1977,11 +1977,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_uchar4_0 = 28;
+    private final static int mExportReduceIdx_my_half_uchar4_0 = 28;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_uchar4_0(short[] in1, byte[] in2) {
@@ -2045,11 +2045,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_uchar4_1 = 29;
+    private final static int mExportReduceIdx_my_half_uchar4_1 = 29;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_uchar4_1(short[] in1, byte[] in2) {
@@ -2113,11 +2113,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_ushort_0 = 30;
+    private final static int mExportReduceIdx_my_half_ushort_0 = 30;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_ushort_0(short[] in1, short[] in2) {
@@ -2177,11 +2177,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_ushort_1 = 31;
+    private final static int mExportReduceIdx_my_half_ushort_1 = 31;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_ushort_1(short[] in1, short[] in2) {
@@ -2241,11 +2241,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_ushort2_0 = 32;
+    private final static int mExportReduceIdx_my_half_ushort2_0 = 32;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_ushort2_0(short[] in1, short[] in2) {
@@ -2309,11 +2309,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_ushort2_1 = 33;
+    private final static int mExportReduceIdx_my_half_ushort2_1 = 33;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half_ushort2_1(short[] in1, short[] in2) {
@@ -2377,11 +2377,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_ushort4_0 = 34;
+    private final static int mExportReduceIdx_my_half_ushort4_0 = 34;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_ushort4_0(short[] in1, short[] in2) {
@@ -2445,11 +2445,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_ushort4_1 = 35;
+    private final static int mExportReduceIdx_my_half_ushort4_1 = 35;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half_ushort4_1(short[] in1, short[] in2) {
@@ -2513,11 +2513,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_bool_0 = 36;
+    private final static int mExportReduceIdx_my_half_bool_0 = 36;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_bool_0(short[] in1, byte[] in2) {
@@ -2577,11 +2577,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_bool_1 = 37;
+    private final static int mExportReduceIdx_my_half_bool_1 = 37;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_half_bool_1(short[] in1, byte[] in2) {
@@ -2641,11 +2641,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_rs_matrix2x2_0 = 38;
+    private final static int mExportReduceIdx_my_half_rs_matrix2x2_0 = 38;
     // ain1 = "half a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_half_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -2675,11 +2675,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_rs_matrix2x2_1 = 39;
+    private final static int mExportReduceIdx_my_half_rs_matrix2x2_1 = 39;
     // ain1 = "half a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_half_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -2709,11 +2709,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_MyStruct_0 = 40;
+    private final static int mExportReduceIdx_my_half_MyStruct_0 = 40;
     // ain1 = "half a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_half_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -2746,11 +2746,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half_MyStruct_1 = 41;
+    private final static int mExportReduceIdx_my_half_MyStruct_1 = 41;
     // ain1 = "half a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_half_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -2783,11 +2783,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_half_0 = 42;
+    private final static int mExportReduceIdx_my_half2_half_0 = 42;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_half_0(short[] in1, short[] in2) {
@@ -2851,11 +2851,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_half_1 = 43;
+    private final static int mExportReduceIdx_my_half2_half_1 = 43;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_half_1(short[] in1, short[] in2) {
@@ -2919,11 +2919,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_half2_0 = 44;
+    private final static int mExportReduceIdx_my_half2_half2_0 = 44;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_half2_0(short[] in1, short[] in2) {
@@ -2991,11 +2991,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_half2_1 = 45;
+    private final static int mExportReduceIdx_my_half2_half2_1 = 45;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_half2_1(short[] in1, short[] in2) {
@@ -3063,11 +3063,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_half4_0 = 46;
+    private final static int mExportReduceIdx_my_half2_half4_0 = 46;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_half4_0(short[] in1, short[] in2) {
@@ -3135,11 +3135,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_half4_1 = 47;
+    private final static int mExportReduceIdx_my_half2_half4_1 = 47;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_half4_1(short[] in1, short[] in2) {
@@ -3207,11 +3207,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_float_0 = 48;
+    private final static int mExportReduceIdx_my_half2_float_0 = 48;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_float_0(short[] in1, float[] in2) {
@@ -3275,11 +3275,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_float_1 = 49;
+    private final static int mExportReduceIdx_my_half2_float_1 = 49;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_float_1(short[] in1, float[] in2) {
@@ -3343,11 +3343,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_float2_0 = 50;
+    private final static int mExportReduceIdx_my_half2_float2_0 = 50;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_float2_0(short[] in1, float[] in2) {
@@ -3415,11 +3415,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_float2_1 = 51;
+    private final static int mExportReduceIdx_my_half2_float2_1 = 51;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_float2_1(short[] in1, float[] in2) {
@@ -3487,11 +3487,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_float4_0 = 52;
+    private final static int mExportReduceIdx_my_half2_float4_0 = 52;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_float4_0(short[] in1, float[] in2) {
@@ -3559,11 +3559,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_float4_1 = 53;
+    private final static int mExportReduceIdx_my_half2_float4_1 = 53;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_float4_1(short[] in1, float[] in2) {
@@ -3631,11 +3631,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_char_0 = 54;
+    private final static int mExportReduceIdx_my_half2_char_0 = 54;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_char_0(short[] in1, byte[] in2) {
@@ -3699,11 +3699,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_char_1 = 55;
+    private final static int mExportReduceIdx_my_half2_char_1 = 55;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_char_1(short[] in1, byte[] in2) {
@@ -3767,11 +3767,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_char2_0 = 56;
+    private final static int mExportReduceIdx_my_half2_char2_0 = 56;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_char2_0(short[] in1, byte[] in2) {
@@ -3839,11 +3839,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_char2_1 = 57;
+    private final static int mExportReduceIdx_my_half2_char2_1 = 57;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_char2_1(short[] in1, byte[] in2) {
@@ -3911,11 +3911,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_char4_0 = 58;
+    private final static int mExportReduceIdx_my_half2_char4_0 = 58;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_char4_0(short[] in1, byte[] in2) {
@@ -3983,11 +3983,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_char4_1 = 59;
+    private final static int mExportReduceIdx_my_half2_char4_1 = 59;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_char4_1(short[] in1, byte[] in2) {
@@ -4055,11 +4055,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_short_0 = 60;
+    private final static int mExportReduceIdx_my_half2_short_0 = 60;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_short_0(short[] in1, short[] in2) {
@@ -4123,11 +4123,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_short_1 = 61;
+    private final static int mExportReduceIdx_my_half2_short_1 = 61;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_short_1(short[] in1, short[] in2) {
@@ -4191,11 +4191,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_short2_0 = 62;
+    private final static int mExportReduceIdx_my_half2_short2_0 = 62;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_short2_0(short[] in1, short[] in2) {
@@ -4263,11 +4263,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_short2_1 = 63;
+    private final static int mExportReduceIdx_my_half2_short2_1 = 63;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_short2_1(short[] in1, short[] in2) {
@@ -4335,11 +4335,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_short4_0 = 64;
+    private final static int mExportReduceIdx_my_half2_short4_0 = 64;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_short4_0(short[] in1, short[] in2) {
@@ -4407,11 +4407,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_short4_1 = 65;
+    private final static int mExportReduceIdx_my_half2_short4_1 = 65;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_short4_1(short[] in1, short[] in2) {
@@ -4479,11 +4479,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_uchar_0 = 66;
+    private final static int mExportReduceIdx_my_half2_uchar_0 = 66;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_uchar_0(short[] in1, byte[] in2) {
@@ -4547,11 +4547,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_uchar_1 = 67;
+    private final static int mExportReduceIdx_my_half2_uchar_1 = 67;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_uchar_1(short[] in1, byte[] in2) {
@@ -4615,11 +4615,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_uchar2_0 = 68;
+    private final static int mExportReduceIdx_my_half2_uchar2_0 = 68;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_uchar2_0(short[] in1, byte[] in2) {
@@ -4687,11 +4687,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_uchar2_1 = 69;
+    private final static int mExportReduceIdx_my_half2_uchar2_1 = 69;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_uchar2_1(short[] in1, byte[] in2) {
@@ -4759,11 +4759,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_uchar4_0 = 70;
+    private final static int mExportReduceIdx_my_half2_uchar4_0 = 70;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_uchar4_0(short[] in1, byte[] in2) {
@@ -4831,11 +4831,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_uchar4_1 = 71;
+    private final static int mExportReduceIdx_my_half2_uchar4_1 = 71;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_uchar4_1(short[] in1, byte[] in2) {
@@ -4903,11 +4903,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_ushort_0 = 72;
+    private final static int mExportReduceIdx_my_half2_ushort_0 = 72;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_ushort_0(short[] in1, short[] in2) {
@@ -4971,11 +4971,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_ushort_1 = 73;
+    private final static int mExportReduceIdx_my_half2_ushort_1 = 73;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_ushort_1(short[] in1, short[] in2) {
@@ -5039,11 +5039,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_ushort2_0 = 74;
+    private final static int mExportReduceIdx_my_half2_ushort2_0 = 74;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_ushort2_0(short[] in1, short[] in2) {
@@ -5111,11 +5111,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_ushort2_1 = 75;
+    private final static int mExportReduceIdx_my_half2_ushort2_1 = 75;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half2_ushort2_1(short[] in1, short[] in2) {
@@ -5183,11 +5183,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_ushort4_0 = 76;
+    private final static int mExportReduceIdx_my_half2_ushort4_0 = 76;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_ushort4_0(short[] in1, short[] in2) {
@@ -5255,11 +5255,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_ushort4_1 = 77;
+    private final static int mExportReduceIdx_my_half2_ushort4_1 = 77;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half2_ushort4_1(short[] in1, short[] in2) {
@@ -5327,11 +5327,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_bool_0 = 78;
+    private final static int mExportReduceIdx_my_half2_bool_0 = 78;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_bool_0(short[] in1, byte[] in2) {
@@ -5395,11 +5395,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_bool_1 = 79;
+    private final static int mExportReduceIdx_my_half2_bool_1 = 79;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_half2_bool_1(short[] in1, byte[] in2) {
@@ -5463,11 +5463,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_rs_matrix2x2_0 = 80;
+    private final static int mExportReduceIdx_my_half2_rs_matrix2x2_0 = 80;
     // ain1 = "half2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_half2_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -5497,11 +5497,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_rs_matrix2x2_1 = 81;
+    private final static int mExportReduceIdx_my_half2_rs_matrix2x2_1 = 81;
     // ain1 = "half2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_half2_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -5531,11 +5531,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_MyStruct_0 = 82;
+    private final static int mExportReduceIdx_my_half2_MyStruct_0 = 82;
     // ain1 = "half2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_half2_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -5568,11 +5568,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2_MyStruct_1 = 83;
+    private final static int mExportReduceIdx_my_half2_MyStruct_1 = 83;
     // ain1 = "half2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_half2_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -5605,11 +5605,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_half_0 = 84;
+    private final static int mExportReduceIdx_my_half4_half_0 = 84;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_half_0(short[] in1, short[] in2) {
@@ -5673,11 +5673,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_half_1 = 85;
+    private final static int mExportReduceIdx_my_half4_half_1 = 85;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_half_1(short[] in1, short[] in2) {
@@ -5741,11 +5741,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_half2_0 = 86;
+    private final static int mExportReduceIdx_my_half4_half2_0 = 86;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_half2_0(short[] in1, short[] in2) {
@@ -5813,11 +5813,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_half2_1 = 87;
+    private final static int mExportReduceIdx_my_half4_half2_1 = 87;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_half2_1(short[] in1, short[] in2) {
@@ -5885,11 +5885,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_half4_0 = 88;
+    private final static int mExportReduceIdx_my_half4_half4_0 = 88;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_half4_0(short[] in1, short[] in2) {
@@ -5957,11 +5957,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_half4_1 = 89;
+    private final static int mExportReduceIdx_my_half4_half4_1 = 89;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_half4_1(short[] in1, short[] in2) {
@@ -6029,11 +6029,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_float_0 = 90;
+    private final static int mExportReduceIdx_my_half4_float_0 = 90;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_float_0(short[] in1, float[] in2) {
@@ -6097,11 +6097,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_float_1 = 91;
+    private final static int mExportReduceIdx_my_half4_float_1 = 91;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_float_1(short[] in1, float[] in2) {
@@ -6165,11 +6165,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_float2_0 = 92;
+    private final static int mExportReduceIdx_my_half4_float2_0 = 92;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_float2_0(short[] in1, float[] in2) {
@@ -6237,11 +6237,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_float2_1 = 93;
+    private final static int mExportReduceIdx_my_half4_float2_1 = 93;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_float2_1(short[] in1, float[] in2) {
@@ -6309,11 +6309,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_float4_0 = 94;
+    private final static int mExportReduceIdx_my_half4_float4_0 = 94;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_float4_0(short[] in1, float[] in2) {
@@ -6381,11 +6381,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_float4_1 = 95;
+    private final static int mExportReduceIdx_my_half4_float4_1 = 95;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_float4_1(short[] in1, float[] in2) {
@@ -6453,11 +6453,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_char_0 = 96;
+    private final static int mExportReduceIdx_my_half4_char_0 = 96;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_char_0(short[] in1, byte[] in2) {
@@ -6521,11 +6521,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_char_1 = 97;
+    private final static int mExportReduceIdx_my_half4_char_1 = 97;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_char_1(short[] in1, byte[] in2) {
@@ -6589,11 +6589,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_char2_0 = 98;
+    private final static int mExportReduceIdx_my_half4_char2_0 = 98;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_char2_0(short[] in1, byte[] in2) {
@@ -6661,11 +6661,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_char2_1 = 99;
+    private final static int mExportReduceIdx_my_half4_char2_1 = 99;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_char2_1(short[] in1, byte[] in2) {
@@ -6733,11 +6733,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_char4_0 = 100;
+    private final static int mExportReduceIdx_my_half4_char4_0 = 100;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_char4_0(short[] in1, byte[] in2) {
@@ -6805,11 +6805,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_char4_1 = 101;
+    private final static int mExportReduceIdx_my_half4_char4_1 = 101;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_char4_1(short[] in1, byte[] in2) {
@@ -6877,11 +6877,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_short_0 = 102;
+    private final static int mExportReduceIdx_my_half4_short_0 = 102;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_short_0(short[] in1, short[] in2) {
@@ -6945,11 +6945,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_short_1 = 103;
+    private final static int mExportReduceIdx_my_half4_short_1 = 103;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_short_1(short[] in1, short[] in2) {
@@ -7013,11 +7013,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_short2_0 = 104;
+    private final static int mExportReduceIdx_my_half4_short2_0 = 104;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_short2_0(short[] in1, short[] in2) {
@@ -7085,11 +7085,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_short2_1 = 105;
+    private final static int mExportReduceIdx_my_half4_short2_1 = 105;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_short2_1(short[] in1, short[] in2) {
@@ -7157,11 +7157,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_short4_0 = 106;
+    private final static int mExportReduceIdx_my_half4_short4_0 = 106;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_short4_0(short[] in1, short[] in2) {
@@ -7229,11 +7229,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_short4_1 = 107;
+    private final static int mExportReduceIdx_my_half4_short4_1 = 107;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_short4_1(short[] in1, short[] in2) {
@@ -7301,11 +7301,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_uchar_0 = 108;
+    private final static int mExportReduceIdx_my_half4_uchar_0 = 108;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_uchar_0(short[] in1, byte[] in2) {
@@ -7369,11 +7369,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_uchar_1 = 109;
+    private final static int mExportReduceIdx_my_half4_uchar_1 = 109;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_uchar_1(short[] in1, byte[] in2) {
@@ -7437,11 +7437,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_uchar2_0 = 110;
+    private final static int mExportReduceIdx_my_half4_uchar2_0 = 110;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_uchar2_0(short[] in1, byte[] in2) {
@@ -7509,11 +7509,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_uchar2_1 = 111;
+    private final static int mExportReduceIdx_my_half4_uchar2_1 = 111;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_uchar2_1(short[] in1, byte[] in2) {
@@ -7581,11 +7581,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_uchar4_0 = 112;
+    private final static int mExportReduceIdx_my_half4_uchar4_0 = 112;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_uchar4_0(short[] in1, byte[] in2) {
@@ -7653,11 +7653,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_uchar4_1 = 113;
+    private final static int mExportReduceIdx_my_half4_uchar4_1 = 113;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_uchar4_1(short[] in1, byte[] in2) {
@@ -7725,11 +7725,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_ushort_0 = 114;
+    private final static int mExportReduceIdx_my_half4_ushort_0 = 114;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_ushort_0(short[] in1, short[] in2) {
@@ -7793,11 +7793,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_ushort_1 = 115;
+    private final static int mExportReduceIdx_my_half4_ushort_1 = 115;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_ushort_1(short[] in1, short[] in2) {
@@ -7861,11 +7861,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_ushort2_0 = 116;
+    private final static int mExportReduceIdx_my_half4_ushort2_0 = 116;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_ushort2_0(short[] in1, short[] in2) {
@@ -7933,11 +7933,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_ushort2_1 = 117;
+    private final static int mExportReduceIdx_my_half4_ushort2_1 = 117;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_half4_ushort2_1(short[] in1, short[] in2) {
@@ -8005,11 +8005,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_ushort4_0 = 118;
+    private final static int mExportReduceIdx_my_half4_ushort4_0 = 118;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_ushort4_0(short[] in1, short[] in2) {
@@ -8077,11 +8077,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_ushort4_1 = 119;
+    private final static int mExportReduceIdx_my_half4_ushort4_1 = 119;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_half4_ushort4_1(short[] in1, short[] in2) {
@@ -8149,11 +8149,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_bool_0 = 120;
+    private final static int mExportReduceIdx_my_half4_bool_0 = 120;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_bool_0(short[] in1, byte[] in2) {
@@ -8217,11 +8217,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_bool_1 = 121;
+    private final static int mExportReduceIdx_my_half4_bool_1 = 121;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_half4_bool_1(short[] in1, byte[] in2) {
@@ -8285,11 +8285,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_rs_matrix2x2_0 = 122;
+    private final static int mExportReduceIdx_my_half4_rs_matrix2x2_0 = 122;
     // ain1 = "half4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_half4_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -8319,11 +8319,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_rs_matrix2x2_1 = 123;
+    private final static int mExportReduceIdx_my_half4_rs_matrix2x2_1 = 123;
     // ain1 = "half4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_half4_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -8353,11 +8353,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_MyStruct_0 = 124;
+    private final static int mExportReduceIdx_my_half4_MyStruct_0 = 124;
     // ain1 = "half4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_half4_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -8390,11 +8390,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4_MyStruct_1 = 125;
+    private final static int mExportReduceIdx_my_half4_MyStruct_1 = 125;
     // ain1 = "half4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_half4_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -8427,11 +8427,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_half4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_half_0 = 126;
+    private final static int mExportReduceIdx_my_float_half_0 = 126;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_half_0(float[] in1, short[] in2) {
@@ -8491,11 +8491,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_half_1 = 127;
+    private final static int mExportReduceIdx_my_float_half_1 = 127;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_half_1(float[] in1, short[] in2) {
@@ -8555,11 +8555,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_half2_0 = 128;
+    private final static int mExportReduceIdx_my_float_half2_0 = 128;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_half2_0(float[] in1, short[] in2) {
@@ -8623,11 +8623,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_half2_1 = 129;
+    private final static int mExportReduceIdx_my_float_half2_1 = 129;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_half2_1(float[] in1, short[] in2) {
@@ -8691,11 +8691,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_half4_0 = 130;
+    private final static int mExportReduceIdx_my_float_half4_0 = 130;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_half4_0(float[] in1, short[] in2) {
@@ -8759,11 +8759,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_half4_1 = 131;
+    private final static int mExportReduceIdx_my_float_half4_1 = 131;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_half4_1(float[] in1, short[] in2) {
@@ -8827,11 +8827,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_float_0 = 132;
+    private final static int mExportReduceIdx_my_float_float_0 = 132;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_float_0(float[] in1, float[] in2) {
@@ -8891,11 +8891,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_float_1 = 133;
+    private final static int mExportReduceIdx_my_float_float_1 = 133;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_float_1(float[] in1, float[] in2) {
@@ -8955,11 +8955,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_float2_0 = 134;
+    private final static int mExportReduceIdx_my_float_float2_0 = 134;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_float2_0(float[] in1, float[] in2) {
@@ -9023,11 +9023,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_float2_1 = 135;
+    private final static int mExportReduceIdx_my_float_float2_1 = 135;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_float2_1(float[] in1, float[] in2) {
@@ -9091,11 +9091,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_float4_0 = 136;
+    private final static int mExportReduceIdx_my_float_float4_0 = 136;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_float4_0(float[] in1, float[] in2) {
@@ -9159,11 +9159,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_float4_1 = 137;
+    private final static int mExportReduceIdx_my_float_float4_1 = 137;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_float4_1(float[] in1, float[] in2) {
@@ -9227,11 +9227,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_char_0 = 138;
+    private final static int mExportReduceIdx_my_float_char_0 = 138;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_char_0(float[] in1, byte[] in2) {
@@ -9291,11 +9291,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_char_1 = 139;
+    private final static int mExportReduceIdx_my_float_char_1 = 139;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_char_1(float[] in1, byte[] in2) {
@@ -9355,11 +9355,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_char2_0 = 140;
+    private final static int mExportReduceIdx_my_float_char2_0 = 140;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_char2_0(float[] in1, byte[] in2) {
@@ -9423,11 +9423,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_char2_1 = 141;
+    private final static int mExportReduceIdx_my_float_char2_1 = 141;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_char2_1(float[] in1, byte[] in2) {
@@ -9491,11 +9491,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_char4_0 = 142;
+    private final static int mExportReduceIdx_my_float_char4_0 = 142;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_char4_0(float[] in1, byte[] in2) {
@@ -9559,11 +9559,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_char4_1 = 143;
+    private final static int mExportReduceIdx_my_float_char4_1 = 143;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_char4_1(float[] in1, byte[] in2) {
@@ -9627,11 +9627,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_short_0 = 144;
+    private final static int mExportReduceIdx_my_float_short_0 = 144;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_short_0(float[] in1, short[] in2) {
@@ -9691,11 +9691,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_short_1 = 145;
+    private final static int mExportReduceIdx_my_float_short_1 = 145;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_short_1(float[] in1, short[] in2) {
@@ -9755,11 +9755,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_short2_0 = 146;
+    private final static int mExportReduceIdx_my_float_short2_0 = 146;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_short2_0(float[] in1, short[] in2) {
@@ -9823,11 +9823,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_short2_1 = 147;
+    private final static int mExportReduceIdx_my_float_short2_1 = 147;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_short2_1(float[] in1, short[] in2) {
@@ -9891,11 +9891,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_short4_0 = 148;
+    private final static int mExportReduceIdx_my_float_short4_0 = 148;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_short4_0(float[] in1, short[] in2) {
@@ -9959,11 +9959,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_short4_1 = 149;
+    private final static int mExportReduceIdx_my_float_short4_1 = 149;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_short4_1(float[] in1, short[] in2) {
@@ -10027,11 +10027,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_uchar_0 = 150;
+    private final static int mExportReduceIdx_my_float_uchar_0 = 150;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_uchar_0(float[] in1, byte[] in2) {
@@ -10091,11 +10091,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_uchar_1 = 151;
+    private final static int mExportReduceIdx_my_float_uchar_1 = 151;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_uchar_1(float[] in1, byte[] in2) {
@@ -10155,11 +10155,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_uchar2_0 = 152;
+    private final static int mExportReduceIdx_my_float_uchar2_0 = 152;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_uchar2_0(float[] in1, byte[] in2) {
@@ -10223,11 +10223,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_uchar2_1 = 153;
+    private final static int mExportReduceIdx_my_float_uchar2_1 = 153;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_uchar2_1(float[] in1, byte[] in2) {
@@ -10291,11 +10291,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_uchar4_0 = 154;
+    private final static int mExportReduceIdx_my_float_uchar4_0 = 154;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_uchar4_0(float[] in1, byte[] in2) {
@@ -10359,11 +10359,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_uchar4_1 = 155;
+    private final static int mExportReduceIdx_my_float_uchar4_1 = 155;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_uchar4_1(float[] in1, byte[] in2) {
@@ -10427,11 +10427,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_ushort_0 = 156;
+    private final static int mExportReduceIdx_my_float_ushort_0 = 156;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_ushort_0(float[] in1, short[] in2) {
@@ -10491,11 +10491,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_ushort_1 = 157;
+    private final static int mExportReduceIdx_my_float_ushort_1 = 157;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_ushort_1(float[] in1, short[] in2) {
@@ -10555,11 +10555,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_ushort2_0 = 158;
+    private final static int mExportReduceIdx_my_float_ushort2_0 = 158;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_ushort2_0(float[] in1, short[] in2) {
@@ -10623,11 +10623,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_ushort2_1 = 159;
+    private final static int mExportReduceIdx_my_float_ushort2_1 = 159;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float_ushort2_1(float[] in1, short[] in2) {
@@ -10691,11 +10691,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_ushort4_0 = 160;
+    private final static int mExportReduceIdx_my_float_ushort4_0 = 160;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_ushort4_0(float[] in1, short[] in2) {
@@ -10759,11 +10759,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_ushort4_1 = 161;
+    private final static int mExportReduceIdx_my_float_ushort4_1 = 161;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float_ushort4_1(float[] in1, short[] in2) {
@@ -10827,11 +10827,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_bool_0 = 162;
+    private final static int mExportReduceIdx_my_float_bool_0 = 162;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_bool_0(float[] in1, byte[] in2) {
@@ -10891,11 +10891,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_bool_1 = 163;
+    private final static int mExportReduceIdx_my_float_bool_1 = 163;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_float_bool_1(float[] in1, byte[] in2) {
@@ -10955,11 +10955,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_rs_matrix2x2_0 = 164;
+    private final static int mExportReduceIdx_my_float_rs_matrix2x2_0 = 164;
     // ain1 = "float a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_float_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -10989,11 +10989,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_rs_matrix2x2_1 = 165;
+    private final static int mExportReduceIdx_my_float_rs_matrix2x2_1 = 165;
     // ain1 = "float a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_float_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -11023,11 +11023,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_MyStruct_0 = 166;
+    private final static int mExportReduceIdx_my_float_MyStruct_0 = 166;
     // ain1 = "float a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_float_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -11060,11 +11060,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float_MyStruct_1 = 167;
+    private final static int mExportReduceIdx_my_float_MyStruct_1 = 167;
     // ain1 = "float a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_float_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -11097,11 +11097,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_half_0 = 168;
+    private final static int mExportReduceIdx_my_float2_half_0 = 168;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_half_0(float[] in1, short[] in2) {
@@ -11165,11 +11165,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_half_1 = 169;
+    private final static int mExportReduceIdx_my_float2_half_1 = 169;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_half_1(float[] in1, short[] in2) {
@@ -11233,11 +11233,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_half2_0 = 170;
+    private final static int mExportReduceIdx_my_float2_half2_0 = 170;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_half2_0(float[] in1, short[] in2) {
@@ -11305,11 +11305,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_half2_1 = 171;
+    private final static int mExportReduceIdx_my_float2_half2_1 = 171;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_half2_1(float[] in1, short[] in2) {
@@ -11377,11 +11377,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_half4_0 = 172;
+    private final static int mExportReduceIdx_my_float2_half4_0 = 172;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_half4_0(float[] in1, short[] in2) {
@@ -11449,11 +11449,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_half4_1 = 173;
+    private final static int mExportReduceIdx_my_float2_half4_1 = 173;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_half4_1(float[] in1, short[] in2) {
@@ -11521,11 +11521,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_float_0 = 174;
+    private final static int mExportReduceIdx_my_float2_float_0 = 174;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_float_0(float[] in1, float[] in2) {
@@ -11589,11 +11589,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_float_1 = 175;
+    private final static int mExportReduceIdx_my_float2_float_1 = 175;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_float_1(float[] in1, float[] in2) {
@@ -11657,11 +11657,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_float2_0 = 176;
+    private final static int mExportReduceIdx_my_float2_float2_0 = 176;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_float2_0(float[] in1, float[] in2) {
@@ -11729,11 +11729,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_float2_1 = 177;
+    private final static int mExportReduceIdx_my_float2_float2_1 = 177;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_float2_1(float[] in1, float[] in2) {
@@ -11801,11 +11801,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_float4_0 = 178;
+    private final static int mExportReduceIdx_my_float2_float4_0 = 178;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_float4_0(float[] in1, float[] in2) {
@@ -11873,11 +11873,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_float4_1 = 179;
+    private final static int mExportReduceIdx_my_float2_float4_1 = 179;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_float4_1(float[] in1, float[] in2) {
@@ -11945,11 +11945,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_char_0 = 180;
+    private final static int mExportReduceIdx_my_float2_char_0 = 180;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_char_0(float[] in1, byte[] in2) {
@@ -12013,11 +12013,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_char_1 = 181;
+    private final static int mExportReduceIdx_my_float2_char_1 = 181;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_char_1(float[] in1, byte[] in2) {
@@ -12081,11 +12081,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_char2_0 = 182;
+    private final static int mExportReduceIdx_my_float2_char2_0 = 182;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_char2_0(float[] in1, byte[] in2) {
@@ -12153,11 +12153,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_char2_1 = 183;
+    private final static int mExportReduceIdx_my_float2_char2_1 = 183;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_char2_1(float[] in1, byte[] in2) {
@@ -12225,11 +12225,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_char4_0 = 184;
+    private final static int mExportReduceIdx_my_float2_char4_0 = 184;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_char4_0(float[] in1, byte[] in2) {
@@ -12297,11 +12297,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_char4_1 = 185;
+    private final static int mExportReduceIdx_my_float2_char4_1 = 185;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_char4_1(float[] in1, byte[] in2) {
@@ -12369,11 +12369,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_short_0 = 186;
+    private final static int mExportReduceIdx_my_float2_short_0 = 186;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_short_0(float[] in1, short[] in2) {
@@ -12437,11 +12437,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_short_1 = 187;
+    private final static int mExportReduceIdx_my_float2_short_1 = 187;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_short_1(float[] in1, short[] in2) {
@@ -12505,11 +12505,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_short2_0 = 188;
+    private final static int mExportReduceIdx_my_float2_short2_0 = 188;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_short2_0(float[] in1, short[] in2) {
@@ -12577,11 +12577,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_short2_1 = 189;
+    private final static int mExportReduceIdx_my_float2_short2_1 = 189;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_short2_1(float[] in1, short[] in2) {
@@ -12649,11 +12649,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_short4_0 = 190;
+    private final static int mExportReduceIdx_my_float2_short4_0 = 190;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_short4_0(float[] in1, short[] in2) {
@@ -12721,11 +12721,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_short4_1 = 191;
+    private final static int mExportReduceIdx_my_float2_short4_1 = 191;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_short4_1(float[] in1, short[] in2) {
@@ -12793,11 +12793,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_uchar_0 = 192;
+    private final static int mExportReduceIdx_my_float2_uchar_0 = 192;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_uchar_0(float[] in1, byte[] in2) {
@@ -12861,11 +12861,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_uchar_1 = 193;
+    private final static int mExportReduceIdx_my_float2_uchar_1 = 193;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_uchar_1(float[] in1, byte[] in2) {
@@ -12929,11 +12929,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_uchar2_0 = 194;
+    private final static int mExportReduceIdx_my_float2_uchar2_0 = 194;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_uchar2_0(float[] in1, byte[] in2) {
@@ -13001,11 +13001,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_uchar2_1 = 195;
+    private final static int mExportReduceIdx_my_float2_uchar2_1 = 195;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_uchar2_1(float[] in1, byte[] in2) {
@@ -13073,11 +13073,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_uchar4_0 = 196;
+    private final static int mExportReduceIdx_my_float2_uchar4_0 = 196;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_uchar4_0(float[] in1, byte[] in2) {
@@ -13145,11 +13145,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_uchar4_1 = 197;
+    private final static int mExportReduceIdx_my_float2_uchar4_1 = 197;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_uchar4_1(float[] in1, byte[] in2) {
@@ -13217,11 +13217,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_ushort_0 = 198;
+    private final static int mExportReduceIdx_my_float2_ushort_0 = 198;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_ushort_0(float[] in1, short[] in2) {
@@ -13285,11 +13285,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_ushort_1 = 199;
+    private final static int mExportReduceIdx_my_float2_ushort_1 = 199;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_ushort_1(float[] in1, short[] in2) {
@@ -13353,11 +13353,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_ushort2_0 = 200;
+    private final static int mExportReduceIdx_my_float2_ushort2_0 = 200;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_ushort2_0(float[] in1, short[] in2) {
@@ -13425,11 +13425,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_ushort2_1 = 201;
+    private final static int mExportReduceIdx_my_float2_ushort2_1 = 201;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float2_ushort2_1(float[] in1, short[] in2) {
@@ -13497,11 +13497,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_ushort4_0 = 202;
+    private final static int mExportReduceIdx_my_float2_ushort4_0 = 202;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_ushort4_0(float[] in1, short[] in2) {
@@ -13569,11 +13569,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_ushort4_1 = 203;
+    private final static int mExportReduceIdx_my_float2_ushort4_1 = 203;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float2_ushort4_1(float[] in1, short[] in2) {
@@ -13641,11 +13641,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_bool_0 = 204;
+    private final static int mExportReduceIdx_my_float2_bool_0 = 204;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_bool_0(float[] in1, byte[] in2) {
@@ -13709,11 +13709,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_bool_1 = 205;
+    private final static int mExportReduceIdx_my_float2_bool_1 = 205;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_float2_bool_1(float[] in1, byte[] in2) {
@@ -13777,11 +13777,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_rs_matrix2x2_0 = 206;
+    private final static int mExportReduceIdx_my_float2_rs_matrix2x2_0 = 206;
     // ain1 = "float2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_float2_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -13811,11 +13811,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_rs_matrix2x2_1 = 207;
+    private final static int mExportReduceIdx_my_float2_rs_matrix2x2_1 = 207;
     // ain1 = "float2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_float2_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -13845,11 +13845,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_MyStruct_0 = 208;
+    private final static int mExportReduceIdx_my_float2_MyStruct_0 = 208;
     // ain1 = "float2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_float2_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -13882,11 +13882,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2_MyStruct_1 = 209;
+    private final static int mExportReduceIdx_my_float2_MyStruct_1 = 209;
     // ain1 = "float2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_float2_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -13919,11 +13919,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_half_0 = 210;
+    private final static int mExportReduceIdx_my_float4_half_0 = 210;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_half_0(float[] in1, short[] in2) {
@@ -13987,11 +13987,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_half_1 = 211;
+    private final static int mExportReduceIdx_my_float4_half_1 = 211;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_half_1(float[] in1, short[] in2) {
@@ -14055,11 +14055,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_half2_0 = 212;
+    private final static int mExportReduceIdx_my_float4_half2_0 = 212;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_half2_0(float[] in1, short[] in2) {
@@ -14127,11 +14127,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_half2_1 = 213;
+    private final static int mExportReduceIdx_my_float4_half2_1 = 213;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_half2_1(float[] in1, short[] in2) {
@@ -14199,11 +14199,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_half4_0 = 214;
+    private final static int mExportReduceIdx_my_float4_half4_0 = 214;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_half4_0(float[] in1, short[] in2) {
@@ -14271,11 +14271,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_half4_1 = 215;
+    private final static int mExportReduceIdx_my_float4_half4_1 = 215;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_half4_1(float[] in1, short[] in2) {
@@ -14343,11 +14343,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_float_0 = 216;
+    private final static int mExportReduceIdx_my_float4_float_0 = 216;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_float_0(float[] in1, float[] in2) {
@@ -14411,11 +14411,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_float_1 = 217;
+    private final static int mExportReduceIdx_my_float4_float_1 = 217;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_float_1(float[] in1, float[] in2) {
@@ -14479,11 +14479,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_float2_0 = 218;
+    private final static int mExportReduceIdx_my_float4_float2_0 = 218;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_float2_0(float[] in1, float[] in2) {
@@ -14551,11 +14551,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_float2_1 = 219;
+    private final static int mExportReduceIdx_my_float4_float2_1 = 219;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_float2_1(float[] in1, float[] in2) {
@@ -14623,11 +14623,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_float4_0 = 220;
+    private final static int mExportReduceIdx_my_float4_float4_0 = 220;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_float4_0(float[] in1, float[] in2) {
@@ -14695,11 +14695,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_float4_1 = 221;
+    private final static int mExportReduceIdx_my_float4_float4_1 = 221;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_float4_1(float[] in1, float[] in2) {
@@ -14767,11 +14767,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_char_0 = 222;
+    private final static int mExportReduceIdx_my_float4_char_0 = 222;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_char_0(float[] in1, byte[] in2) {
@@ -14835,11 +14835,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_char_1 = 223;
+    private final static int mExportReduceIdx_my_float4_char_1 = 223;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_char_1(float[] in1, byte[] in2) {
@@ -14903,11 +14903,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_char2_0 = 224;
+    private final static int mExportReduceIdx_my_float4_char2_0 = 224;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_char2_0(float[] in1, byte[] in2) {
@@ -14975,11 +14975,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_char2_1 = 225;
+    private final static int mExportReduceIdx_my_float4_char2_1 = 225;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_char2_1(float[] in1, byte[] in2) {
@@ -15047,11 +15047,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_char4_0 = 226;
+    private final static int mExportReduceIdx_my_float4_char4_0 = 226;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_char4_0(float[] in1, byte[] in2) {
@@ -15119,11 +15119,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_char4_1 = 227;
+    private final static int mExportReduceIdx_my_float4_char4_1 = 227;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_char4_1(float[] in1, byte[] in2) {
@@ -15191,11 +15191,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_short_0 = 228;
+    private final static int mExportReduceIdx_my_float4_short_0 = 228;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_short_0(float[] in1, short[] in2) {
@@ -15259,11 +15259,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_short_1 = 229;
+    private final static int mExportReduceIdx_my_float4_short_1 = 229;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_short_1(float[] in1, short[] in2) {
@@ -15327,11 +15327,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_short2_0 = 230;
+    private final static int mExportReduceIdx_my_float4_short2_0 = 230;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_short2_0(float[] in1, short[] in2) {
@@ -15399,11 +15399,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_short2_1 = 231;
+    private final static int mExportReduceIdx_my_float4_short2_1 = 231;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_short2_1(float[] in1, short[] in2) {
@@ -15471,11 +15471,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_short4_0 = 232;
+    private final static int mExportReduceIdx_my_float4_short4_0 = 232;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_short4_0(float[] in1, short[] in2) {
@@ -15543,11 +15543,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_short4_1 = 233;
+    private final static int mExportReduceIdx_my_float4_short4_1 = 233;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_short4_1(float[] in1, short[] in2) {
@@ -15615,11 +15615,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_uchar_0 = 234;
+    private final static int mExportReduceIdx_my_float4_uchar_0 = 234;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_uchar_0(float[] in1, byte[] in2) {
@@ -15683,11 +15683,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_uchar_1 = 235;
+    private final static int mExportReduceIdx_my_float4_uchar_1 = 235;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_uchar_1(float[] in1, byte[] in2) {
@@ -15751,11 +15751,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_uchar2_0 = 236;
+    private final static int mExportReduceIdx_my_float4_uchar2_0 = 236;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_uchar2_0(float[] in1, byte[] in2) {
@@ -15823,11 +15823,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_uchar2_1 = 237;
+    private final static int mExportReduceIdx_my_float4_uchar2_1 = 237;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_uchar2_1(float[] in1, byte[] in2) {
@@ -15895,11 +15895,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_uchar4_0 = 238;
+    private final static int mExportReduceIdx_my_float4_uchar4_0 = 238;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_uchar4_0(float[] in1, byte[] in2) {
@@ -15967,11 +15967,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_uchar4_1 = 239;
+    private final static int mExportReduceIdx_my_float4_uchar4_1 = 239;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_uchar4_1(float[] in1, byte[] in2) {
@@ -16039,11 +16039,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_ushort_0 = 240;
+    private final static int mExportReduceIdx_my_float4_ushort_0 = 240;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_ushort_0(float[] in1, short[] in2) {
@@ -16107,11 +16107,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_ushort_1 = 241;
+    private final static int mExportReduceIdx_my_float4_ushort_1 = 241;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_ushort_1(float[] in1, short[] in2) {
@@ -16175,11 +16175,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_ushort2_0 = 242;
+    private final static int mExportReduceIdx_my_float4_ushort2_0 = 242;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_ushort2_0(float[] in1, short[] in2) {
@@ -16247,11 +16247,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_ushort2_1 = 243;
+    private final static int mExportReduceIdx_my_float4_ushort2_1 = 243;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_float4_ushort2_1(float[] in1, short[] in2) {
@@ -16319,11 +16319,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_ushort4_0 = 244;
+    private final static int mExportReduceIdx_my_float4_ushort4_0 = 244;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_ushort4_0(float[] in1, short[] in2) {
@@ -16391,11 +16391,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_ushort4_1 = 245;
+    private final static int mExportReduceIdx_my_float4_ushort4_1 = 245;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_float4_ushort4_1(float[] in1, short[] in2) {
@@ -16463,11 +16463,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_bool_0 = 246;
+    private final static int mExportReduceIdx_my_float4_bool_0 = 246;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_bool_0(float[] in1, byte[] in2) {
@@ -16531,11 +16531,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_bool_1 = 247;
+    private final static int mExportReduceIdx_my_float4_bool_1 = 247;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_float4_bool_1(float[] in1, byte[] in2) {
@@ -16599,11 +16599,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_rs_matrix2x2_0 = 248;
+    private final static int mExportReduceIdx_my_float4_rs_matrix2x2_0 = 248;
     // ain1 = "float4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_float4_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -16633,11 +16633,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_rs_matrix2x2_1 = 249;
+    private final static int mExportReduceIdx_my_float4_rs_matrix2x2_1 = 249;
     // ain1 = "float4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_float4_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -16667,11 +16667,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_MyStruct_0 = 250;
+    private final static int mExportReduceIdx_my_float4_MyStruct_0 = 250;
     // ain1 = "float4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_float4_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -16704,11 +16704,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4_MyStruct_1 = 251;
+    private final static int mExportReduceIdx_my_float4_MyStruct_1 = 251;
     // ain1 = "float4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_float4_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -16741,11 +16741,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_float4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_half_0 = 252;
+    private final static int mExportReduceIdx_my_char_half_0 = 252;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_half_0(byte[] in1, short[] in2) {
@@ -16805,11 +16805,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_half_1 = 253;
+    private final static int mExportReduceIdx_my_char_half_1 = 253;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_half_1(byte[] in1, short[] in2) {
@@ -16869,11 +16869,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_half2_0 = 254;
+    private final static int mExportReduceIdx_my_char_half2_0 = 254;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_half2_0(byte[] in1, short[] in2) {
@@ -16937,11 +16937,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_half2_1 = 255;
+    private final static int mExportReduceIdx_my_char_half2_1 = 255;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_half2_1(byte[] in1, short[] in2) {
@@ -17005,11 +17005,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_half4_0 = 256;
+    private final static int mExportReduceIdx_my_char_half4_0 = 256;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_half4_0(byte[] in1, short[] in2) {
@@ -17073,11 +17073,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_half4_1 = 257;
+    private final static int mExportReduceIdx_my_char_half4_1 = 257;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_half4_1(byte[] in1, short[] in2) {
@@ -17141,11 +17141,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_float_0 = 258;
+    private final static int mExportReduceIdx_my_char_float_0 = 258;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_float_0(byte[] in1, float[] in2) {
@@ -17205,11 +17205,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_float_1 = 259;
+    private final static int mExportReduceIdx_my_char_float_1 = 259;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_float_1(byte[] in1, float[] in2) {
@@ -17269,11 +17269,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_float2_0 = 260;
+    private final static int mExportReduceIdx_my_char_float2_0 = 260;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_float2_0(byte[] in1, float[] in2) {
@@ -17337,11 +17337,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_float2_1 = 261;
+    private final static int mExportReduceIdx_my_char_float2_1 = 261;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_float2_1(byte[] in1, float[] in2) {
@@ -17405,11 +17405,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_float4_0 = 262;
+    private final static int mExportReduceIdx_my_char_float4_0 = 262;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_float4_0(byte[] in1, float[] in2) {
@@ -17473,11 +17473,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_float4_1 = 263;
+    private final static int mExportReduceIdx_my_char_float4_1 = 263;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_float4_1(byte[] in1, float[] in2) {
@@ -17541,11 +17541,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_char_0 = 264;
+    private final static int mExportReduceIdx_my_char_char_0 = 264;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_char_0(byte[] in1, byte[] in2) {
@@ -17605,11 +17605,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_char_1 = 265;
+    private final static int mExportReduceIdx_my_char_char_1 = 265;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_char_1(byte[] in1, byte[] in2) {
@@ -17669,11 +17669,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_char2_0 = 266;
+    private final static int mExportReduceIdx_my_char_char2_0 = 266;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_char2_0(byte[] in1, byte[] in2) {
@@ -17737,11 +17737,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_char2_1 = 267;
+    private final static int mExportReduceIdx_my_char_char2_1 = 267;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_char2_1(byte[] in1, byte[] in2) {
@@ -17805,11 +17805,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_char4_0 = 268;
+    private final static int mExportReduceIdx_my_char_char4_0 = 268;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_char4_0(byte[] in1, byte[] in2) {
@@ -17873,11 +17873,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_char4_1 = 269;
+    private final static int mExportReduceIdx_my_char_char4_1 = 269;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_char4_1(byte[] in1, byte[] in2) {
@@ -17941,11 +17941,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_short_0 = 270;
+    private final static int mExportReduceIdx_my_char_short_0 = 270;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_short_0(byte[] in1, short[] in2) {
@@ -18005,11 +18005,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_short_1 = 271;
+    private final static int mExportReduceIdx_my_char_short_1 = 271;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_short_1(byte[] in1, short[] in2) {
@@ -18069,11 +18069,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_short2_0 = 272;
+    private final static int mExportReduceIdx_my_char_short2_0 = 272;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_short2_0(byte[] in1, short[] in2) {
@@ -18137,11 +18137,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_short2_1 = 273;
+    private final static int mExportReduceIdx_my_char_short2_1 = 273;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_short2_1(byte[] in1, short[] in2) {
@@ -18205,11 +18205,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_short4_0 = 274;
+    private final static int mExportReduceIdx_my_char_short4_0 = 274;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_short4_0(byte[] in1, short[] in2) {
@@ -18273,11 +18273,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_short4_1 = 275;
+    private final static int mExportReduceIdx_my_char_short4_1 = 275;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_short4_1(byte[] in1, short[] in2) {
@@ -18341,11 +18341,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_uchar_0 = 276;
+    private final static int mExportReduceIdx_my_char_uchar_0 = 276;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_uchar_0(byte[] in1, byte[] in2) {
@@ -18405,11 +18405,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_uchar_1 = 277;
+    private final static int mExportReduceIdx_my_char_uchar_1 = 277;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_uchar_1(byte[] in1, byte[] in2) {
@@ -18469,11 +18469,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_uchar2_0 = 278;
+    private final static int mExportReduceIdx_my_char_uchar2_0 = 278;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_uchar2_0(byte[] in1, byte[] in2) {
@@ -18537,11 +18537,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_uchar2_1 = 279;
+    private final static int mExportReduceIdx_my_char_uchar2_1 = 279;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_uchar2_1(byte[] in1, byte[] in2) {
@@ -18605,11 +18605,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_uchar4_0 = 280;
+    private final static int mExportReduceIdx_my_char_uchar4_0 = 280;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_uchar4_0(byte[] in1, byte[] in2) {
@@ -18673,11 +18673,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_uchar4_1 = 281;
+    private final static int mExportReduceIdx_my_char_uchar4_1 = 281;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_uchar4_1(byte[] in1, byte[] in2) {
@@ -18741,11 +18741,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_ushort_0 = 282;
+    private final static int mExportReduceIdx_my_char_ushort_0 = 282;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_ushort_0(byte[] in1, short[] in2) {
@@ -18805,11 +18805,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_ushort_1 = 283;
+    private final static int mExportReduceIdx_my_char_ushort_1 = 283;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_ushort_1(byte[] in1, short[] in2) {
@@ -18869,11 +18869,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_ushort2_0 = 284;
+    private final static int mExportReduceIdx_my_char_ushort2_0 = 284;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_ushort2_0(byte[] in1, short[] in2) {
@@ -18937,11 +18937,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_ushort2_1 = 285;
+    private final static int mExportReduceIdx_my_char_ushort2_1 = 285;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char_ushort2_1(byte[] in1, short[] in2) {
@@ -19005,11 +19005,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_ushort4_0 = 286;
+    private final static int mExportReduceIdx_my_char_ushort4_0 = 286;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_ushort4_0(byte[] in1, short[] in2) {
@@ -19073,11 +19073,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_ushort4_1 = 287;
+    private final static int mExportReduceIdx_my_char_ushort4_1 = 287;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char_ushort4_1(byte[] in1, short[] in2) {
@@ -19141,11 +19141,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_bool_0 = 288;
+    private final static int mExportReduceIdx_my_char_bool_0 = 288;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_bool_0(byte[] in1, byte[] in2) {
@@ -19205,11 +19205,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_bool_1 = 289;
+    private final static int mExportReduceIdx_my_char_bool_1 = 289;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_char_bool_1(byte[] in1, byte[] in2) {
@@ -19269,11 +19269,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_rs_matrix2x2_0 = 290;
+    private final static int mExportReduceIdx_my_char_rs_matrix2x2_0 = 290;
     // ain1 = "char a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_char_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -19303,11 +19303,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_rs_matrix2x2_1 = 291;
+    private final static int mExportReduceIdx_my_char_rs_matrix2x2_1 = 291;
     // ain1 = "char a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_char_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -19337,11 +19337,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_MyStruct_0 = 292;
+    private final static int mExportReduceIdx_my_char_MyStruct_0 = 292;
     // ain1 = "char a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_char_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -19374,11 +19374,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char_MyStruct_1 = 293;
+    private final static int mExportReduceIdx_my_char_MyStruct_1 = 293;
     // ain1 = "char a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_char_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -19411,11 +19411,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_half_0 = 294;
+    private final static int mExportReduceIdx_my_char2_half_0 = 294;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_half_0(byte[] in1, short[] in2) {
@@ -19479,11 +19479,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_half_1 = 295;
+    private final static int mExportReduceIdx_my_char2_half_1 = 295;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_half_1(byte[] in1, short[] in2) {
@@ -19547,11 +19547,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_half2_0 = 296;
+    private final static int mExportReduceIdx_my_char2_half2_0 = 296;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_half2_0(byte[] in1, short[] in2) {
@@ -19619,11 +19619,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_half2_1 = 297;
+    private final static int mExportReduceIdx_my_char2_half2_1 = 297;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_half2_1(byte[] in1, short[] in2) {
@@ -19691,11 +19691,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_half4_0 = 298;
+    private final static int mExportReduceIdx_my_char2_half4_0 = 298;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_half4_0(byte[] in1, short[] in2) {
@@ -19763,11 +19763,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_half4_1 = 299;
+    private final static int mExportReduceIdx_my_char2_half4_1 = 299;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_half4_1(byte[] in1, short[] in2) {
@@ -19835,11 +19835,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_float_0 = 300;
+    private final static int mExportReduceIdx_my_char2_float_0 = 300;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_float_0(byte[] in1, float[] in2) {
@@ -19903,11 +19903,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_float_1 = 301;
+    private final static int mExportReduceIdx_my_char2_float_1 = 301;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_float_1(byte[] in1, float[] in2) {
@@ -19971,11 +19971,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_float2_0 = 302;
+    private final static int mExportReduceIdx_my_char2_float2_0 = 302;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_float2_0(byte[] in1, float[] in2) {
@@ -20043,11 +20043,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_float2_1 = 303;
+    private final static int mExportReduceIdx_my_char2_float2_1 = 303;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_float2_1(byte[] in1, float[] in2) {
@@ -20115,11 +20115,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_float4_0 = 304;
+    private final static int mExportReduceIdx_my_char2_float4_0 = 304;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_float4_0(byte[] in1, float[] in2) {
@@ -20187,11 +20187,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_float4_1 = 305;
+    private final static int mExportReduceIdx_my_char2_float4_1 = 305;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_float4_1(byte[] in1, float[] in2) {
@@ -20259,11 +20259,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_char_0 = 306;
+    private final static int mExportReduceIdx_my_char2_char_0 = 306;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_char_0(byte[] in1, byte[] in2) {
@@ -20327,11 +20327,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_char_1 = 307;
+    private final static int mExportReduceIdx_my_char2_char_1 = 307;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_char_1(byte[] in1, byte[] in2) {
@@ -20395,11 +20395,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_char2_0 = 308;
+    private final static int mExportReduceIdx_my_char2_char2_0 = 308;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_char2_0(byte[] in1, byte[] in2) {
@@ -20467,11 +20467,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_char2_1 = 309;
+    private final static int mExportReduceIdx_my_char2_char2_1 = 309;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_char2_1(byte[] in1, byte[] in2) {
@@ -20539,11 +20539,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_char4_0 = 310;
+    private final static int mExportReduceIdx_my_char2_char4_0 = 310;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_char4_0(byte[] in1, byte[] in2) {
@@ -20611,11 +20611,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_char4_1 = 311;
+    private final static int mExportReduceIdx_my_char2_char4_1 = 311;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_char4_1(byte[] in1, byte[] in2) {
@@ -20683,11 +20683,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_short_0 = 312;
+    private final static int mExportReduceIdx_my_char2_short_0 = 312;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_short_0(byte[] in1, short[] in2) {
@@ -20751,11 +20751,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_short_1 = 313;
+    private final static int mExportReduceIdx_my_char2_short_1 = 313;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_short_1(byte[] in1, short[] in2) {
@@ -20819,11 +20819,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_short2_0 = 314;
+    private final static int mExportReduceIdx_my_char2_short2_0 = 314;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_short2_0(byte[] in1, short[] in2) {
@@ -20891,11 +20891,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_short2_1 = 315;
+    private final static int mExportReduceIdx_my_char2_short2_1 = 315;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_short2_1(byte[] in1, short[] in2) {
@@ -20963,11 +20963,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_short4_0 = 316;
+    private final static int mExportReduceIdx_my_char2_short4_0 = 316;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_short4_0(byte[] in1, short[] in2) {
@@ -21035,11 +21035,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_short4_1 = 317;
+    private final static int mExportReduceIdx_my_char2_short4_1 = 317;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_short4_1(byte[] in1, short[] in2) {
@@ -21107,11 +21107,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_uchar_0 = 318;
+    private final static int mExportReduceIdx_my_char2_uchar_0 = 318;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_uchar_0(byte[] in1, byte[] in2) {
@@ -21175,11 +21175,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_uchar_1 = 319;
+    private final static int mExportReduceIdx_my_char2_uchar_1 = 319;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_uchar_1(byte[] in1, byte[] in2) {
@@ -21243,11 +21243,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_uchar2_0 = 320;
+    private final static int mExportReduceIdx_my_char2_uchar2_0 = 320;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_uchar2_0(byte[] in1, byte[] in2) {
@@ -21315,11 +21315,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_uchar2_1 = 321;
+    private final static int mExportReduceIdx_my_char2_uchar2_1 = 321;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_uchar2_1(byte[] in1, byte[] in2) {
@@ -21387,11 +21387,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_uchar4_0 = 322;
+    private final static int mExportReduceIdx_my_char2_uchar4_0 = 322;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_uchar4_0(byte[] in1, byte[] in2) {
@@ -21459,11 +21459,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_uchar4_1 = 323;
+    private final static int mExportReduceIdx_my_char2_uchar4_1 = 323;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_uchar4_1(byte[] in1, byte[] in2) {
@@ -21531,11 +21531,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_ushort_0 = 324;
+    private final static int mExportReduceIdx_my_char2_ushort_0 = 324;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_ushort_0(byte[] in1, short[] in2) {
@@ -21599,11 +21599,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_ushort_1 = 325;
+    private final static int mExportReduceIdx_my_char2_ushort_1 = 325;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_ushort_1(byte[] in1, short[] in2) {
@@ -21667,11 +21667,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_ushort2_0 = 326;
+    private final static int mExportReduceIdx_my_char2_ushort2_0 = 326;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_ushort2_0(byte[] in1, short[] in2) {
@@ -21739,11 +21739,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_ushort2_1 = 327;
+    private final static int mExportReduceIdx_my_char2_ushort2_1 = 327;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char2_ushort2_1(byte[] in1, short[] in2) {
@@ -21811,11 +21811,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_ushort4_0 = 328;
+    private final static int mExportReduceIdx_my_char2_ushort4_0 = 328;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_ushort4_0(byte[] in1, short[] in2) {
@@ -21883,11 +21883,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_ushort4_1 = 329;
+    private final static int mExportReduceIdx_my_char2_ushort4_1 = 329;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char2_ushort4_1(byte[] in1, short[] in2) {
@@ -21955,11 +21955,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_bool_0 = 330;
+    private final static int mExportReduceIdx_my_char2_bool_0 = 330;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_bool_0(byte[] in1, byte[] in2) {
@@ -22023,11 +22023,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_bool_1 = 331;
+    private final static int mExportReduceIdx_my_char2_bool_1 = 331;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_char2_bool_1(byte[] in1, byte[] in2) {
@@ -22091,11 +22091,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_rs_matrix2x2_0 = 332;
+    private final static int mExportReduceIdx_my_char2_rs_matrix2x2_0 = 332;
     // ain1 = "char2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_char2_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -22125,11 +22125,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_rs_matrix2x2_1 = 333;
+    private final static int mExportReduceIdx_my_char2_rs_matrix2x2_1 = 333;
     // ain1 = "char2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_char2_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -22159,11 +22159,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_MyStruct_0 = 334;
+    private final static int mExportReduceIdx_my_char2_MyStruct_0 = 334;
     // ain1 = "char2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_char2_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -22196,11 +22196,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2_MyStruct_1 = 335;
+    private final static int mExportReduceIdx_my_char2_MyStruct_1 = 335;
     // ain1 = "char2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_char2_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -22233,11 +22233,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_half_0 = 336;
+    private final static int mExportReduceIdx_my_char4_half_0 = 336;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_half_0(byte[] in1, short[] in2) {
@@ -22301,11 +22301,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_half_1 = 337;
+    private final static int mExportReduceIdx_my_char4_half_1 = 337;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_half_1(byte[] in1, short[] in2) {
@@ -22369,11 +22369,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_half2_0 = 338;
+    private final static int mExportReduceIdx_my_char4_half2_0 = 338;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_half2_0(byte[] in1, short[] in2) {
@@ -22441,11 +22441,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_half2_1 = 339;
+    private final static int mExportReduceIdx_my_char4_half2_1 = 339;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_half2_1(byte[] in1, short[] in2) {
@@ -22513,11 +22513,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_half4_0 = 340;
+    private final static int mExportReduceIdx_my_char4_half4_0 = 340;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_half4_0(byte[] in1, short[] in2) {
@@ -22585,11 +22585,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_half4_1 = 341;
+    private final static int mExportReduceIdx_my_char4_half4_1 = 341;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_half4_1(byte[] in1, short[] in2) {
@@ -22657,11 +22657,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_float_0 = 342;
+    private final static int mExportReduceIdx_my_char4_float_0 = 342;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_float_0(byte[] in1, float[] in2) {
@@ -22725,11 +22725,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_float_1 = 343;
+    private final static int mExportReduceIdx_my_char4_float_1 = 343;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_float_1(byte[] in1, float[] in2) {
@@ -22793,11 +22793,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_float2_0 = 344;
+    private final static int mExportReduceIdx_my_char4_float2_0 = 344;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_float2_0(byte[] in1, float[] in2) {
@@ -22865,11 +22865,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_float2_1 = 345;
+    private final static int mExportReduceIdx_my_char4_float2_1 = 345;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_float2_1(byte[] in1, float[] in2) {
@@ -22937,11 +22937,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_float4_0 = 346;
+    private final static int mExportReduceIdx_my_char4_float4_0 = 346;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_float4_0(byte[] in1, float[] in2) {
@@ -23009,11 +23009,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_float4_1 = 347;
+    private final static int mExportReduceIdx_my_char4_float4_1 = 347;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_float4_1(byte[] in1, float[] in2) {
@@ -23081,11 +23081,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_char_0 = 348;
+    private final static int mExportReduceIdx_my_char4_char_0 = 348;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_char_0(byte[] in1, byte[] in2) {
@@ -23149,11 +23149,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_char_1 = 349;
+    private final static int mExportReduceIdx_my_char4_char_1 = 349;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_char_1(byte[] in1, byte[] in2) {
@@ -23217,11 +23217,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_char2_0 = 350;
+    private final static int mExportReduceIdx_my_char4_char2_0 = 350;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_char2_0(byte[] in1, byte[] in2) {
@@ -23289,11 +23289,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_char2_1 = 351;
+    private final static int mExportReduceIdx_my_char4_char2_1 = 351;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_char2_1(byte[] in1, byte[] in2) {
@@ -23361,11 +23361,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_char4_0 = 352;
+    private final static int mExportReduceIdx_my_char4_char4_0 = 352;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_char4_0(byte[] in1, byte[] in2) {
@@ -23433,11 +23433,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_char4_1 = 353;
+    private final static int mExportReduceIdx_my_char4_char4_1 = 353;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_char4_1(byte[] in1, byte[] in2) {
@@ -23505,11 +23505,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_short_0 = 354;
+    private final static int mExportReduceIdx_my_char4_short_0 = 354;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_short_0(byte[] in1, short[] in2) {
@@ -23573,11 +23573,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_short_1 = 355;
+    private final static int mExportReduceIdx_my_char4_short_1 = 355;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_short_1(byte[] in1, short[] in2) {
@@ -23641,11 +23641,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_short2_0 = 356;
+    private final static int mExportReduceIdx_my_char4_short2_0 = 356;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_short2_0(byte[] in1, short[] in2) {
@@ -23713,11 +23713,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_short2_1 = 357;
+    private final static int mExportReduceIdx_my_char4_short2_1 = 357;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_short2_1(byte[] in1, short[] in2) {
@@ -23785,11 +23785,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_short4_0 = 358;
+    private final static int mExportReduceIdx_my_char4_short4_0 = 358;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_short4_0(byte[] in1, short[] in2) {
@@ -23857,11 +23857,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_short4_1 = 359;
+    private final static int mExportReduceIdx_my_char4_short4_1 = 359;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_short4_1(byte[] in1, short[] in2) {
@@ -23929,11 +23929,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_uchar_0 = 360;
+    private final static int mExportReduceIdx_my_char4_uchar_0 = 360;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_uchar_0(byte[] in1, byte[] in2) {
@@ -23997,11 +23997,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_uchar_1 = 361;
+    private final static int mExportReduceIdx_my_char4_uchar_1 = 361;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_uchar_1(byte[] in1, byte[] in2) {
@@ -24065,11 +24065,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_uchar2_0 = 362;
+    private final static int mExportReduceIdx_my_char4_uchar2_0 = 362;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_uchar2_0(byte[] in1, byte[] in2) {
@@ -24137,11 +24137,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_uchar2_1 = 363;
+    private final static int mExportReduceIdx_my_char4_uchar2_1 = 363;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_uchar2_1(byte[] in1, byte[] in2) {
@@ -24209,11 +24209,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_uchar4_0 = 364;
+    private final static int mExportReduceIdx_my_char4_uchar4_0 = 364;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_uchar4_0(byte[] in1, byte[] in2) {
@@ -24281,11 +24281,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_uchar4_1 = 365;
+    private final static int mExportReduceIdx_my_char4_uchar4_1 = 365;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_uchar4_1(byte[] in1, byte[] in2) {
@@ -24353,11 +24353,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_ushort_0 = 366;
+    private final static int mExportReduceIdx_my_char4_ushort_0 = 366;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_ushort_0(byte[] in1, short[] in2) {
@@ -24421,11 +24421,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_ushort_1 = 367;
+    private final static int mExportReduceIdx_my_char4_ushort_1 = 367;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_ushort_1(byte[] in1, short[] in2) {
@@ -24489,11 +24489,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_ushort2_0 = 368;
+    private final static int mExportReduceIdx_my_char4_ushort2_0 = 368;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_ushort2_0(byte[] in1, short[] in2) {
@@ -24561,11 +24561,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_ushort2_1 = 369;
+    private final static int mExportReduceIdx_my_char4_ushort2_1 = 369;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_char4_ushort2_1(byte[] in1, short[] in2) {
@@ -24633,11 +24633,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_ushort4_0 = 370;
+    private final static int mExportReduceIdx_my_char4_ushort4_0 = 370;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_ushort4_0(byte[] in1, short[] in2) {
@@ -24705,11 +24705,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_ushort4_1 = 371;
+    private final static int mExportReduceIdx_my_char4_ushort4_1 = 371;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_char4_ushort4_1(byte[] in1, short[] in2) {
@@ -24777,11 +24777,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_bool_0 = 372;
+    private final static int mExportReduceIdx_my_char4_bool_0 = 372;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_bool_0(byte[] in1, byte[] in2) {
@@ -24845,11 +24845,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_bool_1 = 373;
+    private final static int mExportReduceIdx_my_char4_bool_1 = 373;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_char4_bool_1(byte[] in1, byte[] in2) {
@@ -24913,11 +24913,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_rs_matrix2x2_0 = 374;
+    private final static int mExportReduceIdx_my_char4_rs_matrix2x2_0 = 374;
     // ain1 = "char4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_char4_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -24947,11 +24947,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_rs_matrix2x2_1 = 375;
+    private final static int mExportReduceIdx_my_char4_rs_matrix2x2_1 = 375;
     // ain1 = "char4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_char4_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -24981,11 +24981,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_MyStruct_0 = 376;
+    private final static int mExportReduceIdx_my_char4_MyStruct_0 = 376;
     // ain1 = "char4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_char4_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -25018,11 +25018,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4_MyStruct_1 = 377;
+    private final static int mExportReduceIdx_my_char4_MyStruct_1 = 377;
     // ain1 = "char4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_char4_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -25055,11 +25055,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_char4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_half_0 = 378;
+    private final static int mExportReduceIdx_my_short_half_0 = 378;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_half_0(short[] in1, short[] in2) {
@@ -25119,11 +25119,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_half_1 = 379;
+    private final static int mExportReduceIdx_my_short_half_1 = 379;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_half_1(short[] in1, short[] in2) {
@@ -25183,11 +25183,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_half2_0 = 380;
+    private final static int mExportReduceIdx_my_short_half2_0 = 380;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_half2_0(short[] in1, short[] in2) {
@@ -25251,11 +25251,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_half2_1 = 381;
+    private final static int mExportReduceIdx_my_short_half2_1 = 381;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_half2_1(short[] in1, short[] in2) {
@@ -25319,11 +25319,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_half4_0 = 382;
+    private final static int mExportReduceIdx_my_short_half4_0 = 382;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_half4_0(short[] in1, short[] in2) {
@@ -25387,11 +25387,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_half4_1 = 383;
+    private final static int mExportReduceIdx_my_short_half4_1 = 383;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_half4_1(short[] in1, short[] in2) {
@@ -25455,11 +25455,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_float_0 = 384;
+    private final static int mExportReduceIdx_my_short_float_0 = 384;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_float_0(short[] in1, float[] in2) {
@@ -25519,11 +25519,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_float_1 = 385;
+    private final static int mExportReduceIdx_my_short_float_1 = 385;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_float_1(short[] in1, float[] in2) {
@@ -25583,11 +25583,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_float2_0 = 386;
+    private final static int mExportReduceIdx_my_short_float2_0 = 386;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_float2_0(short[] in1, float[] in2) {
@@ -25651,11 +25651,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_float2_1 = 387;
+    private final static int mExportReduceIdx_my_short_float2_1 = 387;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_float2_1(short[] in1, float[] in2) {
@@ -25719,11 +25719,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_float4_0 = 388;
+    private final static int mExportReduceIdx_my_short_float4_0 = 388;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_float4_0(short[] in1, float[] in2) {
@@ -25787,11 +25787,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_float4_1 = 389;
+    private final static int mExportReduceIdx_my_short_float4_1 = 389;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_float4_1(short[] in1, float[] in2) {
@@ -25855,11 +25855,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_char_0 = 390;
+    private final static int mExportReduceIdx_my_short_char_0 = 390;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_char_0(short[] in1, byte[] in2) {
@@ -25919,11 +25919,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_char_1 = 391;
+    private final static int mExportReduceIdx_my_short_char_1 = 391;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_char_1(short[] in1, byte[] in2) {
@@ -25983,11 +25983,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_char2_0 = 392;
+    private final static int mExportReduceIdx_my_short_char2_0 = 392;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_char2_0(short[] in1, byte[] in2) {
@@ -26051,11 +26051,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_char2_1 = 393;
+    private final static int mExportReduceIdx_my_short_char2_1 = 393;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_char2_1(short[] in1, byte[] in2) {
@@ -26119,11 +26119,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_char4_0 = 394;
+    private final static int mExportReduceIdx_my_short_char4_0 = 394;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_char4_0(short[] in1, byte[] in2) {
@@ -26187,11 +26187,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_char4_1 = 395;
+    private final static int mExportReduceIdx_my_short_char4_1 = 395;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_char4_1(short[] in1, byte[] in2) {
@@ -26255,11 +26255,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_short_0 = 396;
+    private final static int mExportReduceIdx_my_short_short_0 = 396;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_short_0(short[] in1, short[] in2) {
@@ -26319,11 +26319,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_short_1 = 397;
+    private final static int mExportReduceIdx_my_short_short_1 = 397;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_short_1(short[] in1, short[] in2) {
@@ -26383,11 +26383,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_short2_0 = 398;
+    private final static int mExportReduceIdx_my_short_short2_0 = 398;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_short2_0(short[] in1, short[] in2) {
@@ -26451,11 +26451,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_short2_1 = 399;
+    private final static int mExportReduceIdx_my_short_short2_1 = 399;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_short2_1(short[] in1, short[] in2) {
@@ -26519,11 +26519,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_short4_0 = 400;
+    private final static int mExportReduceIdx_my_short_short4_0 = 400;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_short4_0(short[] in1, short[] in2) {
@@ -26587,11 +26587,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_short4_1 = 401;
+    private final static int mExportReduceIdx_my_short_short4_1 = 401;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_short4_1(short[] in1, short[] in2) {
@@ -26655,11 +26655,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_uchar_0 = 402;
+    private final static int mExportReduceIdx_my_short_uchar_0 = 402;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_uchar_0(short[] in1, byte[] in2) {
@@ -26719,11 +26719,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_uchar_1 = 403;
+    private final static int mExportReduceIdx_my_short_uchar_1 = 403;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_uchar_1(short[] in1, byte[] in2) {
@@ -26783,11 +26783,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_uchar2_0 = 404;
+    private final static int mExportReduceIdx_my_short_uchar2_0 = 404;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_uchar2_0(short[] in1, byte[] in2) {
@@ -26851,11 +26851,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_uchar2_1 = 405;
+    private final static int mExportReduceIdx_my_short_uchar2_1 = 405;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_uchar2_1(short[] in1, byte[] in2) {
@@ -26919,11 +26919,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_uchar4_0 = 406;
+    private final static int mExportReduceIdx_my_short_uchar4_0 = 406;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_uchar4_0(short[] in1, byte[] in2) {
@@ -26987,11 +26987,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_uchar4_1 = 407;
+    private final static int mExportReduceIdx_my_short_uchar4_1 = 407;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_uchar4_1(short[] in1, byte[] in2) {
@@ -27055,11 +27055,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_ushort_0 = 408;
+    private final static int mExportReduceIdx_my_short_ushort_0 = 408;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_ushort_0(short[] in1, short[] in2) {
@@ -27119,11 +27119,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_ushort_1 = 409;
+    private final static int mExportReduceIdx_my_short_ushort_1 = 409;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_ushort_1(short[] in1, short[] in2) {
@@ -27183,11 +27183,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_ushort2_0 = 410;
+    private final static int mExportReduceIdx_my_short_ushort2_0 = 410;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_ushort2_0(short[] in1, short[] in2) {
@@ -27251,11 +27251,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_ushort2_1 = 411;
+    private final static int mExportReduceIdx_my_short_ushort2_1 = 411;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short_ushort2_1(short[] in1, short[] in2) {
@@ -27319,11 +27319,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_ushort4_0 = 412;
+    private final static int mExportReduceIdx_my_short_ushort4_0 = 412;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_ushort4_0(short[] in1, short[] in2) {
@@ -27387,11 +27387,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_ushort4_1 = 413;
+    private final static int mExportReduceIdx_my_short_ushort4_1 = 413;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short_ushort4_1(short[] in1, short[] in2) {
@@ -27455,11 +27455,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_bool_0 = 414;
+    private final static int mExportReduceIdx_my_short_bool_0 = 414;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_bool_0(short[] in1, byte[] in2) {
@@ -27519,11 +27519,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_bool_1 = 415;
+    private final static int mExportReduceIdx_my_short_bool_1 = 415;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_short_bool_1(short[] in1, byte[] in2) {
@@ -27583,11 +27583,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_rs_matrix2x2_0 = 416;
+    private final static int mExportReduceIdx_my_short_rs_matrix2x2_0 = 416;
     // ain1 = "short a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_short_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -27617,11 +27617,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_rs_matrix2x2_1 = 417;
+    private final static int mExportReduceIdx_my_short_rs_matrix2x2_1 = 417;
     // ain1 = "short a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_short_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -27651,11 +27651,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_MyStruct_0 = 418;
+    private final static int mExportReduceIdx_my_short_MyStruct_0 = 418;
     // ain1 = "short a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_short_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -27688,11 +27688,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short_MyStruct_1 = 419;
+    private final static int mExportReduceIdx_my_short_MyStruct_1 = 419;
     // ain1 = "short a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_short_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -27725,11 +27725,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_half_0 = 420;
+    private final static int mExportReduceIdx_my_short2_half_0 = 420;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_half_0(short[] in1, short[] in2) {
@@ -27793,11 +27793,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_half_1 = 421;
+    private final static int mExportReduceIdx_my_short2_half_1 = 421;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_half_1(short[] in1, short[] in2) {
@@ -27861,11 +27861,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_half2_0 = 422;
+    private final static int mExportReduceIdx_my_short2_half2_0 = 422;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_half2_0(short[] in1, short[] in2) {
@@ -27933,11 +27933,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_half2_1 = 423;
+    private final static int mExportReduceIdx_my_short2_half2_1 = 423;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_half2_1(short[] in1, short[] in2) {
@@ -28005,11 +28005,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_half4_0 = 424;
+    private final static int mExportReduceIdx_my_short2_half4_0 = 424;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_half4_0(short[] in1, short[] in2) {
@@ -28077,11 +28077,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_half4_1 = 425;
+    private final static int mExportReduceIdx_my_short2_half4_1 = 425;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_half4_1(short[] in1, short[] in2) {
@@ -28149,11 +28149,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_float_0 = 426;
+    private final static int mExportReduceIdx_my_short2_float_0 = 426;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_float_0(short[] in1, float[] in2) {
@@ -28217,11 +28217,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_float_1 = 427;
+    private final static int mExportReduceIdx_my_short2_float_1 = 427;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_float_1(short[] in1, float[] in2) {
@@ -28285,11 +28285,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_float2_0 = 428;
+    private final static int mExportReduceIdx_my_short2_float2_0 = 428;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_float2_0(short[] in1, float[] in2) {
@@ -28357,11 +28357,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_float2_1 = 429;
+    private final static int mExportReduceIdx_my_short2_float2_1 = 429;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_float2_1(short[] in1, float[] in2) {
@@ -28429,11 +28429,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_float4_0 = 430;
+    private final static int mExportReduceIdx_my_short2_float4_0 = 430;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_float4_0(short[] in1, float[] in2) {
@@ -28501,11 +28501,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_float4_1 = 431;
+    private final static int mExportReduceIdx_my_short2_float4_1 = 431;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_float4_1(short[] in1, float[] in2) {
@@ -28573,11 +28573,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_char_0 = 432;
+    private final static int mExportReduceIdx_my_short2_char_0 = 432;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_char_0(short[] in1, byte[] in2) {
@@ -28641,11 +28641,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_char_1 = 433;
+    private final static int mExportReduceIdx_my_short2_char_1 = 433;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_char_1(short[] in1, byte[] in2) {
@@ -28709,11 +28709,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_char2_0 = 434;
+    private final static int mExportReduceIdx_my_short2_char2_0 = 434;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_char2_0(short[] in1, byte[] in2) {
@@ -28781,11 +28781,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_char2_1 = 435;
+    private final static int mExportReduceIdx_my_short2_char2_1 = 435;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_char2_1(short[] in1, byte[] in2) {
@@ -28853,11 +28853,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_char4_0 = 436;
+    private final static int mExportReduceIdx_my_short2_char4_0 = 436;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_char4_0(short[] in1, byte[] in2) {
@@ -28925,11 +28925,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_char4_1 = 437;
+    private final static int mExportReduceIdx_my_short2_char4_1 = 437;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_char4_1(short[] in1, byte[] in2) {
@@ -28997,11 +28997,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_short_0 = 438;
+    private final static int mExportReduceIdx_my_short2_short_0 = 438;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_short_0(short[] in1, short[] in2) {
@@ -29065,11 +29065,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_short_1 = 439;
+    private final static int mExportReduceIdx_my_short2_short_1 = 439;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_short_1(short[] in1, short[] in2) {
@@ -29133,11 +29133,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_short2_0 = 440;
+    private final static int mExportReduceIdx_my_short2_short2_0 = 440;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_short2_0(short[] in1, short[] in2) {
@@ -29205,11 +29205,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_short2_1 = 441;
+    private final static int mExportReduceIdx_my_short2_short2_1 = 441;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_short2_1(short[] in1, short[] in2) {
@@ -29277,11 +29277,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_short4_0 = 442;
+    private final static int mExportReduceIdx_my_short2_short4_0 = 442;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_short4_0(short[] in1, short[] in2) {
@@ -29349,11 +29349,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_short4_1 = 443;
+    private final static int mExportReduceIdx_my_short2_short4_1 = 443;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_short4_1(short[] in1, short[] in2) {
@@ -29421,11 +29421,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_uchar_0 = 444;
+    private final static int mExportReduceIdx_my_short2_uchar_0 = 444;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_uchar_0(short[] in1, byte[] in2) {
@@ -29489,11 +29489,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_uchar_1 = 445;
+    private final static int mExportReduceIdx_my_short2_uchar_1 = 445;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_uchar_1(short[] in1, byte[] in2) {
@@ -29557,11 +29557,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_uchar2_0 = 446;
+    private final static int mExportReduceIdx_my_short2_uchar2_0 = 446;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_uchar2_0(short[] in1, byte[] in2) {
@@ -29629,11 +29629,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_uchar2_1 = 447;
+    private final static int mExportReduceIdx_my_short2_uchar2_1 = 447;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_uchar2_1(short[] in1, byte[] in2) {
@@ -29701,11 +29701,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_uchar4_0 = 448;
+    private final static int mExportReduceIdx_my_short2_uchar4_0 = 448;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_uchar4_0(short[] in1, byte[] in2) {
@@ -29773,11 +29773,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_uchar4_1 = 449;
+    private final static int mExportReduceIdx_my_short2_uchar4_1 = 449;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_uchar4_1(short[] in1, byte[] in2) {
@@ -29845,11 +29845,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_ushort_0 = 450;
+    private final static int mExportReduceIdx_my_short2_ushort_0 = 450;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_ushort_0(short[] in1, short[] in2) {
@@ -29913,11 +29913,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_ushort_1 = 451;
+    private final static int mExportReduceIdx_my_short2_ushort_1 = 451;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_ushort_1(short[] in1, short[] in2) {
@@ -29981,11 +29981,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_ushort2_0 = 452;
+    private final static int mExportReduceIdx_my_short2_ushort2_0 = 452;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_ushort2_0(short[] in1, short[] in2) {
@@ -30053,11 +30053,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_ushort2_1 = 453;
+    private final static int mExportReduceIdx_my_short2_ushort2_1 = 453;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short2_ushort2_1(short[] in1, short[] in2) {
@@ -30125,11 +30125,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_ushort4_0 = 454;
+    private final static int mExportReduceIdx_my_short2_ushort4_0 = 454;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_ushort4_0(short[] in1, short[] in2) {
@@ -30197,11 +30197,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_ushort4_1 = 455;
+    private final static int mExportReduceIdx_my_short2_ushort4_1 = 455;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short2_ushort4_1(short[] in1, short[] in2) {
@@ -30269,11 +30269,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_bool_0 = 456;
+    private final static int mExportReduceIdx_my_short2_bool_0 = 456;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_bool_0(short[] in1, byte[] in2) {
@@ -30337,11 +30337,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_bool_1 = 457;
+    private final static int mExportReduceIdx_my_short2_bool_1 = 457;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_short2_bool_1(short[] in1, byte[] in2) {
@@ -30405,11 +30405,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_rs_matrix2x2_0 = 458;
+    private final static int mExportReduceIdx_my_short2_rs_matrix2x2_0 = 458;
     // ain1 = "short2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_short2_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -30439,11 +30439,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_rs_matrix2x2_1 = 459;
+    private final static int mExportReduceIdx_my_short2_rs_matrix2x2_1 = 459;
     // ain1 = "short2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_short2_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -30473,11 +30473,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_MyStruct_0 = 460;
+    private final static int mExportReduceIdx_my_short2_MyStruct_0 = 460;
     // ain1 = "short2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_short2_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -30510,11 +30510,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2_MyStruct_1 = 461;
+    private final static int mExportReduceIdx_my_short2_MyStruct_1 = 461;
     // ain1 = "short2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_short2_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -30547,11 +30547,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_half_0 = 462;
+    private final static int mExportReduceIdx_my_short4_half_0 = 462;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_half_0(short[] in1, short[] in2) {
@@ -30615,11 +30615,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_half_1 = 463;
+    private final static int mExportReduceIdx_my_short4_half_1 = 463;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_half_1(short[] in1, short[] in2) {
@@ -30683,11 +30683,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_half2_0 = 464;
+    private final static int mExportReduceIdx_my_short4_half2_0 = 464;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_half2_0(short[] in1, short[] in2) {
@@ -30755,11 +30755,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_half2_1 = 465;
+    private final static int mExportReduceIdx_my_short4_half2_1 = 465;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_half2_1(short[] in1, short[] in2) {
@@ -30827,11 +30827,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_half4_0 = 466;
+    private final static int mExportReduceIdx_my_short4_half4_0 = 466;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_half4_0(short[] in1, short[] in2) {
@@ -30899,11 +30899,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_half4_1 = 467;
+    private final static int mExportReduceIdx_my_short4_half4_1 = 467;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_half4_1(short[] in1, short[] in2) {
@@ -30971,11 +30971,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_float_0 = 468;
+    private final static int mExportReduceIdx_my_short4_float_0 = 468;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_float_0(short[] in1, float[] in2) {
@@ -31039,11 +31039,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_float_1 = 469;
+    private final static int mExportReduceIdx_my_short4_float_1 = 469;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_float_1(short[] in1, float[] in2) {
@@ -31107,11 +31107,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_float2_0 = 470;
+    private final static int mExportReduceIdx_my_short4_float2_0 = 470;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_float2_0(short[] in1, float[] in2) {
@@ -31179,11 +31179,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_float2_1 = 471;
+    private final static int mExportReduceIdx_my_short4_float2_1 = 471;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_float2_1(short[] in1, float[] in2) {
@@ -31251,11 +31251,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_float4_0 = 472;
+    private final static int mExportReduceIdx_my_short4_float4_0 = 472;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_float4_0(short[] in1, float[] in2) {
@@ -31323,11 +31323,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_float4_1 = 473;
+    private final static int mExportReduceIdx_my_short4_float4_1 = 473;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_float4_1(short[] in1, float[] in2) {
@@ -31395,11 +31395,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_char_0 = 474;
+    private final static int mExportReduceIdx_my_short4_char_0 = 474;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_char_0(short[] in1, byte[] in2) {
@@ -31463,11 +31463,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_char_1 = 475;
+    private final static int mExportReduceIdx_my_short4_char_1 = 475;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_char_1(short[] in1, byte[] in2) {
@@ -31531,11 +31531,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_char2_0 = 476;
+    private final static int mExportReduceIdx_my_short4_char2_0 = 476;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_char2_0(short[] in1, byte[] in2) {
@@ -31603,11 +31603,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_char2_1 = 477;
+    private final static int mExportReduceIdx_my_short4_char2_1 = 477;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_char2_1(short[] in1, byte[] in2) {
@@ -31675,11 +31675,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_char4_0 = 478;
+    private final static int mExportReduceIdx_my_short4_char4_0 = 478;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_char4_0(short[] in1, byte[] in2) {
@@ -31747,11 +31747,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_char4_1 = 479;
+    private final static int mExportReduceIdx_my_short4_char4_1 = 479;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_char4_1(short[] in1, byte[] in2) {
@@ -31819,11 +31819,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_short_0 = 480;
+    private final static int mExportReduceIdx_my_short4_short_0 = 480;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_short_0(short[] in1, short[] in2) {
@@ -31887,11 +31887,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_short_1 = 481;
+    private final static int mExportReduceIdx_my_short4_short_1 = 481;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_short_1(short[] in1, short[] in2) {
@@ -31955,11 +31955,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_short2_0 = 482;
+    private final static int mExportReduceIdx_my_short4_short2_0 = 482;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_short2_0(short[] in1, short[] in2) {
@@ -32027,11 +32027,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_short2_1 = 483;
+    private final static int mExportReduceIdx_my_short4_short2_1 = 483;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_short2_1(short[] in1, short[] in2) {
@@ -32099,11 +32099,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_short4_0 = 484;
+    private final static int mExportReduceIdx_my_short4_short4_0 = 484;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_short4_0(short[] in1, short[] in2) {
@@ -32171,11 +32171,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_short4_1 = 485;
+    private final static int mExportReduceIdx_my_short4_short4_1 = 485;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_short4_1(short[] in1, short[] in2) {
@@ -32243,11 +32243,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_uchar_0 = 486;
+    private final static int mExportReduceIdx_my_short4_uchar_0 = 486;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_uchar_0(short[] in1, byte[] in2) {
@@ -32311,11 +32311,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_uchar_1 = 487;
+    private final static int mExportReduceIdx_my_short4_uchar_1 = 487;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_uchar_1(short[] in1, byte[] in2) {
@@ -32379,11 +32379,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_uchar2_0 = 488;
+    private final static int mExportReduceIdx_my_short4_uchar2_0 = 488;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_uchar2_0(short[] in1, byte[] in2) {
@@ -32451,11 +32451,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_uchar2_1 = 489;
+    private final static int mExportReduceIdx_my_short4_uchar2_1 = 489;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_uchar2_1(short[] in1, byte[] in2) {
@@ -32523,11 +32523,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_uchar4_0 = 490;
+    private final static int mExportReduceIdx_my_short4_uchar4_0 = 490;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_uchar4_0(short[] in1, byte[] in2) {
@@ -32595,11 +32595,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_uchar4_1 = 491;
+    private final static int mExportReduceIdx_my_short4_uchar4_1 = 491;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_uchar4_1(short[] in1, byte[] in2) {
@@ -32667,11 +32667,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_ushort_0 = 492;
+    private final static int mExportReduceIdx_my_short4_ushort_0 = 492;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_ushort_0(short[] in1, short[] in2) {
@@ -32735,11 +32735,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_ushort_1 = 493;
+    private final static int mExportReduceIdx_my_short4_ushort_1 = 493;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_ushort_1(short[] in1, short[] in2) {
@@ -32803,11 +32803,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_ushort2_0 = 494;
+    private final static int mExportReduceIdx_my_short4_ushort2_0 = 494;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_ushort2_0(short[] in1, short[] in2) {
@@ -32875,11 +32875,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_ushort2_1 = 495;
+    private final static int mExportReduceIdx_my_short4_ushort2_1 = 495;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_short4_ushort2_1(short[] in1, short[] in2) {
@@ -32947,11 +32947,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_ushort4_0 = 496;
+    private final static int mExportReduceIdx_my_short4_ushort4_0 = 496;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_ushort4_0(short[] in1, short[] in2) {
@@ -33019,11 +33019,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_ushort4_1 = 497;
+    private final static int mExportReduceIdx_my_short4_ushort4_1 = 497;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_short4_ushort4_1(short[] in1, short[] in2) {
@@ -33091,11 +33091,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_bool_0 = 498;
+    private final static int mExportReduceIdx_my_short4_bool_0 = 498;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_bool_0(short[] in1, byte[] in2) {
@@ -33159,11 +33159,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_bool_1 = 499;
+    private final static int mExportReduceIdx_my_short4_bool_1 = 499;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_short4_bool_1(short[] in1, byte[] in2) {
@@ -33227,11 +33227,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_rs_matrix2x2_0 = 500;
+    private final static int mExportReduceIdx_my_short4_rs_matrix2x2_0 = 500;
     // ain1 = "short4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_short4_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -33261,11 +33261,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_rs_matrix2x2_1 = 501;
+    private final static int mExportReduceIdx_my_short4_rs_matrix2x2_1 = 501;
     // ain1 = "short4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_short4_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -33295,11 +33295,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_MyStruct_0 = 502;
+    private final static int mExportReduceIdx_my_short4_MyStruct_0 = 502;
     // ain1 = "short4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_short4_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -33332,11 +33332,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4_MyStruct_1 = 503;
+    private final static int mExportReduceIdx_my_short4_MyStruct_1 = 503;
     // ain1 = "short4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_short4_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -33369,11 +33369,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_short4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_half_0 = 504;
+    private final static int mExportReduceIdx_my_uchar_half_0 = 504;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_half_0(byte[] in1, short[] in2) {
@@ -33433,11 +33433,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_half_1 = 505;
+    private final static int mExportReduceIdx_my_uchar_half_1 = 505;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_half_1(byte[] in1, short[] in2) {
@@ -33497,11 +33497,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_half2_0 = 506;
+    private final static int mExportReduceIdx_my_uchar_half2_0 = 506;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_half2_0(byte[] in1, short[] in2) {
@@ -33565,11 +33565,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_half2_1 = 507;
+    private final static int mExportReduceIdx_my_uchar_half2_1 = 507;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_half2_1(byte[] in1, short[] in2) {
@@ -33633,11 +33633,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_half4_0 = 508;
+    private final static int mExportReduceIdx_my_uchar_half4_0 = 508;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_half4_0(byte[] in1, short[] in2) {
@@ -33701,11 +33701,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_half4_1 = 509;
+    private final static int mExportReduceIdx_my_uchar_half4_1 = 509;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_half4_1(byte[] in1, short[] in2) {
@@ -33769,11 +33769,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_float_0 = 510;
+    private final static int mExportReduceIdx_my_uchar_float_0 = 510;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_float_0(byte[] in1, float[] in2) {
@@ -33833,11 +33833,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_float_1 = 511;
+    private final static int mExportReduceIdx_my_uchar_float_1 = 511;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_float_1(byte[] in1, float[] in2) {
@@ -33897,11 +33897,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_float2_0 = 512;
+    private final static int mExportReduceIdx_my_uchar_float2_0 = 512;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_float2_0(byte[] in1, float[] in2) {
@@ -33965,11 +33965,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_float2_1 = 513;
+    private final static int mExportReduceIdx_my_uchar_float2_1 = 513;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_float2_1(byte[] in1, float[] in2) {
@@ -34033,11 +34033,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_float4_0 = 514;
+    private final static int mExportReduceIdx_my_uchar_float4_0 = 514;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_float4_0(byte[] in1, float[] in2) {
@@ -34101,11 +34101,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_float4_1 = 515;
+    private final static int mExportReduceIdx_my_uchar_float4_1 = 515;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_float4_1(byte[] in1, float[] in2) {
@@ -34169,11 +34169,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_char_0 = 516;
+    private final static int mExportReduceIdx_my_uchar_char_0 = 516;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_char_0(byte[] in1, byte[] in2) {
@@ -34233,11 +34233,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_char_1 = 517;
+    private final static int mExportReduceIdx_my_uchar_char_1 = 517;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_char_1(byte[] in1, byte[] in2) {
@@ -34297,11 +34297,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_char2_0 = 518;
+    private final static int mExportReduceIdx_my_uchar_char2_0 = 518;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_char2_0(byte[] in1, byte[] in2) {
@@ -34365,11 +34365,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_char2_1 = 519;
+    private final static int mExportReduceIdx_my_uchar_char2_1 = 519;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_char2_1(byte[] in1, byte[] in2) {
@@ -34433,11 +34433,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_char4_0 = 520;
+    private final static int mExportReduceIdx_my_uchar_char4_0 = 520;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_char4_0(byte[] in1, byte[] in2) {
@@ -34501,11 +34501,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_char4_1 = 521;
+    private final static int mExportReduceIdx_my_uchar_char4_1 = 521;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_char4_1(byte[] in1, byte[] in2) {
@@ -34569,11 +34569,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_short_0 = 522;
+    private final static int mExportReduceIdx_my_uchar_short_0 = 522;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_short_0(byte[] in1, short[] in2) {
@@ -34633,11 +34633,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_short_1 = 523;
+    private final static int mExportReduceIdx_my_uchar_short_1 = 523;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_short_1(byte[] in1, short[] in2) {
@@ -34697,11 +34697,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_short2_0 = 524;
+    private final static int mExportReduceIdx_my_uchar_short2_0 = 524;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_short2_0(byte[] in1, short[] in2) {
@@ -34765,11 +34765,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_short2_1 = 525;
+    private final static int mExportReduceIdx_my_uchar_short2_1 = 525;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_short2_1(byte[] in1, short[] in2) {
@@ -34833,11 +34833,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_short4_0 = 526;
+    private final static int mExportReduceIdx_my_uchar_short4_0 = 526;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_short4_0(byte[] in1, short[] in2) {
@@ -34901,11 +34901,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_short4_1 = 527;
+    private final static int mExportReduceIdx_my_uchar_short4_1 = 527;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_short4_1(byte[] in1, short[] in2) {
@@ -34969,11 +34969,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_uchar_0 = 528;
+    private final static int mExportReduceIdx_my_uchar_uchar_0 = 528;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_uchar_0(byte[] in1, byte[] in2) {
@@ -35033,11 +35033,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_uchar_1 = 529;
+    private final static int mExportReduceIdx_my_uchar_uchar_1 = 529;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_uchar_1(byte[] in1, byte[] in2) {
@@ -35097,11 +35097,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_uchar2_0 = 530;
+    private final static int mExportReduceIdx_my_uchar_uchar2_0 = 530;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_uchar2_0(byte[] in1, byte[] in2) {
@@ -35165,11 +35165,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_uchar2_1 = 531;
+    private final static int mExportReduceIdx_my_uchar_uchar2_1 = 531;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_uchar2_1(byte[] in1, byte[] in2) {
@@ -35233,11 +35233,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_uchar4_0 = 532;
+    private final static int mExportReduceIdx_my_uchar_uchar4_0 = 532;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_uchar4_0(byte[] in1, byte[] in2) {
@@ -35301,11 +35301,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_uchar4_1 = 533;
+    private final static int mExportReduceIdx_my_uchar_uchar4_1 = 533;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_uchar4_1(byte[] in1, byte[] in2) {
@@ -35369,11 +35369,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_ushort_0 = 534;
+    private final static int mExportReduceIdx_my_uchar_ushort_0 = 534;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_ushort_0(byte[] in1, short[] in2) {
@@ -35433,11 +35433,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_ushort_1 = 535;
+    private final static int mExportReduceIdx_my_uchar_ushort_1 = 535;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_ushort_1(byte[] in1, short[] in2) {
@@ -35497,11 +35497,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_ushort2_0 = 536;
+    private final static int mExportReduceIdx_my_uchar_ushort2_0 = 536;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_ushort2_0(byte[] in1, short[] in2) {
@@ -35565,11 +35565,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_ushort2_1 = 537;
+    private final static int mExportReduceIdx_my_uchar_ushort2_1 = 537;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar_ushort2_1(byte[] in1, short[] in2) {
@@ -35633,11 +35633,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_ushort4_0 = 538;
+    private final static int mExportReduceIdx_my_uchar_ushort4_0 = 538;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_ushort4_0(byte[] in1, short[] in2) {
@@ -35701,11 +35701,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_ushort4_1 = 539;
+    private final static int mExportReduceIdx_my_uchar_ushort4_1 = 539;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar_ushort4_1(byte[] in1, short[] in2) {
@@ -35769,11 +35769,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_bool_0 = 540;
+    private final static int mExportReduceIdx_my_uchar_bool_0 = 540;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_bool_0(byte[] in1, byte[] in2) {
@@ -35833,11 +35833,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_bool_1 = 541;
+    private final static int mExportReduceIdx_my_uchar_bool_1 = 541;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_uchar_bool_1(byte[] in1, byte[] in2) {
@@ -35897,11 +35897,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_rs_matrix2x2_0 = 542;
+    private final static int mExportReduceIdx_my_uchar_rs_matrix2x2_0 = 542;
     // ain1 = "uchar a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_uchar_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -35931,11 +35931,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_rs_matrix2x2_1 = 543;
+    private final static int mExportReduceIdx_my_uchar_rs_matrix2x2_1 = 543;
     // ain1 = "uchar a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_uchar_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -35965,11 +35965,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_MyStruct_0 = 544;
+    private final static int mExportReduceIdx_my_uchar_MyStruct_0 = 544;
     // ain1 = "uchar a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_uchar_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -36002,11 +36002,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar_MyStruct_1 = 545;
+    private final static int mExportReduceIdx_my_uchar_MyStruct_1 = 545;
     // ain1 = "uchar a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_uchar_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -36039,11 +36039,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_half_0 = 546;
+    private final static int mExportReduceIdx_my_uchar2_half_0 = 546;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_half_0(byte[] in1, short[] in2) {
@@ -36107,11 +36107,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_half_1 = 547;
+    private final static int mExportReduceIdx_my_uchar2_half_1 = 547;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_half_1(byte[] in1, short[] in2) {
@@ -36175,11 +36175,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_half2_0 = 548;
+    private final static int mExportReduceIdx_my_uchar2_half2_0 = 548;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_half2_0(byte[] in1, short[] in2) {
@@ -36247,11 +36247,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_half2_1 = 549;
+    private final static int mExportReduceIdx_my_uchar2_half2_1 = 549;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_half2_1(byte[] in1, short[] in2) {
@@ -36319,11 +36319,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_half4_0 = 550;
+    private final static int mExportReduceIdx_my_uchar2_half4_0 = 550;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_half4_0(byte[] in1, short[] in2) {
@@ -36391,11 +36391,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_half4_1 = 551;
+    private final static int mExportReduceIdx_my_uchar2_half4_1 = 551;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_half4_1(byte[] in1, short[] in2) {
@@ -36463,11 +36463,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_float_0 = 552;
+    private final static int mExportReduceIdx_my_uchar2_float_0 = 552;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_float_0(byte[] in1, float[] in2) {
@@ -36531,11 +36531,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_float_1 = 553;
+    private final static int mExportReduceIdx_my_uchar2_float_1 = 553;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_float_1(byte[] in1, float[] in2) {
@@ -36599,11 +36599,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_float2_0 = 554;
+    private final static int mExportReduceIdx_my_uchar2_float2_0 = 554;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_float2_0(byte[] in1, float[] in2) {
@@ -36671,11 +36671,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_float2_1 = 555;
+    private final static int mExportReduceIdx_my_uchar2_float2_1 = 555;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_float2_1(byte[] in1, float[] in2) {
@@ -36743,11 +36743,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_float4_0 = 556;
+    private final static int mExportReduceIdx_my_uchar2_float4_0 = 556;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_float4_0(byte[] in1, float[] in2) {
@@ -36815,11 +36815,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_float4_1 = 557;
+    private final static int mExportReduceIdx_my_uchar2_float4_1 = 557;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_float4_1(byte[] in1, float[] in2) {
@@ -36887,11 +36887,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_char_0 = 558;
+    private final static int mExportReduceIdx_my_uchar2_char_0 = 558;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_char_0(byte[] in1, byte[] in2) {
@@ -36955,11 +36955,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_char_1 = 559;
+    private final static int mExportReduceIdx_my_uchar2_char_1 = 559;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_char_1(byte[] in1, byte[] in2) {
@@ -37023,11 +37023,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_char2_0 = 560;
+    private final static int mExportReduceIdx_my_uchar2_char2_0 = 560;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_char2_0(byte[] in1, byte[] in2) {
@@ -37095,11 +37095,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_char2_1 = 561;
+    private final static int mExportReduceIdx_my_uchar2_char2_1 = 561;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_char2_1(byte[] in1, byte[] in2) {
@@ -37167,11 +37167,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_char4_0 = 562;
+    private final static int mExportReduceIdx_my_uchar2_char4_0 = 562;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_char4_0(byte[] in1, byte[] in2) {
@@ -37239,11 +37239,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_char4_1 = 563;
+    private final static int mExportReduceIdx_my_uchar2_char4_1 = 563;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_char4_1(byte[] in1, byte[] in2) {
@@ -37311,11 +37311,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_short_0 = 564;
+    private final static int mExportReduceIdx_my_uchar2_short_0 = 564;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_short_0(byte[] in1, short[] in2) {
@@ -37379,11 +37379,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_short_1 = 565;
+    private final static int mExportReduceIdx_my_uchar2_short_1 = 565;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_short_1(byte[] in1, short[] in2) {
@@ -37447,11 +37447,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_short2_0 = 566;
+    private final static int mExportReduceIdx_my_uchar2_short2_0 = 566;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_short2_0(byte[] in1, short[] in2) {
@@ -37519,11 +37519,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_short2_1 = 567;
+    private final static int mExportReduceIdx_my_uchar2_short2_1 = 567;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_short2_1(byte[] in1, short[] in2) {
@@ -37591,11 +37591,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_short4_0 = 568;
+    private final static int mExportReduceIdx_my_uchar2_short4_0 = 568;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_short4_0(byte[] in1, short[] in2) {
@@ -37663,11 +37663,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_short4_1 = 569;
+    private final static int mExportReduceIdx_my_uchar2_short4_1 = 569;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_short4_1(byte[] in1, short[] in2) {
@@ -37735,11 +37735,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_uchar_0 = 570;
+    private final static int mExportReduceIdx_my_uchar2_uchar_0 = 570;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_uchar_0(byte[] in1, byte[] in2) {
@@ -37803,11 +37803,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_uchar_1 = 571;
+    private final static int mExportReduceIdx_my_uchar2_uchar_1 = 571;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_uchar_1(byte[] in1, byte[] in2) {
@@ -37871,11 +37871,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_uchar2_0 = 572;
+    private final static int mExportReduceIdx_my_uchar2_uchar2_0 = 572;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_uchar2_0(byte[] in1, byte[] in2) {
@@ -37943,11 +37943,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_uchar2_1 = 573;
+    private final static int mExportReduceIdx_my_uchar2_uchar2_1 = 573;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_uchar2_1(byte[] in1, byte[] in2) {
@@ -38015,11 +38015,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_uchar4_0 = 574;
+    private final static int mExportReduceIdx_my_uchar2_uchar4_0 = 574;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_uchar4_0(byte[] in1, byte[] in2) {
@@ -38087,11 +38087,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_uchar4_1 = 575;
+    private final static int mExportReduceIdx_my_uchar2_uchar4_1 = 575;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_uchar4_1(byte[] in1, byte[] in2) {
@@ -38159,11 +38159,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_ushort_0 = 576;
+    private final static int mExportReduceIdx_my_uchar2_ushort_0 = 576;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_ushort_0(byte[] in1, short[] in2) {
@@ -38227,11 +38227,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_ushort_1 = 577;
+    private final static int mExportReduceIdx_my_uchar2_ushort_1 = 577;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_ushort_1(byte[] in1, short[] in2) {
@@ -38295,11 +38295,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_ushort2_0 = 578;
+    private final static int mExportReduceIdx_my_uchar2_ushort2_0 = 578;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_ushort2_0(byte[] in1, short[] in2) {
@@ -38367,11 +38367,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_ushort2_1 = 579;
+    private final static int mExportReduceIdx_my_uchar2_ushort2_1 = 579;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar2_ushort2_1(byte[] in1, short[] in2) {
@@ -38439,11 +38439,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_ushort4_0 = 580;
+    private final static int mExportReduceIdx_my_uchar2_ushort4_0 = 580;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_ushort4_0(byte[] in1, short[] in2) {
@@ -38511,11 +38511,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_ushort4_1 = 581;
+    private final static int mExportReduceIdx_my_uchar2_ushort4_1 = 581;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar2_ushort4_1(byte[] in1, short[] in2) {
@@ -38583,11 +38583,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_bool_0 = 582;
+    private final static int mExportReduceIdx_my_uchar2_bool_0 = 582;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_bool_0(byte[] in1, byte[] in2) {
@@ -38651,11 +38651,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_bool_1 = 583;
+    private final static int mExportReduceIdx_my_uchar2_bool_1 = 583;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_uchar2_bool_1(byte[] in1, byte[] in2) {
@@ -38719,11 +38719,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_rs_matrix2x2_0 = 584;
+    private final static int mExportReduceIdx_my_uchar2_rs_matrix2x2_0 = 584;
     // ain1 = "uchar2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_uchar2_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -38753,11 +38753,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_rs_matrix2x2_1 = 585;
+    private final static int mExportReduceIdx_my_uchar2_rs_matrix2x2_1 = 585;
     // ain1 = "uchar2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_uchar2_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -38787,11 +38787,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_MyStruct_0 = 586;
+    private final static int mExportReduceIdx_my_uchar2_MyStruct_0 = 586;
     // ain1 = "uchar2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_uchar2_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -38824,11 +38824,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2_MyStruct_1 = 587;
+    private final static int mExportReduceIdx_my_uchar2_MyStruct_1 = 587;
     // ain1 = "uchar2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_uchar2_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -38861,11 +38861,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_half_0 = 588;
+    private final static int mExportReduceIdx_my_uchar4_half_0 = 588;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_half_0(byte[] in1, short[] in2) {
@@ -38929,11 +38929,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_half_1 = 589;
+    private final static int mExportReduceIdx_my_uchar4_half_1 = 589;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_half_1(byte[] in1, short[] in2) {
@@ -38997,11 +38997,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_half2_0 = 590;
+    private final static int mExportReduceIdx_my_uchar4_half2_0 = 590;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_half2_0(byte[] in1, short[] in2) {
@@ -39069,11 +39069,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_half2_1 = 591;
+    private final static int mExportReduceIdx_my_uchar4_half2_1 = 591;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_half2_1(byte[] in1, short[] in2) {
@@ -39141,11 +39141,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_half4_0 = 592;
+    private final static int mExportReduceIdx_my_uchar4_half4_0 = 592;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_half4_0(byte[] in1, short[] in2) {
@@ -39213,11 +39213,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_half4_1 = 593;
+    private final static int mExportReduceIdx_my_uchar4_half4_1 = 593;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_half4_1(byte[] in1, short[] in2) {
@@ -39285,11 +39285,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_float_0 = 594;
+    private final static int mExportReduceIdx_my_uchar4_float_0 = 594;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_float_0(byte[] in1, float[] in2) {
@@ -39353,11 +39353,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_float_1 = 595;
+    private final static int mExportReduceIdx_my_uchar4_float_1 = 595;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_float_1(byte[] in1, float[] in2) {
@@ -39421,11 +39421,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_float2_0 = 596;
+    private final static int mExportReduceIdx_my_uchar4_float2_0 = 596;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_float2_0(byte[] in1, float[] in2) {
@@ -39493,11 +39493,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_float2_1 = 597;
+    private final static int mExportReduceIdx_my_uchar4_float2_1 = 597;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_float2_1(byte[] in1, float[] in2) {
@@ -39565,11 +39565,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_float4_0 = 598;
+    private final static int mExportReduceIdx_my_uchar4_float4_0 = 598;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_float4_0(byte[] in1, float[] in2) {
@@ -39637,11 +39637,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_float4_1 = 599;
+    private final static int mExportReduceIdx_my_uchar4_float4_1 = 599;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_float4_1(byte[] in1, float[] in2) {
@@ -39709,11 +39709,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_char_0 = 600;
+    private final static int mExportReduceIdx_my_uchar4_char_0 = 600;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_char_0(byte[] in1, byte[] in2) {
@@ -39777,11 +39777,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_char_1 = 601;
+    private final static int mExportReduceIdx_my_uchar4_char_1 = 601;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_char_1(byte[] in1, byte[] in2) {
@@ -39845,11 +39845,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_char2_0 = 602;
+    private final static int mExportReduceIdx_my_uchar4_char2_0 = 602;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_char2_0(byte[] in1, byte[] in2) {
@@ -39917,11 +39917,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_char2_1 = 603;
+    private final static int mExportReduceIdx_my_uchar4_char2_1 = 603;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_char2_1(byte[] in1, byte[] in2) {
@@ -39989,11 +39989,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_char4_0 = 604;
+    private final static int mExportReduceIdx_my_uchar4_char4_0 = 604;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_char4_0(byte[] in1, byte[] in2) {
@@ -40061,11 +40061,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_char4_1 = 605;
+    private final static int mExportReduceIdx_my_uchar4_char4_1 = 605;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_char4_1(byte[] in1, byte[] in2) {
@@ -40133,11 +40133,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_short_0 = 606;
+    private final static int mExportReduceIdx_my_uchar4_short_0 = 606;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_short_0(byte[] in1, short[] in2) {
@@ -40201,11 +40201,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_short_1 = 607;
+    private final static int mExportReduceIdx_my_uchar4_short_1 = 607;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_short_1(byte[] in1, short[] in2) {
@@ -40269,11 +40269,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_short2_0 = 608;
+    private final static int mExportReduceIdx_my_uchar4_short2_0 = 608;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_short2_0(byte[] in1, short[] in2) {
@@ -40341,11 +40341,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_short2_1 = 609;
+    private final static int mExportReduceIdx_my_uchar4_short2_1 = 609;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_short2_1(byte[] in1, short[] in2) {
@@ -40413,11 +40413,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_short4_0 = 610;
+    private final static int mExportReduceIdx_my_uchar4_short4_0 = 610;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_short4_0(byte[] in1, short[] in2) {
@@ -40485,11 +40485,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_short4_1 = 611;
+    private final static int mExportReduceIdx_my_uchar4_short4_1 = 611;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_short4_1(byte[] in1, short[] in2) {
@@ -40557,11 +40557,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_uchar_0 = 612;
+    private final static int mExportReduceIdx_my_uchar4_uchar_0 = 612;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_uchar_0(byte[] in1, byte[] in2) {
@@ -40625,11 +40625,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_uchar_1 = 613;
+    private final static int mExportReduceIdx_my_uchar4_uchar_1 = 613;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_uchar_1(byte[] in1, byte[] in2) {
@@ -40693,11 +40693,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_uchar2_0 = 614;
+    private final static int mExportReduceIdx_my_uchar4_uchar2_0 = 614;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_uchar2_0(byte[] in1, byte[] in2) {
@@ -40765,11 +40765,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_uchar2_1 = 615;
+    private final static int mExportReduceIdx_my_uchar4_uchar2_1 = 615;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_uchar2_1(byte[] in1, byte[] in2) {
@@ -40837,11 +40837,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_uchar4_0 = 616;
+    private final static int mExportReduceIdx_my_uchar4_uchar4_0 = 616;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_uchar4_0(byte[] in1, byte[] in2) {
@@ -40909,11 +40909,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_uchar4_1 = 617;
+    private final static int mExportReduceIdx_my_uchar4_uchar4_1 = 617;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_uchar4_1(byte[] in1, byte[] in2) {
@@ -40981,11 +40981,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_ushort_0 = 618;
+    private final static int mExportReduceIdx_my_uchar4_ushort_0 = 618;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_ushort_0(byte[] in1, short[] in2) {
@@ -41049,11 +41049,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_ushort_1 = 619;
+    private final static int mExportReduceIdx_my_uchar4_ushort_1 = 619;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_ushort_1(byte[] in1, short[] in2) {
@@ -41117,11 +41117,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_ushort2_0 = 620;
+    private final static int mExportReduceIdx_my_uchar4_ushort2_0 = 620;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_ushort2_0(byte[] in1, short[] in2) {
@@ -41189,11 +41189,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_ushort2_1 = 621;
+    private final static int mExportReduceIdx_my_uchar4_ushort2_1 = 621;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_uchar4_ushort2_1(byte[] in1, short[] in2) {
@@ -41261,11 +41261,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_ushort4_0 = 622;
+    private final static int mExportReduceIdx_my_uchar4_ushort4_0 = 622;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_ushort4_0(byte[] in1, short[] in2) {
@@ -41333,11 +41333,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_ushort4_1 = 623;
+    private final static int mExportReduceIdx_my_uchar4_ushort4_1 = 623;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_uchar4_ushort4_1(byte[] in1, short[] in2) {
@@ -41405,11 +41405,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_bool_0 = 624;
+    private final static int mExportReduceIdx_my_uchar4_bool_0 = 624;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_bool_0(byte[] in1, byte[] in2) {
@@ -41473,11 +41473,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_bool_1 = 625;
+    private final static int mExportReduceIdx_my_uchar4_bool_1 = 625;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_uchar4_bool_1(byte[] in1, byte[] in2) {
@@ -41541,11 +41541,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_rs_matrix2x2_0 = 626;
+    private final static int mExportReduceIdx_my_uchar4_rs_matrix2x2_0 = 626;
     // ain1 = "uchar4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_uchar4_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -41575,11 +41575,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_rs_matrix2x2_1 = 627;
+    private final static int mExportReduceIdx_my_uchar4_rs_matrix2x2_1 = 627;
     // ain1 = "uchar4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_uchar4_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -41609,11 +41609,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_MyStruct_0 = 628;
+    private final static int mExportReduceIdx_my_uchar4_MyStruct_0 = 628;
     // ain1 = "uchar4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_uchar4_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -41646,11 +41646,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4_MyStruct_1 = 629;
+    private final static int mExportReduceIdx_my_uchar4_MyStruct_1 = 629;
     // ain1 = "uchar4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_uchar4_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -41683,11 +41683,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_half_0 = 630;
+    private final static int mExportReduceIdx_my_ushort_half_0 = 630;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_half_0(short[] in1, short[] in2) {
@@ -41747,11 +41747,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_half_1 = 631;
+    private final static int mExportReduceIdx_my_ushort_half_1 = 631;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_half_1(short[] in1, short[] in2) {
@@ -41811,11 +41811,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_half2_0 = 632;
+    private final static int mExportReduceIdx_my_ushort_half2_0 = 632;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_half2_0(short[] in1, short[] in2) {
@@ -41879,11 +41879,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_half2_1 = 633;
+    private final static int mExportReduceIdx_my_ushort_half2_1 = 633;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_half2_1(short[] in1, short[] in2) {
@@ -41947,11 +41947,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_half4_0 = 634;
+    private final static int mExportReduceIdx_my_ushort_half4_0 = 634;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_half4_0(short[] in1, short[] in2) {
@@ -42015,11 +42015,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_half4_1 = 635;
+    private final static int mExportReduceIdx_my_ushort_half4_1 = 635;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_half4_1(short[] in1, short[] in2) {
@@ -42083,11 +42083,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_float_0 = 636;
+    private final static int mExportReduceIdx_my_ushort_float_0 = 636;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_float_0(short[] in1, float[] in2) {
@@ -42147,11 +42147,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_float_1 = 637;
+    private final static int mExportReduceIdx_my_ushort_float_1 = 637;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_float_1(short[] in1, float[] in2) {
@@ -42211,11 +42211,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_float2_0 = 638;
+    private final static int mExportReduceIdx_my_ushort_float2_0 = 638;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_float2_0(short[] in1, float[] in2) {
@@ -42279,11 +42279,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_float2_1 = 639;
+    private final static int mExportReduceIdx_my_ushort_float2_1 = 639;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_float2_1(short[] in1, float[] in2) {
@@ -42347,11 +42347,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_float4_0 = 640;
+    private final static int mExportReduceIdx_my_ushort_float4_0 = 640;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_float4_0(short[] in1, float[] in2) {
@@ -42415,11 +42415,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_float4_1 = 641;
+    private final static int mExportReduceIdx_my_ushort_float4_1 = 641;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_float4_1(short[] in1, float[] in2) {
@@ -42483,11 +42483,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_char_0 = 642;
+    private final static int mExportReduceIdx_my_ushort_char_0 = 642;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_char_0(short[] in1, byte[] in2) {
@@ -42547,11 +42547,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_char_1 = 643;
+    private final static int mExportReduceIdx_my_ushort_char_1 = 643;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_char_1(short[] in1, byte[] in2) {
@@ -42611,11 +42611,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_char2_0 = 644;
+    private final static int mExportReduceIdx_my_ushort_char2_0 = 644;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_char2_0(short[] in1, byte[] in2) {
@@ -42679,11 +42679,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_char2_1 = 645;
+    private final static int mExportReduceIdx_my_ushort_char2_1 = 645;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_char2_1(short[] in1, byte[] in2) {
@@ -42747,11 +42747,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_char4_0 = 646;
+    private final static int mExportReduceIdx_my_ushort_char4_0 = 646;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_char4_0(short[] in1, byte[] in2) {
@@ -42815,11 +42815,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_char4_1 = 647;
+    private final static int mExportReduceIdx_my_ushort_char4_1 = 647;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_char4_1(short[] in1, byte[] in2) {
@@ -42883,11 +42883,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_short_0 = 648;
+    private final static int mExportReduceIdx_my_ushort_short_0 = 648;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_short_0(short[] in1, short[] in2) {
@@ -42947,11 +42947,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_short_1 = 649;
+    private final static int mExportReduceIdx_my_ushort_short_1 = 649;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_short_1(short[] in1, short[] in2) {
@@ -43011,11 +43011,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_short2_0 = 650;
+    private final static int mExportReduceIdx_my_ushort_short2_0 = 650;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_short2_0(short[] in1, short[] in2) {
@@ -43079,11 +43079,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_short2_1 = 651;
+    private final static int mExportReduceIdx_my_ushort_short2_1 = 651;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_short2_1(short[] in1, short[] in2) {
@@ -43147,11 +43147,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_short4_0 = 652;
+    private final static int mExportReduceIdx_my_ushort_short4_0 = 652;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_short4_0(short[] in1, short[] in2) {
@@ -43215,11 +43215,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_short4_1 = 653;
+    private final static int mExportReduceIdx_my_ushort_short4_1 = 653;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_short4_1(short[] in1, short[] in2) {
@@ -43283,11 +43283,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_uchar_0 = 654;
+    private final static int mExportReduceIdx_my_ushort_uchar_0 = 654;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_uchar_0(short[] in1, byte[] in2) {
@@ -43347,11 +43347,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_uchar_1 = 655;
+    private final static int mExportReduceIdx_my_ushort_uchar_1 = 655;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_uchar_1(short[] in1, byte[] in2) {
@@ -43411,11 +43411,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_uchar2_0 = 656;
+    private final static int mExportReduceIdx_my_ushort_uchar2_0 = 656;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_uchar2_0(short[] in1, byte[] in2) {
@@ -43479,11 +43479,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_uchar2_1 = 657;
+    private final static int mExportReduceIdx_my_ushort_uchar2_1 = 657;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_uchar2_1(short[] in1, byte[] in2) {
@@ -43547,11 +43547,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_uchar4_0 = 658;
+    private final static int mExportReduceIdx_my_ushort_uchar4_0 = 658;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_uchar4_0(short[] in1, byte[] in2) {
@@ -43615,11 +43615,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_uchar4_1 = 659;
+    private final static int mExportReduceIdx_my_ushort_uchar4_1 = 659;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_uchar4_1(short[] in1, byte[] in2) {
@@ -43683,11 +43683,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_ushort_0 = 660;
+    private final static int mExportReduceIdx_my_ushort_ushort_0 = 660;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_ushort_0(short[] in1, short[] in2) {
@@ -43747,11 +43747,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_ushort_1 = 661;
+    private final static int mExportReduceIdx_my_ushort_ushort_1 = 661;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_ushort_1(short[] in1, short[] in2) {
@@ -43811,11 +43811,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_ushort2_0 = 662;
+    private final static int mExportReduceIdx_my_ushort_ushort2_0 = 662;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_ushort2_0(short[] in1, short[] in2) {
@@ -43879,11 +43879,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_ushort2_1 = 663;
+    private final static int mExportReduceIdx_my_ushort_ushort2_1 = 663;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort_ushort2_1(short[] in1, short[] in2) {
@@ -43947,11 +43947,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_ushort4_0 = 664;
+    private final static int mExportReduceIdx_my_ushort_ushort4_0 = 664;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_ushort4_0(short[] in1, short[] in2) {
@@ -44015,11 +44015,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_ushort4_1 = 665;
+    private final static int mExportReduceIdx_my_ushort_ushort4_1 = 665;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort_ushort4_1(short[] in1, short[] in2) {
@@ -44083,11 +44083,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_bool_0 = 666;
+    private final static int mExportReduceIdx_my_ushort_bool_0 = 666;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_bool_0(short[] in1, byte[] in2) {
@@ -44147,11 +44147,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_bool_1 = 667;
+    private final static int mExportReduceIdx_my_ushort_bool_1 = 667;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_ushort_bool_1(short[] in1, byte[] in2) {
@@ -44211,11 +44211,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_rs_matrix2x2_0 = 668;
+    private final static int mExportReduceIdx_my_ushort_rs_matrix2x2_0 = 668;
     // ain1 = "ushort a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_ushort_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -44245,11 +44245,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_rs_matrix2x2_1 = 669;
+    private final static int mExportReduceIdx_my_ushort_rs_matrix2x2_1 = 669;
     // ain1 = "ushort a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_ushort_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -44279,11 +44279,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_MyStruct_0 = 670;
+    private final static int mExportReduceIdx_my_ushort_MyStruct_0 = 670;
     // ain1 = "ushort a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_ushort_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -44316,11 +44316,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort_MyStruct_1 = 671;
+    private final static int mExportReduceIdx_my_ushort_MyStruct_1 = 671;
     // ain1 = "ushort a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_ushort_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -44353,11 +44353,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_half_0 = 672;
+    private final static int mExportReduceIdx_my_ushort2_half_0 = 672;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_half_0(short[] in1, short[] in2) {
@@ -44421,11 +44421,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_half_1 = 673;
+    private final static int mExportReduceIdx_my_ushort2_half_1 = 673;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_half_1(short[] in1, short[] in2) {
@@ -44489,11 +44489,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_half2_0 = 674;
+    private final static int mExportReduceIdx_my_ushort2_half2_0 = 674;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_half2_0(short[] in1, short[] in2) {
@@ -44561,11 +44561,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_half2_1 = 675;
+    private final static int mExportReduceIdx_my_ushort2_half2_1 = 675;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_half2_1(short[] in1, short[] in2) {
@@ -44633,11 +44633,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_half4_0 = 676;
+    private final static int mExportReduceIdx_my_ushort2_half4_0 = 676;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_half4_0(short[] in1, short[] in2) {
@@ -44705,11 +44705,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_half4_1 = 677;
+    private final static int mExportReduceIdx_my_ushort2_half4_1 = 677;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_half4_1(short[] in1, short[] in2) {
@@ -44777,11 +44777,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_float_0 = 678;
+    private final static int mExportReduceIdx_my_ushort2_float_0 = 678;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_float_0(short[] in1, float[] in2) {
@@ -44845,11 +44845,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_float_1 = 679;
+    private final static int mExportReduceIdx_my_ushort2_float_1 = 679;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_float_1(short[] in1, float[] in2) {
@@ -44913,11 +44913,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_float2_0 = 680;
+    private final static int mExportReduceIdx_my_ushort2_float2_0 = 680;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_float2_0(short[] in1, float[] in2) {
@@ -44985,11 +44985,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_float2_1 = 681;
+    private final static int mExportReduceIdx_my_ushort2_float2_1 = 681;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_float2_1(short[] in1, float[] in2) {
@@ -45057,11 +45057,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_float4_0 = 682;
+    private final static int mExportReduceIdx_my_ushort2_float4_0 = 682;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_float4_0(short[] in1, float[] in2) {
@@ -45129,11 +45129,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_float4_1 = 683;
+    private final static int mExportReduceIdx_my_ushort2_float4_1 = 683;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_float4_1(short[] in1, float[] in2) {
@@ -45201,11 +45201,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_char_0 = 684;
+    private final static int mExportReduceIdx_my_ushort2_char_0 = 684;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_char_0(short[] in1, byte[] in2) {
@@ -45269,11 +45269,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_char_1 = 685;
+    private final static int mExportReduceIdx_my_ushort2_char_1 = 685;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_char_1(short[] in1, byte[] in2) {
@@ -45337,11 +45337,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_char2_0 = 686;
+    private final static int mExportReduceIdx_my_ushort2_char2_0 = 686;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_char2_0(short[] in1, byte[] in2) {
@@ -45409,11 +45409,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_char2_1 = 687;
+    private final static int mExportReduceIdx_my_ushort2_char2_1 = 687;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_char2_1(short[] in1, byte[] in2) {
@@ -45481,11 +45481,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_char4_0 = 688;
+    private final static int mExportReduceIdx_my_ushort2_char4_0 = 688;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_char4_0(short[] in1, byte[] in2) {
@@ -45553,11 +45553,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_char4_1 = 689;
+    private final static int mExportReduceIdx_my_ushort2_char4_1 = 689;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_char4_1(short[] in1, byte[] in2) {
@@ -45625,11 +45625,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_short_0 = 690;
+    private final static int mExportReduceIdx_my_ushort2_short_0 = 690;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_short_0(short[] in1, short[] in2) {
@@ -45693,11 +45693,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_short_1 = 691;
+    private final static int mExportReduceIdx_my_ushort2_short_1 = 691;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_short_1(short[] in1, short[] in2) {
@@ -45761,11 +45761,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_short2_0 = 692;
+    private final static int mExportReduceIdx_my_ushort2_short2_0 = 692;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_short2_0(short[] in1, short[] in2) {
@@ -45833,11 +45833,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_short2_1 = 693;
+    private final static int mExportReduceIdx_my_ushort2_short2_1 = 693;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_short2_1(short[] in1, short[] in2) {
@@ -45905,11 +45905,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_short4_0 = 694;
+    private final static int mExportReduceIdx_my_ushort2_short4_0 = 694;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_short4_0(short[] in1, short[] in2) {
@@ -45977,11 +45977,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_short4_1 = 695;
+    private final static int mExportReduceIdx_my_ushort2_short4_1 = 695;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_short4_1(short[] in1, short[] in2) {
@@ -46049,11 +46049,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_uchar_0 = 696;
+    private final static int mExportReduceIdx_my_ushort2_uchar_0 = 696;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_uchar_0(short[] in1, byte[] in2) {
@@ -46117,11 +46117,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_uchar_1 = 697;
+    private final static int mExportReduceIdx_my_ushort2_uchar_1 = 697;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_uchar_1(short[] in1, byte[] in2) {
@@ -46185,11 +46185,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_uchar2_0 = 698;
+    private final static int mExportReduceIdx_my_ushort2_uchar2_0 = 698;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_uchar2_0(short[] in1, byte[] in2) {
@@ -46257,11 +46257,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_uchar2_1 = 699;
+    private final static int mExportReduceIdx_my_ushort2_uchar2_1 = 699;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_uchar2_1(short[] in1, byte[] in2) {
@@ -46329,11 +46329,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_uchar4_0 = 700;
+    private final static int mExportReduceIdx_my_ushort2_uchar4_0 = 700;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_uchar4_0(short[] in1, byte[] in2) {
@@ -46401,11 +46401,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_uchar4_1 = 701;
+    private final static int mExportReduceIdx_my_ushort2_uchar4_1 = 701;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_uchar4_1(short[] in1, byte[] in2) {
@@ -46473,11 +46473,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_ushort_0 = 702;
+    private final static int mExportReduceIdx_my_ushort2_ushort_0 = 702;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_ushort_0(short[] in1, short[] in2) {
@@ -46541,11 +46541,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_ushort_1 = 703;
+    private final static int mExportReduceIdx_my_ushort2_ushort_1 = 703;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_ushort_1(short[] in1, short[] in2) {
@@ -46609,11 +46609,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_ushort2_0 = 704;
+    private final static int mExportReduceIdx_my_ushort2_ushort2_0 = 704;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_ushort2_0(short[] in1, short[] in2) {
@@ -46681,11 +46681,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_ushort2_1 = 705;
+    private final static int mExportReduceIdx_my_ushort2_ushort2_1 = 705;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort2_ushort2_1(short[] in1, short[] in2) {
@@ -46753,11 +46753,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_ushort4_0 = 706;
+    private final static int mExportReduceIdx_my_ushort2_ushort4_0 = 706;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_ushort4_0(short[] in1, short[] in2) {
@@ -46825,11 +46825,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_ushort4_1 = 707;
+    private final static int mExportReduceIdx_my_ushort2_ushort4_1 = 707;
     // in1 = "a", flattened 2-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort2_ushort4_1(short[] in1, short[] in2) {
@@ -46897,11 +46897,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_bool_0 = 708;
+    private final static int mExportReduceIdx_my_ushort2_bool_0 = 708;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_bool_0(short[] in1, byte[] in2) {
@@ -46965,11 +46965,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_bool_1 = 709;
+    private final static int mExportReduceIdx_my_ushort2_bool_1 = 709;
     // in1 = "a", flattened 2-vectors
     // in2 = "b"
     public result_int reduce_my_ushort2_bool_1(short[] in1, byte[] in2) {
@@ -47033,11 +47033,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_rs_matrix2x2_0 = 710;
+    private final static int mExportReduceIdx_my_ushort2_rs_matrix2x2_0 = 710;
     // ain1 = "ushort2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_ushort2_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -47067,11 +47067,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_rs_matrix2x2_1 = 711;
+    private final static int mExportReduceIdx_my_ushort2_rs_matrix2x2_1 = 711;
     // ain1 = "ushort2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_ushort2_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -47101,11 +47101,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_MyStruct_0 = 712;
+    private final static int mExportReduceIdx_my_ushort2_MyStruct_0 = 712;
     // ain1 = "ushort2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_ushort2_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -47138,11 +47138,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2_MyStruct_1 = 713;
+    private final static int mExportReduceIdx_my_ushort2_MyStruct_1 = 713;
     // ain1 = "ushort2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_ushort2_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -47175,11 +47175,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_half_0 = 714;
+    private final static int mExportReduceIdx_my_ushort4_half_0 = 714;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_half_0(short[] in1, short[] in2) {
@@ -47243,11 +47243,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_half_1 = 715;
+    private final static int mExportReduceIdx_my_ushort4_half_1 = 715;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_half_1(short[] in1, short[] in2) {
@@ -47311,11 +47311,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_half2_0 = 716;
+    private final static int mExportReduceIdx_my_ushort4_half2_0 = 716;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_half2_0(short[] in1, short[] in2) {
@@ -47383,11 +47383,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_half2_1 = 717;
+    private final static int mExportReduceIdx_my_ushort4_half2_1 = 717;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_half2_1(short[] in1, short[] in2) {
@@ -47455,11 +47455,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_half4_0 = 718;
+    private final static int mExportReduceIdx_my_ushort4_half4_0 = 718;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_half4_0(short[] in1, short[] in2) {
@@ -47527,11 +47527,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_half4_1 = 719;
+    private final static int mExportReduceIdx_my_ushort4_half4_1 = 719;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_half4_1(short[] in1, short[] in2) {
@@ -47599,11 +47599,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_float_0 = 720;
+    private final static int mExportReduceIdx_my_ushort4_float_0 = 720;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_float_0(short[] in1, float[] in2) {
@@ -47667,11 +47667,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_float_1 = 721;
+    private final static int mExportReduceIdx_my_ushort4_float_1 = 721;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_float_1(short[] in1, float[] in2) {
@@ -47735,11 +47735,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_float2_0 = 722;
+    private final static int mExportReduceIdx_my_ushort4_float2_0 = 722;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_float2_0(short[] in1, float[] in2) {
@@ -47807,11 +47807,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_float2_1 = 723;
+    private final static int mExportReduceIdx_my_ushort4_float2_1 = 723;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_float2_1(short[] in1, float[] in2) {
@@ -47879,11 +47879,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_float4_0 = 724;
+    private final static int mExportReduceIdx_my_ushort4_float4_0 = 724;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_float4_0(short[] in1, float[] in2) {
@@ -47951,11 +47951,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_float4_1 = 725;
+    private final static int mExportReduceIdx_my_ushort4_float4_1 = 725;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_float4_1(short[] in1, float[] in2) {
@@ -48023,11 +48023,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_char_0 = 726;
+    private final static int mExportReduceIdx_my_ushort4_char_0 = 726;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_char_0(short[] in1, byte[] in2) {
@@ -48091,11 +48091,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_char_1 = 727;
+    private final static int mExportReduceIdx_my_ushort4_char_1 = 727;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_char_1(short[] in1, byte[] in2) {
@@ -48159,11 +48159,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_char2_0 = 728;
+    private final static int mExportReduceIdx_my_ushort4_char2_0 = 728;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_char2_0(short[] in1, byte[] in2) {
@@ -48231,11 +48231,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_char2_1 = 729;
+    private final static int mExportReduceIdx_my_ushort4_char2_1 = 729;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_char2_1(short[] in1, byte[] in2) {
@@ -48303,11 +48303,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_char4_0 = 730;
+    private final static int mExportReduceIdx_my_ushort4_char4_0 = 730;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_char4_0(short[] in1, byte[] in2) {
@@ -48375,11 +48375,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_char4_1 = 731;
+    private final static int mExportReduceIdx_my_ushort4_char4_1 = 731;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_char4_1(short[] in1, byte[] in2) {
@@ -48447,11 +48447,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_short_0 = 732;
+    private final static int mExportReduceIdx_my_ushort4_short_0 = 732;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_short_0(short[] in1, short[] in2) {
@@ -48515,11 +48515,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_short_1 = 733;
+    private final static int mExportReduceIdx_my_ushort4_short_1 = 733;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_short_1(short[] in1, short[] in2) {
@@ -48583,11 +48583,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_short2_0 = 734;
+    private final static int mExportReduceIdx_my_ushort4_short2_0 = 734;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_short2_0(short[] in1, short[] in2) {
@@ -48655,11 +48655,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_short2_1 = 735;
+    private final static int mExportReduceIdx_my_ushort4_short2_1 = 735;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_short2_1(short[] in1, short[] in2) {
@@ -48727,11 +48727,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_short4_0 = 736;
+    private final static int mExportReduceIdx_my_ushort4_short4_0 = 736;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_short4_0(short[] in1, short[] in2) {
@@ -48799,11 +48799,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_short4_1 = 737;
+    private final static int mExportReduceIdx_my_ushort4_short4_1 = 737;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_short4_1(short[] in1, short[] in2) {
@@ -48871,11 +48871,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_uchar_0 = 738;
+    private final static int mExportReduceIdx_my_ushort4_uchar_0 = 738;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_uchar_0(short[] in1, byte[] in2) {
@@ -48939,11 +48939,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_uchar_1 = 739;
+    private final static int mExportReduceIdx_my_ushort4_uchar_1 = 739;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_uchar_1(short[] in1, byte[] in2) {
@@ -49007,11 +49007,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_uchar2_0 = 740;
+    private final static int mExportReduceIdx_my_ushort4_uchar2_0 = 740;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_uchar2_0(short[] in1, byte[] in2) {
@@ -49079,11 +49079,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_uchar2_1 = 741;
+    private final static int mExportReduceIdx_my_ushort4_uchar2_1 = 741;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_uchar2_1(short[] in1, byte[] in2) {
@@ -49151,11 +49151,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_uchar4_0 = 742;
+    private final static int mExportReduceIdx_my_ushort4_uchar4_0 = 742;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_uchar4_0(short[] in1, byte[] in2) {
@@ -49223,11 +49223,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_uchar4_1 = 743;
+    private final static int mExportReduceIdx_my_ushort4_uchar4_1 = 743;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_uchar4_1(short[] in1, byte[] in2) {
@@ -49295,11 +49295,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_ushort_0 = 744;
+    private final static int mExportReduceIdx_my_ushort4_ushort_0 = 744;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_ushort_0(short[] in1, short[] in2) {
@@ -49363,11 +49363,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_ushort_1 = 745;
+    private final static int mExportReduceIdx_my_ushort4_ushort_1 = 745;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_ushort_1(short[] in1, short[] in2) {
@@ -49431,11 +49431,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_ushort2_0 = 746;
+    private final static int mExportReduceIdx_my_ushort4_ushort2_0 = 746;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_ushort2_0(short[] in1, short[] in2) {
@@ -49503,11 +49503,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_ushort2_1 = 747;
+    private final static int mExportReduceIdx_my_ushort4_ushort2_1 = 747;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_ushort4_ushort2_1(short[] in1, short[] in2) {
@@ -49575,11 +49575,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_ushort4_0 = 748;
+    private final static int mExportReduceIdx_my_ushort4_ushort4_0 = 748;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_ushort4_0(short[] in1, short[] in2) {
@@ -49647,11 +49647,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_ushort4_1 = 749;
+    private final static int mExportReduceIdx_my_ushort4_ushort4_1 = 749;
     // in1 = "a", flattened 4-vectors
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_ushort4_ushort4_1(short[] in1, short[] in2) {
@@ -49719,11 +49719,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_bool_0 = 750;
+    private final static int mExportReduceIdx_my_ushort4_bool_0 = 750;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_bool_0(short[] in1, byte[] in2) {
@@ -49787,11 +49787,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_bool_1 = 751;
+    private final static int mExportReduceIdx_my_ushort4_bool_1 = 751;
     // in1 = "a", flattened 4-vectors
     // in2 = "b"
     public result_int reduce_my_ushort4_bool_1(short[] in1, byte[] in2) {
@@ -49855,11 +49855,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_rs_matrix2x2_0 = 752;
+    private final static int mExportReduceIdx_my_ushort4_rs_matrix2x2_0 = 752;
     // ain1 = "ushort4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_ushort4_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -49889,11 +49889,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_rs_matrix2x2_1 = 753;
+    private final static int mExportReduceIdx_my_ushort4_rs_matrix2x2_1 = 753;
     // ain1 = "ushort4 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_ushort4_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -49923,11 +49923,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_MyStruct_0 = 754;
+    private final static int mExportReduceIdx_my_ushort4_MyStruct_0 = 754;
     // ain1 = "ushort4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_ushort4_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -49960,11 +49960,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4_MyStruct_1 = 755;
+    private final static int mExportReduceIdx_my_ushort4_MyStruct_1 = 755;
     // ain1 = "ushort4 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_ushort4_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -49997,11 +49997,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_half_0 = 756;
+    private final static int mExportReduceIdx_my_bool_half_0 = 756;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_half_0(byte[] in1, short[] in2) {
@@ -50061,11 +50061,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_half_1 = 757;
+    private final static int mExportReduceIdx_my_bool_half_1 = 757;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_half_1(byte[] in1, short[] in2) {
@@ -50125,11 +50125,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_half2_0 = 758;
+    private final static int mExportReduceIdx_my_bool_half2_0 = 758;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_half2_0(byte[] in1, short[] in2) {
@@ -50193,11 +50193,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_half2_1 = 759;
+    private final static int mExportReduceIdx_my_bool_half2_1 = 759;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_half2_1(byte[] in1, short[] in2) {
@@ -50261,11 +50261,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_half4_0 = 760;
+    private final static int mExportReduceIdx_my_bool_half4_0 = 760;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_half4_0(byte[] in1, short[] in2) {
@@ -50329,11 +50329,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_half4_1 = 761;
+    private final static int mExportReduceIdx_my_bool_half4_1 = 761;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_half4_1(byte[] in1, short[] in2) {
@@ -50397,11 +50397,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_float_0 = 762;
+    private final static int mExportReduceIdx_my_bool_float_0 = 762;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_float_0(byte[] in1, float[] in2) {
@@ -50461,11 +50461,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_float_1 = 763;
+    private final static int mExportReduceIdx_my_bool_float_1 = 763;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_float_1(byte[] in1, float[] in2) {
@@ -50525,11 +50525,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_float2_0 = 764;
+    private final static int mExportReduceIdx_my_bool_float2_0 = 764;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_float2_0(byte[] in1, float[] in2) {
@@ -50593,11 +50593,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_float2_1 = 765;
+    private final static int mExportReduceIdx_my_bool_float2_1 = 765;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_float2_1(byte[] in1, float[] in2) {
@@ -50661,11 +50661,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_float4_0 = 766;
+    private final static int mExportReduceIdx_my_bool_float4_0 = 766;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_float4_0(byte[] in1, float[] in2) {
@@ -50729,11 +50729,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_float4_1 = 767;
+    private final static int mExportReduceIdx_my_bool_float4_1 = 767;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_float4_1(byte[] in1, float[] in2) {
@@ -50797,11 +50797,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_char_0 = 768;
+    private final static int mExportReduceIdx_my_bool_char_0 = 768;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_char_0(byte[] in1, byte[] in2) {
@@ -50861,11 +50861,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_char_1 = 769;
+    private final static int mExportReduceIdx_my_bool_char_1 = 769;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_char_1(byte[] in1, byte[] in2) {
@@ -50925,11 +50925,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_char2_0 = 770;
+    private final static int mExportReduceIdx_my_bool_char2_0 = 770;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_char2_0(byte[] in1, byte[] in2) {
@@ -50993,11 +50993,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_char2_1 = 771;
+    private final static int mExportReduceIdx_my_bool_char2_1 = 771;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_char2_1(byte[] in1, byte[] in2) {
@@ -51061,11 +51061,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_char4_0 = 772;
+    private final static int mExportReduceIdx_my_bool_char4_0 = 772;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_char4_0(byte[] in1, byte[] in2) {
@@ -51129,11 +51129,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_char4_1 = 773;
+    private final static int mExportReduceIdx_my_bool_char4_1 = 773;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_char4_1(byte[] in1, byte[] in2) {
@@ -51197,11 +51197,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_short_0 = 774;
+    private final static int mExportReduceIdx_my_bool_short_0 = 774;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_short_0(byte[] in1, short[] in2) {
@@ -51261,11 +51261,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_short_1 = 775;
+    private final static int mExportReduceIdx_my_bool_short_1 = 775;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_short_1(byte[] in1, short[] in2) {
@@ -51325,11 +51325,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_short2_0 = 776;
+    private final static int mExportReduceIdx_my_bool_short2_0 = 776;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_short2_0(byte[] in1, short[] in2) {
@@ -51393,11 +51393,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_short2_1 = 777;
+    private final static int mExportReduceIdx_my_bool_short2_1 = 777;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_short2_1(byte[] in1, short[] in2) {
@@ -51461,11 +51461,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_short4_0 = 778;
+    private final static int mExportReduceIdx_my_bool_short4_0 = 778;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_short4_0(byte[] in1, short[] in2) {
@@ -51529,11 +51529,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_short4_1 = 779;
+    private final static int mExportReduceIdx_my_bool_short4_1 = 779;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_short4_1(byte[] in1, short[] in2) {
@@ -51597,11 +51597,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_uchar_0 = 780;
+    private final static int mExportReduceIdx_my_bool_uchar_0 = 780;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_uchar_0(byte[] in1, byte[] in2) {
@@ -51661,11 +51661,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_uchar_1 = 781;
+    private final static int mExportReduceIdx_my_bool_uchar_1 = 781;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_uchar_1(byte[] in1, byte[] in2) {
@@ -51725,11 +51725,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_uchar2_0 = 782;
+    private final static int mExportReduceIdx_my_bool_uchar2_0 = 782;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_uchar2_0(byte[] in1, byte[] in2) {
@@ -51793,11 +51793,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_uchar2_1 = 783;
+    private final static int mExportReduceIdx_my_bool_uchar2_1 = 783;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_uchar2_1(byte[] in1, byte[] in2) {
@@ -51861,11 +51861,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_uchar4_0 = 784;
+    private final static int mExportReduceIdx_my_bool_uchar4_0 = 784;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_uchar4_0(byte[] in1, byte[] in2) {
@@ -51929,11 +51929,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_uchar4_1 = 785;
+    private final static int mExportReduceIdx_my_bool_uchar4_1 = 785;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_uchar4_1(byte[] in1, byte[] in2) {
@@ -51997,11 +51997,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_ushort_0 = 786;
+    private final static int mExportReduceIdx_my_bool_ushort_0 = 786;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_ushort_0(byte[] in1, short[] in2) {
@@ -52061,11 +52061,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_ushort_1 = 787;
+    private final static int mExportReduceIdx_my_bool_ushort_1 = 787;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_ushort_1(byte[] in1, short[] in2) {
@@ -52125,11 +52125,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_ushort2_0 = 788;
+    private final static int mExportReduceIdx_my_bool_ushort2_0 = 788;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_ushort2_0(byte[] in1, short[] in2) {
@@ -52193,11 +52193,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_ushort2_1 = 789;
+    private final static int mExportReduceIdx_my_bool_ushort2_1 = 789;
     // in1 = "a"
     // in2 = "b", flattened 2-vectors
     public result_int reduce_my_bool_ushort2_1(byte[] in1, short[] in2) {
@@ -52261,11 +52261,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_ushort4_0 = 790;
+    private final static int mExportReduceIdx_my_bool_ushort4_0 = 790;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_ushort4_0(byte[] in1, short[] in2) {
@@ -52329,11 +52329,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_ushort4_1 = 791;
+    private final static int mExportReduceIdx_my_bool_ushort4_1 = 791;
     // in1 = "a"
     // in2 = "b", flattened 4-vectors
     public result_int reduce_my_bool_ushort4_1(byte[] in1, short[] in2) {
@@ -52397,11 +52397,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_bool_0 = 792;
+    private final static int mExportReduceIdx_my_bool_bool_0 = 792;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_bool_0(byte[] in1, byte[] in2) {
@@ -52461,11 +52461,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_bool_1 = 793;
+    private final static int mExportReduceIdx_my_bool_bool_1 = 793;
     // in1 = "a"
     // in2 = "b"
     public result_int reduce_my_bool_bool_1(byte[] in1, byte[] in2) {
@@ -52525,11 +52525,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_rs_matrix2x2_0 = 794;
+    private final static int mExportReduceIdx_my_bool_rs_matrix2x2_0 = 794;
     // ain1 = "bool a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_bool_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -52559,11 +52559,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_rs_matrix2x2_1 = 795;
+    private final static int mExportReduceIdx_my_bool_rs_matrix2x2_1 = 795;
     // ain1 = "bool a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_bool_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -52593,11 +52593,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_MyStruct_0 = 796;
+    private final static int mExportReduceIdx_my_bool_MyStruct_0 = 796;
     // ain1 = "bool a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_bool_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -52630,11 +52630,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool_MyStruct_1 = 797;
+    private final static int mExportReduceIdx_my_bool_MyStruct_1 = 797;
     // ain1 = "bool a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_bool_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -52667,11 +52667,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_bool_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_half_0 = 798;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_half_0 = 798;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "half b"
     public result_int reduce_my_rs_matrix2x2_half_0(Allocation ain1, Allocation ain2) {
@@ -52701,11 +52701,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_half_1 = 799;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_half_1 = 799;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "half b"
     public result_int reduce_my_rs_matrix2x2_half_1(Allocation ain1, Allocation ain2) {
@@ -52735,11 +52735,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_half2_0 = 800;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_half2_0 = 800;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "half2 b"
     public result_int reduce_my_rs_matrix2x2_half2_0(Allocation ain1, Allocation ain2) {
@@ -52769,11 +52769,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_half2_1 = 801;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_half2_1 = 801;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "half2 b"
     public result_int reduce_my_rs_matrix2x2_half2_1(Allocation ain1, Allocation ain2) {
@@ -52803,11 +52803,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_half4_0 = 802;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_half4_0 = 802;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "half4 b"
     public result_int reduce_my_rs_matrix2x2_half4_0(Allocation ain1, Allocation ain2) {
@@ -52837,11 +52837,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_half4_1 = 803;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_half4_1 = 803;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "half4 b"
     public result_int reduce_my_rs_matrix2x2_half4_1(Allocation ain1, Allocation ain2) {
@@ -52871,11 +52871,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_float_0 = 804;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_float_0 = 804;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "float b"
     public result_int reduce_my_rs_matrix2x2_float_0(Allocation ain1, Allocation ain2) {
@@ -52905,11 +52905,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_float_1 = 805;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_float_1 = 805;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "float b"
     public result_int reduce_my_rs_matrix2x2_float_1(Allocation ain1, Allocation ain2) {
@@ -52939,11 +52939,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_float2_0 = 806;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_float2_0 = 806;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "float2 b"
     public result_int reduce_my_rs_matrix2x2_float2_0(Allocation ain1, Allocation ain2) {
@@ -52973,11 +52973,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_float2_1 = 807;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_float2_1 = 807;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "float2 b"
     public result_int reduce_my_rs_matrix2x2_float2_1(Allocation ain1, Allocation ain2) {
@@ -53007,11 +53007,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_float4_0 = 808;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_float4_0 = 808;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "float4 b"
     public result_int reduce_my_rs_matrix2x2_float4_0(Allocation ain1, Allocation ain2) {
@@ -53041,11 +53041,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_float4_1 = 809;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_float4_1 = 809;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "float4 b"
     public result_int reduce_my_rs_matrix2x2_float4_1(Allocation ain1, Allocation ain2) {
@@ -53075,11 +53075,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_char_0 = 810;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_char_0 = 810;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "char b"
     public result_int reduce_my_rs_matrix2x2_char_0(Allocation ain1, Allocation ain2) {
@@ -53109,11 +53109,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_char_1 = 811;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_char_1 = 811;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "char b"
     public result_int reduce_my_rs_matrix2x2_char_1(Allocation ain1, Allocation ain2) {
@@ -53143,11 +53143,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_char2_0 = 812;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_char2_0 = 812;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "char2 b"
     public result_int reduce_my_rs_matrix2x2_char2_0(Allocation ain1, Allocation ain2) {
@@ -53177,11 +53177,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_char2_1 = 813;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_char2_1 = 813;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "char2 b"
     public result_int reduce_my_rs_matrix2x2_char2_1(Allocation ain1, Allocation ain2) {
@@ -53211,11 +53211,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_char4_0 = 814;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_char4_0 = 814;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "char4 b"
     public result_int reduce_my_rs_matrix2x2_char4_0(Allocation ain1, Allocation ain2) {
@@ -53245,11 +53245,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_char4_1 = 815;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_char4_1 = 815;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "char4 b"
     public result_int reduce_my_rs_matrix2x2_char4_1(Allocation ain1, Allocation ain2) {
@@ -53279,11 +53279,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_short_0 = 816;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_short_0 = 816;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "short b"
     public result_int reduce_my_rs_matrix2x2_short_0(Allocation ain1, Allocation ain2) {
@@ -53313,11 +53313,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_short_1 = 817;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_short_1 = 817;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "short b"
     public result_int reduce_my_rs_matrix2x2_short_1(Allocation ain1, Allocation ain2) {
@@ -53347,11 +53347,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_short2_0 = 818;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_short2_0 = 818;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "short2 b"
     public result_int reduce_my_rs_matrix2x2_short2_0(Allocation ain1, Allocation ain2) {
@@ -53381,11 +53381,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_short2_1 = 819;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_short2_1 = 819;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "short2 b"
     public result_int reduce_my_rs_matrix2x2_short2_1(Allocation ain1, Allocation ain2) {
@@ -53415,11 +53415,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_short4_0 = 820;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_short4_0 = 820;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "short4 b"
     public result_int reduce_my_rs_matrix2x2_short4_0(Allocation ain1, Allocation ain2) {
@@ -53449,11 +53449,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_short4_1 = 821;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_short4_1 = 821;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "short4 b"
     public result_int reduce_my_rs_matrix2x2_short4_1(Allocation ain1, Allocation ain2) {
@@ -53483,11 +53483,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_uchar_0 = 822;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_uchar_0 = 822;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "uchar b"
     public result_int reduce_my_rs_matrix2x2_uchar_0(Allocation ain1, Allocation ain2) {
@@ -53517,11 +53517,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_uchar_1 = 823;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_uchar_1 = 823;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "uchar b"
     public result_int reduce_my_rs_matrix2x2_uchar_1(Allocation ain1, Allocation ain2) {
@@ -53551,11 +53551,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_uchar2_0 = 824;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_uchar2_0 = 824;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "uchar2 b"
     public result_int reduce_my_rs_matrix2x2_uchar2_0(Allocation ain1, Allocation ain2) {
@@ -53585,11 +53585,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_uchar2_1 = 825;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_uchar2_1 = 825;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "uchar2 b"
     public result_int reduce_my_rs_matrix2x2_uchar2_1(Allocation ain1, Allocation ain2) {
@@ -53619,11 +53619,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_uchar4_0 = 826;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_uchar4_0 = 826;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "uchar4 b"
     public result_int reduce_my_rs_matrix2x2_uchar4_0(Allocation ain1, Allocation ain2) {
@@ -53653,11 +53653,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_uchar4_1 = 827;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_uchar4_1 = 827;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "uchar4 b"
     public result_int reduce_my_rs_matrix2x2_uchar4_1(Allocation ain1, Allocation ain2) {
@@ -53687,11 +53687,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_ushort_0 = 828;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_ushort_0 = 828;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "ushort b"
     public result_int reduce_my_rs_matrix2x2_ushort_0(Allocation ain1, Allocation ain2) {
@@ -53721,11 +53721,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_ushort_1 = 829;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_ushort_1 = 829;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "ushort b"
     public result_int reduce_my_rs_matrix2x2_ushort_1(Allocation ain1, Allocation ain2) {
@@ -53755,11 +53755,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_ushort2_0 = 830;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_ushort2_0 = 830;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "ushort2 b"
     public result_int reduce_my_rs_matrix2x2_ushort2_0(Allocation ain1, Allocation ain2) {
@@ -53789,11 +53789,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_ushort2_1 = 831;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_ushort2_1 = 831;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "ushort2 b"
     public result_int reduce_my_rs_matrix2x2_ushort2_1(Allocation ain1, Allocation ain2) {
@@ -53823,11 +53823,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_ushort4_0 = 832;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_ushort4_0 = 832;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "ushort4 b"
     public result_int reduce_my_rs_matrix2x2_ushort4_0(Allocation ain1, Allocation ain2) {
@@ -53857,11 +53857,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_ushort4_1 = 833;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_ushort4_1 = 833;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "ushort4 b"
     public result_int reduce_my_rs_matrix2x2_ushort4_1(Allocation ain1, Allocation ain2) {
@@ -53891,11 +53891,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_bool_0 = 834;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_bool_0 = 834;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "bool b"
     public result_int reduce_my_rs_matrix2x2_bool_0(Allocation ain1, Allocation ain2) {
@@ -53925,11 +53925,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_bool_1 = 835;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_bool_1 = 835;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "bool b"
     public result_int reduce_my_rs_matrix2x2_bool_1(Allocation ain1, Allocation ain2) {
@@ -53959,11 +53959,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_rs_matrix2x2_0 = 836;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_rs_matrix2x2_0 = 836;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_rs_matrix2x2_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -53990,11 +53990,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_rs_matrix2x2_1 = 837;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_rs_matrix2x2_1 = 837;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_rs_matrix2x2_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -54021,11 +54021,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_MyStruct_0 = 838;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_MyStruct_0 = 838;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_rs_matrix2x2_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -54055,11 +54055,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_rs_matrix2x2_MyStruct_1 = 839;
+    private final static int mExportReduceIdx_my_rs_matrix2x2_MyStruct_1 = 839;
     // ain1 = "rs_matrix2x2 a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_rs_matrix2x2_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -54089,11 +54089,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_rs_matrix2x2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_rs_matrix2x2_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_half_0 = 840;
+    private final static int mExportReduceIdx_my_MyStruct_half_0 = 840;
     // ain1 = "/* struct <> */ a"
     // ain2 = "half b"
     public result_int reduce_my_MyStruct_half_0(Allocation ain1, Allocation ain2) {
@@ -54126,11 +54126,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_half_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_half_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_half_1 = 841;
+    private final static int mExportReduceIdx_my_MyStruct_half_1 = 841;
     // ain1 = "/* struct <> */ a"
     // ain2 = "half b"
     public result_int reduce_my_MyStruct_half_1(Allocation ain1, Allocation ain2) {
@@ -54163,11 +54163,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_half_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_half_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_half2_0 = 842;
+    private final static int mExportReduceIdx_my_MyStruct_half2_0 = 842;
     // ain1 = "/* struct <> */ a"
     // ain2 = "half2 b"
     public result_int reduce_my_MyStruct_half2_0(Allocation ain1, Allocation ain2) {
@@ -54200,11 +54200,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_half2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_half2_1 = 843;
+    private final static int mExportReduceIdx_my_MyStruct_half2_1 = 843;
     // ain1 = "/* struct <> */ a"
     // ain2 = "half2 b"
     public result_int reduce_my_MyStruct_half2_1(Allocation ain1, Allocation ain2) {
@@ -54237,11 +54237,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_half2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_half4_0 = 844;
+    private final static int mExportReduceIdx_my_MyStruct_half4_0 = 844;
     // ain1 = "/* struct <> */ a"
     // ain2 = "half4 b"
     public result_int reduce_my_MyStruct_half4_0(Allocation ain1, Allocation ain2) {
@@ -54274,11 +54274,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_half4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_half4_1 = 845;
+    private final static int mExportReduceIdx_my_MyStruct_half4_1 = 845;
     // ain1 = "/* struct <> */ a"
     // ain2 = "half4 b"
     public result_int reduce_my_MyStruct_half4_1(Allocation ain1, Allocation ain2) {
@@ -54311,11 +54311,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_half4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_float_0 = 846;
+    private final static int mExportReduceIdx_my_MyStruct_float_0 = 846;
     // ain1 = "/* struct <> */ a"
     // ain2 = "float b"
     public result_int reduce_my_MyStruct_float_0(Allocation ain1, Allocation ain2) {
@@ -54348,11 +54348,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_float_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_float_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_float_1 = 847;
+    private final static int mExportReduceIdx_my_MyStruct_float_1 = 847;
     // ain1 = "/* struct <> */ a"
     // ain2 = "float b"
     public result_int reduce_my_MyStruct_float_1(Allocation ain1, Allocation ain2) {
@@ -54385,11 +54385,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_float_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_float_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_float2_0 = 848;
+    private final static int mExportReduceIdx_my_MyStruct_float2_0 = 848;
     // ain1 = "/* struct <> */ a"
     // ain2 = "float2 b"
     public result_int reduce_my_MyStruct_float2_0(Allocation ain1, Allocation ain2) {
@@ -54422,11 +54422,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_float2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_float2_1 = 849;
+    private final static int mExportReduceIdx_my_MyStruct_float2_1 = 849;
     // ain1 = "/* struct <> */ a"
     // ain2 = "float2 b"
     public result_int reduce_my_MyStruct_float2_1(Allocation ain1, Allocation ain2) {
@@ -54459,11 +54459,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_float2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_float4_0 = 850;
+    private final static int mExportReduceIdx_my_MyStruct_float4_0 = 850;
     // ain1 = "/* struct <> */ a"
     // ain2 = "float4 b"
     public result_int reduce_my_MyStruct_float4_0(Allocation ain1, Allocation ain2) {
@@ -54496,11 +54496,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_float4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_float4_1 = 851;
+    private final static int mExportReduceIdx_my_MyStruct_float4_1 = 851;
     // ain1 = "/* struct <> */ a"
     // ain2 = "float4 b"
     public result_int reduce_my_MyStruct_float4_1(Allocation ain1, Allocation ain2) {
@@ -54533,11 +54533,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_float4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_char_0 = 852;
+    private final static int mExportReduceIdx_my_MyStruct_char_0 = 852;
     // ain1 = "/* struct <> */ a"
     // ain2 = "char b"
     public result_int reduce_my_MyStruct_char_0(Allocation ain1, Allocation ain2) {
@@ -54570,11 +54570,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_char_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_char_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_char_1 = 853;
+    private final static int mExportReduceIdx_my_MyStruct_char_1 = 853;
     // ain1 = "/* struct <> */ a"
     // ain2 = "char b"
     public result_int reduce_my_MyStruct_char_1(Allocation ain1, Allocation ain2) {
@@ -54607,11 +54607,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_char_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_char_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_char2_0 = 854;
+    private final static int mExportReduceIdx_my_MyStruct_char2_0 = 854;
     // ain1 = "/* struct <> */ a"
     // ain2 = "char2 b"
     public result_int reduce_my_MyStruct_char2_0(Allocation ain1, Allocation ain2) {
@@ -54644,11 +54644,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_char2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_char2_1 = 855;
+    private final static int mExportReduceIdx_my_MyStruct_char2_1 = 855;
     // ain1 = "/* struct <> */ a"
     // ain2 = "char2 b"
     public result_int reduce_my_MyStruct_char2_1(Allocation ain1, Allocation ain2) {
@@ -54681,11 +54681,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_char2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_char4_0 = 856;
+    private final static int mExportReduceIdx_my_MyStruct_char4_0 = 856;
     // ain1 = "/* struct <> */ a"
     // ain2 = "char4 b"
     public result_int reduce_my_MyStruct_char4_0(Allocation ain1, Allocation ain2) {
@@ -54718,11 +54718,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_char4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_char4_1 = 857;
+    private final static int mExportReduceIdx_my_MyStruct_char4_1 = 857;
     // ain1 = "/* struct <> */ a"
     // ain2 = "char4 b"
     public result_int reduce_my_MyStruct_char4_1(Allocation ain1, Allocation ain2) {
@@ -54755,11 +54755,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_char4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_short_0 = 858;
+    private final static int mExportReduceIdx_my_MyStruct_short_0 = 858;
     // ain1 = "/* struct <> */ a"
     // ain2 = "short b"
     public result_int reduce_my_MyStruct_short_0(Allocation ain1, Allocation ain2) {
@@ -54792,11 +54792,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_short_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_short_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_short_1 = 859;
+    private final static int mExportReduceIdx_my_MyStruct_short_1 = 859;
     // ain1 = "/* struct <> */ a"
     // ain2 = "short b"
     public result_int reduce_my_MyStruct_short_1(Allocation ain1, Allocation ain2) {
@@ -54829,11 +54829,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_short_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_short_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_short2_0 = 860;
+    private final static int mExportReduceIdx_my_MyStruct_short2_0 = 860;
     // ain1 = "/* struct <> */ a"
     // ain2 = "short2 b"
     public result_int reduce_my_MyStruct_short2_0(Allocation ain1, Allocation ain2) {
@@ -54866,11 +54866,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_short2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_short2_1 = 861;
+    private final static int mExportReduceIdx_my_MyStruct_short2_1 = 861;
     // ain1 = "/* struct <> */ a"
     // ain2 = "short2 b"
     public result_int reduce_my_MyStruct_short2_1(Allocation ain1, Allocation ain2) {
@@ -54903,11 +54903,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_short2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_short4_0 = 862;
+    private final static int mExportReduceIdx_my_MyStruct_short4_0 = 862;
     // ain1 = "/* struct <> */ a"
     // ain2 = "short4 b"
     public result_int reduce_my_MyStruct_short4_0(Allocation ain1, Allocation ain2) {
@@ -54940,11 +54940,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_short4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_short4_1 = 863;
+    private final static int mExportReduceIdx_my_MyStruct_short4_1 = 863;
     // ain1 = "/* struct <> */ a"
     // ain2 = "short4 b"
     public result_int reduce_my_MyStruct_short4_1(Allocation ain1, Allocation ain2) {
@@ -54977,11 +54977,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_short4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_uchar_0 = 864;
+    private final static int mExportReduceIdx_my_MyStruct_uchar_0 = 864;
     // ain1 = "/* struct <> */ a"
     // ain2 = "uchar b"
     public result_int reduce_my_MyStruct_uchar_0(Allocation ain1, Allocation ain2) {
@@ -55014,11 +55014,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_uchar_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_uchar_1 = 865;
+    private final static int mExportReduceIdx_my_MyStruct_uchar_1 = 865;
     // ain1 = "/* struct <> */ a"
     // ain2 = "uchar b"
     public result_int reduce_my_MyStruct_uchar_1(Allocation ain1, Allocation ain2) {
@@ -55051,11 +55051,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_uchar_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_uchar2_0 = 866;
+    private final static int mExportReduceIdx_my_MyStruct_uchar2_0 = 866;
     // ain1 = "/* struct <> */ a"
     // ain2 = "uchar2 b"
     public result_int reduce_my_MyStruct_uchar2_0(Allocation ain1, Allocation ain2) {
@@ -55088,11 +55088,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_uchar2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_uchar2_1 = 867;
+    private final static int mExportReduceIdx_my_MyStruct_uchar2_1 = 867;
     // ain1 = "/* struct <> */ a"
     // ain2 = "uchar2 b"
     public result_int reduce_my_MyStruct_uchar2_1(Allocation ain1, Allocation ain2) {
@@ -55125,11 +55125,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_uchar2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_uchar4_0 = 868;
+    private final static int mExportReduceIdx_my_MyStruct_uchar4_0 = 868;
     // ain1 = "/* struct <> */ a"
     // ain2 = "uchar4 b"
     public result_int reduce_my_MyStruct_uchar4_0(Allocation ain1, Allocation ain2) {
@@ -55162,11 +55162,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_uchar4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_uchar4_1 = 869;
+    private final static int mExportReduceIdx_my_MyStruct_uchar4_1 = 869;
     // ain1 = "/* struct <> */ a"
     // ain2 = "uchar4 b"
     public result_int reduce_my_MyStruct_uchar4_1(Allocation ain1, Allocation ain2) {
@@ -55199,11 +55199,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_uchar4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_ushort_0 = 870;
+    private final static int mExportReduceIdx_my_MyStruct_ushort_0 = 870;
     // ain1 = "/* struct <> */ a"
     // ain2 = "ushort b"
     public result_int reduce_my_MyStruct_ushort_0(Allocation ain1, Allocation ain2) {
@@ -55236,11 +55236,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_ushort_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_ushort_1 = 871;
+    private final static int mExportReduceIdx_my_MyStruct_ushort_1 = 871;
     // ain1 = "/* struct <> */ a"
     // ain2 = "ushort b"
     public result_int reduce_my_MyStruct_ushort_1(Allocation ain1, Allocation ain2) {
@@ -55273,11 +55273,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_ushort_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_ushort2_0 = 872;
+    private final static int mExportReduceIdx_my_MyStruct_ushort2_0 = 872;
     // ain1 = "/* struct <> */ a"
     // ain2 = "ushort2 b"
     public result_int reduce_my_MyStruct_ushort2_0(Allocation ain1, Allocation ain2) {
@@ -55310,11 +55310,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_ushort2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_ushort2_1 = 873;
+    private final static int mExportReduceIdx_my_MyStruct_ushort2_1 = 873;
     // ain1 = "/* struct <> */ a"
     // ain2 = "ushort2 b"
     public result_int reduce_my_MyStruct_ushort2_1(Allocation ain1, Allocation ain2) {
@@ -55347,11 +55347,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_ushort2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_ushort4_0 = 874;
+    private final static int mExportReduceIdx_my_MyStruct_ushort4_0 = 874;
     // ain1 = "/* struct <> */ a"
     // ain2 = "ushort4 b"
     public result_int reduce_my_MyStruct_ushort4_0(Allocation ain1, Allocation ain2) {
@@ -55384,11 +55384,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_ushort4_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_ushort4_1 = 875;
+    private final static int mExportReduceIdx_my_MyStruct_ushort4_1 = 875;
     // ain1 = "/* struct <> */ a"
     // ain2 = "ushort4 b"
     public result_int reduce_my_MyStruct_ushort4_1(Allocation ain1, Allocation ain2) {
@@ -55421,11 +55421,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_ushort4_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_bool_0 = 876;
+    private final static int mExportReduceIdx_my_MyStruct_bool_0 = 876;
     // ain1 = "/* struct <> */ a"
     // ain2 = "bool b"
     public result_int reduce_my_MyStruct_bool_0(Allocation ain1, Allocation ain2) {
@@ -55458,11 +55458,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_bool_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_bool_1 = 877;
+    private final static int mExportReduceIdx_my_MyStruct_bool_1 = 877;
     // ain1 = "/* struct <> */ a"
     // ain2 = "bool b"
     public result_int reduce_my_MyStruct_bool_1(Allocation ain1, Allocation ain2) {
@@ -55495,11 +55495,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_bool_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_rs_matrix2x2_0 = 878;
+    private final static int mExportReduceIdx_my_MyStruct_rs_matrix2x2_0 = 878;
     // ain1 = "/* struct <> */ a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_MyStruct_rs_matrix2x2_0(Allocation ain1, Allocation ain2) {
@@ -55529,11 +55529,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_rs_matrix2x2_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_rs_matrix2x2_1 = 879;
+    private final static int mExportReduceIdx_my_MyStruct_rs_matrix2x2_1 = 879;
     // ain1 = "/* struct <> */ a"
     // ain2 = "rs_matrix2x2 b"
     public result_int reduce_my_MyStruct_rs_matrix2x2_1(Allocation ain1, Allocation ain2) {
@@ -55563,11 +55563,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_rs_matrix2x2_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_MyStruct_0 = 880;
+    private final static int mExportReduceIdx_my_MyStruct_MyStruct_0 = 880;
     // ain1 = "/* struct <> */ a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_MyStruct_MyStruct_0(Allocation ain1, Allocation ain2) {
@@ -55600,11 +55600,11 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_MyStruct_0, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_MyStruct_MyStruct_1 = 881;
+    private final static int mExportReduceIdx_my_MyStruct_MyStruct_1 = 881;
     // ain1 = "/* struct <> */ a"
     // ain2 = "/* struct <> */ b"
     public result_int reduce_my_MyStruct_MyStruct_1(Allocation ain1, Allocation ain2) {
@@ -55637,7 +55637,7 @@
 
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_MyStruct_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
+        reduce(mExportReduceIdx_my_MyStruct_MyStruct_1, new Allocation[]{ain1, ain2}, aout, sc);
         return new result_int(aout);
     }
 
diff --git a/tests/P_reduce_general_result/ScriptC_reduce_general_result.java.expect b/tests/P_reduce_general_result/ScriptC_reduce_general_result.java.expect
index 49ca526..c1bd6d5 100644
--- a/tests/P_reduce_general_result/ScriptC_reduce_general_result.java.expect
+++ b/tests/P_reduce_general_result/ScriptC_reduce_general_result.java.expect
@@ -2712,7 +2712,7 @@
         private Int4 mResult;
     }
 
-    private final static int mExportReduceNewIdx_my_half = 0;
+    private final static int mExportReduceIdx_my_half = 0;
     // in1 = "val"
     public result_half reduce_my_half(short[] in1) {
         // Verify that "in1" is non-null.
@@ -2741,11 +2741,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F16, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half, new Allocation[]{ain1}, aout, sc);
         return new result_half(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half2 = 1;
+    private final static int mExportReduceIdx_my_half2 = 1;
     // in1 = "val", flattened 2-vectors
     public result_half2 reduce_my_half2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -2778,11 +2778,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F16_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half2, new Allocation[]{ain1}, aout, sc);
         return new result_half2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_half4 = 2;
+    private final static int mExportReduceIdx_my_half4 = 2;
     // in1 = "val", flattened 4-vectors
     public result_half4 reduce_my_half4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -2815,11 +2815,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F16_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_half4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_half4, new Allocation[]{ain1}, aout, sc);
         return new result_half4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_half = 3;
+    private final static int mExportReduceIdx_my_array_half = 3;
     // in1 = "val"
     public resultArray7_half reduce_my_array_half(short[] in1) {
         // Verify that "in1" is non-null.
@@ -2848,11 +2848,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F16, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_half, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_half, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_half(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_half2 = 4;
+    private final static int mExportReduceIdx_my_array_half2 = 4;
     // in1 = "val", flattened 2-vectors
     public resultArray7_half2 reduce_my_array_half2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -2885,11 +2885,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F16_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_half2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_half2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_half2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_half4 = 5;
+    private final static int mExportReduceIdx_my_array_half4 = 5;
     // in1 = "val", flattened 4-vectors
     public resultArray7_half4 reduce_my_array_half4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -2922,11 +2922,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F16_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_half4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_half4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_half4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float = 6;
+    private final static int mExportReduceIdx_my_float = 6;
     // in1 = "val"
     public result_float reduce_my_float(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2955,11 +2955,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float, new Allocation[]{ain1}, aout, sc);
         return new result_float(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float2 = 7;
+    private final static int mExportReduceIdx_my_float2 = 7;
     // in1 = "val", flattened 2-vectors
     public result_float2 reduce_my_float2(float[] in1) {
         // Verify that "in1" is non-null.
@@ -2992,11 +2992,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F32_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float2, new Allocation[]{ain1}, aout, sc);
         return new result_float2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_float4 = 8;
+    private final static int mExportReduceIdx_my_float4 = 8;
     // in1 = "val", flattened 4-vectors
     public result_float4 reduce_my_float4(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3029,11 +3029,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F32_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_float4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_float4, new Allocation[]{ain1}, aout, sc);
         return new result_float4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_float = 9;
+    private final static int mExportReduceIdx_my_array_float = 9;
     // in1 = "val"
     public resultArray7_float reduce_my_array_float(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3062,11 +3062,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F32, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_float, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_float, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_float(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_float2 = 10;
+    private final static int mExportReduceIdx_my_array_float2 = 10;
     // in1 = "val", flattened 2-vectors
     public resultArray7_float2 reduce_my_array_float2(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3099,11 +3099,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F32_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_float2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_float2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_float2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_float4 = 11;
+    private final static int mExportReduceIdx_my_array_float4 = 11;
     // in1 = "val", flattened 4-vectors
     public resultArray7_float4 reduce_my_array_float4(float[] in1) {
         // Verify that "in1" is non-null.
@@ -3136,11 +3136,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F32_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_float4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_float4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_float4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double = 12;
+    private final static int mExportReduceIdx_my_double = 12;
     // in1 = "val"
     public result_double reduce_my_double(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3169,11 +3169,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F64, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double, new Allocation[]{ain1}, aout, sc);
         return new result_double(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double2 = 13;
+    private final static int mExportReduceIdx_my_double2 = 13;
     // in1 = "val", flattened 2-vectors
     public result_double2 reduce_my_double2(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3206,11 +3206,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F64_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double2, new Allocation[]{ain1}, aout, sc);
         return new result_double2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_double4 = 14;
+    private final static int mExportReduceIdx_my_double4 = 14;
     // in1 = "val", flattened 4-vectors
     public result_double4 reduce_my_double4(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3243,11 +3243,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F64_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_double4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_double4, new Allocation[]{ain1}, aout, sc);
         return new result_double4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_double = 15;
+    private final static int mExportReduceIdx_my_array_double = 15;
     // in1 = "val"
     public resultArray7_double reduce_my_array_double(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3276,11 +3276,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F64, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_double, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_double, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_double(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_double2 = 16;
+    private final static int mExportReduceIdx_my_array_double2 = 16;
     // in1 = "val", flattened 2-vectors
     public resultArray7_double2 reduce_my_array_double2(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3313,11 +3313,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F64_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_double2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_double2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_double2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_double4 = 17;
+    private final static int mExportReduceIdx_my_array_double4 = 17;
     // in1 = "val", flattened 4-vectors
     public resultArray7_double4 reduce_my_array_double4(double[] in1) {
         // Verify that "in1" is non-null.
@@ -3350,11 +3350,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __F64_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_double4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_double4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_double4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char = 18;
+    private final static int mExportReduceIdx_my_char = 18;
     // in1 = "val"
     public result_char reduce_my_char(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -3383,11 +3383,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I8, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char, new Allocation[]{ain1}, aout, sc);
         return new result_char(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char2 = 19;
+    private final static int mExportReduceIdx_my_char2 = 19;
     // in1 = "val", flattened 2-vectors
     public result_char2 reduce_my_char2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -3420,11 +3420,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I8_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char2, new Allocation[]{ain1}, aout, sc);
         return new result_char2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_char4 = 20;
+    private final static int mExportReduceIdx_my_char4 = 20;
     // in1 = "val", flattened 4-vectors
     public result_char4 reduce_my_char4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -3457,11 +3457,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I8_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_char4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_char4, new Allocation[]{ain1}, aout, sc);
         return new result_char4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_char = 21;
+    private final static int mExportReduceIdx_my_array_char = 21;
     // in1 = "val"
     public resultArray7_char reduce_my_array_char(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -3490,11 +3490,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I8, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_char, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_char, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_char(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_char2 = 22;
+    private final static int mExportReduceIdx_my_array_char2 = 22;
     // in1 = "val", flattened 2-vectors
     public resultArray7_char2 reduce_my_array_char2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -3527,11 +3527,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I8_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_char2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_char2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_char2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_char4 = 23;
+    private final static int mExportReduceIdx_my_array_char4 = 23;
     // in1 = "val", flattened 4-vectors
     public resultArray7_char4 reduce_my_array_char4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -3564,11 +3564,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I8_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_char4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_char4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_char4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short = 24;
+    private final static int mExportReduceIdx_my_short = 24;
     // in1 = "val"
     public result_short reduce_my_short(short[] in1) {
         // Verify that "in1" is non-null.
@@ -3597,11 +3597,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I16, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short, new Allocation[]{ain1}, aout, sc);
         return new result_short(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short2 = 25;
+    private final static int mExportReduceIdx_my_short2 = 25;
     // in1 = "val", flattened 2-vectors
     public result_short2 reduce_my_short2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -3634,11 +3634,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I16_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short2, new Allocation[]{ain1}, aout, sc);
         return new result_short2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_short4 = 26;
+    private final static int mExportReduceIdx_my_short4 = 26;
     // in1 = "val", flattened 4-vectors
     public result_short4 reduce_my_short4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -3671,11 +3671,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I16_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_short4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_short4, new Allocation[]{ain1}, aout, sc);
         return new result_short4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_short = 27;
+    private final static int mExportReduceIdx_my_array_short = 27;
     // in1 = "val"
     public resultArray7_short reduce_my_array_short(short[] in1) {
         // Verify that "in1" is non-null.
@@ -3704,11 +3704,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I16, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_short, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_short, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_short(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_short2 = 28;
+    private final static int mExportReduceIdx_my_array_short2 = 28;
     // in1 = "val", flattened 2-vectors
     public resultArray7_short2 reduce_my_array_short2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -3741,11 +3741,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I16_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_short2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_short2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_short2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_short4 = 29;
+    private final static int mExportReduceIdx_my_array_short4 = 29;
     // in1 = "val", flattened 4-vectors
     public resultArray7_short4 reduce_my_array_short4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -3778,11 +3778,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I16_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_short4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_short4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_short4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int = 30;
+    private final static int mExportReduceIdx_my_int = 30;
     // in1 = "val"
     public result_int reduce_my_int(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3811,11 +3811,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int2 = 31;
+    private final static int mExportReduceIdx_my_int2 = 31;
     // in1 = "val", flattened 2-vectors
     public result_int2 reduce_my_int2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3848,11 +3848,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int2, new Allocation[]{ain1}, aout, sc);
         return new result_int2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_int4 = 32;
+    private final static int mExportReduceIdx_my_int4 = 32;
     // in1 = "val", flattened 4-vectors
     public result_int4 reduce_my_int4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3885,11 +3885,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_int4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_int4, new Allocation[]{ain1}, aout, sc);
         return new result_int4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_int = 33;
+    private final static int mExportReduceIdx_my_array_int = 33;
     // in1 = "val"
     public resultArray7_int reduce_my_array_int(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3918,11 +3918,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_int, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_int, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_int(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_int2 = 34;
+    private final static int mExportReduceIdx_my_array_int2 = 34;
     // in1 = "val", flattened 2-vectors
     public resultArray7_int2 reduce_my_array_int2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3955,11 +3955,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_int2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_int2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_int2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_int4 = 35;
+    private final static int mExportReduceIdx_my_array_int4 = 35;
     // in1 = "val", flattened 4-vectors
     public resultArray7_int4 reduce_my_array_int4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -3992,11 +3992,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_int4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_int4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_int4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long = 36;
+    private final static int mExportReduceIdx_my_long = 36;
     // in1 = "val"
     public result_long reduce_my_long(long[] in1) {
         // Verify that "in1" is non-null.
@@ -4025,11 +4025,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I64, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long, new Allocation[]{ain1}, aout, sc);
         return new result_long(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long2 = 37;
+    private final static int mExportReduceIdx_my_long2 = 37;
     // in1 = "val", flattened 2-vectors
     public result_long2 reduce_my_long2(long[] in1) {
         // Verify that "in1" is non-null.
@@ -4062,11 +4062,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I64_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long2, new Allocation[]{ain1}, aout, sc);
         return new result_long2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_long4 = 38;
+    private final static int mExportReduceIdx_my_long4 = 38;
     // in1 = "val", flattened 4-vectors
     public result_long4 reduce_my_long4(long[] in1) {
         // Verify that "in1" is non-null.
@@ -4099,11 +4099,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I64_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_long4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_long4, new Allocation[]{ain1}, aout, sc);
         return new result_long4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_long = 39;
+    private final static int mExportReduceIdx_my_array_long = 39;
     // in1 = "val"
     public resultArray7_long reduce_my_array_long(long[] in1) {
         // Verify that "in1" is non-null.
@@ -4132,11 +4132,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I64, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_long, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_long, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_long(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_long2 = 40;
+    private final static int mExportReduceIdx_my_array_long2 = 40;
     // in1 = "val", flattened 2-vectors
     public resultArray7_long2 reduce_my_array_long2(long[] in1) {
         // Verify that "in1" is non-null.
@@ -4169,11 +4169,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I64_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_long2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_long2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_long2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_long4 = 41;
+    private final static int mExportReduceIdx_my_array_long4 = 41;
     // in1 = "val", flattened 4-vectors
     public resultArray7_long4 reduce_my_array_long4(long[] in1) {
         // Verify that "in1" is non-null.
@@ -4206,11 +4206,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I64_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_long4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_long4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_long4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar = 42;
+    private final static int mExportReduceIdx_my_uchar = 42;
     // in1 = "val"
     public result_uchar reduce_my_uchar(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -4239,11 +4239,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U8, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar, new Allocation[]{ain1}, aout, sc);
         return new result_uchar(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar2 = 43;
+    private final static int mExportReduceIdx_my_uchar2 = 43;
     // in1 = "val", flattened 2-vectors
     public result_uchar2 reduce_my_uchar2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -4276,11 +4276,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U8_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar2, new Allocation[]{ain1}, aout, sc);
         return new result_uchar2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uchar4 = 44;
+    private final static int mExportReduceIdx_my_uchar4 = 44;
     // in1 = "val", flattened 4-vectors
     public result_uchar4 reduce_my_uchar4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -4313,11 +4313,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U8_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uchar4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uchar4, new Allocation[]{ain1}, aout, sc);
         return new result_uchar4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uchar = 45;
+    private final static int mExportReduceIdx_my_array_uchar = 45;
     // in1 = "val"
     public resultArray7_uchar reduce_my_array_uchar(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -4346,11 +4346,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U8, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uchar, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uchar, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_uchar(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uchar2 = 46;
+    private final static int mExportReduceIdx_my_array_uchar2 = 46;
     // in1 = "val", flattened 2-vectors
     public resultArray7_uchar2 reduce_my_array_uchar2(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -4383,11 +4383,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U8_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uchar2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uchar2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_uchar2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uchar4 = 47;
+    private final static int mExportReduceIdx_my_array_uchar4 = 47;
     // in1 = "val", flattened 4-vectors
     public resultArray7_uchar4 reduce_my_array_uchar4(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -4420,11 +4420,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U8_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uchar4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uchar4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_uchar4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort = 48;
+    private final static int mExportReduceIdx_my_ushort = 48;
     // in1 = "val"
     public result_ushort reduce_my_ushort(short[] in1) {
         // Verify that "in1" is non-null.
@@ -4453,11 +4453,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U16, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort, new Allocation[]{ain1}, aout, sc);
         return new result_ushort(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort2 = 49;
+    private final static int mExportReduceIdx_my_ushort2 = 49;
     // in1 = "val", flattened 2-vectors
     public result_ushort2 reduce_my_ushort2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -4490,11 +4490,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U16_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort2, new Allocation[]{ain1}, aout, sc);
         return new result_ushort2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ushort4 = 50;
+    private final static int mExportReduceIdx_my_ushort4 = 50;
     // in1 = "val", flattened 4-vectors
     public result_ushort4 reduce_my_ushort4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -4527,11 +4527,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U16_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ushort4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ushort4, new Allocation[]{ain1}, aout, sc);
         return new result_ushort4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ushort = 51;
+    private final static int mExportReduceIdx_my_array_ushort = 51;
     // in1 = "val"
     public resultArray7_ushort reduce_my_array_ushort(short[] in1) {
         // Verify that "in1" is non-null.
@@ -4560,11 +4560,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U16, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ushort, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ushort, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_ushort(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ushort2 = 52;
+    private final static int mExportReduceIdx_my_array_ushort2 = 52;
     // in1 = "val", flattened 2-vectors
     public resultArray7_ushort2 reduce_my_array_ushort2(short[] in1) {
         // Verify that "in1" is non-null.
@@ -4597,11 +4597,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U16_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ushort2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ushort2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_ushort2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ushort4 = 53;
+    private final static int mExportReduceIdx_my_array_ushort4 = 53;
     // in1 = "val", flattened 4-vectors
     public resultArray7_ushort4 reduce_my_array_ushort4(short[] in1) {
         // Verify that "in1" is non-null.
@@ -4634,11 +4634,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U16_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ushort4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ushort4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_ushort4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint = 54;
+    private final static int mExportReduceIdx_my_uint = 54;
     // in1 = "val"
     public result_uint reduce_my_uint(int[] in1) {
         // Verify that "in1" is non-null.
@@ -4667,11 +4667,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint, new Allocation[]{ain1}, aout, sc);
         return new result_uint(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint2 = 55;
+    private final static int mExportReduceIdx_my_uint2 = 55;
     // in1 = "val", flattened 2-vectors
     public result_uint2 reduce_my_uint2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -4704,11 +4704,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U32_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint2, new Allocation[]{ain1}, aout, sc);
         return new result_uint2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_uint4 = 56;
+    private final static int mExportReduceIdx_my_uint4 = 56;
     // in1 = "val", flattened 4-vectors
     public result_uint4 reduce_my_uint4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -4741,11 +4741,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U32_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_uint4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_uint4, new Allocation[]{ain1}, aout, sc);
         return new result_uint4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uint = 57;
+    private final static int mExportReduceIdx_my_array_uint = 57;
     // in1 = "val"
     public resultArray7_uint reduce_my_array_uint(int[] in1) {
         // Verify that "in1" is non-null.
@@ -4774,11 +4774,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U32, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uint, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uint, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_uint(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uint2 = 58;
+    private final static int mExportReduceIdx_my_array_uint2 = 58;
     // in1 = "val", flattened 2-vectors
     public resultArray7_uint2 reduce_my_array_uint2(int[] in1) {
         // Verify that "in1" is non-null.
@@ -4811,11 +4811,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U32_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uint2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uint2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_uint2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_uint4 = 59;
+    private final static int mExportReduceIdx_my_array_uint4 = 59;
     // in1 = "val", flattened 4-vectors
     public resultArray7_uint4 reduce_my_array_uint4(int[] in1) {
         // Verify that "in1" is non-null.
@@ -4848,11 +4848,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U32_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_uint4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_uint4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_uint4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong = 60;
+    private final static int mExportReduceIdx_my_ulong = 60;
     // in1 = "val"
     public result_ulong reduce_my_ulong(long[] in1) {
         // Verify that "in1" is non-null.
@@ -4881,11 +4881,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U64, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong, new Allocation[]{ain1}, aout, sc);
         return new result_ulong(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong2 = 61;
+    private final static int mExportReduceIdx_my_ulong2 = 61;
     // in1 = "val", flattened 2-vectors
     public result_ulong2 reduce_my_ulong2(long[] in1) {
         // Verify that "in1" is non-null.
@@ -4918,11 +4918,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U64_2, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong2, new Allocation[]{ain1}, aout, sc);
         return new result_ulong2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_ulong4 = 62;
+    private final static int mExportReduceIdx_my_ulong4 = 62;
     // in1 = "val", flattened 4-vectors
     public result_ulong4 reduce_my_ulong4(long[] in1) {
         // Verify that "in1" is non-null.
@@ -4955,11 +4955,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U64_4, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_ulong4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_ulong4, new Allocation[]{ain1}, aout, sc);
         return new result_ulong4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ulong = 63;
+    private final static int mExportReduceIdx_my_array_ulong = 63;
     // in1 = "val"
     public resultArray7_ulong reduce_my_array_ulong(long[] in1) {
         // Verify that "in1" is non-null.
@@ -4988,11 +4988,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U64, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ulong, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ulong, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_ulong(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ulong2 = 64;
+    private final static int mExportReduceIdx_my_array_ulong2 = 64;
     // in1 = "val", flattened 2-vectors
     public resultArray7_ulong2 reduce_my_array_ulong2(long[] in1) {
         // Verify that "in1" is non-null.
@@ -5025,11 +5025,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U64_2, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ulong2, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ulong2, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_ulong2(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_ulong4 = 65;
+    private final static int mExportReduceIdx_my_array_ulong4 = 65;
     // in1 = "val", flattened 4-vectors
     public resultArray7_ulong4 reduce_my_array_ulong4(long[] in1) {
         // Verify that "in1" is non-null.
@@ -5062,11 +5062,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __U64_4, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_ulong4, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_ulong4, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_ulong4(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_bool = 66;
+    private final static int mExportReduceIdx_my_bool = 66;
     // in1 = "val"
     public result_bool reduce_my_bool(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5095,11 +5095,11 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __BOOLEAN, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_bool, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_bool, new Allocation[]{ain1}, aout, sc);
         return new result_bool(aout);
     }
 
-    private final static int mExportReduceNewIdx_my_array_bool = 67;
+    private final static int mExportReduceIdx_my_array_bool = 67;
     // in1 = "val"
     public resultArray7_bool reduce_my_array_bool(byte[] in1) {
         // Verify that "in1" is non-null.
@@ -5128,7 +5128,7 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __BOOLEAN, 7);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_my_array_bool, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_my_array_bool, new Allocation[]{ain1}, aout, sc);
         return new resultArray7_bool(aout);
     }
 
diff --git a/tests/P_reduce_general_struct/ScriptC_reduce_general_struct.java.expect b/tests/P_reduce_general_struct/ScriptC_reduce_general_struct.java.expect
index 3545371..983ea39 100644
--- a/tests/P_reduce_general_struct/ScriptC_reduce_general_struct.java.expect
+++ b/tests/P_reduce_general_struct/ScriptC_reduce_general_struct.java.expect
@@ -79,7 +79,7 @@
         private int mResult;
     }
 
-    private final static int mExportReduceNewIdx_inStruct = 0;
+    private final static int mExportReduceIdx_inStruct = 0;
     // ain1 = "/* struct <> */ val"
     public result_int reduce_inStruct(Allocation ain1) {
         return reduce_inStruct(ain1, null);
@@ -93,7 +93,7 @@
         }
         Allocation aout = Allocation.createSized(mRSLocal, __I32, 1);
         aout.setAutoPadding(true);
-        reduce(mExportReduceNewIdx_inStruct, new Allocation[]{ain1}, aout, sc);
+        reduce(mExportReduceIdx_inStruct, new Allocation[]{ain1}, aout, sc);
         return new result_int(aout);
     }
 
diff --git a/tests/P_reduce_ignore_cv/reduce_ignore_cv.rs b/tests/P_reduce_ignore_cv/reduce_ignore_cv.rs
deleted file mode 100644
index 0a055ca..0000000
--- a/tests/P_reduce_ignore_cv/reduce_ignore_cv.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// -target-api 0
-#pragma version(1)
-#pragma rs java_package_name(foo)
-
-typedef struct foo {
-  int x[10];
-} foo;
-
-foo __attribute__((kernel("reduce"))) add_foo_a(const foo a, const foo b) {
-  foo tmp = a;
-  for (int i = 0; i < 10; ++i)
-    tmp.x[i] += b.x[i];
-  return tmp;
-}
-
diff --git a/tests/P_reduce_ignore_cv/stderr.txt.expect b/tests/P_reduce_ignore_cv/stderr.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/P_reduce_ignore_cv/stderr.txt.expect
+++ /dev/null
diff --git a/tests/P_reduce_ignore_cv/stdout.txt.expect b/tests/P_reduce_ignore_cv/stdout.txt.expect
deleted file mode 100644
index e69de29..0000000
--- a/tests/P_reduce_ignore_cv/stdout.txt.expect
+++ /dev/null