diff --git a/tests/P_all_api_11/all11.rs b/tests/P_all_api_11/all11.rs
index bc1e5f5..1653d23 100644
--- a/tests/P_all_api_11/all11.rs
+++ b/tests/P_all_api_11/all11.rs
@@ -2335,6 +2335,24 @@
 char buf2310[200];
 char buf2311[200];
 char buf2312[200];
+char buf2313[200];
+char buf2314[200];
+char buf2315[200];
+char buf2316[200];
+char buf2317[200];
+char buf2318[200];
+char buf2319[200];
+char buf2320[200];
+char buf2321[200];
+char buf2322[200];
+char buf2323[200];
+char buf2324[200];
+char buf2325[200];
+char buf2326[200];
+char buf2327[200];
+char buf2328[200];
+char buf2329[200];
+char buf2330[200];
 
 void root(const int* in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -2734,539 +2752,545 @@
     *(float2*)buf886 = max(*(float2*)buf887, *(float2*)buf888);
     *(float3*)buf889 = max(*(float3*)buf890, *(float3*)buf891);
     *(float4*)buf892 = max(*(float4*)buf893, *(float4*)buf894);
-    *(char*)buf895 = max(*(char*)buf896, *(char*)buf897);
-    *(uchar*)buf898 = max(*(uchar*)buf899, *(uchar*)buf900);
-    *(short*)buf901 = max(*(short*)buf902, *(short*)buf903);
-    *(ushort*)buf904 = max(*(ushort*)buf905, *(ushort*)buf906);
-    *(int*)buf907 = max(*(int*)buf908, *(int*)buf909);
-    *(uint*)buf910 = max(*(uint*)buf911, *(uint*)buf912);
-    *(char2*)buf913 = max(*(char2*)buf914, *(char2*)buf915);
-    *(uchar2*)buf916 = max(*(uchar2*)buf917, *(uchar2*)buf918);
-    *(short2*)buf919 = max(*(short2*)buf920, *(short2*)buf921);
-    *(ushort2*)buf922 = max(*(ushort2*)buf923, *(ushort2*)buf924);
-    *(int2*)buf925 = max(*(int2*)buf926, *(int2*)buf927);
-    *(uint2*)buf928 = max(*(uint2*)buf929, *(uint2*)buf930);
-    *(char3*)buf931 = max(*(char3*)buf932, *(char3*)buf933);
-    *(uchar3*)buf934 = max(*(uchar3*)buf935, *(uchar3*)buf936);
-    *(short3*)buf937 = max(*(short3*)buf938, *(short3*)buf939);
-    *(ushort3*)buf940 = max(*(ushort3*)buf941, *(ushort3*)buf942);
-    *(int3*)buf943 = max(*(int3*)buf944, *(int3*)buf945);
-    *(uint3*)buf946 = max(*(uint3*)buf947, *(uint3*)buf948);
-    *(char4*)buf949 = max(*(char4*)buf950, *(char4*)buf951);
-    *(uchar4*)buf952 = max(*(uchar4*)buf953, *(uchar4*)buf954);
-    *(short4*)buf955 = max(*(short4*)buf956, *(short4*)buf957);
-    *(ushort4*)buf958 = max(*(ushort4*)buf959, *(ushort4*)buf960);
-    *(int4*)buf961 = max(*(int4*)buf962, *(int4*)buf963);
-    *(uint4*)buf964 = max(*(uint4*)buf965, *(uint4*)buf966);
-    *(float*)buf967 = min(*(float*)buf968, *(float*)buf969);
-    *(float2*)buf970 = min(*(float2*)buf971, *(float2*)buf972);
-    *(float3*)buf973 = min(*(float3*)buf974, *(float3*)buf975);
-    *(float4*)buf976 = min(*(float4*)buf977, *(float4*)buf978);
-    *(char*)buf979 = min(*(char*)buf980, *(char*)buf981);
-    *(uchar*)buf982 = min(*(uchar*)buf983, *(uchar*)buf984);
-    *(short*)buf985 = min(*(short*)buf986, *(short*)buf987);
-    *(ushort*)buf988 = min(*(ushort*)buf989, *(ushort*)buf990);
-    *(int*)buf991 = min(*(int*)buf992, *(int*)buf993);
-    *(uint*)buf994 = min(*(uint*)buf995, *(uint*)buf996);
-    *(char2*)buf997 = min(*(char2*)buf998, *(char2*)buf999);
-    *(uchar2*)buf1000 = min(*(uchar2*)buf1001, *(uchar2*)buf1002);
-    *(short2*)buf1003 = min(*(short2*)buf1004, *(short2*)buf1005);
-    *(ushort2*)buf1006 = min(*(ushort2*)buf1007, *(ushort2*)buf1008);
-    *(int2*)buf1009 = min(*(int2*)buf1010, *(int2*)buf1011);
-    *(uint2*)buf1012 = min(*(uint2*)buf1013, *(uint2*)buf1014);
-    *(char3*)buf1015 = min(*(char3*)buf1016, *(char3*)buf1017);
-    *(uchar3*)buf1018 = min(*(uchar3*)buf1019, *(uchar3*)buf1020);
-    *(short3*)buf1021 = min(*(short3*)buf1022, *(short3*)buf1023);
-    *(ushort3*)buf1024 = min(*(ushort3*)buf1025, *(ushort3*)buf1026);
-    *(int3*)buf1027 = min(*(int3*)buf1028, *(int3*)buf1029);
-    *(uint3*)buf1030 = min(*(uint3*)buf1031, *(uint3*)buf1032);
-    *(char4*)buf1033 = min(*(char4*)buf1034, *(char4*)buf1035);
-    *(uchar4*)buf1036 = min(*(uchar4*)buf1037, *(uchar4*)buf1038);
-    *(short4*)buf1039 = min(*(short4*)buf1040, *(short4*)buf1041);
-    *(ushort4*)buf1042 = min(*(ushort4*)buf1043, *(ushort4*)buf1044);
-    *(int4*)buf1045 = min(*(int4*)buf1046, *(int4*)buf1047);
-    *(uint4*)buf1048 = min(*(uint4*)buf1049, *(uint4*)buf1050);
-    *(float*)buf1051 = mix(*(float*)buf1052, *(float*)buf1053, *(float*)buf1054);
-    *(float2*)buf1055 = mix(*(float2*)buf1056, *(float2*)buf1057, *(float2*)buf1058);
-    *(float3*)buf1059 = mix(*(float3*)buf1060, *(float3*)buf1061, *(float3*)buf1062);
-    *(float4*)buf1063 = mix(*(float4*)buf1064, *(float4*)buf1065, *(float4*)buf1066);
-    *(float2*)buf1067 = mix(*(float2*)buf1068, *(float2*)buf1069, *(float*)buf1070);
-    *(float3*)buf1071 = mix(*(float3*)buf1072, *(float3*)buf1073, *(float*)buf1074);
-    *(float4*)buf1075 = mix(*(float4*)buf1076, *(float4*)buf1077, *(float*)buf1078);
-    *(float*)buf1079 = modf(*(float*)buf1080, (float*) buf1081);
-    *(float2*)buf1082 = modf(*(float2*)buf1083, (float2*) buf1084);
-    *(float3*)buf1085 = modf(*(float3*)buf1086, (float3*) buf1087);
-    *(float4*)buf1088 = modf(*(float4*)buf1089, (float4*) buf1090);
-    *(float*)buf1091 = nan(*(uint*)buf1092);
-    *(float*)buf1093 = nextafter(*(float*)buf1094, *(float*)buf1095);
-    *(float2*)buf1096 = nextafter(*(float2*)buf1097, *(float2*)buf1098);
-    *(float3*)buf1099 = nextafter(*(float3*)buf1100, *(float3*)buf1101);
-    *(float4*)buf1102 = nextafter(*(float4*)buf1103, *(float4*)buf1104);
-    *(float*)buf1105 = normalize(*(float*)buf1106);
-    *(float2*)buf1107 = normalize(*(float2*)buf1108);
-    *(float3*)buf1109 = normalize(*(float3*)buf1110);
-    *(float4*)buf1111 = normalize(*(float4*)buf1112);
-    *(float*)buf1113 = pow(*(float*)buf1114, *(float*)buf1115);
-    *(float2*)buf1116 = pow(*(float2*)buf1117, *(float2*)buf1118);
-    *(float3*)buf1119 = pow(*(float3*)buf1120, *(float3*)buf1121);
-    *(float4*)buf1122 = pow(*(float4*)buf1123, *(float4*)buf1124);
-    *(float*)buf1125 = pown(*(float*)buf1126, *(int*)buf1127);
-    *(float2*)buf1128 = pown(*(float2*)buf1129, *(int2*)buf1130);
-    *(float3*)buf1131 = pown(*(float3*)buf1132, *(int3*)buf1133);
-    *(float4*)buf1134 = pown(*(float4*)buf1135, *(int4*)buf1136);
-    *(float*)buf1137 = powr(*(float*)buf1138, *(float*)buf1139);
-    *(float2*)buf1140 = powr(*(float2*)buf1141, *(float2*)buf1142);
-    *(float3*)buf1143 = powr(*(float3*)buf1144, *(float3*)buf1145);
-    *(float4*)buf1146 = powr(*(float4*)buf1147, *(float4*)buf1148);
-    *(float*)buf1149 = radians(*(float*)buf1150);
-    *(float2*)buf1151 = radians(*(float2*)buf1152);
-    *(float3*)buf1153 = radians(*(float3*)buf1154);
-    *(float4*)buf1155 = radians(*(float4*)buf1156);
-    *(float*)buf1157 = remainder(*(float*)buf1158, *(float*)buf1159);
-    *(float2*)buf1160 = remainder(*(float2*)buf1161, *(float2*)buf1162);
-    *(float3*)buf1163 = remainder(*(float3*)buf1164, *(float3*)buf1165);
-    *(float4*)buf1166 = remainder(*(float4*)buf1167, *(float4*)buf1168);
-    *(float*)buf1169 = remquo(*(float*)buf1170, *(float*)buf1171, (int*) buf1172);
-    *(float2*)buf1173 = remquo(*(float2*)buf1174, *(float2*)buf1175, (int2*) buf1176);
-    *(float3*)buf1177 = remquo(*(float3*)buf1178, *(float3*)buf1179, (int3*) buf1180);
-    *(float4*)buf1181 = remquo(*(float4*)buf1182, *(float4*)buf1183, (int4*) buf1184);
-    *(float*)buf1185 = rint(*(float*)buf1186);
-    *(float2*)buf1187 = rint(*(float2*)buf1188);
-    *(float3*)buf1189 = rint(*(float3*)buf1190);
-    *(float4*)buf1191 = rint(*(float4*)buf1192);
-    *(float*)buf1193 = rootn(*(float*)buf1194, *(int*)buf1195);
-    *(float2*)buf1196 = rootn(*(float2*)buf1197, *(int2*)buf1198);
-    *(float3*)buf1199 = rootn(*(float3*)buf1200, *(int3*)buf1201);
-    *(float4*)buf1202 = rootn(*(float4*)buf1203, *(int4*)buf1204);
-    *(float*)buf1205 = round(*(float*)buf1206);
-    *(float2*)buf1207 = round(*(float2*)buf1208);
-    *(float3*)buf1209 = round(*(float3*)buf1210);
-    *(float4*)buf1211 = round(*(float4*)buf1212);
-    *(uint32_t*)buf1213 = rsAllocationGetDimFaces(*(rs_allocation*)buf1214);
-    *(uint32_t*)buf1215 = rsAllocationGetDimLOD(*(rs_allocation*)buf1216);
-    *(uint32_t*)buf1217 = rsAllocationGetDimX(*(rs_allocation*)buf1218);
-    *(uint32_t*)buf1219 = rsAllocationGetDimY(*(rs_allocation*)buf1220);
-    *(uint32_t*)buf1221 = rsAllocationGetDimZ(*(rs_allocation*)buf1222);
-    *(rs_element*)buf1223 = rsAllocationGetElement(*(rs_allocation*)buf1224);
-    *(char*)buf1225 = rsClamp(*(char*)buf1226, *(char*)buf1227, *(char*)buf1228);
-    *(uchar*)buf1229 = rsClamp(*(uchar*)buf1230, *(uchar*)buf1231, *(uchar*)buf1232);
-    *(short*)buf1233 = rsClamp(*(short*)buf1234, *(short*)buf1235, *(short*)buf1236);
-    *(ushort*)buf1237 = rsClamp(*(ushort*)buf1238, *(ushort*)buf1239, *(ushort*)buf1240);
-    *(int*)buf1241 = rsClamp(*(int*)buf1242, *(int*)buf1243, *(int*)buf1244);
-    *(uint*)buf1245 = rsClamp(*(uint*)buf1246, *(uint*)buf1247, *(uint*)buf1248);
-    rsClearObject((rs_element*) buf1249);
-    rsClearObject((rs_type*) buf1250);
-    rsClearObject((rs_allocation*) buf1251);
-    rsClearObject((rs_sampler*) buf1252);
-    rsClearObject((rs_script*) buf1253);
+    *(float2*)buf895 = max(*(float2*)buf896, *(float*)buf897);
+    *(float3*)buf898 = max(*(float3*)buf899, *(float*)buf900);
+    *(float4*)buf901 = max(*(float4*)buf902, *(float*)buf903);
+    *(char*)buf904 = max(*(char*)buf905, *(char*)buf906);
+    *(uchar*)buf907 = max(*(uchar*)buf908, *(uchar*)buf909);
+    *(short*)buf910 = max(*(short*)buf911, *(short*)buf912);
+    *(ushort*)buf913 = max(*(ushort*)buf914, *(ushort*)buf915);
+    *(int*)buf916 = max(*(int*)buf917, *(int*)buf918);
+    *(uint*)buf919 = max(*(uint*)buf920, *(uint*)buf921);
+    *(char2*)buf922 = max(*(char2*)buf923, *(char2*)buf924);
+    *(uchar2*)buf925 = max(*(uchar2*)buf926, *(uchar2*)buf927);
+    *(short2*)buf928 = max(*(short2*)buf929, *(short2*)buf930);
+    *(ushort2*)buf931 = max(*(ushort2*)buf932, *(ushort2*)buf933);
+    *(int2*)buf934 = max(*(int2*)buf935, *(int2*)buf936);
+    *(uint2*)buf937 = max(*(uint2*)buf938, *(uint2*)buf939);
+    *(char3*)buf940 = max(*(char3*)buf941, *(char3*)buf942);
+    *(uchar3*)buf943 = max(*(uchar3*)buf944, *(uchar3*)buf945);
+    *(short3*)buf946 = max(*(short3*)buf947, *(short3*)buf948);
+    *(ushort3*)buf949 = max(*(ushort3*)buf950, *(ushort3*)buf951);
+    *(int3*)buf952 = max(*(int3*)buf953, *(int3*)buf954);
+    *(uint3*)buf955 = max(*(uint3*)buf956, *(uint3*)buf957);
+    *(char4*)buf958 = max(*(char4*)buf959, *(char4*)buf960);
+    *(uchar4*)buf961 = max(*(uchar4*)buf962, *(uchar4*)buf963);
+    *(short4*)buf964 = max(*(short4*)buf965, *(short4*)buf966);
+    *(ushort4*)buf967 = max(*(ushort4*)buf968, *(ushort4*)buf969);
+    *(int4*)buf970 = max(*(int4*)buf971, *(int4*)buf972);
+    *(uint4*)buf973 = max(*(uint4*)buf974, *(uint4*)buf975);
+    *(float*)buf976 = min(*(float*)buf977, *(float*)buf978);
+    *(float2*)buf979 = min(*(float2*)buf980, *(float2*)buf981);
+    *(float3*)buf982 = min(*(float3*)buf983, *(float3*)buf984);
+    *(float4*)buf985 = min(*(float4*)buf986, *(float4*)buf987);
+    *(float2*)buf988 = min(*(float2*)buf989, *(float*)buf990);
+    *(float3*)buf991 = min(*(float3*)buf992, *(float*)buf993);
+    *(float4*)buf994 = min(*(float4*)buf995, *(float*)buf996);
+    *(char*)buf997 = min(*(char*)buf998, *(char*)buf999);
+    *(uchar*)buf1000 = min(*(uchar*)buf1001, *(uchar*)buf1002);
+    *(short*)buf1003 = min(*(short*)buf1004, *(short*)buf1005);
+    *(ushort*)buf1006 = min(*(ushort*)buf1007, *(ushort*)buf1008);
+    *(int*)buf1009 = min(*(int*)buf1010, *(int*)buf1011);
+    *(uint*)buf1012 = min(*(uint*)buf1013, *(uint*)buf1014);
+    *(char2*)buf1015 = min(*(char2*)buf1016, *(char2*)buf1017);
+    *(uchar2*)buf1018 = min(*(uchar2*)buf1019, *(uchar2*)buf1020);
+    *(short2*)buf1021 = min(*(short2*)buf1022, *(short2*)buf1023);
+    *(ushort2*)buf1024 = min(*(ushort2*)buf1025, *(ushort2*)buf1026);
+    *(int2*)buf1027 = min(*(int2*)buf1028, *(int2*)buf1029);
+    *(uint2*)buf1030 = min(*(uint2*)buf1031, *(uint2*)buf1032);
+    *(char3*)buf1033 = min(*(char3*)buf1034, *(char3*)buf1035);
+    *(uchar3*)buf1036 = min(*(uchar3*)buf1037, *(uchar3*)buf1038);
+    *(short3*)buf1039 = min(*(short3*)buf1040, *(short3*)buf1041);
+    *(ushort3*)buf1042 = min(*(ushort3*)buf1043, *(ushort3*)buf1044);
+    *(int3*)buf1045 = min(*(int3*)buf1046, *(int3*)buf1047);
+    *(uint3*)buf1048 = min(*(uint3*)buf1049, *(uint3*)buf1050);
+    *(char4*)buf1051 = min(*(char4*)buf1052, *(char4*)buf1053);
+    *(uchar4*)buf1054 = min(*(uchar4*)buf1055, *(uchar4*)buf1056);
+    *(short4*)buf1057 = min(*(short4*)buf1058, *(short4*)buf1059);
+    *(ushort4*)buf1060 = min(*(ushort4*)buf1061, *(ushort4*)buf1062);
+    *(int4*)buf1063 = min(*(int4*)buf1064, *(int4*)buf1065);
+    *(uint4*)buf1066 = min(*(uint4*)buf1067, *(uint4*)buf1068);
+    *(float*)buf1069 = mix(*(float*)buf1070, *(float*)buf1071, *(float*)buf1072);
+    *(float2*)buf1073 = mix(*(float2*)buf1074, *(float2*)buf1075, *(float2*)buf1076);
+    *(float3*)buf1077 = mix(*(float3*)buf1078, *(float3*)buf1079, *(float3*)buf1080);
+    *(float4*)buf1081 = mix(*(float4*)buf1082, *(float4*)buf1083, *(float4*)buf1084);
+    *(float2*)buf1085 = mix(*(float2*)buf1086, *(float2*)buf1087, *(float*)buf1088);
+    *(float3*)buf1089 = mix(*(float3*)buf1090, *(float3*)buf1091, *(float*)buf1092);
+    *(float4*)buf1093 = mix(*(float4*)buf1094, *(float4*)buf1095, *(float*)buf1096);
+    *(float*)buf1097 = modf(*(float*)buf1098, (float*) buf1099);
+    *(float2*)buf1100 = modf(*(float2*)buf1101, (float2*) buf1102);
+    *(float3*)buf1103 = modf(*(float3*)buf1104, (float3*) buf1105);
+    *(float4*)buf1106 = modf(*(float4*)buf1107, (float4*) buf1108);
+    *(float*)buf1109 = nan(*(uint*)buf1110);
+    *(float*)buf1111 = nextafter(*(float*)buf1112, *(float*)buf1113);
+    *(float2*)buf1114 = nextafter(*(float2*)buf1115, *(float2*)buf1116);
+    *(float3*)buf1117 = nextafter(*(float3*)buf1118, *(float3*)buf1119);
+    *(float4*)buf1120 = nextafter(*(float4*)buf1121, *(float4*)buf1122);
+    *(float*)buf1123 = normalize(*(float*)buf1124);
+    *(float2*)buf1125 = normalize(*(float2*)buf1126);
+    *(float3*)buf1127 = normalize(*(float3*)buf1128);
+    *(float4*)buf1129 = normalize(*(float4*)buf1130);
+    *(float*)buf1131 = pow(*(float*)buf1132, *(float*)buf1133);
+    *(float2*)buf1134 = pow(*(float2*)buf1135, *(float2*)buf1136);
+    *(float3*)buf1137 = pow(*(float3*)buf1138, *(float3*)buf1139);
+    *(float4*)buf1140 = pow(*(float4*)buf1141, *(float4*)buf1142);
+    *(float*)buf1143 = pown(*(float*)buf1144, *(int*)buf1145);
+    *(float2*)buf1146 = pown(*(float2*)buf1147, *(int2*)buf1148);
+    *(float3*)buf1149 = pown(*(float3*)buf1150, *(int3*)buf1151);
+    *(float4*)buf1152 = pown(*(float4*)buf1153, *(int4*)buf1154);
+    *(float*)buf1155 = powr(*(float*)buf1156, *(float*)buf1157);
+    *(float2*)buf1158 = powr(*(float2*)buf1159, *(float2*)buf1160);
+    *(float3*)buf1161 = powr(*(float3*)buf1162, *(float3*)buf1163);
+    *(float4*)buf1164 = powr(*(float4*)buf1165, *(float4*)buf1166);
+    *(float*)buf1167 = radians(*(float*)buf1168);
+    *(float2*)buf1169 = radians(*(float2*)buf1170);
+    *(float3*)buf1171 = radians(*(float3*)buf1172);
+    *(float4*)buf1173 = radians(*(float4*)buf1174);
+    *(float*)buf1175 = remainder(*(float*)buf1176, *(float*)buf1177);
+    *(float2*)buf1178 = remainder(*(float2*)buf1179, *(float2*)buf1180);
+    *(float3*)buf1181 = remainder(*(float3*)buf1182, *(float3*)buf1183);
+    *(float4*)buf1184 = remainder(*(float4*)buf1185, *(float4*)buf1186);
+    *(float*)buf1187 = remquo(*(float*)buf1188, *(float*)buf1189, (int*) buf1190);
+    *(float2*)buf1191 = remquo(*(float2*)buf1192, *(float2*)buf1193, (int2*) buf1194);
+    *(float3*)buf1195 = remquo(*(float3*)buf1196, *(float3*)buf1197, (int3*) buf1198);
+    *(float4*)buf1199 = remquo(*(float4*)buf1200, *(float4*)buf1201, (int4*) buf1202);
+    *(float*)buf1203 = rint(*(float*)buf1204);
+    *(float2*)buf1205 = rint(*(float2*)buf1206);
+    *(float3*)buf1207 = rint(*(float3*)buf1208);
+    *(float4*)buf1209 = rint(*(float4*)buf1210);
+    *(float*)buf1211 = rootn(*(float*)buf1212, *(int*)buf1213);
+    *(float2*)buf1214 = rootn(*(float2*)buf1215, *(int2*)buf1216);
+    *(float3*)buf1217 = rootn(*(float3*)buf1218, *(int3*)buf1219);
+    *(float4*)buf1220 = rootn(*(float4*)buf1221, *(int4*)buf1222);
+    *(float*)buf1223 = round(*(float*)buf1224);
+    *(float2*)buf1225 = round(*(float2*)buf1226);
+    *(float3*)buf1227 = round(*(float3*)buf1228);
+    *(float4*)buf1229 = round(*(float4*)buf1230);
+    *(uint32_t*)buf1231 = rsAllocationGetDimFaces(*(rs_allocation*)buf1232);
+    *(uint32_t*)buf1233 = rsAllocationGetDimLOD(*(rs_allocation*)buf1234);
+    *(uint32_t*)buf1235 = rsAllocationGetDimX(*(rs_allocation*)buf1236);
+    *(uint32_t*)buf1237 = rsAllocationGetDimY(*(rs_allocation*)buf1238);
+    *(uint32_t*)buf1239 = rsAllocationGetDimZ(*(rs_allocation*)buf1240);
+    *(rs_element*)buf1241 = rsAllocationGetElement(*(rs_allocation*)buf1242);
+    *(char*)buf1243 = rsClamp(*(char*)buf1244, *(char*)buf1245, *(char*)buf1246);
+    *(uchar*)buf1247 = rsClamp(*(uchar*)buf1248, *(uchar*)buf1249, *(uchar*)buf1250);
+    *(short*)buf1251 = rsClamp(*(short*)buf1252, *(short*)buf1253, *(short*)buf1254);
+    *(ushort*)buf1255 = rsClamp(*(ushort*)buf1256, *(ushort*)buf1257, *(ushort*)buf1258);
+    *(int*)buf1259 = rsClamp(*(int*)buf1260, *(int*)buf1261, *(int*)buf1262);
+    *(uint*)buf1263 = rsClamp(*(uint*)buf1264, *(uint*)buf1265, *(uint*)buf1266);
+    rsClearObject((rs_element*) buf1267);
+    rsClearObject((rs_type*) buf1268);
+    rsClearObject((rs_allocation*) buf1269);
+    rsClearObject((rs_sampler*) buf1270);
+    rsClearObject((rs_script*) buf1271);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf1254);
-    rsClearObject((rs_program_fragment*) buf1255);
-    rsClearObject((rs_program_vertex*) buf1256);
-    rsClearObject((rs_program_raster*) buf1257);
-    rsClearObject((rs_program_store*) buf1258);
-    rsClearObject((rs_font*) buf1259);
+    rsClearObject((rs_mesh*) buf1272);
+    rsClearObject((rs_program_fragment*) buf1273);
+    rsClearObject((rs_program_vertex*) buf1274);
+    rsClearObject((rs_program_raster*) buf1275);
+    rsClearObject((rs_program_store*) buf1276);
+    rsClearObject((rs_font*) buf1277);
 #endif
-    rsDebug((const char*) buf1260, *(double*)buf1261);
-    rsDebug((const char*) buf1262, *(int*)buf1263);
-    rsDebug((const char*) buf1264, *(uint*)buf1265);
-    rsDebug((const char*) buf1266, *(long*)buf1267);
-    rsDebug((const char*) buf1268, *(ulong*)buf1269);
-    rsDebug((const char*) buf1270, *(float*)buf1271);
-    rsDebug((const char*) buf1272, *(float2*)buf1273);
-    rsDebug((const char*) buf1274, *(float3*)buf1275);
-    rsDebug((const char*) buf1276, *(float4*)buf1277);
-    rsDebug((const char*) buf1278, *(float*)buf1279, *(float*)buf1280);
-    rsDebug((const char*) buf1281, *(float*)buf1282, *(float*)buf1283, *(float*)buf1284);
-    rsDebug((const char*) buf1285, *(float*)buf1286, *(float*)buf1287, *(float*)buf1288, *(float*)buf1289);
-    rsDebug((const char*) buf1290, *(long long*)buf1291);
-    rsDebug((const char*) buf1292, *(unsigned long long*)buf1293);
-    rsDebug((const char*) buf1294, (const void*) buf1295);
-    rsDebug((const char*) buf1296, (const rs_matrix4x4*) buf1297);
-    rsDebug((const char*) buf1298, (const rs_matrix3x3*) buf1299);
-    rsDebug((const char*) buf1300, (const rs_matrix2x2*) buf1301);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1302, (float4*) buf1303, (float4*) buf1304, (float4*) buf1305, (float4*) buf1306, (float4*) buf1307, (float4*) buf1308);
-    rsForEach(*(rs_script*)buf1309, *(rs_allocation*)buf1310, *(rs_allocation*)buf1311, (const void*) buf1312, (const rs_script_call_t*) buf1313);
-    rsForEach(*(rs_script*)buf1314, *(rs_allocation*)buf1315, *(rs_allocation*)buf1316, (const void*) buf1317);
-    *(float*)buf1318 = rsFrac(*(float*)buf1319);
-    *(rs_allocation*)buf1320 = rsGetAllocation((const void*) buf1321);
-    *(float*)buf1322 = rsGetDt();
-    *(const void**)buf1323 = rsGetElementAt(*(rs_allocation*)buf1324, *(uint32_t*)buf1325);
-    *(const void**)buf1326 = rsGetElementAt(*(rs_allocation*)buf1327, *(uint32_t*)buf1328, *(uint32_t*)buf1329);
-    *(const void**)buf1330 = rsGetElementAt(*(rs_allocation*)buf1331, *(uint32_t*)buf1332, *(uint32_t*)buf1333, *(uint32_t*)buf1334);
-    *(float*)buf1335 = rsGetElementAt_float(*(rs_allocation*)buf1336, *(uint32_t*)buf1337);
-    *(float2*)buf1338 = rsGetElementAt_float2(*(rs_allocation*)buf1339, *(uint32_t*)buf1340);
-    *(float3*)buf1341 = rsGetElementAt_float3(*(rs_allocation*)buf1342, *(uint32_t*)buf1343);
-    *(float4*)buf1344 = rsGetElementAt_float4(*(rs_allocation*)buf1345, *(uint32_t*)buf1346);
-    *(double*)buf1347 = rsGetElementAt_double(*(rs_allocation*)buf1348, *(uint32_t*)buf1349);
-    *(double2*)buf1350 = rsGetElementAt_double2(*(rs_allocation*)buf1351, *(uint32_t*)buf1352);
-    *(double3*)buf1353 = rsGetElementAt_double3(*(rs_allocation*)buf1354, *(uint32_t*)buf1355);
-    *(double4*)buf1356 = rsGetElementAt_double4(*(rs_allocation*)buf1357, *(uint32_t*)buf1358);
-    *(char*)buf1359 = rsGetElementAt_char(*(rs_allocation*)buf1360, *(uint32_t*)buf1361);
-    *(char2*)buf1362 = rsGetElementAt_char2(*(rs_allocation*)buf1363, *(uint32_t*)buf1364);
-    *(char3*)buf1365 = rsGetElementAt_char3(*(rs_allocation*)buf1366, *(uint32_t*)buf1367);
-    *(char4*)buf1368 = rsGetElementAt_char4(*(rs_allocation*)buf1369, *(uint32_t*)buf1370);
-    *(uchar*)buf1371 = rsGetElementAt_uchar(*(rs_allocation*)buf1372, *(uint32_t*)buf1373);
-    *(uchar2*)buf1374 = rsGetElementAt_uchar2(*(rs_allocation*)buf1375, *(uint32_t*)buf1376);
-    *(uchar3*)buf1377 = rsGetElementAt_uchar3(*(rs_allocation*)buf1378, *(uint32_t*)buf1379);
-    *(uchar4*)buf1380 = rsGetElementAt_uchar4(*(rs_allocation*)buf1381, *(uint32_t*)buf1382);
-    *(short*)buf1383 = rsGetElementAt_short(*(rs_allocation*)buf1384, *(uint32_t*)buf1385);
-    *(short2*)buf1386 = rsGetElementAt_short2(*(rs_allocation*)buf1387, *(uint32_t*)buf1388);
-    *(short3*)buf1389 = rsGetElementAt_short3(*(rs_allocation*)buf1390, *(uint32_t*)buf1391);
-    *(short4*)buf1392 = rsGetElementAt_short4(*(rs_allocation*)buf1393, *(uint32_t*)buf1394);
-    *(ushort*)buf1395 = rsGetElementAt_ushort(*(rs_allocation*)buf1396, *(uint32_t*)buf1397);
-    *(ushort2*)buf1398 = rsGetElementAt_ushort2(*(rs_allocation*)buf1399, *(uint32_t*)buf1400);
-    *(ushort3*)buf1401 = rsGetElementAt_ushort3(*(rs_allocation*)buf1402, *(uint32_t*)buf1403);
-    *(ushort4*)buf1404 = rsGetElementAt_ushort4(*(rs_allocation*)buf1405, *(uint32_t*)buf1406);
-    *(int*)buf1407 = rsGetElementAt_int(*(rs_allocation*)buf1408, *(uint32_t*)buf1409);
-    *(int2*)buf1410 = rsGetElementAt_int2(*(rs_allocation*)buf1411, *(uint32_t*)buf1412);
-    *(int3*)buf1413 = rsGetElementAt_int3(*(rs_allocation*)buf1414, *(uint32_t*)buf1415);
-    *(int4*)buf1416 = rsGetElementAt_int4(*(rs_allocation*)buf1417, *(uint32_t*)buf1418);
-    *(uint*)buf1419 = rsGetElementAt_uint(*(rs_allocation*)buf1420, *(uint32_t*)buf1421);
-    *(uint2*)buf1422 = rsGetElementAt_uint2(*(rs_allocation*)buf1423, *(uint32_t*)buf1424);
-    *(uint3*)buf1425 = rsGetElementAt_uint3(*(rs_allocation*)buf1426, *(uint32_t*)buf1427);
-    *(uint4*)buf1428 = rsGetElementAt_uint4(*(rs_allocation*)buf1429, *(uint32_t*)buf1430);
-    *(long*)buf1431 = rsGetElementAt_long(*(rs_allocation*)buf1432, *(uint32_t*)buf1433);
-    *(long2*)buf1434 = rsGetElementAt_long2(*(rs_allocation*)buf1435, *(uint32_t*)buf1436);
-    *(long3*)buf1437 = rsGetElementAt_long3(*(rs_allocation*)buf1438, *(uint32_t*)buf1439);
-    *(long4*)buf1440 = rsGetElementAt_long4(*(rs_allocation*)buf1441, *(uint32_t*)buf1442);
-    *(ulong*)buf1443 = rsGetElementAt_ulong(*(rs_allocation*)buf1444, *(uint32_t*)buf1445);
-    *(ulong2*)buf1446 = rsGetElementAt_ulong2(*(rs_allocation*)buf1447, *(uint32_t*)buf1448);
-    *(ulong3*)buf1449 = rsGetElementAt_ulong3(*(rs_allocation*)buf1450, *(uint32_t*)buf1451);
-    *(ulong4*)buf1452 = rsGetElementAt_ulong4(*(rs_allocation*)buf1453, *(uint32_t*)buf1454);
-    *(float*)buf1455 = rsGetElementAt_float(*(rs_allocation*)buf1456, *(uint32_t*)buf1457, *(uint32_t*)buf1458);
-    *(float2*)buf1459 = rsGetElementAt_float2(*(rs_allocation*)buf1460, *(uint32_t*)buf1461, *(uint32_t*)buf1462);
-    *(float3*)buf1463 = rsGetElementAt_float3(*(rs_allocation*)buf1464, *(uint32_t*)buf1465, *(uint32_t*)buf1466);
-    *(float4*)buf1467 = rsGetElementAt_float4(*(rs_allocation*)buf1468, *(uint32_t*)buf1469, *(uint32_t*)buf1470);
-    *(double*)buf1471 = rsGetElementAt_double(*(rs_allocation*)buf1472, *(uint32_t*)buf1473, *(uint32_t*)buf1474);
-    *(double2*)buf1475 = rsGetElementAt_double2(*(rs_allocation*)buf1476, *(uint32_t*)buf1477, *(uint32_t*)buf1478);
-    *(double3*)buf1479 = rsGetElementAt_double3(*(rs_allocation*)buf1480, *(uint32_t*)buf1481, *(uint32_t*)buf1482);
-    *(double4*)buf1483 = rsGetElementAt_double4(*(rs_allocation*)buf1484, *(uint32_t*)buf1485, *(uint32_t*)buf1486);
-    *(char*)buf1487 = rsGetElementAt_char(*(rs_allocation*)buf1488, *(uint32_t*)buf1489, *(uint32_t*)buf1490);
-    *(char2*)buf1491 = rsGetElementAt_char2(*(rs_allocation*)buf1492, *(uint32_t*)buf1493, *(uint32_t*)buf1494);
-    *(char3*)buf1495 = rsGetElementAt_char3(*(rs_allocation*)buf1496, *(uint32_t*)buf1497, *(uint32_t*)buf1498);
-    *(char4*)buf1499 = rsGetElementAt_char4(*(rs_allocation*)buf1500, *(uint32_t*)buf1501, *(uint32_t*)buf1502);
-    *(uchar*)buf1503 = rsGetElementAt_uchar(*(rs_allocation*)buf1504, *(uint32_t*)buf1505, *(uint32_t*)buf1506);
-    *(uchar2*)buf1507 = rsGetElementAt_uchar2(*(rs_allocation*)buf1508, *(uint32_t*)buf1509, *(uint32_t*)buf1510);
-    *(uchar3*)buf1511 = rsGetElementAt_uchar3(*(rs_allocation*)buf1512, *(uint32_t*)buf1513, *(uint32_t*)buf1514);
-    *(uchar4*)buf1515 = rsGetElementAt_uchar4(*(rs_allocation*)buf1516, *(uint32_t*)buf1517, *(uint32_t*)buf1518);
-    *(short*)buf1519 = rsGetElementAt_short(*(rs_allocation*)buf1520, *(uint32_t*)buf1521, *(uint32_t*)buf1522);
-    *(short2*)buf1523 = rsGetElementAt_short2(*(rs_allocation*)buf1524, *(uint32_t*)buf1525, *(uint32_t*)buf1526);
-    *(short3*)buf1527 = rsGetElementAt_short3(*(rs_allocation*)buf1528, *(uint32_t*)buf1529, *(uint32_t*)buf1530);
-    *(short4*)buf1531 = rsGetElementAt_short4(*(rs_allocation*)buf1532, *(uint32_t*)buf1533, *(uint32_t*)buf1534);
-    *(ushort*)buf1535 = rsGetElementAt_ushort(*(rs_allocation*)buf1536, *(uint32_t*)buf1537, *(uint32_t*)buf1538);
-    *(ushort2*)buf1539 = rsGetElementAt_ushort2(*(rs_allocation*)buf1540, *(uint32_t*)buf1541, *(uint32_t*)buf1542);
-    *(ushort3*)buf1543 = rsGetElementAt_ushort3(*(rs_allocation*)buf1544, *(uint32_t*)buf1545, *(uint32_t*)buf1546);
-    *(ushort4*)buf1547 = rsGetElementAt_ushort4(*(rs_allocation*)buf1548, *(uint32_t*)buf1549, *(uint32_t*)buf1550);
-    *(int*)buf1551 = rsGetElementAt_int(*(rs_allocation*)buf1552, *(uint32_t*)buf1553, *(uint32_t*)buf1554);
-    *(int2*)buf1555 = rsGetElementAt_int2(*(rs_allocation*)buf1556, *(uint32_t*)buf1557, *(uint32_t*)buf1558);
-    *(int3*)buf1559 = rsGetElementAt_int3(*(rs_allocation*)buf1560, *(uint32_t*)buf1561, *(uint32_t*)buf1562);
-    *(int4*)buf1563 = rsGetElementAt_int4(*(rs_allocation*)buf1564, *(uint32_t*)buf1565, *(uint32_t*)buf1566);
-    *(uint*)buf1567 = rsGetElementAt_uint(*(rs_allocation*)buf1568, *(uint32_t*)buf1569, *(uint32_t*)buf1570);
-    *(uint2*)buf1571 = rsGetElementAt_uint2(*(rs_allocation*)buf1572, *(uint32_t*)buf1573, *(uint32_t*)buf1574);
-    *(uint3*)buf1575 = rsGetElementAt_uint3(*(rs_allocation*)buf1576, *(uint32_t*)buf1577, *(uint32_t*)buf1578);
-    *(uint4*)buf1579 = rsGetElementAt_uint4(*(rs_allocation*)buf1580, *(uint32_t*)buf1581, *(uint32_t*)buf1582);
-    *(long*)buf1583 = rsGetElementAt_long(*(rs_allocation*)buf1584, *(uint32_t*)buf1585, *(uint32_t*)buf1586);
-    *(long2*)buf1587 = rsGetElementAt_long2(*(rs_allocation*)buf1588, *(uint32_t*)buf1589, *(uint32_t*)buf1590);
-    *(long3*)buf1591 = rsGetElementAt_long3(*(rs_allocation*)buf1592, *(uint32_t*)buf1593, *(uint32_t*)buf1594);
-    *(long4*)buf1595 = rsGetElementAt_long4(*(rs_allocation*)buf1596, *(uint32_t*)buf1597, *(uint32_t*)buf1598);
-    *(ulong*)buf1599 = rsGetElementAt_ulong(*(rs_allocation*)buf1600, *(uint32_t*)buf1601, *(uint32_t*)buf1602);
-    *(ulong2*)buf1603 = rsGetElementAt_ulong2(*(rs_allocation*)buf1604, *(uint32_t*)buf1605, *(uint32_t*)buf1606);
-    *(ulong3*)buf1607 = rsGetElementAt_ulong3(*(rs_allocation*)buf1608, *(uint32_t*)buf1609, *(uint32_t*)buf1610);
-    *(ulong4*)buf1611 = rsGetElementAt_ulong4(*(rs_allocation*)buf1612, *(uint32_t*)buf1613, *(uint32_t*)buf1614);
-    *(float*)buf1615 = rsGetElementAt_float(*(rs_allocation*)buf1616, *(uint32_t*)buf1617, *(uint32_t*)buf1618, *(uint32_t*)buf1619);
-    *(float2*)buf1620 = rsGetElementAt_float2(*(rs_allocation*)buf1621, *(uint32_t*)buf1622, *(uint32_t*)buf1623, *(uint32_t*)buf1624);
-    *(float3*)buf1625 = rsGetElementAt_float3(*(rs_allocation*)buf1626, *(uint32_t*)buf1627, *(uint32_t*)buf1628, *(uint32_t*)buf1629);
-    *(float4*)buf1630 = rsGetElementAt_float4(*(rs_allocation*)buf1631, *(uint32_t*)buf1632, *(uint32_t*)buf1633, *(uint32_t*)buf1634);
-    *(double*)buf1635 = rsGetElementAt_double(*(rs_allocation*)buf1636, *(uint32_t*)buf1637, *(uint32_t*)buf1638, *(uint32_t*)buf1639);
-    *(double2*)buf1640 = rsGetElementAt_double2(*(rs_allocation*)buf1641, *(uint32_t*)buf1642, *(uint32_t*)buf1643, *(uint32_t*)buf1644);
-    *(double3*)buf1645 = rsGetElementAt_double3(*(rs_allocation*)buf1646, *(uint32_t*)buf1647, *(uint32_t*)buf1648, *(uint32_t*)buf1649);
-    *(double4*)buf1650 = rsGetElementAt_double4(*(rs_allocation*)buf1651, *(uint32_t*)buf1652, *(uint32_t*)buf1653, *(uint32_t*)buf1654);
-    *(char*)buf1655 = rsGetElementAt_char(*(rs_allocation*)buf1656, *(uint32_t*)buf1657, *(uint32_t*)buf1658, *(uint32_t*)buf1659);
-    *(char2*)buf1660 = rsGetElementAt_char2(*(rs_allocation*)buf1661, *(uint32_t*)buf1662, *(uint32_t*)buf1663, *(uint32_t*)buf1664);
-    *(char3*)buf1665 = rsGetElementAt_char3(*(rs_allocation*)buf1666, *(uint32_t*)buf1667, *(uint32_t*)buf1668, *(uint32_t*)buf1669);
-    *(char4*)buf1670 = rsGetElementAt_char4(*(rs_allocation*)buf1671, *(uint32_t*)buf1672, *(uint32_t*)buf1673, *(uint32_t*)buf1674);
-    *(uchar*)buf1675 = rsGetElementAt_uchar(*(rs_allocation*)buf1676, *(uint32_t*)buf1677, *(uint32_t*)buf1678, *(uint32_t*)buf1679);
-    *(uchar2*)buf1680 = rsGetElementAt_uchar2(*(rs_allocation*)buf1681, *(uint32_t*)buf1682, *(uint32_t*)buf1683, *(uint32_t*)buf1684);
-    *(uchar3*)buf1685 = rsGetElementAt_uchar3(*(rs_allocation*)buf1686, *(uint32_t*)buf1687, *(uint32_t*)buf1688, *(uint32_t*)buf1689);
-    *(uchar4*)buf1690 = rsGetElementAt_uchar4(*(rs_allocation*)buf1691, *(uint32_t*)buf1692, *(uint32_t*)buf1693, *(uint32_t*)buf1694);
-    *(short*)buf1695 = rsGetElementAt_short(*(rs_allocation*)buf1696, *(uint32_t*)buf1697, *(uint32_t*)buf1698, *(uint32_t*)buf1699);
-    *(short2*)buf1700 = rsGetElementAt_short2(*(rs_allocation*)buf1701, *(uint32_t*)buf1702, *(uint32_t*)buf1703, *(uint32_t*)buf1704);
-    *(short3*)buf1705 = rsGetElementAt_short3(*(rs_allocation*)buf1706, *(uint32_t*)buf1707, *(uint32_t*)buf1708, *(uint32_t*)buf1709);
-    *(short4*)buf1710 = rsGetElementAt_short4(*(rs_allocation*)buf1711, *(uint32_t*)buf1712, *(uint32_t*)buf1713, *(uint32_t*)buf1714);
-    *(ushort*)buf1715 = rsGetElementAt_ushort(*(rs_allocation*)buf1716, *(uint32_t*)buf1717, *(uint32_t*)buf1718, *(uint32_t*)buf1719);
-    *(ushort2*)buf1720 = rsGetElementAt_ushort2(*(rs_allocation*)buf1721, *(uint32_t*)buf1722, *(uint32_t*)buf1723, *(uint32_t*)buf1724);
-    *(ushort3*)buf1725 = rsGetElementAt_ushort3(*(rs_allocation*)buf1726, *(uint32_t*)buf1727, *(uint32_t*)buf1728, *(uint32_t*)buf1729);
-    *(ushort4*)buf1730 = rsGetElementAt_ushort4(*(rs_allocation*)buf1731, *(uint32_t*)buf1732, *(uint32_t*)buf1733, *(uint32_t*)buf1734);
-    *(int*)buf1735 = rsGetElementAt_int(*(rs_allocation*)buf1736, *(uint32_t*)buf1737, *(uint32_t*)buf1738, *(uint32_t*)buf1739);
-    *(int2*)buf1740 = rsGetElementAt_int2(*(rs_allocation*)buf1741, *(uint32_t*)buf1742, *(uint32_t*)buf1743, *(uint32_t*)buf1744);
-    *(int3*)buf1745 = rsGetElementAt_int3(*(rs_allocation*)buf1746, *(uint32_t*)buf1747, *(uint32_t*)buf1748, *(uint32_t*)buf1749);
-    *(int4*)buf1750 = rsGetElementAt_int4(*(rs_allocation*)buf1751, *(uint32_t*)buf1752, *(uint32_t*)buf1753, *(uint32_t*)buf1754);
-    *(uint*)buf1755 = rsGetElementAt_uint(*(rs_allocation*)buf1756, *(uint32_t*)buf1757, *(uint32_t*)buf1758, *(uint32_t*)buf1759);
-    *(uint2*)buf1760 = rsGetElementAt_uint2(*(rs_allocation*)buf1761, *(uint32_t*)buf1762, *(uint32_t*)buf1763, *(uint32_t*)buf1764);
-    *(uint3*)buf1765 = rsGetElementAt_uint3(*(rs_allocation*)buf1766, *(uint32_t*)buf1767, *(uint32_t*)buf1768, *(uint32_t*)buf1769);
-    *(uint4*)buf1770 = rsGetElementAt_uint4(*(rs_allocation*)buf1771, *(uint32_t*)buf1772, *(uint32_t*)buf1773, *(uint32_t*)buf1774);
-    *(long*)buf1775 = rsGetElementAt_long(*(rs_allocation*)buf1776, *(uint32_t*)buf1777, *(uint32_t*)buf1778, *(uint32_t*)buf1779);
-    *(long2*)buf1780 = rsGetElementAt_long2(*(rs_allocation*)buf1781, *(uint32_t*)buf1782, *(uint32_t*)buf1783, *(uint32_t*)buf1784);
-    *(long3*)buf1785 = rsGetElementAt_long3(*(rs_allocation*)buf1786, *(uint32_t*)buf1787, *(uint32_t*)buf1788, *(uint32_t*)buf1789);
-    *(long4*)buf1790 = rsGetElementAt_long4(*(rs_allocation*)buf1791, *(uint32_t*)buf1792, *(uint32_t*)buf1793, *(uint32_t*)buf1794);
-    *(ulong*)buf1795 = rsGetElementAt_ulong(*(rs_allocation*)buf1796, *(uint32_t*)buf1797, *(uint32_t*)buf1798, *(uint32_t*)buf1799);
-    *(ulong2*)buf1800 = rsGetElementAt_ulong2(*(rs_allocation*)buf1801, *(uint32_t*)buf1802, *(uint32_t*)buf1803, *(uint32_t*)buf1804);
-    *(ulong3*)buf1805 = rsGetElementAt_ulong3(*(rs_allocation*)buf1806, *(uint32_t*)buf1807, *(uint32_t*)buf1808, *(uint32_t*)buf1809);
-    *(ulong4*)buf1810 = rsGetElementAt_ulong4(*(rs_allocation*)buf1811, *(uint32_t*)buf1812, *(uint32_t*)buf1813, *(uint32_t*)buf1814);
-    *(bool*)buf1815 = rsIsObject(*(rs_element*)buf1816);
-    *(bool*)buf1817 = rsIsObject(*(rs_type*)buf1818);
-    *(bool*)buf1819 = rsIsObject(*(rs_allocation*)buf1820);
-    *(bool*)buf1821 = rsIsObject(*(rs_sampler*)buf1822);
-    *(bool*)buf1823 = rsIsObject(*(rs_script*)buf1824);
+    rsDebug((const char*) buf1278, *(double*)buf1279);
+    rsDebug((const char*) buf1280, *(int*)buf1281);
+    rsDebug((const char*) buf1282, *(uint*)buf1283);
+    rsDebug((const char*) buf1284, *(long*)buf1285);
+    rsDebug((const char*) buf1286, *(ulong*)buf1287);
+    rsDebug((const char*) buf1288, *(float*)buf1289);
+    rsDebug((const char*) buf1290, *(float2*)buf1291);
+    rsDebug((const char*) buf1292, *(float3*)buf1293);
+    rsDebug((const char*) buf1294, *(float4*)buf1295);
+    rsDebug((const char*) buf1296, *(float*)buf1297, *(float*)buf1298);
+    rsDebug((const char*) buf1299, *(float*)buf1300, *(float*)buf1301, *(float*)buf1302);
+    rsDebug((const char*) buf1303, *(float*)buf1304, *(float*)buf1305, *(float*)buf1306, *(float*)buf1307);
+    rsDebug((const char*) buf1308, *(long long*)buf1309);
+    rsDebug((const char*) buf1310, *(unsigned long long*)buf1311);
+    rsDebug((const char*) buf1312, (const void*) buf1313);
+    rsDebug((const char*) buf1314, (const rs_matrix4x4*) buf1315);
+    rsDebug((const char*) buf1316, (const rs_matrix3x3*) buf1317);
+    rsDebug((const char*) buf1318, (const rs_matrix2x2*) buf1319);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1320, (float4*) buf1321, (float4*) buf1322, (float4*) buf1323, (float4*) buf1324, (float4*) buf1325, (float4*) buf1326);
+    rsForEach(*(rs_script*)buf1327, *(rs_allocation*)buf1328, *(rs_allocation*)buf1329, (const void*) buf1330, (const rs_script_call_t*) buf1331);
+    rsForEach(*(rs_script*)buf1332, *(rs_allocation*)buf1333, *(rs_allocation*)buf1334, (const void*) buf1335);
+    *(float*)buf1336 = rsFrac(*(float*)buf1337);
+    *(rs_allocation*)buf1338 = rsGetAllocation((const void*) buf1339);
+    *(float*)buf1340 = rsGetDt();
+    *(const void**)buf1341 = rsGetElementAt(*(rs_allocation*)buf1342, *(uint32_t*)buf1343);
+    *(const void**)buf1344 = rsGetElementAt(*(rs_allocation*)buf1345, *(uint32_t*)buf1346, *(uint32_t*)buf1347);
+    *(const void**)buf1348 = rsGetElementAt(*(rs_allocation*)buf1349, *(uint32_t*)buf1350, *(uint32_t*)buf1351, *(uint32_t*)buf1352);
+    *(float*)buf1353 = rsGetElementAt_float(*(rs_allocation*)buf1354, *(uint32_t*)buf1355);
+    *(float2*)buf1356 = rsGetElementAt_float2(*(rs_allocation*)buf1357, *(uint32_t*)buf1358);
+    *(float3*)buf1359 = rsGetElementAt_float3(*(rs_allocation*)buf1360, *(uint32_t*)buf1361);
+    *(float4*)buf1362 = rsGetElementAt_float4(*(rs_allocation*)buf1363, *(uint32_t*)buf1364);
+    *(double*)buf1365 = rsGetElementAt_double(*(rs_allocation*)buf1366, *(uint32_t*)buf1367);
+    *(double2*)buf1368 = rsGetElementAt_double2(*(rs_allocation*)buf1369, *(uint32_t*)buf1370);
+    *(double3*)buf1371 = rsGetElementAt_double3(*(rs_allocation*)buf1372, *(uint32_t*)buf1373);
+    *(double4*)buf1374 = rsGetElementAt_double4(*(rs_allocation*)buf1375, *(uint32_t*)buf1376);
+    *(char*)buf1377 = rsGetElementAt_char(*(rs_allocation*)buf1378, *(uint32_t*)buf1379);
+    *(char2*)buf1380 = rsGetElementAt_char2(*(rs_allocation*)buf1381, *(uint32_t*)buf1382);
+    *(char3*)buf1383 = rsGetElementAt_char3(*(rs_allocation*)buf1384, *(uint32_t*)buf1385);
+    *(char4*)buf1386 = rsGetElementAt_char4(*(rs_allocation*)buf1387, *(uint32_t*)buf1388);
+    *(uchar*)buf1389 = rsGetElementAt_uchar(*(rs_allocation*)buf1390, *(uint32_t*)buf1391);
+    *(uchar2*)buf1392 = rsGetElementAt_uchar2(*(rs_allocation*)buf1393, *(uint32_t*)buf1394);
+    *(uchar3*)buf1395 = rsGetElementAt_uchar3(*(rs_allocation*)buf1396, *(uint32_t*)buf1397);
+    *(uchar4*)buf1398 = rsGetElementAt_uchar4(*(rs_allocation*)buf1399, *(uint32_t*)buf1400);
+    *(short*)buf1401 = rsGetElementAt_short(*(rs_allocation*)buf1402, *(uint32_t*)buf1403);
+    *(short2*)buf1404 = rsGetElementAt_short2(*(rs_allocation*)buf1405, *(uint32_t*)buf1406);
+    *(short3*)buf1407 = rsGetElementAt_short3(*(rs_allocation*)buf1408, *(uint32_t*)buf1409);
+    *(short4*)buf1410 = rsGetElementAt_short4(*(rs_allocation*)buf1411, *(uint32_t*)buf1412);
+    *(ushort*)buf1413 = rsGetElementAt_ushort(*(rs_allocation*)buf1414, *(uint32_t*)buf1415);
+    *(ushort2*)buf1416 = rsGetElementAt_ushort2(*(rs_allocation*)buf1417, *(uint32_t*)buf1418);
+    *(ushort3*)buf1419 = rsGetElementAt_ushort3(*(rs_allocation*)buf1420, *(uint32_t*)buf1421);
+    *(ushort4*)buf1422 = rsGetElementAt_ushort4(*(rs_allocation*)buf1423, *(uint32_t*)buf1424);
+    *(int*)buf1425 = rsGetElementAt_int(*(rs_allocation*)buf1426, *(uint32_t*)buf1427);
+    *(int2*)buf1428 = rsGetElementAt_int2(*(rs_allocation*)buf1429, *(uint32_t*)buf1430);
+    *(int3*)buf1431 = rsGetElementAt_int3(*(rs_allocation*)buf1432, *(uint32_t*)buf1433);
+    *(int4*)buf1434 = rsGetElementAt_int4(*(rs_allocation*)buf1435, *(uint32_t*)buf1436);
+    *(uint*)buf1437 = rsGetElementAt_uint(*(rs_allocation*)buf1438, *(uint32_t*)buf1439);
+    *(uint2*)buf1440 = rsGetElementAt_uint2(*(rs_allocation*)buf1441, *(uint32_t*)buf1442);
+    *(uint3*)buf1443 = rsGetElementAt_uint3(*(rs_allocation*)buf1444, *(uint32_t*)buf1445);
+    *(uint4*)buf1446 = rsGetElementAt_uint4(*(rs_allocation*)buf1447, *(uint32_t*)buf1448);
+    *(long*)buf1449 = rsGetElementAt_long(*(rs_allocation*)buf1450, *(uint32_t*)buf1451);
+    *(long2*)buf1452 = rsGetElementAt_long2(*(rs_allocation*)buf1453, *(uint32_t*)buf1454);
+    *(long3*)buf1455 = rsGetElementAt_long3(*(rs_allocation*)buf1456, *(uint32_t*)buf1457);
+    *(long4*)buf1458 = rsGetElementAt_long4(*(rs_allocation*)buf1459, *(uint32_t*)buf1460);
+    *(ulong*)buf1461 = rsGetElementAt_ulong(*(rs_allocation*)buf1462, *(uint32_t*)buf1463);
+    *(ulong2*)buf1464 = rsGetElementAt_ulong2(*(rs_allocation*)buf1465, *(uint32_t*)buf1466);
+    *(ulong3*)buf1467 = rsGetElementAt_ulong3(*(rs_allocation*)buf1468, *(uint32_t*)buf1469);
+    *(ulong4*)buf1470 = rsGetElementAt_ulong4(*(rs_allocation*)buf1471, *(uint32_t*)buf1472);
+    *(float*)buf1473 = rsGetElementAt_float(*(rs_allocation*)buf1474, *(uint32_t*)buf1475, *(uint32_t*)buf1476);
+    *(float2*)buf1477 = rsGetElementAt_float2(*(rs_allocation*)buf1478, *(uint32_t*)buf1479, *(uint32_t*)buf1480);
+    *(float3*)buf1481 = rsGetElementAt_float3(*(rs_allocation*)buf1482, *(uint32_t*)buf1483, *(uint32_t*)buf1484);
+    *(float4*)buf1485 = rsGetElementAt_float4(*(rs_allocation*)buf1486, *(uint32_t*)buf1487, *(uint32_t*)buf1488);
+    *(double*)buf1489 = rsGetElementAt_double(*(rs_allocation*)buf1490, *(uint32_t*)buf1491, *(uint32_t*)buf1492);
+    *(double2*)buf1493 = rsGetElementAt_double2(*(rs_allocation*)buf1494, *(uint32_t*)buf1495, *(uint32_t*)buf1496);
+    *(double3*)buf1497 = rsGetElementAt_double3(*(rs_allocation*)buf1498, *(uint32_t*)buf1499, *(uint32_t*)buf1500);
+    *(double4*)buf1501 = rsGetElementAt_double4(*(rs_allocation*)buf1502, *(uint32_t*)buf1503, *(uint32_t*)buf1504);
+    *(char*)buf1505 = rsGetElementAt_char(*(rs_allocation*)buf1506, *(uint32_t*)buf1507, *(uint32_t*)buf1508);
+    *(char2*)buf1509 = rsGetElementAt_char2(*(rs_allocation*)buf1510, *(uint32_t*)buf1511, *(uint32_t*)buf1512);
+    *(char3*)buf1513 = rsGetElementAt_char3(*(rs_allocation*)buf1514, *(uint32_t*)buf1515, *(uint32_t*)buf1516);
+    *(char4*)buf1517 = rsGetElementAt_char4(*(rs_allocation*)buf1518, *(uint32_t*)buf1519, *(uint32_t*)buf1520);
+    *(uchar*)buf1521 = rsGetElementAt_uchar(*(rs_allocation*)buf1522, *(uint32_t*)buf1523, *(uint32_t*)buf1524);
+    *(uchar2*)buf1525 = rsGetElementAt_uchar2(*(rs_allocation*)buf1526, *(uint32_t*)buf1527, *(uint32_t*)buf1528);
+    *(uchar3*)buf1529 = rsGetElementAt_uchar3(*(rs_allocation*)buf1530, *(uint32_t*)buf1531, *(uint32_t*)buf1532);
+    *(uchar4*)buf1533 = rsGetElementAt_uchar4(*(rs_allocation*)buf1534, *(uint32_t*)buf1535, *(uint32_t*)buf1536);
+    *(short*)buf1537 = rsGetElementAt_short(*(rs_allocation*)buf1538, *(uint32_t*)buf1539, *(uint32_t*)buf1540);
+    *(short2*)buf1541 = rsGetElementAt_short2(*(rs_allocation*)buf1542, *(uint32_t*)buf1543, *(uint32_t*)buf1544);
+    *(short3*)buf1545 = rsGetElementAt_short3(*(rs_allocation*)buf1546, *(uint32_t*)buf1547, *(uint32_t*)buf1548);
+    *(short4*)buf1549 = rsGetElementAt_short4(*(rs_allocation*)buf1550, *(uint32_t*)buf1551, *(uint32_t*)buf1552);
+    *(ushort*)buf1553 = rsGetElementAt_ushort(*(rs_allocation*)buf1554, *(uint32_t*)buf1555, *(uint32_t*)buf1556);
+    *(ushort2*)buf1557 = rsGetElementAt_ushort2(*(rs_allocation*)buf1558, *(uint32_t*)buf1559, *(uint32_t*)buf1560);
+    *(ushort3*)buf1561 = rsGetElementAt_ushort3(*(rs_allocation*)buf1562, *(uint32_t*)buf1563, *(uint32_t*)buf1564);
+    *(ushort4*)buf1565 = rsGetElementAt_ushort4(*(rs_allocation*)buf1566, *(uint32_t*)buf1567, *(uint32_t*)buf1568);
+    *(int*)buf1569 = rsGetElementAt_int(*(rs_allocation*)buf1570, *(uint32_t*)buf1571, *(uint32_t*)buf1572);
+    *(int2*)buf1573 = rsGetElementAt_int2(*(rs_allocation*)buf1574, *(uint32_t*)buf1575, *(uint32_t*)buf1576);
+    *(int3*)buf1577 = rsGetElementAt_int3(*(rs_allocation*)buf1578, *(uint32_t*)buf1579, *(uint32_t*)buf1580);
+    *(int4*)buf1581 = rsGetElementAt_int4(*(rs_allocation*)buf1582, *(uint32_t*)buf1583, *(uint32_t*)buf1584);
+    *(uint*)buf1585 = rsGetElementAt_uint(*(rs_allocation*)buf1586, *(uint32_t*)buf1587, *(uint32_t*)buf1588);
+    *(uint2*)buf1589 = rsGetElementAt_uint2(*(rs_allocation*)buf1590, *(uint32_t*)buf1591, *(uint32_t*)buf1592);
+    *(uint3*)buf1593 = rsGetElementAt_uint3(*(rs_allocation*)buf1594, *(uint32_t*)buf1595, *(uint32_t*)buf1596);
+    *(uint4*)buf1597 = rsGetElementAt_uint4(*(rs_allocation*)buf1598, *(uint32_t*)buf1599, *(uint32_t*)buf1600);
+    *(long*)buf1601 = rsGetElementAt_long(*(rs_allocation*)buf1602, *(uint32_t*)buf1603, *(uint32_t*)buf1604);
+    *(long2*)buf1605 = rsGetElementAt_long2(*(rs_allocation*)buf1606, *(uint32_t*)buf1607, *(uint32_t*)buf1608);
+    *(long3*)buf1609 = rsGetElementAt_long3(*(rs_allocation*)buf1610, *(uint32_t*)buf1611, *(uint32_t*)buf1612);
+    *(long4*)buf1613 = rsGetElementAt_long4(*(rs_allocation*)buf1614, *(uint32_t*)buf1615, *(uint32_t*)buf1616);
+    *(ulong*)buf1617 = rsGetElementAt_ulong(*(rs_allocation*)buf1618, *(uint32_t*)buf1619, *(uint32_t*)buf1620);
+    *(ulong2*)buf1621 = rsGetElementAt_ulong2(*(rs_allocation*)buf1622, *(uint32_t*)buf1623, *(uint32_t*)buf1624);
+    *(ulong3*)buf1625 = rsGetElementAt_ulong3(*(rs_allocation*)buf1626, *(uint32_t*)buf1627, *(uint32_t*)buf1628);
+    *(ulong4*)buf1629 = rsGetElementAt_ulong4(*(rs_allocation*)buf1630, *(uint32_t*)buf1631, *(uint32_t*)buf1632);
+    *(float*)buf1633 = rsGetElementAt_float(*(rs_allocation*)buf1634, *(uint32_t*)buf1635, *(uint32_t*)buf1636, *(uint32_t*)buf1637);
+    *(float2*)buf1638 = rsGetElementAt_float2(*(rs_allocation*)buf1639, *(uint32_t*)buf1640, *(uint32_t*)buf1641, *(uint32_t*)buf1642);
+    *(float3*)buf1643 = rsGetElementAt_float3(*(rs_allocation*)buf1644, *(uint32_t*)buf1645, *(uint32_t*)buf1646, *(uint32_t*)buf1647);
+    *(float4*)buf1648 = rsGetElementAt_float4(*(rs_allocation*)buf1649, *(uint32_t*)buf1650, *(uint32_t*)buf1651, *(uint32_t*)buf1652);
+    *(double*)buf1653 = rsGetElementAt_double(*(rs_allocation*)buf1654, *(uint32_t*)buf1655, *(uint32_t*)buf1656, *(uint32_t*)buf1657);
+    *(double2*)buf1658 = rsGetElementAt_double2(*(rs_allocation*)buf1659, *(uint32_t*)buf1660, *(uint32_t*)buf1661, *(uint32_t*)buf1662);
+    *(double3*)buf1663 = rsGetElementAt_double3(*(rs_allocation*)buf1664, *(uint32_t*)buf1665, *(uint32_t*)buf1666, *(uint32_t*)buf1667);
+    *(double4*)buf1668 = rsGetElementAt_double4(*(rs_allocation*)buf1669, *(uint32_t*)buf1670, *(uint32_t*)buf1671, *(uint32_t*)buf1672);
+    *(char*)buf1673 = rsGetElementAt_char(*(rs_allocation*)buf1674, *(uint32_t*)buf1675, *(uint32_t*)buf1676, *(uint32_t*)buf1677);
+    *(char2*)buf1678 = rsGetElementAt_char2(*(rs_allocation*)buf1679, *(uint32_t*)buf1680, *(uint32_t*)buf1681, *(uint32_t*)buf1682);
+    *(char3*)buf1683 = rsGetElementAt_char3(*(rs_allocation*)buf1684, *(uint32_t*)buf1685, *(uint32_t*)buf1686, *(uint32_t*)buf1687);
+    *(char4*)buf1688 = rsGetElementAt_char4(*(rs_allocation*)buf1689, *(uint32_t*)buf1690, *(uint32_t*)buf1691, *(uint32_t*)buf1692);
+    *(uchar*)buf1693 = rsGetElementAt_uchar(*(rs_allocation*)buf1694, *(uint32_t*)buf1695, *(uint32_t*)buf1696, *(uint32_t*)buf1697);
+    *(uchar2*)buf1698 = rsGetElementAt_uchar2(*(rs_allocation*)buf1699, *(uint32_t*)buf1700, *(uint32_t*)buf1701, *(uint32_t*)buf1702);
+    *(uchar3*)buf1703 = rsGetElementAt_uchar3(*(rs_allocation*)buf1704, *(uint32_t*)buf1705, *(uint32_t*)buf1706, *(uint32_t*)buf1707);
+    *(uchar4*)buf1708 = rsGetElementAt_uchar4(*(rs_allocation*)buf1709, *(uint32_t*)buf1710, *(uint32_t*)buf1711, *(uint32_t*)buf1712);
+    *(short*)buf1713 = rsGetElementAt_short(*(rs_allocation*)buf1714, *(uint32_t*)buf1715, *(uint32_t*)buf1716, *(uint32_t*)buf1717);
+    *(short2*)buf1718 = rsGetElementAt_short2(*(rs_allocation*)buf1719, *(uint32_t*)buf1720, *(uint32_t*)buf1721, *(uint32_t*)buf1722);
+    *(short3*)buf1723 = rsGetElementAt_short3(*(rs_allocation*)buf1724, *(uint32_t*)buf1725, *(uint32_t*)buf1726, *(uint32_t*)buf1727);
+    *(short4*)buf1728 = rsGetElementAt_short4(*(rs_allocation*)buf1729, *(uint32_t*)buf1730, *(uint32_t*)buf1731, *(uint32_t*)buf1732);
+    *(ushort*)buf1733 = rsGetElementAt_ushort(*(rs_allocation*)buf1734, *(uint32_t*)buf1735, *(uint32_t*)buf1736, *(uint32_t*)buf1737);
+    *(ushort2*)buf1738 = rsGetElementAt_ushort2(*(rs_allocation*)buf1739, *(uint32_t*)buf1740, *(uint32_t*)buf1741, *(uint32_t*)buf1742);
+    *(ushort3*)buf1743 = rsGetElementAt_ushort3(*(rs_allocation*)buf1744, *(uint32_t*)buf1745, *(uint32_t*)buf1746, *(uint32_t*)buf1747);
+    *(ushort4*)buf1748 = rsGetElementAt_ushort4(*(rs_allocation*)buf1749, *(uint32_t*)buf1750, *(uint32_t*)buf1751, *(uint32_t*)buf1752);
+    *(int*)buf1753 = rsGetElementAt_int(*(rs_allocation*)buf1754, *(uint32_t*)buf1755, *(uint32_t*)buf1756, *(uint32_t*)buf1757);
+    *(int2*)buf1758 = rsGetElementAt_int2(*(rs_allocation*)buf1759, *(uint32_t*)buf1760, *(uint32_t*)buf1761, *(uint32_t*)buf1762);
+    *(int3*)buf1763 = rsGetElementAt_int3(*(rs_allocation*)buf1764, *(uint32_t*)buf1765, *(uint32_t*)buf1766, *(uint32_t*)buf1767);
+    *(int4*)buf1768 = rsGetElementAt_int4(*(rs_allocation*)buf1769, *(uint32_t*)buf1770, *(uint32_t*)buf1771, *(uint32_t*)buf1772);
+    *(uint*)buf1773 = rsGetElementAt_uint(*(rs_allocation*)buf1774, *(uint32_t*)buf1775, *(uint32_t*)buf1776, *(uint32_t*)buf1777);
+    *(uint2*)buf1778 = rsGetElementAt_uint2(*(rs_allocation*)buf1779, *(uint32_t*)buf1780, *(uint32_t*)buf1781, *(uint32_t*)buf1782);
+    *(uint3*)buf1783 = rsGetElementAt_uint3(*(rs_allocation*)buf1784, *(uint32_t*)buf1785, *(uint32_t*)buf1786, *(uint32_t*)buf1787);
+    *(uint4*)buf1788 = rsGetElementAt_uint4(*(rs_allocation*)buf1789, *(uint32_t*)buf1790, *(uint32_t*)buf1791, *(uint32_t*)buf1792);
+    *(long*)buf1793 = rsGetElementAt_long(*(rs_allocation*)buf1794, *(uint32_t*)buf1795, *(uint32_t*)buf1796, *(uint32_t*)buf1797);
+    *(long2*)buf1798 = rsGetElementAt_long2(*(rs_allocation*)buf1799, *(uint32_t*)buf1800, *(uint32_t*)buf1801, *(uint32_t*)buf1802);
+    *(long3*)buf1803 = rsGetElementAt_long3(*(rs_allocation*)buf1804, *(uint32_t*)buf1805, *(uint32_t*)buf1806, *(uint32_t*)buf1807);
+    *(long4*)buf1808 = rsGetElementAt_long4(*(rs_allocation*)buf1809, *(uint32_t*)buf1810, *(uint32_t*)buf1811, *(uint32_t*)buf1812);
+    *(ulong*)buf1813 = rsGetElementAt_ulong(*(rs_allocation*)buf1814, *(uint32_t*)buf1815, *(uint32_t*)buf1816, *(uint32_t*)buf1817);
+    *(ulong2*)buf1818 = rsGetElementAt_ulong2(*(rs_allocation*)buf1819, *(uint32_t*)buf1820, *(uint32_t*)buf1821, *(uint32_t*)buf1822);
+    *(ulong3*)buf1823 = rsGetElementAt_ulong3(*(rs_allocation*)buf1824, *(uint32_t*)buf1825, *(uint32_t*)buf1826, *(uint32_t*)buf1827);
+    *(ulong4*)buf1828 = rsGetElementAt_ulong4(*(rs_allocation*)buf1829, *(uint32_t*)buf1830, *(uint32_t*)buf1831, *(uint32_t*)buf1832);
+    *(bool*)buf1833 = rsIsObject(*(rs_element*)buf1834);
+    *(bool*)buf1835 = rsIsObject(*(rs_type*)buf1836);
+    *(bool*)buf1837 = rsIsObject(*(rs_allocation*)buf1838);
+    *(bool*)buf1839 = rsIsObject(*(rs_sampler*)buf1840);
+    *(bool*)buf1841 = rsIsObject(*(rs_script*)buf1842);
 #ifndef __LP64__
-    *(bool*)buf1825 = rsIsObject(*(rs_mesh*)buf1826);
-    *(bool*)buf1827 = rsIsObject(*(rs_program_fragment*)buf1828);
-    *(bool*)buf1829 = rsIsObject(*(rs_program_vertex*)buf1830);
-    *(bool*)buf1831 = rsIsObject(*(rs_program_raster*)buf1832);
-    *(bool*)buf1833 = rsIsObject(*(rs_program_store*)buf1834);
-    *(bool*)buf1835 = rsIsObject(*(rs_font*)buf1836);
+    *(bool*)buf1843 = rsIsObject(*(rs_mesh*)buf1844);
+    *(bool*)buf1845 = rsIsObject(*(rs_program_fragment*)buf1846);
+    *(bool*)buf1847 = rsIsObject(*(rs_program_vertex*)buf1848);
+    *(bool*)buf1849 = rsIsObject(*(rs_program_raster*)buf1850);
+    *(bool*)buf1851 = rsIsObject(*(rs_program_store*)buf1852);
+    *(bool*)buf1853 = rsIsObject(*(rs_font*)buf1854);
 #endif
-    *(bool*)buf1837 = rsIsSphereInFrustum((float4*) buf1838, (float4*) buf1839, (float4*) buf1840, (float4*) buf1841, (float4*) buf1842, (float4*) buf1843, (float4*) buf1844);
-    *(rs_tm**)buf1845 = rsLocaltime((rs_tm*) buf1846, (const rs_time_t*) buf1847);
-    *(float*)buf1848 = rsMatrixGet((const rs_matrix4x4*) buf1849, *(uint32_t*)buf1850, *(uint32_t*)buf1851);
-    *(float*)buf1852 = rsMatrixGet((const rs_matrix3x3*) buf1853, *(uint32_t*)buf1854, *(uint32_t*)buf1855);
-    *(float*)buf1856 = rsMatrixGet((const rs_matrix2x2*) buf1857, *(uint32_t*)buf1858, *(uint32_t*)buf1859);
-    *(bool*)buf1860 = rsMatrixInverse((rs_matrix4x4*) buf1861);
-    *(bool*)buf1862 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1863);
-    rsMatrixLoad((rs_matrix4x4*) buf1864, (const float*) buf1865);
-    rsMatrixLoad((rs_matrix3x3*) buf1866, (const float*) buf1867);
-    rsMatrixLoad((rs_matrix2x2*) buf1868, (const float*) buf1869);
-    rsMatrixLoad((rs_matrix4x4*) buf1870, (const rs_matrix4x4*) buf1871);
-    rsMatrixLoad((rs_matrix3x3*) buf1872, (const rs_matrix3x3*) buf1873);
-    rsMatrixLoad((rs_matrix2x2*) buf1874, (const rs_matrix2x2*) buf1875);
-    rsMatrixLoad((rs_matrix4x4*) buf1876, (const rs_matrix3x3*) buf1877);
-    rsMatrixLoad((rs_matrix4x4*) buf1878, (const rs_matrix2x2*) buf1879);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf1880, *(float*)buf1881, *(float*)buf1882, *(float*)buf1883, *(float*)buf1884, *(float*)buf1885, *(float*)buf1886);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf1887);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf1888);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf1889);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf1890, (const rs_matrix4x4*) buf1891, (const rs_matrix4x4*) buf1892);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf1893, (const rs_matrix3x3*) buf1894, (const rs_matrix3x3*) buf1895);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf1896, (const rs_matrix2x2*) buf1897, (const rs_matrix2x2*) buf1898);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf1899, *(float*)buf1900, *(float*)buf1901, *(float*)buf1902, *(float*)buf1903, *(float*)buf1904, *(float*)buf1905);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf1906, *(float*)buf1907, *(float*)buf1908, *(float*)buf1909, *(float*)buf1910);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf1911, *(float*)buf1912, *(float*)buf1913, *(float*)buf1914, *(float*)buf1915);
-    rsMatrixLoadScale((rs_matrix4x4*) buf1916, *(float*)buf1917, *(float*)buf1918, *(float*)buf1919);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf1920, *(float*)buf1921, *(float*)buf1922, *(float*)buf1923);
-    rsMatrixMultiply((rs_matrix4x4*) buf1924, (const rs_matrix4x4*) buf1925);
-    rsMatrixMultiply((rs_matrix3x3*) buf1926, (const rs_matrix3x3*) buf1927);
-    rsMatrixMultiply((rs_matrix2x2*) buf1928, (const rs_matrix2x2*) buf1929);
-    *(float4*)buf1930 = rsMatrixMultiply((rs_matrix4x4*) buf1931, *(float4*)buf1932);
-    *(float4*)buf1933 = rsMatrixMultiply((rs_matrix4x4*) buf1934, *(float3*)buf1935);
-    *(float4*)buf1936 = rsMatrixMultiply((rs_matrix4x4*) buf1937, *(float2*)buf1938);
-    *(float3*)buf1939 = rsMatrixMultiply((rs_matrix3x3*) buf1940, *(float3*)buf1941);
-    *(float3*)buf1942 = rsMatrixMultiply((rs_matrix3x3*) buf1943, *(float2*)buf1944);
-    *(float2*)buf1945 = rsMatrixMultiply((rs_matrix2x2*) buf1946, *(float2*)buf1947);
-    rsMatrixRotate((rs_matrix4x4*) buf1948, *(float*)buf1949, *(float*)buf1950, *(float*)buf1951, *(float*)buf1952);
-    rsMatrixScale((rs_matrix4x4*) buf1953, *(float*)buf1954, *(float*)buf1955, *(float*)buf1956);
-    rsMatrixSet((rs_matrix4x4*) buf1957, *(uint32_t*)buf1958, *(uint32_t*)buf1959, *(float*)buf1960);
-    rsMatrixSet((rs_matrix3x3*) buf1961, *(uint32_t*)buf1962, *(uint32_t*)buf1963, *(float*)buf1964);
-    rsMatrixSet((rs_matrix2x2*) buf1965, *(uint32_t*)buf1966, *(uint32_t*)buf1967, *(float*)buf1968);
-    rsMatrixTranslate((rs_matrix4x4*) buf1969, *(float*)buf1970, *(float*)buf1971, *(float*)buf1972);
-    rsMatrixTranspose((rs_matrix4x4*) buf1973);
-    rsMatrixTranspose((rs_matrix3x3*) buf1974);
-    rsMatrixTranspose((rs_matrix2x2*) buf1975);
-    *(uchar4*)buf1976 = rsPackColorTo8888(*(float*)buf1977, *(float*)buf1978, *(float*)buf1979);
-    *(uchar4*)buf1980 = rsPackColorTo8888(*(float*)buf1981, *(float*)buf1982, *(float*)buf1983, *(float*)buf1984);
-    *(uchar4*)buf1985 = rsPackColorTo8888(*(float3*)buf1986);
-    *(uchar4*)buf1987 = rsPackColorTo8888(*(float4*)buf1988);
-    rsQuaternionAdd((rs_quaternion*) buf1989, (const rs_quaternion*) buf1990);
-    rsQuaternionConjugate((rs_quaternion*) buf1991);
-    *(float*)buf1992 = rsQuaternionDot((const rs_quaternion*) buf1993, (const rs_quaternion*) buf1994);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf1995, (const rs_quaternion*) buf1996);
-    rsQuaternionLoadRotate((rs_quaternion*) buf1997, *(float*)buf1998, *(float*)buf1999, *(float*)buf2000, *(float*)buf2001);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2002, *(float*)buf2003, *(float*)buf2004, *(float*)buf2005, *(float*)buf2006);
-    rsQuaternionMultiply((rs_quaternion*) buf2007, *(float*)buf2008);
-    rsQuaternionMultiply((rs_quaternion*) buf2009, (const rs_quaternion*) buf2010);
-    rsQuaternionNormalize((rs_quaternion*) buf2011);
-    rsQuaternionSet((rs_quaternion*) buf2012, *(float*)buf2013, *(float*)buf2014, *(float*)buf2015, *(float*)buf2016);
-    rsQuaternionSet((rs_quaternion*) buf2017, (const rs_quaternion*) buf2018);
-    rsQuaternionSlerp((rs_quaternion*) buf2019, (const rs_quaternion*) buf2020, (const rs_quaternion*) buf2021, *(float*)buf2022);
-    *(int*)buf2023 = rsRand(*(int*)buf2024);
-    *(int*)buf2025 = rsRand(*(int*)buf2026, *(int*)buf2027);
-    *(float*)buf2028 = rsRand(*(float*)buf2029);
-    *(float*)buf2030 = rsRand(*(float*)buf2031, *(float*)buf2032);
-    *(bool*)buf2033 = rsSendToClient(*(int*)buf2034);
-    *(bool*)buf2035 = rsSendToClient(*(int*)buf2036, (const void*) buf2037, *(uint*)buf2038);
-    rsSendToClientBlocking(*(int*)buf2039);
-    rsSendToClientBlocking(*(int*)buf2040, (const void*) buf2041, *(uint*)buf2042);
-    rsSetObject((rs_element*) buf2043, *(rs_element*)buf2044);
-    rsSetObject((rs_type*) buf2045, *(rs_type*)buf2046);
-    rsSetObject((rs_allocation*) buf2047, *(rs_allocation*)buf2048);
-    rsSetObject((rs_sampler*) buf2049, *(rs_sampler*)buf2050);
-    rsSetObject((rs_script*) buf2051, *(rs_script*)buf2052);
+    *(bool*)buf1855 = rsIsSphereInFrustum((float4*) buf1856, (float4*) buf1857, (float4*) buf1858, (float4*) buf1859, (float4*) buf1860, (float4*) buf1861, (float4*) buf1862);
+    *(rs_tm**)buf1863 = rsLocaltime((rs_tm*) buf1864, (const rs_time_t*) buf1865);
+    *(float*)buf1866 = rsMatrixGet((const rs_matrix4x4*) buf1867, *(uint32_t*)buf1868, *(uint32_t*)buf1869);
+    *(float*)buf1870 = rsMatrixGet((const rs_matrix3x3*) buf1871, *(uint32_t*)buf1872, *(uint32_t*)buf1873);
+    *(float*)buf1874 = rsMatrixGet((const rs_matrix2x2*) buf1875, *(uint32_t*)buf1876, *(uint32_t*)buf1877);
+    *(bool*)buf1878 = rsMatrixInverse((rs_matrix4x4*) buf1879);
+    *(bool*)buf1880 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1881);
+    rsMatrixLoad((rs_matrix4x4*) buf1882, (const float*) buf1883);
+    rsMatrixLoad((rs_matrix3x3*) buf1884, (const float*) buf1885);
+    rsMatrixLoad((rs_matrix2x2*) buf1886, (const float*) buf1887);
+    rsMatrixLoad((rs_matrix4x4*) buf1888, (const rs_matrix4x4*) buf1889);
+    rsMatrixLoad((rs_matrix3x3*) buf1890, (const rs_matrix3x3*) buf1891);
+    rsMatrixLoad((rs_matrix2x2*) buf1892, (const rs_matrix2x2*) buf1893);
+    rsMatrixLoad((rs_matrix4x4*) buf1894, (const rs_matrix3x3*) buf1895);
+    rsMatrixLoad((rs_matrix4x4*) buf1896, (const rs_matrix2x2*) buf1897);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf1898, *(float*)buf1899, *(float*)buf1900, *(float*)buf1901, *(float*)buf1902, *(float*)buf1903, *(float*)buf1904);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf1905);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf1906);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf1907);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf1908, (const rs_matrix4x4*) buf1909, (const rs_matrix4x4*) buf1910);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf1911, (const rs_matrix3x3*) buf1912, (const rs_matrix3x3*) buf1913);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf1914, (const rs_matrix2x2*) buf1915, (const rs_matrix2x2*) buf1916);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf1917, *(float*)buf1918, *(float*)buf1919, *(float*)buf1920, *(float*)buf1921, *(float*)buf1922, *(float*)buf1923);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf1924, *(float*)buf1925, *(float*)buf1926, *(float*)buf1927, *(float*)buf1928);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf1929, *(float*)buf1930, *(float*)buf1931, *(float*)buf1932, *(float*)buf1933);
+    rsMatrixLoadScale((rs_matrix4x4*) buf1934, *(float*)buf1935, *(float*)buf1936, *(float*)buf1937);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf1938, *(float*)buf1939, *(float*)buf1940, *(float*)buf1941);
+    rsMatrixMultiply((rs_matrix4x4*) buf1942, (const rs_matrix4x4*) buf1943);
+    rsMatrixMultiply((rs_matrix3x3*) buf1944, (const rs_matrix3x3*) buf1945);
+    rsMatrixMultiply((rs_matrix2x2*) buf1946, (const rs_matrix2x2*) buf1947);
+    *(float4*)buf1948 = rsMatrixMultiply((rs_matrix4x4*) buf1949, *(float4*)buf1950);
+    *(float4*)buf1951 = rsMatrixMultiply((rs_matrix4x4*) buf1952, *(float3*)buf1953);
+    *(float4*)buf1954 = rsMatrixMultiply((rs_matrix4x4*) buf1955, *(float2*)buf1956);
+    *(float3*)buf1957 = rsMatrixMultiply((rs_matrix3x3*) buf1958, *(float3*)buf1959);
+    *(float3*)buf1960 = rsMatrixMultiply((rs_matrix3x3*) buf1961, *(float2*)buf1962);
+    *(float2*)buf1963 = rsMatrixMultiply((rs_matrix2x2*) buf1964, *(float2*)buf1965);
+    rsMatrixRotate((rs_matrix4x4*) buf1966, *(float*)buf1967, *(float*)buf1968, *(float*)buf1969, *(float*)buf1970);
+    rsMatrixScale((rs_matrix4x4*) buf1971, *(float*)buf1972, *(float*)buf1973, *(float*)buf1974);
+    rsMatrixSet((rs_matrix4x4*) buf1975, *(uint32_t*)buf1976, *(uint32_t*)buf1977, *(float*)buf1978);
+    rsMatrixSet((rs_matrix3x3*) buf1979, *(uint32_t*)buf1980, *(uint32_t*)buf1981, *(float*)buf1982);
+    rsMatrixSet((rs_matrix2x2*) buf1983, *(uint32_t*)buf1984, *(uint32_t*)buf1985, *(float*)buf1986);
+    rsMatrixTranslate((rs_matrix4x4*) buf1987, *(float*)buf1988, *(float*)buf1989, *(float*)buf1990);
+    rsMatrixTranspose((rs_matrix4x4*) buf1991);
+    rsMatrixTranspose((rs_matrix3x3*) buf1992);
+    rsMatrixTranspose((rs_matrix2x2*) buf1993);
+    *(uchar4*)buf1994 = rsPackColorTo8888(*(float*)buf1995, *(float*)buf1996, *(float*)buf1997);
+    *(uchar4*)buf1998 = rsPackColorTo8888(*(float*)buf1999, *(float*)buf2000, *(float*)buf2001, *(float*)buf2002);
+    *(uchar4*)buf2003 = rsPackColorTo8888(*(float3*)buf2004);
+    *(uchar4*)buf2005 = rsPackColorTo8888(*(float4*)buf2006);
+    rsQuaternionAdd((rs_quaternion*) buf2007, (const rs_quaternion*) buf2008);
+    rsQuaternionConjugate((rs_quaternion*) buf2009);
+    *(float*)buf2010 = rsQuaternionDot((const rs_quaternion*) buf2011, (const rs_quaternion*) buf2012);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2013, (const rs_quaternion*) buf2014);
+    rsQuaternionLoadRotate((rs_quaternion*) buf2015, *(float*)buf2016, *(float*)buf2017, *(float*)buf2018, *(float*)buf2019);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2020, *(float*)buf2021, *(float*)buf2022, *(float*)buf2023, *(float*)buf2024);
+    rsQuaternionMultiply((rs_quaternion*) buf2025, *(float*)buf2026);
+    rsQuaternionMultiply((rs_quaternion*) buf2027, (const rs_quaternion*) buf2028);
+    rsQuaternionNormalize((rs_quaternion*) buf2029);
+    rsQuaternionSet((rs_quaternion*) buf2030, *(float*)buf2031, *(float*)buf2032, *(float*)buf2033, *(float*)buf2034);
+    rsQuaternionSet((rs_quaternion*) buf2035, (const rs_quaternion*) buf2036);
+    rsQuaternionSlerp((rs_quaternion*) buf2037, (const rs_quaternion*) buf2038, (const rs_quaternion*) buf2039, *(float*)buf2040);
+    *(int*)buf2041 = rsRand(*(int*)buf2042);
+    *(int*)buf2043 = rsRand(*(int*)buf2044, *(int*)buf2045);
+    *(float*)buf2046 = rsRand(*(float*)buf2047);
+    *(float*)buf2048 = rsRand(*(float*)buf2049, *(float*)buf2050);
+    *(bool*)buf2051 = rsSendToClient(*(int*)buf2052);
+    *(bool*)buf2053 = rsSendToClient(*(int*)buf2054, (const void*) buf2055, *(uint*)buf2056);
+    rsSendToClientBlocking(*(int*)buf2057);
+    rsSendToClientBlocking(*(int*)buf2058, (const void*) buf2059, *(uint*)buf2060);
+    rsSetObject((rs_element*) buf2061, *(rs_element*)buf2062);
+    rsSetObject((rs_type*) buf2063, *(rs_type*)buf2064);
+    rsSetObject((rs_allocation*) buf2065, *(rs_allocation*)buf2066);
+    rsSetObject((rs_sampler*) buf2067, *(rs_sampler*)buf2068);
+    rsSetObject((rs_script*) buf2069, *(rs_script*)buf2070);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf2053, *(rs_mesh*)buf2054);
-    rsSetObject((rs_program_fragment*) buf2055, *(rs_program_fragment*)buf2056);
-    rsSetObject((rs_program_vertex*) buf2057, *(rs_program_vertex*)buf2058);
-    rsSetObject((rs_program_raster*) buf2059, *(rs_program_raster*)buf2060);
-    rsSetObject((rs_program_store*) buf2061, *(rs_program_store*)buf2062);
-    rsSetObject((rs_font*) buf2063, *(rs_font*)buf2064);
+    rsSetObject((rs_mesh*) buf2071, *(rs_mesh*)buf2072);
+    rsSetObject((rs_program_fragment*) buf2073, *(rs_program_fragment*)buf2074);
+    rsSetObject((rs_program_vertex*) buf2075, *(rs_program_vertex*)buf2076);
+    rsSetObject((rs_program_raster*) buf2077, *(rs_program_raster*)buf2078);
+    rsSetObject((rs_program_store*) buf2079, *(rs_program_store*)buf2080);
+    rsSetObject((rs_font*) buf2081, *(rs_font*)buf2082);
 #endif
-    *(rs_time_t*)buf2065 = rsTime((rs_time_t*) buf2066);
-    *(float4*)buf2067 = rsUnpackColor8888(*(uchar4*)buf2068);
-    *(int64_t*)buf2069 = rsUptimeMillis();
-    *(int64_t*)buf2070 = rsUptimeNanos();
-    *(float4*)buf2071 = rsYuvToRGBA_float4(*(uchar*)buf2072, *(uchar*)buf2073, *(uchar*)buf2074);
-    *(uchar4*)buf2075 = rsYuvToRGBA_uchar4(*(uchar*)buf2076, *(uchar*)buf2077, *(uchar*)buf2078);
+    *(rs_time_t*)buf2083 = rsTime((rs_time_t*) buf2084);
+    *(float4*)buf2085 = rsUnpackColor8888(*(uchar4*)buf2086);
+    *(int64_t*)buf2087 = rsUptimeMillis();
+    *(int64_t*)buf2088 = rsUptimeNanos();
+    *(float4*)buf2089 = rsYuvToRGBA_float4(*(uchar*)buf2090, *(uchar*)buf2091, *(uchar*)buf2092);
+    *(uchar4*)buf2093 = rsYuvToRGBA_uchar4(*(uchar*)buf2094, *(uchar*)buf2095, *(uchar*)buf2096);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2079);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2097);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf2080, *(uint*)buf2081, *(rs_allocation*)buf2082);
+    rsgBindConstant(*(rs_program_fragment*)buf2098, *(uint*)buf2099, *(rs_allocation*)buf2100);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf2083, *(uint*)buf2084, *(rs_allocation*)buf2085);
+    rsgBindConstant(*(rs_program_vertex*)buf2101, *(uint*)buf2102, *(rs_allocation*)buf2103);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf2086);
+    rsgBindFont(*(rs_font*)buf2104);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf2087);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf2105);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf2088);
+    rsgBindProgramRaster(*(rs_program_raster*)buf2106);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf2089);
+    rsgBindProgramStore(*(rs_program_store*)buf2107);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf2090);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf2108);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf2091, *(uint*)buf2092, *(rs_sampler*)buf2093);
+    rsgBindSampler(*(rs_program_fragment*)buf2109, *(uint*)buf2110, *(rs_sampler*)buf2111);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf2094, *(uint*)buf2095, *(rs_allocation*)buf2096);
+    rsgBindTexture(*(rs_program_fragment*)buf2112, *(uint*)buf2113, *(rs_allocation*)buf2114);
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf2097, *(float*)buf2098, *(float*)buf2099, *(float*)buf2100);
+    rsgClearColor(*(float*)buf2115, *(float*)buf2116, *(float*)buf2117, *(float*)buf2118);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf2101);
+    rsgClearDepth(*(float*)buf2119);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2102);
+    rsgDrawMesh(*(rs_mesh*)buf2120);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2103, *(uint*)buf2104);
+    rsgDrawMesh(*(rs_mesh*)buf2121, *(uint*)buf2122);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2105, *(uint*)buf2106, *(uint*)buf2107, *(uint*)buf2108);
+    rsgDrawMesh(*(rs_mesh*)buf2123, *(uint*)buf2124, *(uint*)buf2125, *(uint*)buf2126);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf2109, *(float*)buf2110, *(float*)buf2111, *(float*)buf2112, *(float*)buf2113, *(float*)buf2114, *(float*)buf2115, *(float*)buf2116, *(float*)buf2117, *(float*)buf2118, *(float*)buf2119, *(float*)buf2120);
+    rsgDrawQuad(*(float*)buf2127, *(float*)buf2128, *(float*)buf2129, *(float*)buf2130, *(float*)buf2131, *(float*)buf2132, *(float*)buf2133, *(float*)buf2134, *(float*)buf2135, *(float*)buf2136, *(float*)buf2137, *(float*)buf2138);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf2121, *(float*)buf2122, *(float*)buf2123, *(float*)buf2124, *(float*)buf2125, *(float*)buf2126, *(float*)buf2127, *(float*)buf2128, *(float*)buf2129, *(float*)buf2130, *(float*)buf2131, *(float*)buf2132, *(float*)buf2133, *(float*)buf2134, *(float*)buf2135, *(float*)buf2136, *(float*)buf2137, *(float*)buf2138, *(float*)buf2139, *(float*)buf2140);
+    rsgDrawQuadTexCoords(*(float*)buf2139, *(float*)buf2140, *(float*)buf2141, *(float*)buf2142, *(float*)buf2143, *(float*)buf2144, *(float*)buf2145, *(float*)buf2146, *(float*)buf2147, *(float*)buf2148, *(float*)buf2149, *(float*)buf2150, *(float*)buf2151, *(float*)buf2152, *(float*)buf2153, *(float*)buf2154, *(float*)buf2155, *(float*)buf2156, *(float*)buf2157, *(float*)buf2158);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf2141, *(float*)buf2142, *(float*)buf2143, *(float*)buf2144, *(float*)buf2145);
+    rsgDrawRect(*(float*)buf2159, *(float*)buf2160, *(float*)buf2161, *(float*)buf2162, *(float*)buf2163);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf2146, *(float*)buf2147, *(float*)buf2148, *(float*)buf2149, *(float*)buf2150);
+    rsgDrawSpriteScreenspace(*(float*)buf2164, *(float*)buf2165, *(float*)buf2166, *(float*)buf2167, *(float*)buf2168);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf2151, *(int*)buf2152, *(int*)buf2153);
+    rsgDrawText((const char*) buf2169, *(int*)buf2170, *(int*)buf2171);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf2154, *(int*)buf2155, *(int*)buf2156);
+    rsgDrawText(*(rs_allocation*)buf2172, *(int*)buf2173, *(int*)buf2174);
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf2157, *(float*)buf2158, *(float*)buf2159, *(float*)buf2160);
+    rsgFontColor(*(float*)buf2175, *(float*)buf2176, *(float*)buf2177, *(float*)buf2178);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2161 = rsgGetHeight();
+    *(uint*)buf2179 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf2162 = rsgGetWidth();
+    *(uint*)buf2180 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf2163, (int*) buf2164, (int*) buf2165, (int*) buf2166, (int*) buf2167);
+    rsgMeasureText((const char*) buf2181, (int*) buf2182, (int*) buf2183, (int*) buf2184, (int*) buf2185);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf2168, (int*) buf2169, (int*) buf2170, (int*) buf2171, (int*) buf2172);
+    rsgMeasureText(*(rs_allocation*)buf2186, (int*) buf2187, (int*) buf2188, (int*) buf2189, (int*) buf2190);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2173, (float*) buf2174, (float*) buf2175, (float*) buf2176, (float*) buf2177, (float*) buf2178, (float*) buf2179);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2191, (float*) buf2192, (float*) buf2193, (float*) buf2194, (float*) buf2195, (float*) buf2196, (float*) buf2197);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2180, (float3*) buf2181, (float3*) buf2182);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2198, (float3*) buf2199, (float3*) buf2200);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2183, *(float*)buf2184, *(float*)buf2185, *(float*)buf2186, *(float*)buf2187);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2201, *(float*)buf2202, *(float*)buf2203, *(float*)buf2204, *(float*)buf2205);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2188);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2206);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2189);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2207);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2190);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2208);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2191);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2209);
 #endif
-    *(float*)buf2192 = rsqrt(*(float*)buf2193);
-    *(float2*)buf2194 = rsqrt(*(float2*)buf2195);
-    *(float3*)buf2196 = rsqrt(*(float3*)buf2197);
-    *(float4*)buf2198 = rsqrt(*(float4*)buf2199);
-    *(float*)buf2200 = sign(*(float*)buf2201);
-    *(float2*)buf2202 = sign(*(float2*)buf2203);
-    *(float3*)buf2204 = sign(*(float3*)buf2205);
-    *(float4*)buf2206 = sign(*(float4*)buf2207);
-    *(float*)buf2208 = sin(*(float*)buf2209);
-    *(float2*)buf2210 = sin(*(float2*)buf2211);
-    *(float3*)buf2212 = sin(*(float3*)buf2213);
-    *(float4*)buf2214 = sin(*(float4*)buf2215);
-    *(float*)buf2216 = sincos(*(float*)buf2217, (float*) buf2218);
-    *(float2*)buf2219 = sincos(*(float2*)buf2220, (float2*) buf2221);
-    *(float3*)buf2222 = sincos(*(float3*)buf2223, (float3*) buf2224);
-    *(float4*)buf2225 = sincos(*(float4*)buf2226, (float4*) buf2227);
-    *(float*)buf2228 = sinh(*(float*)buf2229);
-    *(float2*)buf2230 = sinh(*(float2*)buf2231);
-    *(float3*)buf2232 = sinh(*(float3*)buf2233);
-    *(float4*)buf2234 = sinh(*(float4*)buf2235);
-    *(float*)buf2236 = sinpi(*(float*)buf2237);
-    *(float2*)buf2238 = sinpi(*(float2*)buf2239);
-    *(float3*)buf2240 = sinpi(*(float3*)buf2241);
-    *(float4*)buf2242 = sinpi(*(float4*)buf2243);
-    *(float*)buf2244 = sqrt(*(float*)buf2245);
-    *(float2*)buf2246 = sqrt(*(float2*)buf2247);
-    *(float3*)buf2248 = sqrt(*(float3*)buf2249);
-    *(float4*)buf2250 = sqrt(*(float4*)buf2251);
-    *(float*)buf2252 = step(*(float*)buf2253, *(float*)buf2254);
-    *(float2*)buf2255 = step(*(float2*)buf2256, *(float2*)buf2257);
-    *(float3*)buf2258 = step(*(float3*)buf2259, *(float3*)buf2260);
-    *(float4*)buf2261 = step(*(float4*)buf2262, *(float4*)buf2263);
-    *(float2*)buf2264 = step(*(float2*)buf2265, *(float*)buf2266);
-    *(float3*)buf2267 = step(*(float3*)buf2268, *(float*)buf2269);
-    *(float4*)buf2270 = step(*(float4*)buf2271, *(float*)buf2272);
-    *(float*)buf2273 = tan(*(float*)buf2274);
-    *(float2*)buf2275 = tan(*(float2*)buf2276);
-    *(float3*)buf2277 = tan(*(float3*)buf2278);
-    *(float4*)buf2279 = tan(*(float4*)buf2280);
-    *(float*)buf2281 = tanh(*(float*)buf2282);
-    *(float2*)buf2283 = tanh(*(float2*)buf2284);
-    *(float3*)buf2285 = tanh(*(float3*)buf2286);
-    *(float4*)buf2287 = tanh(*(float4*)buf2288);
-    *(float*)buf2289 = tanpi(*(float*)buf2290);
-    *(float2*)buf2291 = tanpi(*(float2*)buf2292);
-    *(float3*)buf2293 = tanpi(*(float3*)buf2294);
-    *(float4*)buf2295 = tanpi(*(float4*)buf2296);
-    *(float*)buf2297 = tgamma(*(float*)buf2298);
-    *(float2*)buf2299 = tgamma(*(float2*)buf2300);
-    *(float3*)buf2301 = tgamma(*(float3*)buf2302);
-    *(float4*)buf2303 = tgamma(*(float4*)buf2304);
-    *(float*)buf2305 = trunc(*(float*)buf2306);
-    *(float2*)buf2307 = trunc(*(float2*)buf2308);
-    *(float3*)buf2309 = trunc(*(float3*)buf2310);
-    *(float4*)buf2311 = trunc(*(float4*)buf2312);
+    *(float*)buf2210 = rsqrt(*(float*)buf2211);
+    *(float2*)buf2212 = rsqrt(*(float2*)buf2213);
+    *(float3*)buf2214 = rsqrt(*(float3*)buf2215);
+    *(float4*)buf2216 = rsqrt(*(float4*)buf2217);
+    *(float*)buf2218 = sign(*(float*)buf2219);
+    *(float2*)buf2220 = sign(*(float2*)buf2221);
+    *(float3*)buf2222 = sign(*(float3*)buf2223);
+    *(float4*)buf2224 = sign(*(float4*)buf2225);
+    *(float*)buf2226 = sin(*(float*)buf2227);
+    *(float2*)buf2228 = sin(*(float2*)buf2229);
+    *(float3*)buf2230 = sin(*(float3*)buf2231);
+    *(float4*)buf2232 = sin(*(float4*)buf2233);
+    *(float*)buf2234 = sincos(*(float*)buf2235, (float*) buf2236);
+    *(float2*)buf2237 = sincos(*(float2*)buf2238, (float2*) buf2239);
+    *(float3*)buf2240 = sincos(*(float3*)buf2241, (float3*) buf2242);
+    *(float4*)buf2243 = sincos(*(float4*)buf2244, (float4*) buf2245);
+    *(float*)buf2246 = sinh(*(float*)buf2247);
+    *(float2*)buf2248 = sinh(*(float2*)buf2249);
+    *(float3*)buf2250 = sinh(*(float3*)buf2251);
+    *(float4*)buf2252 = sinh(*(float4*)buf2253);
+    *(float*)buf2254 = sinpi(*(float*)buf2255);
+    *(float2*)buf2256 = sinpi(*(float2*)buf2257);
+    *(float3*)buf2258 = sinpi(*(float3*)buf2259);
+    *(float4*)buf2260 = sinpi(*(float4*)buf2261);
+    *(float*)buf2262 = sqrt(*(float*)buf2263);
+    *(float2*)buf2264 = sqrt(*(float2*)buf2265);
+    *(float3*)buf2266 = sqrt(*(float3*)buf2267);
+    *(float4*)buf2268 = sqrt(*(float4*)buf2269);
+    *(float*)buf2270 = step(*(float*)buf2271, *(float*)buf2272);
+    *(float2*)buf2273 = step(*(float2*)buf2274, *(float2*)buf2275);
+    *(float3*)buf2276 = step(*(float3*)buf2277, *(float3*)buf2278);
+    *(float4*)buf2279 = step(*(float4*)buf2280, *(float4*)buf2281);
+    *(float2*)buf2282 = step(*(float2*)buf2283, *(float*)buf2284);
+    *(float3*)buf2285 = step(*(float3*)buf2286, *(float*)buf2287);
+    *(float4*)buf2288 = step(*(float4*)buf2289, *(float*)buf2290);
+    *(float*)buf2291 = tan(*(float*)buf2292);
+    *(float2*)buf2293 = tan(*(float2*)buf2294);
+    *(float3*)buf2295 = tan(*(float3*)buf2296);
+    *(float4*)buf2297 = tan(*(float4*)buf2298);
+    *(float*)buf2299 = tanh(*(float*)buf2300);
+    *(float2*)buf2301 = tanh(*(float2*)buf2302);
+    *(float3*)buf2303 = tanh(*(float3*)buf2304);
+    *(float4*)buf2305 = tanh(*(float4*)buf2306);
+    *(float*)buf2307 = tanpi(*(float*)buf2308);
+    *(float2*)buf2309 = tanpi(*(float2*)buf2310);
+    *(float3*)buf2311 = tanpi(*(float3*)buf2312);
+    *(float4*)buf2313 = tanpi(*(float4*)buf2314);
+    *(float*)buf2315 = tgamma(*(float*)buf2316);
+    *(float2*)buf2317 = tgamma(*(float2*)buf2318);
+    *(float3*)buf2319 = tgamma(*(float3*)buf2320);
+    *(float4*)buf2321 = tgamma(*(float4*)buf2322);
+    *(float*)buf2323 = trunc(*(float*)buf2324);
+    *(float2*)buf2325 = trunc(*(float2*)buf2326);
+    *(float3*)buf2327 = trunc(*(float3*)buf2328);
+    *(float4*)buf2329 = trunc(*(float4*)buf2330);
 }
diff --git a/tests/P_all_api_12/all12.rs b/tests/P_all_api_12/all12.rs
index 72d3dd7..6373487 100644
--- a/tests/P_all_api_12/all12.rs
+++ b/tests/P_all_api_12/all12.rs
@@ -2335,6 +2335,24 @@
 char buf2310[200];
 char buf2311[200];
 char buf2312[200];
+char buf2313[200];
+char buf2314[200];
+char buf2315[200];
+char buf2316[200];
+char buf2317[200];
+char buf2318[200];
+char buf2319[200];
+char buf2320[200];
+char buf2321[200];
+char buf2322[200];
+char buf2323[200];
+char buf2324[200];
+char buf2325[200];
+char buf2326[200];
+char buf2327[200];
+char buf2328[200];
+char buf2329[200];
+char buf2330[200];
 
 void root(const int* in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -2734,539 +2752,545 @@
     *(float2*)buf886 = max(*(float2*)buf887, *(float2*)buf888);
     *(float3*)buf889 = max(*(float3*)buf890, *(float3*)buf891);
     *(float4*)buf892 = max(*(float4*)buf893, *(float4*)buf894);
-    *(char*)buf895 = max(*(char*)buf896, *(char*)buf897);
-    *(uchar*)buf898 = max(*(uchar*)buf899, *(uchar*)buf900);
-    *(short*)buf901 = max(*(short*)buf902, *(short*)buf903);
-    *(ushort*)buf904 = max(*(ushort*)buf905, *(ushort*)buf906);
-    *(int*)buf907 = max(*(int*)buf908, *(int*)buf909);
-    *(uint*)buf910 = max(*(uint*)buf911, *(uint*)buf912);
-    *(char2*)buf913 = max(*(char2*)buf914, *(char2*)buf915);
-    *(uchar2*)buf916 = max(*(uchar2*)buf917, *(uchar2*)buf918);
-    *(short2*)buf919 = max(*(short2*)buf920, *(short2*)buf921);
-    *(ushort2*)buf922 = max(*(ushort2*)buf923, *(ushort2*)buf924);
-    *(int2*)buf925 = max(*(int2*)buf926, *(int2*)buf927);
-    *(uint2*)buf928 = max(*(uint2*)buf929, *(uint2*)buf930);
-    *(char3*)buf931 = max(*(char3*)buf932, *(char3*)buf933);
-    *(uchar3*)buf934 = max(*(uchar3*)buf935, *(uchar3*)buf936);
-    *(short3*)buf937 = max(*(short3*)buf938, *(short3*)buf939);
-    *(ushort3*)buf940 = max(*(ushort3*)buf941, *(ushort3*)buf942);
-    *(int3*)buf943 = max(*(int3*)buf944, *(int3*)buf945);
-    *(uint3*)buf946 = max(*(uint3*)buf947, *(uint3*)buf948);
-    *(char4*)buf949 = max(*(char4*)buf950, *(char4*)buf951);
-    *(uchar4*)buf952 = max(*(uchar4*)buf953, *(uchar4*)buf954);
-    *(short4*)buf955 = max(*(short4*)buf956, *(short4*)buf957);
-    *(ushort4*)buf958 = max(*(ushort4*)buf959, *(ushort4*)buf960);
-    *(int4*)buf961 = max(*(int4*)buf962, *(int4*)buf963);
-    *(uint4*)buf964 = max(*(uint4*)buf965, *(uint4*)buf966);
-    *(float*)buf967 = min(*(float*)buf968, *(float*)buf969);
-    *(float2*)buf970 = min(*(float2*)buf971, *(float2*)buf972);
-    *(float3*)buf973 = min(*(float3*)buf974, *(float3*)buf975);
-    *(float4*)buf976 = min(*(float4*)buf977, *(float4*)buf978);
-    *(char*)buf979 = min(*(char*)buf980, *(char*)buf981);
-    *(uchar*)buf982 = min(*(uchar*)buf983, *(uchar*)buf984);
-    *(short*)buf985 = min(*(short*)buf986, *(short*)buf987);
-    *(ushort*)buf988 = min(*(ushort*)buf989, *(ushort*)buf990);
-    *(int*)buf991 = min(*(int*)buf992, *(int*)buf993);
-    *(uint*)buf994 = min(*(uint*)buf995, *(uint*)buf996);
-    *(char2*)buf997 = min(*(char2*)buf998, *(char2*)buf999);
-    *(uchar2*)buf1000 = min(*(uchar2*)buf1001, *(uchar2*)buf1002);
-    *(short2*)buf1003 = min(*(short2*)buf1004, *(short2*)buf1005);
-    *(ushort2*)buf1006 = min(*(ushort2*)buf1007, *(ushort2*)buf1008);
-    *(int2*)buf1009 = min(*(int2*)buf1010, *(int2*)buf1011);
-    *(uint2*)buf1012 = min(*(uint2*)buf1013, *(uint2*)buf1014);
-    *(char3*)buf1015 = min(*(char3*)buf1016, *(char3*)buf1017);
-    *(uchar3*)buf1018 = min(*(uchar3*)buf1019, *(uchar3*)buf1020);
-    *(short3*)buf1021 = min(*(short3*)buf1022, *(short3*)buf1023);
-    *(ushort3*)buf1024 = min(*(ushort3*)buf1025, *(ushort3*)buf1026);
-    *(int3*)buf1027 = min(*(int3*)buf1028, *(int3*)buf1029);
-    *(uint3*)buf1030 = min(*(uint3*)buf1031, *(uint3*)buf1032);
-    *(char4*)buf1033 = min(*(char4*)buf1034, *(char4*)buf1035);
-    *(uchar4*)buf1036 = min(*(uchar4*)buf1037, *(uchar4*)buf1038);
-    *(short4*)buf1039 = min(*(short4*)buf1040, *(short4*)buf1041);
-    *(ushort4*)buf1042 = min(*(ushort4*)buf1043, *(ushort4*)buf1044);
-    *(int4*)buf1045 = min(*(int4*)buf1046, *(int4*)buf1047);
-    *(uint4*)buf1048 = min(*(uint4*)buf1049, *(uint4*)buf1050);
-    *(float*)buf1051 = mix(*(float*)buf1052, *(float*)buf1053, *(float*)buf1054);
-    *(float2*)buf1055 = mix(*(float2*)buf1056, *(float2*)buf1057, *(float2*)buf1058);
-    *(float3*)buf1059 = mix(*(float3*)buf1060, *(float3*)buf1061, *(float3*)buf1062);
-    *(float4*)buf1063 = mix(*(float4*)buf1064, *(float4*)buf1065, *(float4*)buf1066);
-    *(float2*)buf1067 = mix(*(float2*)buf1068, *(float2*)buf1069, *(float*)buf1070);
-    *(float3*)buf1071 = mix(*(float3*)buf1072, *(float3*)buf1073, *(float*)buf1074);
-    *(float4*)buf1075 = mix(*(float4*)buf1076, *(float4*)buf1077, *(float*)buf1078);
-    *(float*)buf1079 = modf(*(float*)buf1080, (float*) buf1081);
-    *(float2*)buf1082 = modf(*(float2*)buf1083, (float2*) buf1084);
-    *(float3*)buf1085 = modf(*(float3*)buf1086, (float3*) buf1087);
-    *(float4*)buf1088 = modf(*(float4*)buf1089, (float4*) buf1090);
-    *(float*)buf1091 = nan(*(uint*)buf1092);
-    *(float*)buf1093 = nextafter(*(float*)buf1094, *(float*)buf1095);
-    *(float2*)buf1096 = nextafter(*(float2*)buf1097, *(float2*)buf1098);
-    *(float3*)buf1099 = nextafter(*(float3*)buf1100, *(float3*)buf1101);
-    *(float4*)buf1102 = nextafter(*(float4*)buf1103, *(float4*)buf1104);
-    *(float*)buf1105 = normalize(*(float*)buf1106);
-    *(float2*)buf1107 = normalize(*(float2*)buf1108);
-    *(float3*)buf1109 = normalize(*(float3*)buf1110);
-    *(float4*)buf1111 = normalize(*(float4*)buf1112);
-    *(float*)buf1113 = pow(*(float*)buf1114, *(float*)buf1115);
-    *(float2*)buf1116 = pow(*(float2*)buf1117, *(float2*)buf1118);
-    *(float3*)buf1119 = pow(*(float3*)buf1120, *(float3*)buf1121);
-    *(float4*)buf1122 = pow(*(float4*)buf1123, *(float4*)buf1124);
-    *(float*)buf1125 = pown(*(float*)buf1126, *(int*)buf1127);
-    *(float2*)buf1128 = pown(*(float2*)buf1129, *(int2*)buf1130);
-    *(float3*)buf1131 = pown(*(float3*)buf1132, *(int3*)buf1133);
-    *(float4*)buf1134 = pown(*(float4*)buf1135, *(int4*)buf1136);
-    *(float*)buf1137 = powr(*(float*)buf1138, *(float*)buf1139);
-    *(float2*)buf1140 = powr(*(float2*)buf1141, *(float2*)buf1142);
-    *(float3*)buf1143 = powr(*(float3*)buf1144, *(float3*)buf1145);
-    *(float4*)buf1146 = powr(*(float4*)buf1147, *(float4*)buf1148);
-    *(float*)buf1149 = radians(*(float*)buf1150);
-    *(float2*)buf1151 = radians(*(float2*)buf1152);
-    *(float3*)buf1153 = radians(*(float3*)buf1154);
-    *(float4*)buf1155 = radians(*(float4*)buf1156);
-    *(float*)buf1157 = remainder(*(float*)buf1158, *(float*)buf1159);
-    *(float2*)buf1160 = remainder(*(float2*)buf1161, *(float2*)buf1162);
-    *(float3*)buf1163 = remainder(*(float3*)buf1164, *(float3*)buf1165);
-    *(float4*)buf1166 = remainder(*(float4*)buf1167, *(float4*)buf1168);
-    *(float*)buf1169 = remquo(*(float*)buf1170, *(float*)buf1171, (int*) buf1172);
-    *(float2*)buf1173 = remquo(*(float2*)buf1174, *(float2*)buf1175, (int2*) buf1176);
-    *(float3*)buf1177 = remquo(*(float3*)buf1178, *(float3*)buf1179, (int3*) buf1180);
-    *(float4*)buf1181 = remquo(*(float4*)buf1182, *(float4*)buf1183, (int4*) buf1184);
-    *(float*)buf1185 = rint(*(float*)buf1186);
-    *(float2*)buf1187 = rint(*(float2*)buf1188);
-    *(float3*)buf1189 = rint(*(float3*)buf1190);
-    *(float4*)buf1191 = rint(*(float4*)buf1192);
-    *(float*)buf1193 = rootn(*(float*)buf1194, *(int*)buf1195);
-    *(float2*)buf1196 = rootn(*(float2*)buf1197, *(int2*)buf1198);
-    *(float3*)buf1199 = rootn(*(float3*)buf1200, *(int3*)buf1201);
-    *(float4*)buf1202 = rootn(*(float4*)buf1203, *(int4*)buf1204);
-    *(float*)buf1205 = round(*(float*)buf1206);
-    *(float2*)buf1207 = round(*(float2*)buf1208);
-    *(float3*)buf1209 = round(*(float3*)buf1210);
-    *(float4*)buf1211 = round(*(float4*)buf1212);
-    *(uint32_t*)buf1213 = rsAllocationGetDimFaces(*(rs_allocation*)buf1214);
-    *(uint32_t*)buf1215 = rsAllocationGetDimLOD(*(rs_allocation*)buf1216);
-    *(uint32_t*)buf1217 = rsAllocationGetDimX(*(rs_allocation*)buf1218);
-    *(uint32_t*)buf1219 = rsAllocationGetDimY(*(rs_allocation*)buf1220);
-    *(uint32_t*)buf1221 = rsAllocationGetDimZ(*(rs_allocation*)buf1222);
-    *(rs_element*)buf1223 = rsAllocationGetElement(*(rs_allocation*)buf1224);
-    *(char*)buf1225 = rsClamp(*(char*)buf1226, *(char*)buf1227, *(char*)buf1228);
-    *(uchar*)buf1229 = rsClamp(*(uchar*)buf1230, *(uchar*)buf1231, *(uchar*)buf1232);
-    *(short*)buf1233 = rsClamp(*(short*)buf1234, *(short*)buf1235, *(short*)buf1236);
-    *(ushort*)buf1237 = rsClamp(*(ushort*)buf1238, *(ushort*)buf1239, *(ushort*)buf1240);
-    *(int*)buf1241 = rsClamp(*(int*)buf1242, *(int*)buf1243, *(int*)buf1244);
-    *(uint*)buf1245 = rsClamp(*(uint*)buf1246, *(uint*)buf1247, *(uint*)buf1248);
-    rsClearObject((rs_element*) buf1249);
-    rsClearObject((rs_type*) buf1250);
-    rsClearObject((rs_allocation*) buf1251);
-    rsClearObject((rs_sampler*) buf1252);
-    rsClearObject((rs_script*) buf1253);
+    *(float2*)buf895 = max(*(float2*)buf896, *(float*)buf897);
+    *(float3*)buf898 = max(*(float3*)buf899, *(float*)buf900);
+    *(float4*)buf901 = max(*(float4*)buf902, *(float*)buf903);
+    *(char*)buf904 = max(*(char*)buf905, *(char*)buf906);
+    *(uchar*)buf907 = max(*(uchar*)buf908, *(uchar*)buf909);
+    *(short*)buf910 = max(*(short*)buf911, *(short*)buf912);
+    *(ushort*)buf913 = max(*(ushort*)buf914, *(ushort*)buf915);
+    *(int*)buf916 = max(*(int*)buf917, *(int*)buf918);
+    *(uint*)buf919 = max(*(uint*)buf920, *(uint*)buf921);
+    *(char2*)buf922 = max(*(char2*)buf923, *(char2*)buf924);
+    *(uchar2*)buf925 = max(*(uchar2*)buf926, *(uchar2*)buf927);
+    *(short2*)buf928 = max(*(short2*)buf929, *(short2*)buf930);
+    *(ushort2*)buf931 = max(*(ushort2*)buf932, *(ushort2*)buf933);
+    *(int2*)buf934 = max(*(int2*)buf935, *(int2*)buf936);
+    *(uint2*)buf937 = max(*(uint2*)buf938, *(uint2*)buf939);
+    *(char3*)buf940 = max(*(char3*)buf941, *(char3*)buf942);
+    *(uchar3*)buf943 = max(*(uchar3*)buf944, *(uchar3*)buf945);
+    *(short3*)buf946 = max(*(short3*)buf947, *(short3*)buf948);
+    *(ushort3*)buf949 = max(*(ushort3*)buf950, *(ushort3*)buf951);
+    *(int3*)buf952 = max(*(int3*)buf953, *(int3*)buf954);
+    *(uint3*)buf955 = max(*(uint3*)buf956, *(uint3*)buf957);
+    *(char4*)buf958 = max(*(char4*)buf959, *(char4*)buf960);
+    *(uchar4*)buf961 = max(*(uchar4*)buf962, *(uchar4*)buf963);
+    *(short4*)buf964 = max(*(short4*)buf965, *(short4*)buf966);
+    *(ushort4*)buf967 = max(*(ushort4*)buf968, *(ushort4*)buf969);
+    *(int4*)buf970 = max(*(int4*)buf971, *(int4*)buf972);
+    *(uint4*)buf973 = max(*(uint4*)buf974, *(uint4*)buf975);
+    *(float*)buf976 = min(*(float*)buf977, *(float*)buf978);
+    *(float2*)buf979 = min(*(float2*)buf980, *(float2*)buf981);
+    *(float3*)buf982 = min(*(float3*)buf983, *(float3*)buf984);
+    *(float4*)buf985 = min(*(float4*)buf986, *(float4*)buf987);
+    *(float2*)buf988 = min(*(float2*)buf989, *(float*)buf990);
+    *(float3*)buf991 = min(*(float3*)buf992, *(float*)buf993);
+    *(float4*)buf994 = min(*(float4*)buf995, *(float*)buf996);
+    *(char*)buf997 = min(*(char*)buf998, *(char*)buf999);
+    *(uchar*)buf1000 = min(*(uchar*)buf1001, *(uchar*)buf1002);
+    *(short*)buf1003 = min(*(short*)buf1004, *(short*)buf1005);
+    *(ushort*)buf1006 = min(*(ushort*)buf1007, *(ushort*)buf1008);
+    *(int*)buf1009 = min(*(int*)buf1010, *(int*)buf1011);
+    *(uint*)buf1012 = min(*(uint*)buf1013, *(uint*)buf1014);
+    *(char2*)buf1015 = min(*(char2*)buf1016, *(char2*)buf1017);
+    *(uchar2*)buf1018 = min(*(uchar2*)buf1019, *(uchar2*)buf1020);
+    *(short2*)buf1021 = min(*(short2*)buf1022, *(short2*)buf1023);
+    *(ushort2*)buf1024 = min(*(ushort2*)buf1025, *(ushort2*)buf1026);
+    *(int2*)buf1027 = min(*(int2*)buf1028, *(int2*)buf1029);
+    *(uint2*)buf1030 = min(*(uint2*)buf1031, *(uint2*)buf1032);
+    *(char3*)buf1033 = min(*(char3*)buf1034, *(char3*)buf1035);
+    *(uchar3*)buf1036 = min(*(uchar3*)buf1037, *(uchar3*)buf1038);
+    *(short3*)buf1039 = min(*(short3*)buf1040, *(short3*)buf1041);
+    *(ushort3*)buf1042 = min(*(ushort3*)buf1043, *(ushort3*)buf1044);
+    *(int3*)buf1045 = min(*(int3*)buf1046, *(int3*)buf1047);
+    *(uint3*)buf1048 = min(*(uint3*)buf1049, *(uint3*)buf1050);
+    *(char4*)buf1051 = min(*(char4*)buf1052, *(char4*)buf1053);
+    *(uchar4*)buf1054 = min(*(uchar4*)buf1055, *(uchar4*)buf1056);
+    *(short4*)buf1057 = min(*(short4*)buf1058, *(short4*)buf1059);
+    *(ushort4*)buf1060 = min(*(ushort4*)buf1061, *(ushort4*)buf1062);
+    *(int4*)buf1063 = min(*(int4*)buf1064, *(int4*)buf1065);
+    *(uint4*)buf1066 = min(*(uint4*)buf1067, *(uint4*)buf1068);
+    *(float*)buf1069 = mix(*(float*)buf1070, *(float*)buf1071, *(float*)buf1072);
+    *(float2*)buf1073 = mix(*(float2*)buf1074, *(float2*)buf1075, *(float2*)buf1076);
+    *(float3*)buf1077 = mix(*(float3*)buf1078, *(float3*)buf1079, *(float3*)buf1080);
+    *(float4*)buf1081 = mix(*(float4*)buf1082, *(float4*)buf1083, *(float4*)buf1084);
+    *(float2*)buf1085 = mix(*(float2*)buf1086, *(float2*)buf1087, *(float*)buf1088);
+    *(float3*)buf1089 = mix(*(float3*)buf1090, *(float3*)buf1091, *(float*)buf1092);
+    *(float4*)buf1093 = mix(*(float4*)buf1094, *(float4*)buf1095, *(float*)buf1096);
+    *(float*)buf1097 = modf(*(float*)buf1098, (float*) buf1099);
+    *(float2*)buf1100 = modf(*(float2*)buf1101, (float2*) buf1102);
+    *(float3*)buf1103 = modf(*(float3*)buf1104, (float3*) buf1105);
+    *(float4*)buf1106 = modf(*(float4*)buf1107, (float4*) buf1108);
+    *(float*)buf1109 = nan(*(uint*)buf1110);
+    *(float*)buf1111 = nextafter(*(float*)buf1112, *(float*)buf1113);
+    *(float2*)buf1114 = nextafter(*(float2*)buf1115, *(float2*)buf1116);
+    *(float3*)buf1117 = nextafter(*(float3*)buf1118, *(float3*)buf1119);
+    *(float4*)buf1120 = nextafter(*(float4*)buf1121, *(float4*)buf1122);
+    *(float*)buf1123 = normalize(*(float*)buf1124);
+    *(float2*)buf1125 = normalize(*(float2*)buf1126);
+    *(float3*)buf1127 = normalize(*(float3*)buf1128);
+    *(float4*)buf1129 = normalize(*(float4*)buf1130);
+    *(float*)buf1131 = pow(*(float*)buf1132, *(float*)buf1133);
+    *(float2*)buf1134 = pow(*(float2*)buf1135, *(float2*)buf1136);
+    *(float3*)buf1137 = pow(*(float3*)buf1138, *(float3*)buf1139);
+    *(float4*)buf1140 = pow(*(float4*)buf1141, *(float4*)buf1142);
+    *(float*)buf1143 = pown(*(float*)buf1144, *(int*)buf1145);
+    *(float2*)buf1146 = pown(*(float2*)buf1147, *(int2*)buf1148);
+    *(float3*)buf1149 = pown(*(float3*)buf1150, *(int3*)buf1151);
+    *(float4*)buf1152 = pown(*(float4*)buf1153, *(int4*)buf1154);
+    *(float*)buf1155 = powr(*(float*)buf1156, *(float*)buf1157);
+    *(float2*)buf1158 = powr(*(float2*)buf1159, *(float2*)buf1160);
+    *(float3*)buf1161 = powr(*(float3*)buf1162, *(float3*)buf1163);
+    *(float4*)buf1164 = powr(*(float4*)buf1165, *(float4*)buf1166);
+    *(float*)buf1167 = radians(*(float*)buf1168);
+    *(float2*)buf1169 = radians(*(float2*)buf1170);
+    *(float3*)buf1171 = radians(*(float3*)buf1172);
+    *(float4*)buf1173 = radians(*(float4*)buf1174);
+    *(float*)buf1175 = remainder(*(float*)buf1176, *(float*)buf1177);
+    *(float2*)buf1178 = remainder(*(float2*)buf1179, *(float2*)buf1180);
+    *(float3*)buf1181 = remainder(*(float3*)buf1182, *(float3*)buf1183);
+    *(float4*)buf1184 = remainder(*(float4*)buf1185, *(float4*)buf1186);
+    *(float*)buf1187 = remquo(*(float*)buf1188, *(float*)buf1189, (int*) buf1190);
+    *(float2*)buf1191 = remquo(*(float2*)buf1192, *(float2*)buf1193, (int2*) buf1194);
+    *(float3*)buf1195 = remquo(*(float3*)buf1196, *(float3*)buf1197, (int3*) buf1198);
+    *(float4*)buf1199 = remquo(*(float4*)buf1200, *(float4*)buf1201, (int4*) buf1202);
+    *(float*)buf1203 = rint(*(float*)buf1204);
+    *(float2*)buf1205 = rint(*(float2*)buf1206);
+    *(float3*)buf1207 = rint(*(float3*)buf1208);
+    *(float4*)buf1209 = rint(*(float4*)buf1210);
+    *(float*)buf1211 = rootn(*(float*)buf1212, *(int*)buf1213);
+    *(float2*)buf1214 = rootn(*(float2*)buf1215, *(int2*)buf1216);
+    *(float3*)buf1217 = rootn(*(float3*)buf1218, *(int3*)buf1219);
+    *(float4*)buf1220 = rootn(*(float4*)buf1221, *(int4*)buf1222);
+    *(float*)buf1223 = round(*(float*)buf1224);
+    *(float2*)buf1225 = round(*(float2*)buf1226);
+    *(float3*)buf1227 = round(*(float3*)buf1228);
+    *(float4*)buf1229 = round(*(float4*)buf1230);
+    *(uint32_t*)buf1231 = rsAllocationGetDimFaces(*(rs_allocation*)buf1232);
+    *(uint32_t*)buf1233 = rsAllocationGetDimLOD(*(rs_allocation*)buf1234);
+    *(uint32_t*)buf1235 = rsAllocationGetDimX(*(rs_allocation*)buf1236);
+    *(uint32_t*)buf1237 = rsAllocationGetDimY(*(rs_allocation*)buf1238);
+    *(uint32_t*)buf1239 = rsAllocationGetDimZ(*(rs_allocation*)buf1240);
+    *(rs_element*)buf1241 = rsAllocationGetElement(*(rs_allocation*)buf1242);
+    *(char*)buf1243 = rsClamp(*(char*)buf1244, *(char*)buf1245, *(char*)buf1246);
+    *(uchar*)buf1247 = rsClamp(*(uchar*)buf1248, *(uchar*)buf1249, *(uchar*)buf1250);
+    *(short*)buf1251 = rsClamp(*(short*)buf1252, *(short*)buf1253, *(short*)buf1254);
+    *(ushort*)buf1255 = rsClamp(*(ushort*)buf1256, *(ushort*)buf1257, *(ushort*)buf1258);
+    *(int*)buf1259 = rsClamp(*(int*)buf1260, *(int*)buf1261, *(int*)buf1262);
+    *(uint*)buf1263 = rsClamp(*(uint*)buf1264, *(uint*)buf1265, *(uint*)buf1266);
+    rsClearObject((rs_element*) buf1267);
+    rsClearObject((rs_type*) buf1268);
+    rsClearObject((rs_allocation*) buf1269);
+    rsClearObject((rs_sampler*) buf1270);
+    rsClearObject((rs_script*) buf1271);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf1254);
-    rsClearObject((rs_program_fragment*) buf1255);
-    rsClearObject((rs_program_vertex*) buf1256);
-    rsClearObject((rs_program_raster*) buf1257);
-    rsClearObject((rs_program_store*) buf1258);
-    rsClearObject((rs_font*) buf1259);
+    rsClearObject((rs_mesh*) buf1272);
+    rsClearObject((rs_program_fragment*) buf1273);
+    rsClearObject((rs_program_vertex*) buf1274);
+    rsClearObject((rs_program_raster*) buf1275);
+    rsClearObject((rs_program_store*) buf1276);
+    rsClearObject((rs_font*) buf1277);
 #endif
-    rsDebug((const char*) buf1260, *(double*)buf1261);
-    rsDebug((const char*) buf1262, *(int*)buf1263);
-    rsDebug((const char*) buf1264, *(uint*)buf1265);
-    rsDebug((const char*) buf1266, *(long*)buf1267);
-    rsDebug((const char*) buf1268, *(ulong*)buf1269);
-    rsDebug((const char*) buf1270, *(float*)buf1271);
-    rsDebug((const char*) buf1272, *(float2*)buf1273);
-    rsDebug((const char*) buf1274, *(float3*)buf1275);
-    rsDebug((const char*) buf1276, *(float4*)buf1277);
-    rsDebug((const char*) buf1278, *(float*)buf1279, *(float*)buf1280);
-    rsDebug((const char*) buf1281, *(float*)buf1282, *(float*)buf1283, *(float*)buf1284);
-    rsDebug((const char*) buf1285, *(float*)buf1286, *(float*)buf1287, *(float*)buf1288, *(float*)buf1289);
-    rsDebug((const char*) buf1290, *(long long*)buf1291);
-    rsDebug((const char*) buf1292, *(unsigned long long*)buf1293);
-    rsDebug((const char*) buf1294, (const void*) buf1295);
-    rsDebug((const char*) buf1296, (const rs_matrix4x4*) buf1297);
-    rsDebug((const char*) buf1298, (const rs_matrix3x3*) buf1299);
-    rsDebug((const char*) buf1300, (const rs_matrix2x2*) buf1301);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1302, (float4*) buf1303, (float4*) buf1304, (float4*) buf1305, (float4*) buf1306, (float4*) buf1307, (float4*) buf1308);
-    rsForEach(*(rs_script*)buf1309, *(rs_allocation*)buf1310, *(rs_allocation*)buf1311, (const void*) buf1312, (const rs_script_call_t*) buf1313);
-    rsForEach(*(rs_script*)buf1314, *(rs_allocation*)buf1315, *(rs_allocation*)buf1316, (const void*) buf1317);
-    *(float*)buf1318 = rsFrac(*(float*)buf1319);
-    *(rs_allocation*)buf1320 = rsGetAllocation((const void*) buf1321);
-    *(float*)buf1322 = rsGetDt();
-    *(const void**)buf1323 = rsGetElementAt(*(rs_allocation*)buf1324, *(uint32_t*)buf1325);
-    *(const void**)buf1326 = rsGetElementAt(*(rs_allocation*)buf1327, *(uint32_t*)buf1328, *(uint32_t*)buf1329);
-    *(const void**)buf1330 = rsGetElementAt(*(rs_allocation*)buf1331, *(uint32_t*)buf1332, *(uint32_t*)buf1333, *(uint32_t*)buf1334);
-    *(float*)buf1335 = rsGetElementAt_float(*(rs_allocation*)buf1336, *(uint32_t*)buf1337);
-    *(float2*)buf1338 = rsGetElementAt_float2(*(rs_allocation*)buf1339, *(uint32_t*)buf1340);
-    *(float3*)buf1341 = rsGetElementAt_float3(*(rs_allocation*)buf1342, *(uint32_t*)buf1343);
-    *(float4*)buf1344 = rsGetElementAt_float4(*(rs_allocation*)buf1345, *(uint32_t*)buf1346);
-    *(double*)buf1347 = rsGetElementAt_double(*(rs_allocation*)buf1348, *(uint32_t*)buf1349);
-    *(double2*)buf1350 = rsGetElementAt_double2(*(rs_allocation*)buf1351, *(uint32_t*)buf1352);
-    *(double3*)buf1353 = rsGetElementAt_double3(*(rs_allocation*)buf1354, *(uint32_t*)buf1355);
-    *(double4*)buf1356 = rsGetElementAt_double4(*(rs_allocation*)buf1357, *(uint32_t*)buf1358);
-    *(char*)buf1359 = rsGetElementAt_char(*(rs_allocation*)buf1360, *(uint32_t*)buf1361);
-    *(char2*)buf1362 = rsGetElementAt_char2(*(rs_allocation*)buf1363, *(uint32_t*)buf1364);
-    *(char3*)buf1365 = rsGetElementAt_char3(*(rs_allocation*)buf1366, *(uint32_t*)buf1367);
-    *(char4*)buf1368 = rsGetElementAt_char4(*(rs_allocation*)buf1369, *(uint32_t*)buf1370);
-    *(uchar*)buf1371 = rsGetElementAt_uchar(*(rs_allocation*)buf1372, *(uint32_t*)buf1373);
-    *(uchar2*)buf1374 = rsGetElementAt_uchar2(*(rs_allocation*)buf1375, *(uint32_t*)buf1376);
-    *(uchar3*)buf1377 = rsGetElementAt_uchar3(*(rs_allocation*)buf1378, *(uint32_t*)buf1379);
-    *(uchar4*)buf1380 = rsGetElementAt_uchar4(*(rs_allocation*)buf1381, *(uint32_t*)buf1382);
-    *(short*)buf1383 = rsGetElementAt_short(*(rs_allocation*)buf1384, *(uint32_t*)buf1385);
-    *(short2*)buf1386 = rsGetElementAt_short2(*(rs_allocation*)buf1387, *(uint32_t*)buf1388);
-    *(short3*)buf1389 = rsGetElementAt_short3(*(rs_allocation*)buf1390, *(uint32_t*)buf1391);
-    *(short4*)buf1392 = rsGetElementAt_short4(*(rs_allocation*)buf1393, *(uint32_t*)buf1394);
-    *(ushort*)buf1395 = rsGetElementAt_ushort(*(rs_allocation*)buf1396, *(uint32_t*)buf1397);
-    *(ushort2*)buf1398 = rsGetElementAt_ushort2(*(rs_allocation*)buf1399, *(uint32_t*)buf1400);
-    *(ushort3*)buf1401 = rsGetElementAt_ushort3(*(rs_allocation*)buf1402, *(uint32_t*)buf1403);
-    *(ushort4*)buf1404 = rsGetElementAt_ushort4(*(rs_allocation*)buf1405, *(uint32_t*)buf1406);
-    *(int*)buf1407 = rsGetElementAt_int(*(rs_allocation*)buf1408, *(uint32_t*)buf1409);
-    *(int2*)buf1410 = rsGetElementAt_int2(*(rs_allocation*)buf1411, *(uint32_t*)buf1412);
-    *(int3*)buf1413 = rsGetElementAt_int3(*(rs_allocation*)buf1414, *(uint32_t*)buf1415);
-    *(int4*)buf1416 = rsGetElementAt_int4(*(rs_allocation*)buf1417, *(uint32_t*)buf1418);
-    *(uint*)buf1419 = rsGetElementAt_uint(*(rs_allocation*)buf1420, *(uint32_t*)buf1421);
-    *(uint2*)buf1422 = rsGetElementAt_uint2(*(rs_allocation*)buf1423, *(uint32_t*)buf1424);
-    *(uint3*)buf1425 = rsGetElementAt_uint3(*(rs_allocation*)buf1426, *(uint32_t*)buf1427);
-    *(uint4*)buf1428 = rsGetElementAt_uint4(*(rs_allocation*)buf1429, *(uint32_t*)buf1430);
-    *(long*)buf1431 = rsGetElementAt_long(*(rs_allocation*)buf1432, *(uint32_t*)buf1433);
-    *(long2*)buf1434 = rsGetElementAt_long2(*(rs_allocation*)buf1435, *(uint32_t*)buf1436);
-    *(long3*)buf1437 = rsGetElementAt_long3(*(rs_allocation*)buf1438, *(uint32_t*)buf1439);
-    *(long4*)buf1440 = rsGetElementAt_long4(*(rs_allocation*)buf1441, *(uint32_t*)buf1442);
-    *(ulong*)buf1443 = rsGetElementAt_ulong(*(rs_allocation*)buf1444, *(uint32_t*)buf1445);
-    *(ulong2*)buf1446 = rsGetElementAt_ulong2(*(rs_allocation*)buf1447, *(uint32_t*)buf1448);
-    *(ulong3*)buf1449 = rsGetElementAt_ulong3(*(rs_allocation*)buf1450, *(uint32_t*)buf1451);
-    *(ulong4*)buf1452 = rsGetElementAt_ulong4(*(rs_allocation*)buf1453, *(uint32_t*)buf1454);
-    *(float*)buf1455 = rsGetElementAt_float(*(rs_allocation*)buf1456, *(uint32_t*)buf1457, *(uint32_t*)buf1458);
-    *(float2*)buf1459 = rsGetElementAt_float2(*(rs_allocation*)buf1460, *(uint32_t*)buf1461, *(uint32_t*)buf1462);
-    *(float3*)buf1463 = rsGetElementAt_float3(*(rs_allocation*)buf1464, *(uint32_t*)buf1465, *(uint32_t*)buf1466);
-    *(float4*)buf1467 = rsGetElementAt_float4(*(rs_allocation*)buf1468, *(uint32_t*)buf1469, *(uint32_t*)buf1470);
-    *(double*)buf1471 = rsGetElementAt_double(*(rs_allocation*)buf1472, *(uint32_t*)buf1473, *(uint32_t*)buf1474);
-    *(double2*)buf1475 = rsGetElementAt_double2(*(rs_allocation*)buf1476, *(uint32_t*)buf1477, *(uint32_t*)buf1478);
-    *(double3*)buf1479 = rsGetElementAt_double3(*(rs_allocation*)buf1480, *(uint32_t*)buf1481, *(uint32_t*)buf1482);
-    *(double4*)buf1483 = rsGetElementAt_double4(*(rs_allocation*)buf1484, *(uint32_t*)buf1485, *(uint32_t*)buf1486);
-    *(char*)buf1487 = rsGetElementAt_char(*(rs_allocation*)buf1488, *(uint32_t*)buf1489, *(uint32_t*)buf1490);
-    *(char2*)buf1491 = rsGetElementAt_char2(*(rs_allocation*)buf1492, *(uint32_t*)buf1493, *(uint32_t*)buf1494);
-    *(char3*)buf1495 = rsGetElementAt_char3(*(rs_allocation*)buf1496, *(uint32_t*)buf1497, *(uint32_t*)buf1498);
-    *(char4*)buf1499 = rsGetElementAt_char4(*(rs_allocation*)buf1500, *(uint32_t*)buf1501, *(uint32_t*)buf1502);
-    *(uchar*)buf1503 = rsGetElementAt_uchar(*(rs_allocation*)buf1504, *(uint32_t*)buf1505, *(uint32_t*)buf1506);
-    *(uchar2*)buf1507 = rsGetElementAt_uchar2(*(rs_allocation*)buf1508, *(uint32_t*)buf1509, *(uint32_t*)buf1510);
-    *(uchar3*)buf1511 = rsGetElementAt_uchar3(*(rs_allocation*)buf1512, *(uint32_t*)buf1513, *(uint32_t*)buf1514);
-    *(uchar4*)buf1515 = rsGetElementAt_uchar4(*(rs_allocation*)buf1516, *(uint32_t*)buf1517, *(uint32_t*)buf1518);
-    *(short*)buf1519 = rsGetElementAt_short(*(rs_allocation*)buf1520, *(uint32_t*)buf1521, *(uint32_t*)buf1522);
-    *(short2*)buf1523 = rsGetElementAt_short2(*(rs_allocation*)buf1524, *(uint32_t*)buf1525, *(uint32_t*)buf1526);
-    *(short3*)buf1527 = rsGetElementAt_short3(*(rs_allocation*)buf1528, *(uint32_t*)buf1529, *(uint32_t*)buf1530);
-    *(short4*)buf1531 = rsGetElementAt_short4(*(rs_allocation*)buf1532, *(uint32_t*)buf1533, *(uint32_t*)buf1534);
-    *(ushort*)buf1535 = rsGetElementAt_ushort(*(rs_allocation*)buf1536, *(uint32_t*)buf1537, *(uint32_t*)buf1538);
-    *(ushort2*)buf1539 = rsGetElementAt_ushort2(*(rs_allocation*)buf1540, *(uint32_t*)buf1541, *(uint32_t*)buf1542);
-    *(ushort3*)buf1543 = rsGetElementAt_ushort3(*(rs_allocation*)buf1544, *(uint32_t*)buf1545, *(uint32_t*)buf1546);
-    *(ushort4*)buf1547 = rsGetElementAt_ushort4(*(rs_allocation*)buf1548, *(uint32_t*)buf1549, *(uint32_t*)buf1550);
-    *(int*)buf1551 = rsGetElementAt_int(*(rs_allocation*)buf1552, *(uint32_t*)buf1553, *(uint32_t*)buf1554);
-    *(int2*)buf1555 = rsGetElementAt_int2(*(rs_allocation*)buf1556, *(uint32_t*)buf1557, *(uint32_t*)buf1558);
-    *(int3*)buf1559 = rsGetElementAt_int3(*(rs_allocation*)buf1560, *(uint32_t*)buf1561, *(uint32_t*)buf1562);
-    *(int4*)buf1563 = rsGetElementAt_int4(*(rs_allocation*)buf1564, *(uint32_t*)buf1565, *(uint32_t*)buf1566);
-    *(uint*)buf1567 = rsGetElementAt_uint(*(rs_allocation*)buf1568, *(uint32_t*)buf1569, *(uint32_t*)buf1570);
-    *(uint2*)buf1571 = rsGetElementAt_uint2(*(rs_allocation*)buf1572, *(uint32_t*)buf1573, *(uint32_t*)buf1574);
-    *(uint3*)buf1575 = rsGetElementAt_uint3(*(rs_allocation*)buf1576, *(uint32_t*)buf1577, *(uint32_t*)buf1578);
-    *(uint4*)buf1579 = rsGetElementAt_uint4(*(rs_allocation*)buf1580, *(uint32_t*)buf1581, *(uint32_t*)buf1582);
-    *(long*)buf1583 = rsGetElementAt_long(*(rs_allocation*)buf1584, *(uint32_t*)buf1585, *(uint32_t*)buf1586);
-    *(long2*)buf1587 = rsGetElementAt_long2(*(rs_allocation*)buf1588, *(uint32_t*)buf1589, *(uint32_t*)buf1590);
-    *(long3*)buf1591 = rsGetElementAt_long3(*(rs_allocation*)buf1592, *(uint32_t*)buf1593, *(uint32_t*)buf1594);
-    *(long4*)buf1595 = rsGetElementAt_long4(*(rs_allocation*)buf1596, *(uint32_t*)buf1597, *(uint32_t*)buf1598);
-    *(ulong*)buf1599 = rsGetElementAt_ulong(*(rs_allocation*)buf1600, *(uint32_t*)buf1601, *(uint32_t*)buf1602);
-    *(ulong2*)buf1603 = rsGetElementAt_ulong2(*(rs_allocation*)buf1604, *(uint32_t*)buf1605, *(uint32_t*)buf1606);
-    *(ulong3*)buf1607 = rsGetElementAt_ulong3(*(rs_allocation*)buf1608, *(uint32_t*)buf1609, *(uint32_t*)buf1610);
-    *(ulong4*)buf1611 = rsGetElementAt_ulong4(*(rs_allocation*)buf1612, *(uint32_t*)buf1613, *(uint32_t*)buf1614);
-    *(float*)buf1615 = rsGetElementAt_float(*(rs_allocation*)buf1616, *(uint32_t*)buf1617, *(uint32_t*)buf1618, *(uint32_t*)buf1619);
-    *(float2*)buf1620 = rsGetElementAt_float2(*(rs_allocation*)buf1621, *(uint32_t*)buf1622, *(uint32_t*)buf1623, *(uint32_t*)buf1624);
-    *(float3*)buf1625 = rsGetElementAt_float3(*(rs_allocation*)buf1626, *(uint32_t*)buf1627, *(uint32_t*)buf1628, *(uint32_t*)buf1629);
-    *(float4*)buf1630 = rsGetElementAt_float4(*(rs_allocation*)buf1631, *(uint32_t*)buf1632, *(uint32_t*)buf1633, *(uint32_t*)buf1634);
-    *(double*)buf1635 = rsGetElementAt_double(*(rs_allocation*)buf1636, *(uint32_t*)buf1637, *(uint32_t*)buf1638, *(uint32_t*)buf1639);
-    *(double2*)buf1640 = rsGetElementAt_double2(*(rs_allocation*)buf1641, *(uint32_t*)buf1642, *(uint32_t*)buf1643, *(uint32_t*)buf1644);
-    *(double3*)buf1645 = rsGetElementAt_double3(*(rs_allocation*)buf1646, *(uint32_t*)buf1647, *(uint32_t*)buf1648, *(uint32_t*)buf1649);
-    *(double4*)buf1650 = rsGetElementAt_double4(*(rs_allocation*)buf1651, *(uint32_t*)buf1652, *(uint32_t*)buf1653, *(uint32_t*)buf1654);
-    *(char*)buf1655 = rsGetElementAt_char(*(rs_allocation*)buf1656, *(uint32_t*)buf1657, *(uint32_t*)buf1658, *(uint32_t*)buf1659);
-    *(char2*)buf1660 = rsGetElementAt_char2(*(rs_allocation*)buf1661, *(uint32_t*)buf1662, *(uint32_t*)buf1663, *(uint32_t*)buf1664);
-    *(char3*)buf1665 = rsGetElementAt_char3(*(rs_allocation*)buf1666, *(uint32_t*)buf1667, *(uint32_t*)buf1668, *(uint32_t*)buf1669);
-    *(char4*)buf1670 = rsGetElementAt_char4(*(rs_allocation*)buf1671, *(uint32_t*)buf1672, *(uint32_t*)buf1673, *(uint32_t*)buf1674);
-    *(uchar*)buf1675 = rsGetElementAt_uchar(*(rs_allocation*)buf1676, *(uint32_t*)buf1677, *(uint32_t*)buf1678, *(uint32_t*)buf1679);
-    *(uchar2*)buf1680 = rsGetElementAt_uchar2(*(rs_allocation*)buf1681, *(uint32_t*)buf1682, *(uint32_t*)buf1683, *(uint32_t*)buf1684);
-    *(uchar3*)buf1685 = rsGetElementAt_uchar3(*(rs_allocation*)buf1686, *(uint32_t*)buf1687, *(uint32_t*)buf1688, *(uint32_t*)buf1689);
-    *(uchar4*)buf1690 = rsGetElementAt_uchar4(*(rs_allocation*)buf1691, *(uint32_t*)buf1692, *(uint32_t*)buf1693, *(uint32_t*)buf1694);
-    *(short*)buf1695 = rsGetElementAt_short(*(rs_allocation*)buf1696, *(uint32_t*)buf1697, *(uint32_t*)buf1698, *(uint32_t*)buf1699);
-    *(short2*)buf1700 = rsGetElementAt_short2(*(rs_allocation*)buf1701, *(uint32_t*)buf1702, *(uint32_t*)buf1703, *(uint32_t*)buf1704);
-    *(short3*)buf1705 = rsGetElementAt_short3(*(rs_allocation*)buf1706, *(uint32_t*)buf1707, *(uint32_t*)buf1708, *(uint32_t*)buf1709);
-    *(short4*)buf1710 = rsGetElementAt_short4(*(rs_allocation*)buf1711, *(uint32_t*)buf1712, *(uint32_t*)buf1713, *(uint32_t*)buf1714);
-    *(ushort*)buf1715 = rsGetElementAt_ushort(*(rs_allocation*)buf1716, *(uint32_t*)buf1717, *(uint32_t*)buf1718, *(uint32_t*)buf1719);
-    *(ushort2*)buf1720 = rsGetElementAt_ushort2(*(rs_allocation*)buf1721, *(uint32_t*)buf1722, *(uint32_t*)buf1723, *(uint32_t*)buf1724);
-    *(ushort3*)buf1725 = rsGetElementAt_ushort3(*(rs_allocation*)buf1726, *(uint32_t*)buf1727, *(uint32_t*)buf1728, *(uint32_t*)buf1729);
-    *(ushort4*)buf1730 = rsGetElementAt_ushort4(*(rs_allocation*)buf1731, *(uint32_t*)buf1732, *(uint32_t*)buf1733, *(uint32_t*)buf1734);
-    *(int*)buf1735 = rsGetElementAt_int(*(rs_allocation*)buf1736, *(uint32_t*)buf1737, *(uint32_t*)buf1738, *(uint32_t*)buf1739);
-    *(int2*)buf1740 = rsGetElementAt_int2(*(rs_allocation*)buf1741, *(uint32_t*)buf1742, *(uint32_t*)buf1743, *(uint32_t*)buf1744);
-    *(int3*)buf1745 = rsGetElementAt_int3(*(rs_allocation*)buf1746, *(uint32_t*)buf1747, *(uint32_t*)buf1748, *(uint32_t*)buf1749);
-    *(int4*)buf1750 = rsGetElementAt_int4(*(rs_allocation*)buf1751, *(uint32_t*)buf1752, *(uint32_t*)buf1753, *(uint32_t*)buf1754);
-    *(uint*)buf1755 = rsGetElementAt_uint(*(rs_allocation*)buf1756, *(uint32_t*)buf1757, *(uint32_t*)buf1758, *(uint32_t*)buf1759);
-    *(uint2*)buf1760 = rsGetElementAt_uint2(*(rs_allocation*)buf1761, *(uint32_t*)buf1762, *(uint32_t*)buf1763, *(uint32_t*)buf1764);
-    *(uint3*)buf1765 = rsGetElementAt_uint3(*(rs_allocation*)buf1766, *(uint32_t*)buf1767, *(uint32_t*)buf1768, *(uint32_t*)buf1769);
-    *(uint4*)buf1770 = rsGetElementAt_uint4(*(rs_allocation*)buf1771, *(uint32_t*)buf1772, *(uint32_t*)buf1773, *(uint32_t*)buf1774);
-    *(long*)buf1775 = rsGetElementAt_long(*(rs_allocation*)buf1776, *(uint32_t*)buf1777, *(uint32_t*)buf1778, *(uint32_t*)buf1779);
-    *(long2*)buf1780 = rsGetElementAt_long2(*(rs_allocation*)buf1781, *(uint32_t*)buf1782, *(uint32_t*)buf1783, *(uint32_t*)buf1784);
-    *(long3*)buf1785 = rsGetElementAt_long3(*(rs_allocation*)buf1786, *(uint32_t*)buf1787, *(uint32_t*)buf1788, *(uint32_t*)buf1789);
-    *(long4*)buf1790 = rsGetElementAt_long4(*(rs_allocation*)buf1791, *(uint32_t*)buf1792, *(uint32_t*)buf1793, *(uint32_t*)buf1794);
-    *(ulong*)buf1795 = rsGetElementAt_ulong(*(rs_allocation*)buf1796, *(uint32_t*)buf1797, *(uint32_t*)buf1798, *(uint32_t*)buf1799);
-    *(ulong2*)buf1800 = rsGetElementAt_ulong2(*(rs_allocation*)buf1801, *(uint32_t*)buf1802, *(uint32_t*)buf1803, *(uint32_t*)buf1804);
-    *(ulong3*)buf1805 = rsGetElementAt_ulong3(*(rs_allocation*)buf1806, *(uint32_t*)buf1807, *(uint32_t*)buf1808, *(uint32_t*)buf1809);
-    *(ulong4*)buf1810 = rsGetElementAt_ulong4(*(rs_allocation*)buf1811, *(uint32_t*)buf1812, *(uint32_t*)buf1813, *(uint32_t*)buf1814);
-    *(bool*)buf1815 = rsIsObject(*(rs_element*)buf1816);
-    *(bool*)buf1817 = rsIsObject(*(rs_type*)buf1818);
-    *(bool*)buf1819 = rsIsObject(*(rs_allocation*)buf1820);
-    *(bool*)buf1821 = rsIsObject(*(rs_sampler*)buf1822);
-    *(bool*)buf1823 = rsIsObject(*(rs_script*)buf1824);
+    rsDebug((const char*) buf1278, *(double*)buf1279);
+    rsDebug((const char*) buf1280, *(int*)buf1281);
+    rsDebug((const char*) buf1282, *(uint*)buf1283);
+    rsDebug((const char*) buf1284, *(long*)buf1285);
+    rsDebug((const char*) buf1286, *(ulong*)buf1287);
+    rsDebug((const char*) buf1288, *(float*)buf1289);
+    rsDebug((const char*) buf1290, *(float2*)buf1291);
+    rsDebug((const char*) buf1292, *(float3*)buf1293);
+    rsDebug((const char*) buf1294, *(float4*)buf1295);
+    rsDebug((const char*) buf1296, *(float*)buf1297, *(float*)buf1298);
+    rsDebug((const char*) buf1299, *(float*)buf1300, *(float*)buf1301, *(float*)buf1302);
+    rsDebug((const char*) buf1303, *(float*)buf1304, *(float*)buf1305, *(float*)buf1306, *(float*)buf1307);
+    rsDebug((const char*) buf1308, *(long long*)buf1309);
+    rsDebug((const char*) buf1310, *(unsigned long long*)buf1311);
+    rsDebug((const char*) buf1312, (const void*) buf1313);
+    rsDebug((const char*) buf1314, (const rs_matrix4x4*) buf1315);
+    rsDebug((const char*) buf1316, (const rs_matrix3x3*) buf1317);
+    rsDebug((const char*) buf1318, (const rs_matrix2x2*) buf1319);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1320, (float4*) buf1321, (float4*) buf1322, (float4*) buf1323, (float4*) buf1324, (float4*) buf1325, (float4*) buf1326);
+    rsForEach(*(rs_script*)buf1327, *(rs_allocation*)buf1328, *(rs_allocation*)buf1329, (const void*) buf1330, (const rs_script_call_t*) buf1331);
+    rsForEach(*(rs_script*)buf1332, *(rs_allocation*)buf1333, *(rs_allocation*)buf1334, (const void*) buf1335);
+    *(float*)buf1336 = rsFrac(*(float*)buf1337);
+    *(rs_allocation*)buf1338 = rsGetAllocation((const void*) buf1339);
+    *(float*)buf1340 = rsGetDt();
+    *(const void**)buf1341 = rsGetElementAt(*(rs_allocation*)buf1342, *(uint32_t*)buf1343);
+    *(const void**)buf1344 = rsGetElementAt(*(rs_allocation*)buf1345, *(uint32_t*)buf1346, *(uint32_t*)buf1347);
+    *(const void**)buf1348 = rsGetElementAt(*(rs_allocation*)buf1349, *(uint32_t*)buf1350, *(uint32_t*)buf1351, *(uint32_t*)buf1352);
+    *(float*)buf1353 = rsGetElementAt_float(*(rs_allocation*)buf1354, *(uint32_t*)buf1355);
+    *(float2*)buf1356 = rsGetElementAt_float2(*(rs_allocation*)buf1357, *(uint32_t*)buf1358);
+    *(float3*)buf1359 = rsGetElementAt_float3(*(rs_allocation*)buf1360, *(uint32_t*)buf1361);
+    *(float4*)buf1362 = rsGetElementAt_float4(*(rs_allocation*)buf1363, *(uint32_t*)buf1364);
+    *(double*)buf1365 = rsGetElementAt_double(*(rs_allocation*)buf1366, *(uint32_t*)buf1367);
+    *(double2*)buf1368 = rsGetElementAt_double2(*(rs_allocation*)buf1369, *(uint32_t*)buf1370);
+    *(double3*)buf1371 = rsGetElementAt_double3(*(rs_allocation*)buf1372, *(uint32_t*)buf1373);
+    *(double4*)buf1374 = rsGetElementAt_double4(*(rs_allocation*)buf1375, *(uint32_t*)buf1376);
+    *(char*)buf1377 = rsGetElementAt_char(*(rs_allocation*)buf1378, *(uint32_t*)buf1379);
+    *(char2*)buf1380 = rsGetElementAt_char2(*(rs_allocation*)buf1381, *(uint32_t*)buf1382);
+    *(char3*)buf1383 = rsGetElementAt_char3(*(rs_allocation*)buf1384, *(uint32_t*)buf1385);
+    *(char4*)buf1386 = rsGetElementAt_char4(*(rs_allocation*)buf1387, *(uint32_t*)buf1388);
+    *(uchar*)buf1389 = rsGetElementAt_uchar(*(rs_allocation*)buf1390, *(uint32_t*)buf1391);
+    *(uchar2*)buf1392 = rsGetElementAt_uchar2(*(rs_allocation*)buf1393, *(uint32_t*)buf1394);
+    *(uchar3*)buf1395 = rsGetElementAt_uchar3(*(rs_allocation*)buf1396, *(uint32_t*)buf1397);
+    *(uchar4*)buf1398 = rsGetElementAt_uchar4(*(rs_allocation*)buf1399, *(uint32_t*)buf1400);
+    *(short*)buf1401 = rsGetElementAt_short(*(rs_allocation*)buf1402, *(uint32_t*)buf1403);
+    *(short2*)buf1404 = rsGetElementAt_short2(*(rs_allocation*)buf1405, *(uint32_t*)buf1406);
+    *(short3*)buf1407 = rsGetElementAt_short3(*(rs_allocation*)buf1408, *(uint32_t*)buf1409);
+    *(short4*)buf1410 = rsGetElementAt_short4(*(rs_allocation*)buf1411, *(uint32_t*)buf1412);
+    *(ushort*)buf1413 = rsGetElementAt_ushort(*(rs_allocation*)buf1414, *(uint32_t*)buf1415);
+    *(ushort2*)buf1416 = rsGetElementAt_ushort2(*(rs_allocation*)buf1417, *(uint32_t*)buf1418);
+    *(ushort3*)buf1419 = rsGetElementAt_ushort3(*(rs_allocation*)buf1420, *(uint32_t*)buf1421);
+    *(ushort4*)buf1422 = rsGetElementAt_ushort4(*(rs_allocation*)buf1423, *(uint32_t*)buf1424);
+    *(int*)buf1425 = rsGetElementAt_int(*(rs_allocation*)buf1426, *(uint32_t*)buf1427);
+    *(int2*)buf1428 = rsGetElementAt_int2(*(rs_allocation*)buf1429, *(uint32_t*)buf1430);
+    *(int3*)buf1431 = rsGetElementAt_int3(*(rs_allocation*)buf1432, *(uint32_t*)buf1433);
+    *(int4*)buf1434 = rsGetElementAt_int4(*(rs_allocation*)buf1435, *(uint32_t*)buf1436);
+    *(uint*)buf1437 = rsGetElementAt_uint(*(rs_allocation*)buf1438, *(uint32_t*)buf1439);
+    *(uint2*)buf1440 = rsGetElementAt_uint2(*(rs_allocation*)buf1441, *(uint32_t*)buf1442);
+    *(uint3*)buf1443 = rsGetElementAt_uint3(*(rs_allocation*)buf1444, *(uint32_t*)buf1445);
+    *(uint4*)buf1446 = rsGetElementAt_uint4(*(rs_allocation*)buf1447, *(uint32_t*)buf1448);
+    *(long*)buf1449 = rsGetElementAt_long(*(rs_allocation*)buf1450, *(uint32_t*)buf1451);
+    *(long2*)buf1452 = rsGetElementAt_long2(*(rs_allocation*)buf1453, *(uint32_t*)buf1454);
+    *(long3*)buf1455 = rsGetElementAt_long3(*(rs_allocation*)buf1456, *(uint32_t*)buf1457);
+    *(long4*)buf1458 = rsGetElementAt_long4(*(rs_allocation*)buf1459, *(uint32_t*)buf1460);
+    *(ulong*)buf1461 = rsGetElementAt_ulong(*(rs_allocation*)buf1462, *(uint32_t*)buf1463);
+    *(ulong2*)buf1464 = rsGetElementAt_ulong2(*(rs_allocation*)buf1465, *(uint32_t*)buf1466);
+    *(ulong3*)buf1467 = rsGetElementAt_ulong3(*(rs_allocation*)buf1468, *(uint32_t*)buf1469);
+    *(ulong4*)buf1470 = rsGetElementAt_ulong4(*(rs_allocation*)buf1471, *(uint32_t*)buf1472);
+    *(float*)buf1473 = rsGetElementAt_float(*(rs_allocation*)buf1474, *(uint32_t*)buf1475, *(uint32_t*)buf1476);
+    *(float2*)buf1477 = rsGetElementAt_float2(*(rs_allocation*)buf1478, *(uint32_t*)buf1479, *(uint32_t*)buf1480);
+    *(float3*)buf1481 = rsGetElementAt_float3(*(rs_allocation*)buf1482, *(uint32_t*)buf1483, *(uint32_t*)buf1484);
+    *(float4*)buf1485 = rsGetElementAt_float4(*(rs_allocation*)buf1486, *(uint32_t*)buf1487, *(uint32_t*)buf1488);
+    *(double*)buf1489 = rsGetElementAt_double(*(rs_allocation*)buf1490, *(uint32_t*)buf1491, *(uint32_t*)buf1492);
+    *(double2*)buf1493 = rsGetElementAt_double2(*(rs_allocation*)buf1494, *(uint32_t*)buf1495, *(uint32_t*)buf1496);
+    *(double3*)buf1497 = rsGetElementAt_double3(*(rs_allocation*)buf1498, *(uint32_t*)buf1499, *(uint32_t*)buf1500);
+    *(double4*)buf1501 = rsGetElementAt_double4(*(rs_allocation*)buf1502, *(uint32_t*)buf1503, *(uint32_t*)buf1504);
+    *(char*)buf1505 = rsGetElementAt_char(*(rs_allocation*)buf1506, *(uint32_t*)buf1507, *(uint32_t*)buf1508);
+    *(char2*)buf1509 = rsGetElementAt_char2(*(rs_allocation*)buf1510, *(uint32_t*)buf1511, *(uint32_t*)buf1512);
+    *(char3*)buf1513 = rsGetElementAt_char3(*(rs_allocation*)buf1514, *(uint32_t*)buf1515, *(uint32_t*)buf1516);
+    *(char4*)buf1517 = rsGetElementAt_char4(*(rs_allocation*)buf1518, *(uint32_t*)buf1519, *(uint32_t*)buf1520);
+    *(uchar*)buf1521 = rsGetElementAt_uchar(*(rs_allocation*)buf1522, *(uint32_t*)buf1523, *(uint32_t*)buf1524);
+    *(uchar2*)buf1525 = rsGetElementAt_uchar2(*(rs_allocation*)buf1526, *(uint32_t*)buf1527, *(uint32_t*)buf1528);
+    *(uchar3*)buf1529 = rsGetElementAt_uchar3(*(rs_allocation*)buf1530, *(uint32_t*)buf1531, *(uint32_t*)buf1532);
+    *(uchar4*)buf1533 = rsGetElementAt_uchar4(*(rs_allocation*)buf1534, *(uint32_t*)buf1535, *(uint32_t*)buf1536);
+    *(short*)buf1537 = rsGetElementAt_short(*(rs_allocation*)buf1538, *(uint32_t*)buf1539, *(uint32_t*)buf1540);
+    *(short2*)buf1541 = rsGetElementAt_short2(*(rs_allocation*)buf1542, *(uint32_t*)buf1543, *(uint32_t*)buf1544);
+    *(short3*)buf1545 = rsGetElementAt_short3(*(rs_allocation*)buf1546, *(uint32_t*)buf1547, *(uint32_t*)buf1548);
+    *(short4*)buf1549 = rsGetElementAt_short4(*(rs_allocation*)buf1550, *(uint32_t*)buf1551, *(uint32_t*)buf1552);
+    *(ushort*)buf1553 = rsGetElementAt_ushort(*(rs_allocation*)buf1554, *(uint32_t*)buf1555, *(uint32_t*)buf1556);
+    *(ushort2*)buf1557 = rsGetElementAt_ushort2(*(rs_allocation*)buf1558, *(uint32_t*)buf1559, *(uint32_t*)buf1560);
+    *(ushort3*)buf1561 = rsGetElementAt_ushort3(*(rs_allocation*)buf1562, *(uint32_t*)buf1563, *(uint32_t*)buf1564);
+    *(ushort4*)buf1565 = rsGetElementAt_ushort4(*(rs_allocation*)buf1566, *(uint32_t*)buf1567, *(uint32_t*)buf1568);
+    *(int*)buf1569 = rsGetElementAt_int(*(rs_allocation*)buf1570, *(uint32_t*)buf1571, *(uint32_t*)buf1572);
+    *(int2*)buf1573 = rsGetElementAt_int2(*(rs_allocation*)buf1574, *(uint32_t*)buf1575, *(uint32_t*)buf1576);
+    *(int3*)buf1577 = rsGetElementAt_int3(*(rs_allocation*)buf1578, *(uint32_t*)buf1579, *(uint32_t*)buf1580);
+    *(int4*)buf1581 = rsGetElementAt_int4(*(rs_allocation*)buf1582, *(uint32_t*)buf1583, *(uint32_t*)buf1584);
+    *(uint*)buf1585 = rsGetElementAt_uint(*(rs_allocation*)buf1586, *(uint32_t*)buf1587, *(uint32_t*)buf1588);
+    *(uint2*)buf1589 = rsGetElementAt_uint2(*(rs_allocation*)buf1590, *(uint32_t*)buf1591, *(uint32_t*)buf1592);
+    *(uint3*)buf1593 = rsGetElementAt_uint3(*(rs_allocation*)buf1594, *(uint32_t*)buf1595, *(uint32_t*)buf1596);
+    *(uint4*)buf1597 = rsGetElementAt_uint4(*(rs_allocation*)buf1598, *(uint32_t*)buf1599, *(uint32_t*)buf1600);
+    *(long*)buf1601 = rsGetElementAt_long(*(rs_allocation*)buf1602, *(uint32_t*)buf1603, *(uint32_t*)buf1604);
+    *(long2*)buf1605 = rsGetElementAt_long2(*(rs_allocation*)buf1606, *(uint32_t*)buf1607, *(uint32_t*)buf1608);
+    *(long3*)buf1609 = rsGetElementAt_long3(*(rs_allocation*)buf1610, *(uint32_t*)buf1611, *(uint32_t*)buf1612);
+    *(long4*)buf1613 = rsGetElementAt_long4(*(rs_allocation*)buf1614, *(uint32_t*)buf1615, *(uint32_t*)buf1616);
+    *(ulong*)buf1617 = rsGetElementAt_ulong(*(rs_allocation*)buf1618, *(uint32_t*)buf1619, *(uint32_t*)buf1620);
+    *(ulong2*)buf1621 = rsGetElementAt_ulong2(*(rs_allocation*)buf1622, *(uint32_t*)buf1623, *(uint32_t*)buf1624);
+    *(ulong3*)buf1625 = rsGetElementAt_ulong3(*(rs_allocation*)buf1626, *(uint32_t*)buf1627, *(uint32_t*)buf1628);
+    *(ulong4*)buf1629 = rsGetElementAt_ulong4(*(rs_allocation*)buf1630, *(uint32_t*)buf1631, *(uint32_t*)buf1632);
+    *(float*)buf1633 = rsGetElementAt_float(*(rs_allocation*)buf1634, *(uint32_t*)buf1635, *(uint32_t*)buf1636, *(uint32_t*)buf1637);
+    *(float2*)buf1638 = rsGetElementAt_float2(*(rs_allocation*)buf1639, *(uint32_t*)buf1640, *(uint32_t*)buf1641, *(uint32_t*)buf1642);
+    *(float3*)buf1643 = rsGetElementAt_float3(*(rs_allocation*)buf1644, *(uint32_t*)buf1645, *(uint32_t*)buf1646, *(uint32_t*)buf1647);
+    *(float4*)buf1648 = rsGetElementAt_float4(*(rs_allocation*)buf1649, *(uint32_t*)buf1650, *(uint32_t*)buf1651, *(uint32_t*)buf1652);
+    *(double*)buf1653 = rsGetElementAt_double(*(rs_allocation*)buf1654, *(uint32_t*)buf1655, *(uint32_t*)buf1656, *(uint32_t*)buf1657);
+    *(double2*)buf1658 = rsGetElementAt_double2(*(rs_allocation*)buf1659, *(uint32_t*)buf1660, *(uint32_t*)buf1661, *(uint32_t*)buf1662);
+    *(double3*)buf1663 = rsGetElementAt_double3(*(rs_allocation*)buf1664, *(uint32_t*)buf1665, *(uint32_t*)buf1666, *(uint32_t*)buf1667);
+    *(double4*)buf1668 = rsGetElementAt_double4(*(rs_allocation*)buf1669, *(uint32_t*)buf1670, *(uint32_t*)buf1671, *(uint32_t*)buf1672);
+    *(char*)buf1673 = rsGetElementAt_char(*(rs_allocation*)buf1674, *(uint32_t*)buf1675, *(uint32_t*)buf1676, *(uint32_t*)buf1677);
+    *(char2*)buf1678 = rsGetElementAt_char2(*(rs_allocation*)buf1679, *(uint32_t*)buf1680, *(uint32_t*)buf1681, *(uint32_t*)buf1682);
+    *(char3*)buf1683 = rsGetElementAt_char3(*(rs_allocation*)buf1684, *(uint32_t*)buf1685, *(uint32_t*)buf1686, *(uint32_t*)buf1687);
+    *(char4*)buf1688 = rsGetElementAt_char4(*(rs_allocation*)buf1689, *(uint32_t*)buf1690, *(uint32_t*)buf1691, *(uint32_t*)buf1692);
+    *(uchar*)buf1693 = rsGetElementAt_uchar(*(rs_allocation*)buf1694, *(uint32_t*)buf1695, *(uint32_t*)buf1696, *(uint32_t*)buf1697);
+    *(uchar2*)buf1698 = rsGetElementAt_uchar2(*(rs_allocation*)buf1699, *(uint32_t*)buf1700, *(uint32_t*)buf1701, *(uint32_t*)buf1702);
+    *(uchar3*)buf1703 = rsGetElementAt_uchar3(*(rs_allocation*)buf1704, *(uint32_t*)buf1705, *(uint32_t*)buf1706, *(uint32_t*)buf1707);
+    *(uchar4*)buf1708 = rsGetElementAt_uchar4(*(rs_allocation*)buf1709, *(uint32_t*)buf1710, *(uint32_t*)buf1711, *(uint32_t*)buf1712);
+    *(short*)buf1713 = rsGetElementAt_short(*(rs_allocation*)buf1714, *(uint32_t*)buf1715, *(uint32_t*)buf1716, *(uint32_t*)buf1717);
+    *(short2*)buf1718 = rsGetElementAt_short2(*(rs_allocation*)buf1719, *(uint32_t*)buf1720, *(uint32_t*)buf1721, *(uint32_t*)buf1722);
+    *(short3*)buf1723 = rsGetElementAt_short3(*(rs_allocation*)buf1724, *(uint32_t*)buf1725, *(uint32_t*)buf1726, *(uint32_t*)buf1727);
+    *(short4*)buf1728 = rsGetElementAt_short4(*(rs_allocation*)buf1729, *(uint32_t*)buf1730, *(uint32_t*)buf1731, *(uint32_t*)buf1732);
+    *(ushort*)buf1733 = rsGetElementAt_ushort(*(rs_allocation*)buf1734, *(uint32_t*)buf1735, *(uint32_t*)buf1736, *(uint32_t*)buf1737);
+    *(ushort2*)buf1738 = rsGetElementAt_ushort2(*(rs_allocation*)buf1739, *(uint32_t*)buf1740, *(uint32_t*)buf1741, *(uint32_t*)buf1742);
+    *(ushort3*)buf1743 = rsGetElementAt_ushort3(*(rs_allocation*)buf1744, *(uint32_t*)buf1745, *(uint32_t*)buf1746, *(uint32_t*)buf1747);
+    *(ushort4*)buf1748 = rsGetElementAt_ushort4(*(rs_allocation*)buf1749, *(uint32_t*)buf1750, *(uint32_t*)buf1751, *(uint32_t*)buf1752);
+    *(int*)buf1753 = rsGetElementAt_int(*(rs_allocation*)buf1754, *(uint32_t*)buf1755, *(uint32_t*)buf1756, *(uint32_t*)buf1757);
+    *(int2*)buf1758 = rsGetElementAt_int2(*(rs_allocation*)buf1759, *(uint32_t*)buf1760, *(uint32_t*)buf1761, *(uint32_t*)buf1762);
+    *(int3*)buf1763 = rsGetElementAt_int3(*(rs_allocation*)buf1764, *(uint32_t*)buf1765, *(uint32_t*)buf1766, *(uint32_t*)buf1767);
+    *(int4*)buf1768 = rsGetElementAt_int4(*(rs_allocation*)buf1769, *(uint32_t*)buf1770, *(uint32_t*)buf1771, *(uint32_t*)buf1772);
+    *(uint*)buf1773 = rsGetElementAt_uint(*(rs_allocation*)buf1774, *(uint32_t*)buf1775, *(uint32_t*)buf1776, *(uint32_t*)buf1777);
+    *(uint2*)buf1778 = rsGetElementAt_uint2(*(rs_allocation*)buf1779, *(uint32_t*)buf1780, *(uint32_t*)buf1781, *(uint32_t*)buf1782);
+    *(uint3*)buf1783 = rsGetElementAt_uint3(*(rs_allocation*)buf1784, *(uint32_t*)buf1785, *(uint32_t*)buf1786, *(uint32_t*)buf1787);
+    *(uint4*)buf1788 = rsGetElementAt_uint4(*(rs_allocation*)buf1789, *(uint32_t*)buf1790, *(uint32_t*)buf1791, *(uint32_t*)buf1792);
+    *(long*)buf1793 = rsGetElementAt_long(*(rs_allocation*)buf1794, *(uint32_t*)buf1795, *(uint32_t*)buf1796, *(uint32_t*)buf1797);
+    *(long2*)buf1798 = rsGetElementAt_long2(*(rs_allocation*)buf1799, *(uint32_t*)buf1800, *(uint32_t*)buf1801, *(uint32_t*)buf1802);
+    *(long3*)buf1803 = rsGetElementAt_long3(*(rs_allocation*)buf1804, *(uint32_t*)buf1805, *(uint32_t*)buf1806, *(uint32_t*)buf1807);
+    *(long4*)buf1808 = rsGetElementAt_long4(*(rs_allocation*)buf1809, *(uint32_t*)buf1810, *(uint32_t*)buf1811, *(uint32_t*)buf1812);
+    *(ulong*)buf1813 = rsGetElementAt_ulong(*(rs_allocation*)buf1814, *(uint32_t*)buf1815, *(uint32_t*)buf1816, *(uint32_t*)buf1817);
+    *(ulong2*)buf1818 = rsGetElementAt_ulong2(*(rs_allocation*)buf1819, *(uint32_t*)buf1820, *(uint32_t*)buf1821, *(uint32_t*)buf1822);
+    *(ulong3*)buf1823 = rsGetElementAt_ulong3(*(rs_allocation*)buf1824, *(uint32_t*)buf1825, *(uint32_t*)buf1826, *(uint32_t*)buf1827);
+    *(ulong4*)buf1828 = rsGetElementAt_ulong4(*(rs_allocation*)buf1829, *(uint32_t*)buf1830, *(uint32_t*)buf1831, *(uint32_t*)buf1832);
+    *(bool*)buf1833 = rsIsObject(*(rs_element*)buf1834);
+    *(bool*)buf1835 = rsIsObject(*(rs_type*)buf1836);
+    *(bool*)buf1837 = rsIsObject(*(rs_allocation*)buf1838);
+    *(bool*)buf1839 = rsIsObject(*(rs_sampler*)buf1840);
+    *(bool*)buf1841 = rsIsObject(*(rs_script*)buf1842);
 #ifndef __LP64__
-    *(bool*)buf1825 = rsIsObject(*(rs_mesh*)buf1826);
-    *(bool*)buf1827 = rsIsObject(*(rs_program_fragment*)buf1828);
-    *(bool*)buf1829 = rsIsObject(*(rs_program_vertex*)buf1830);
-    *(bool*)buf1831 = rsIsObject(*(rs_program_raster*)buf1832);
-    *(bool*)buf1833 = rsIsObject(*(rs_program_store*)buf1834);
-    *(bool*)buf1835 = rsIsObject(*(rs_font*)buf1836);
+    *(bool*)buf1843 = rsIsObject(*(rs_mesh*)buf1844);
+    *(bool*)buf1845 = rsIsObject(*(rs_program_fragment*)buf1846);
+    *(bool*)buf1847 = rsIsObject(*(rs_program_vertex*)buf1848);
+    *(bool*)buf1849 = rsIsObject(*(rs_program_raster*)buf1850);
+    *(bool*)buf1851 = rsIsObject(*(rs_program_store*)buf1852);
+    *(bool*)buf1853 = rsIsObject(*(rs_font*)buf1854);
 #endif
-    *(bool*)buf1837 = rsIsSphereInFrustum((float4*) buf1838, (float4*) buf1839, (float4*) buf1840, (float4*) buf1841, (float4*) buf1842, (float4*) buf1843, (float4*) buf1844);
-    *(rs_tm**)buf1845 = rsLocaltime((rs_tm*) buf1846, (const rs_time_t*) buf1847);
-    *(float*)buf1848 = rsMatrixGet((const rs_matrix4x4*) buf1849, *(uint32_t*)buf1850, *(uint32_t*)buf1851);
-    *(float*)buf1852 = rsMatrixGet((const rs_matrix3x3*) buf1853, *(uint32_t*)buf1854, *(uint32_t*)buf1855);
-    *(float*)buf1856 = rsMatrixGet((const rs_matrix2x2*) buf1857, *(uint32_t*)buf1858, *(uint32_t*)buf1859);
-    *(bool*)buf1860 = rsMatrixInverse((rs_matrix4x4*) buf1861);
-    *(bool*)buf1862 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1863);
-    rsMatrixLoad((rs_matrix4x4*) buf1864, (const float*) buf1865);
-    rsMatrixLoad((rs_matrix3x3*) buf1866, (const float*) buf1867);
-    rsMatrixLoad((rs_matrix2x2*) buf1868, (const float*) buf1869);
-    rsMatrixLoad((rs_matrix4x4*) buf1870, (const rs_matrix4x4*) buf1871);
-    rsMatrixLoad((rs_matrix3x3*) buf1872, (const rs_matrix3x3*) buf1873);
-    rsMatrixLoad((rs_matrix2x2*) buf1874, (const rs_matrix2x2*) buf1875);
-    rsMatrixLoad((rs_matrix4x4*) buf1876, (const rs_matrix3x3*) buf1877);
-    rsMatrixLoad((rs_matrix4x4*) buf1878, (const rs_matrix2x2*) buf1879);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf1880, *(float*)buf1881, *(float*)buf1882, *(float*)buf1883, *(float*)buf1884, *(float*)buf1885, *(float*)buf1886);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf1887);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf1888);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf1889);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf1890, (const rs_matrix4x4*) buf1891, (const rs_matrix4x4*) buf1892);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf1893, (const rs_matrix3x3*) buf1894, (const rs_matrix3x3*) buf1895);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf1896, (const rs_matrix2x2*) buf1897, (const rs_matrix2x2*) buf1898);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf1899, *(float*)buf1900, *(float*)buf1901, *(float*)buf1902, *(float*)buf1903, *(float*)buf1904, *(float*)buf1905);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf1906, *(float*)buf1907, *(float*)buf1908, *(float*)buf1909, *(float*)buf1910);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf1911, *(float*)buf1912, *(float*)buf1913, *(float*)buf1914, *(float*)buf1915);
-    rsMatrixLoadScale((rs_matrix4x4*) buf1916, *(float*)buf1917, *(float*)buf1918, *(float*)buf1919);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf1920, *(float*)buf1921, *(float*)buf1922, *(float*)buf1923);
-    rsMatrixMultiply((rs_matrix4x4*) buf1924, (const rs_matrix4x4*) buf1925);
-    rsMatrixMultiply((rs_matrix3x3*) buf1926, (const rs_matrix3x3*) buf1927);
-    rsMatrixMultiply((rs_matrix2x2*) buf1928, (const rs_matrix2x2*) buf1929);
-    *(float4*)buf1930 = rsMatrixMultiply((rs_matrix4x4*) buf1931, *(float4*)buf1932);
-    *(float4*)buf1933 = rsMatrixMultiply((rs_matrix4x4*) buf1934, *(float3*)buf1935);
-    *(float4*)buf1936 = rsMatrixMultiply((rs_matrix4x4*) buf1937, *(float2*)buf1938);
-    *(float3*)buf1939 = rsMatrixMultiply((rs_matrix3x3*) buf1940, *(float3*)buf1941);
-    *(float3*)buf1942 = rsMatrixMultiply((rs_matrix3x3*) buf1943, *(float2*)buf1944);
-    *(float2*)buf1945 = rsMatrixMultiply((rs_matrix2x2*) buf1946, *(float2*)buf1947);
-    rsMatrixRotate((rs_matrix4x4*) buf1948, *(float*)buf1949, *(float*)buf1950, *(float*)buf1951, *(float*)buf1952);
-    rsMatrixScale((rs_matrix4x4*) buf1953, *(float*)buf1954, *(float*)buf1955, *(float*)buf1956);
-    rsMatrixSet((rs_matrix4x4*) buf1957, *(uint32_t*)buf1958, *(uint32_t*)buf1959, *(float*)buf1960);
-    rsMatrixSet((rs_matrix3x3*) buf1961, *(uint32_t*)buf1962, *(uint32_t*)buf1963, *(float*)buf1964);
-    rsMatrixSet((rs_matrix2x2*) buf1965, *(uint32_t*)buf1966, *(uint32_t*)buf1967, *(float*)buf1968);
-    rsMatrixTranslate((rs_matrix4x4*) buf1969, *(float*)buf1970, *(float*)buf1971, *(float*)buf1972);
-    rsMatrixTranspose((rs_matrix4x4*) buf1973);
-    rsMatrixTranspose((rs_matrix3x3*) buf1974);
-    rsMatrixTranspose((rs_matrix2x2*) buf1975);
-    *(uchar4*)buf1976 = rsPackColorTo8888(*(float*)buf1977, *(float*)buf1978, *(float*)buf1979);
-    *(uchar4*)buf1980 = rsPackColorTo8888(*(float*)buf1981, *(float*)buf1982, *(float*)buf1983, *(float*)buf1984);
-    *(uchar4*)buf1985 = rsPackColorTo8888(*(float3*)buf1986);
-    *(uchar4*)buf1987 = rsPackColorTo8888(*(float4*)buf1988);
-    rsQuaternionAdd((rs_quaternion*) buf1989, (const rs_quaternion*) buf1990);
-    rsQuaternionConjugate((rs_quaternion*) buf1991);
-    *(float*)buf1992 = rsQuaternionDot((const rs_quaternion*) buf1993, (const rs_quaternion*) buf1994);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf1995, (const rs_quaternion*) buf1996);
-    rsQuaternionLoadRotate((rs_quaternion*) buf1997, *(float*)buf1998, *(float*)buf1999, *(float*)buf2000, *(float*)buf2001);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2002, *(float*)buf2003, *(float*)buf2004, *(float*)buf2005, *(float*)buf2006);
-    rsQuaternionMultiply((rs_quaternion*) buf2007, *(float*)buf2008);
-    rsQuaternionMultiply((rs_quaternion*) buf2009, (const rs_quaternion*) buf2010);
-    rsQuaternionNormalize((rs_quaternion*) buf2011);
-    rsQuaternionSet((rs_quaternion*) buf2012, *(float*)buf2013, *(float*)buf2014, *(float*)buf2015, *(float*)buf2016);
-    rsQuaternionSet((rs_quaternion*) buf2017, (const rs_quaternion*) buf2018);
-    rsQuaternionSlerp((rs_quaternion*) buf2019, (const rs_quaternion*) buf2020, (const rs_quaternion*) buf2021, *(float*)buf2022);
-    *(int*)buf2023 = rsRand(*(int*)buf2024);
-    *(int*)buf2025 = rsRand(*(int*)buf2026, *(int*)buf2027);
-    *(float*)buf2028 = rsRand(*(float*)buf2029);
-    *(float*)buf2030 = rsRand(*(float*)buf2031, *(float*)buf2032);
-    *(bool*)buf2033 = rsSendToClient(*(int*)buf2034);
-    *(bool*)buf2035 = rsSendToClient(*(int*)buf2036, (const void*) buf2037, *(uint*)buf2038);
-    rsSendToClientBlocking(*(int*)buf2039);
-    rsSendToClientBlocking(*(int*)buf2040, (const void*) buf2041, *(uint*)buf2042);
-    rsSetObject((rs_element*) buf2043, *(rs_element*)buf2044);
-    rsSetObject((rs_type*) buf2045, *(rs_type*)buf2046);
-    rsSetObject((rs_allocation*) buf2047, *(rs_allocation*)buf2048);
-    rsSetObject((rs_sampler*) buf2049, *(rs_sampler*)buf2050);
-    rsSetObject((rs_script*) buf2051, *(rs_script*)buf2052);
+    *(bool*)buf1855 = rsIsSphereInFrustum((float4*) buf1856, (float4*) buf1857, (float4*) buf1858, (float4*) buf1859, (float4*) buf1860, (float4*) buf1861, (float4*) buf1862);
+    *(rs_tm**)buf1863 = rsLocaltime((rs_tm*) buf1864, (const rs_time_t*) buf1865);
+    *(float*)buf1866 = rsMatrixGet((const rs_matrix4x4*) buf1867, *(uint32_t*)buf1868, *(uint32_t*)buf1869);
+    *(float*)buf1870 = rsMatrixGet((const rs_matrix3x3*) buf1871, *(uint32_t*)buf1872, *(uint32_t*)buf1873);
+    *(float*)buf1874 = rsMatrixGet((const rs_matrix2x2*) buf1875, *(uint32_t*)buf1876, *(uint32_t*)buf1877);
+    *(bool*)buf1878 = rsMatrixInverse((rs_matrix4x4*) buf1879);
+    *(bool*)buf1880 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1881);
+    rsMatrixLoad((rs_matrix4x4*) buf1882, (const float*) buf1883);
+    rsMatrixLoad((rs_matrix3x3*) buf1884, (const float*) buf1885);
+    rsMatrixLoad((rs_matrix2x2*) buf1886, (const float*) buf1887);
+    rsMatrixLoad((rs_matrix4x4*) buf1888, (const rs_matrix4x4*) buf1889);
+    rsMatrixLoad((rs_matrix3x3*) buf1890, (const rs_matrix3x3*) buf1891);
+    rsMatrixLoad((rs_matrix2x2*) buf1892, (const rs_matrix2x2*) buf1893);
+    rsMatrixLoad((rs_matrix4x4*) buf1894, (const rs_matrix3x3*) buf1895);
+    rsMatrixLoad((rs_matrix4x4*) buf1896, (const rs_matrix2x2*) buf1897);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf1898, *(float*)buf1899, *(float*)buf1900, *(float*)buf1901, *(float*)buf1902, *(float*)buf1903, *(float*)buf1904);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf1905);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf1906);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf1907);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf1908, (const rs_matrix4x4*) buf1909, (const rs_matrix4x4*) buf1910);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf1911, (const rs_matrix3x3*) buf1912, (const rs_matrix3x3*) buf1913);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf1914, (const rs_matrix2x2*) buf1915, (const rs_matrix2x2*) buf1916);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf1917, *(float*)buf1918, *(float*)buf1919, *(float*)buf1920, *(float*)buf1921, *(float*)buf1922, *(float*)buf1923);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf1924, *(float*)buf1925, *(float*)buf1926, *(float*)buf1927, *(float*)buf1928);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf1929, *(float*)buf1930, *(float*)buf1931, *(float*)buf1932, *(float*)buf1933);
+    rsMatrixLoadScale((rs_matrix4x4*) buf1934, *(float*)buf1935, *(float*)buf1936, *(float*)buf1937);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf1938, *(float*)buf1939, *(float*)buf1940, *(float*)buf1941);
+    rsMatrixMultiply((rs_matrix4x4*) buf1942, (const rs_matrix4x4*) buf1943);
+    rsMatrixMultiply((rs_matrix3x3*) buf1944, (const rs_matrix3x3*) buf1945);
+    rsMatrixMultiply((rs_matrix2x2*) buf1946, (const rs_matrix2x2*) buf1947);
+    *(float4*)buf1948 = rsMatrixMultiply((rs_matrix4x4*) buf1949, *(float4*)buf1950);
+    *(float4*)buf1951 = rsMatrixMultiply((rs_matrix4x4*) buf1952, *(float3*)buf1953);
+    *(float4*)buf1954 = rsMatrixMultiply((rs_matrix4x4*) buf1955, *(float2*)buf1956);
+    *(float3*)buf1957 = rsMatrixMultiply((rs_matrix3x3*) buf1958, *(float3*)buf1959);
+    *(float3*)buf1960 = rsMatrixMultiply((rs_matrix3x3*) buf1961, *(float2*)buf1962);
+    *(float2*)buf1963 = rsMatrixMultiply((rs_matrix2x2*) buf1964, *(float2*)buf1965);
+    rsMatrixRotate((rs_matrix4x4*) buf1966, *(float*)buf1967, *(float*)buf1968, *(float*)buf1969, *(float*)buf1970);
+    rsMatrixScale((rs_matrix4x4*) buf1971, *(float*)buf1972, *(float*)buf1973, *(float*)buf1974);
+    rsMatrixSet((rs_matrix4x4*) buf1975, *(uint32_t*)buf1976, *(uint32_t*)buf1977, *(float*)buf1978);
+    rsMatrixSet((rs_matrix3x3*) buf1979, *(uint32_t*)buf1980, *(uint32_t*)buf1981, *(float*)buf1982);
+    rsMatrixSet((rs_matrix2x2*) buf1983, *(uint32_t*)buf1984, *(uint32_t*)buf1985, *(float*)buf1986);
+    rsMatrixTranslate((rs_matrix4x4*) buf1987, *(float*)buf1988, *(float*)buf1989, *(float*)buf1990);
+    rsMatrixTranspose((rs_matrix4x4*) buf1991);
+    rsMatrixTranspose((rs_matrix3x3*) buf1992);
+    rsMatrixTranspose((rs_matrix2x2*) buf1993);
+    *(uchar4*)buf1994 = rsPackColorTo8888(*(float*)buf1995, *(float*)buf1996, *(float*)buf1997);
+    *(uchar4*)buf1998 = rsPackColorTo8888(*(float*)buf1999, *(float*)buf2000, *(float*)buf2001, *(float*)buf2002);
+    *(uchar4*)buf2003 = rsPackColorTo8888(*(float3*)buf2004);
+    *(uchar4*)buf2005 = rsPackColorTo8888(*(float4*)buf2006);
+    rsQuaternionAdd((rs_quaternion*) buf2007, (const rs_quaternion*) buf2008);
+    rsQuaternionConjugate((rs_quaternion*) buf2009);
+    *(float*)buf2010 = rsQuaternionDot((const rs_quaternion*) buf2011, (const rs_quaternion*) buf2012);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2013, (const rs_quaternion*) buf2014);
+    rsQuaternionLoadRotate((rs_quaternion*) buf2015, *(float*)buf2016, *(float*)buf2017, *(float*)buf2018, *(float*)buf2019);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2020, *(float*)buf2021, *(float*)buf2022, *(float*)buf2023, *(float*)buf2024);
+    rsQuaternionMultiply((rs_quaternion*) buf2025, *(float*)buf2026);
+    rsQuaternionMultiply((rs_quaternion*) buf2027, (const rs_quaternion*) buf2028);
+    rsQuaternionNormalize((rs_quaternion*) buf2029);
+    rsQuaternionSet((rs_quaternion*) buf2030, *(float*)buf2031, *(float*)buf2032, *(float*)buf2033, *(float*)buf2034);
+    rsQuaternionSet((rs_quaternion*) buf2035, (const rs_quaternion*) buf2036);
+    rsQuaternionSlerp((rs_quaternion*) buf2037, (const rs_quaternion*) buf2038, (const rs_quaternion*) buf2039, *(float*)buf2040);
+    *(int*)buf2041 = rsRand(*(int*)buf2042);
+    *(int*)buf2043 = rsRand(*(int*)buf2044, *(int*)buf2045);
+    *(float*)buf2046 = rsRand(*(float*)buf2047);
+    *(float*)buf2048 = rsRand(*(float*)buf2049, *(float*)buf2050);
+    *(bool*)buf2051 = rsSendToClient(*(int*)buf2052);
+    *(bool*)buf2053 = rsSendToClient(*(int*)buf2054, (const void*) buf2055, *(uint*)buf2056);
+    rsSendToClientBlocking(*(int*)buf2057);
+    rsSendToClientBlocking(*(int*)buf2058, (const void*) buf2059, *(uint*)buf2060);
+    rsSetObject((rs_element*) buf2061, *(rs_element*)buf2062);
+    rsSetObject((rs_type*) buf2063, *(rs_type*)buf2064);
+    rsSetObject((rs_allocation*) buf2065, *(rs_allocation*)buf2066);
+    rsSetObject((rs_sampler*) buf2067, *(rs_sampler*)buf2068);
+    rsSetObject((rs_script*) buf2069, *(rs_script*)buf2070);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf2053, *(rs_mesh*)buf2054);
-    rsSetObject((rs_program_fragment*) buf2055, *(rs_program_fragment*)buf2056);
-    rsSetObject((rs_program_vertex*) buf2057, *(rs_program_vertex*)buf2058);
-    rsSetObject((rs_program_raster*) buf2059, *(rs_program_raster*)buf2060);
-    rsSetObject((rs_program_store*) buf2061, *(rs_program_store*)buf2062);
-    rsSetObject((rs_font*) buf2063, *(rs_font*)buf2064);
+    rsSetObject((rs_mesh*) buf2071, *(rs_mesh*)buf2072);
+    rsSetObject((rs_program_fragment*) buf2073, *(rs_program_fragment*)buf2074);
+    rsSetObject((rs_program_vertex*) buf2075, *(rs_program_vertex*)buf2076);
+    rsSetObject((rs_program_raster*) buf2077, *(rs_program_raster*)buf2078);
+    rsSetObject((rs_program_store*) buf2079, *(rs_program_store*)buf2080);
+    rsSetObject((rs_font*) buf2081, *(rs_font*)buf2082);
 #endif
-    *(rs_time_t*)buf2065 = rsTime((rs_time_t*) buf2066);
-    *(float4*)buf2067 = rsUnpackColor8888(*(uchar4*)buf2068);
-    *(int64_t*)buf2069 = rsUptimeMillis();
-    *(int64_t*)buf2070 = rsUptimeNanos();
-    *(float4*)buf2071 = rsYuvToRGBA_float4(*(uchar*)buf2072, *(uchar*)buf2073, *(uchar*)buf2074);
-    *(uchar4*)buf2075 = rsYuvToRGBA_uchar4(*(uchar*)buf2076, *(uchar*)buf2077, *(uchar*)buf2078);
+    *(rs_time_t*)buf2083 = rsTime((rs_time_t*) buf2084);
+    *(float4*)buf2085 = rsUnpackColor8888(*(uchar4*)buf2086);
+    *(int64_t*)buf2087 = rsUptimeMillis();
+    *(int64_t*)buf2088 = rsUptimeNanos();
+    *(float4*)buf2089 = rsYuvToRGBA_float4(*(uchar*)buf2090, *(uchar*)buf2091, *(uchar*)buf2092);
+    *(uchar4*)buf2093 = rsYuvToRGBA_uchar4(*(uchar*)buf2094, *(uchar*)buf2095, *(uchar*)buf2096);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2079);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2097);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf2080, *(uint*)buf2081, *(rs_allocation*)buf2082);
+    rsgBindConstant(*(rs_program_fragment*)buf2098, *(uint*)buf2099, *(rs_allocation*)buf2100);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf2083, *(uint*)buf2084, *(rs_allocation*)buf2085);
+    rsgBindConstant(*(rs_program_vertex*)buf2101, *(uint*)buf2102, *(rs_allocation*)buf2103);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf2086);
+    rsgBindFont(*(rs_font*)buf2104);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf2087);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf2105);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf2088);
+    rsgBindProgramRaster(*(rs_program_raster*)buf2106);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf2089);
+    rsgBindProgramStore(*(rs_program_store*)buf2107);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf2090);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf2108);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf2091, *(uint*)buf2092, *(rs_sampler*)buf2093);
+    rsgBindSampler(*(rs_program_fragment*)buf2109, *(uint*)buf2110, *(rs_sampler*)buf2111);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf2094, *(uint*)buf2095, *(rs_allocation*)buf2096);
+    rsgBindTexture(*(rs_program_fragment*)buf2112, *(uint*)buf2113, *(rs_allocation*)buf2114);
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf2097, *(float*)buf2098, *(float*)buf2099, *(float*)buf2100);
+    rsgClearColor(*(float*)buf2115, *(float*)buf2116, *(float*)buf2117, *(float*)buf2118);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf2101);
+    rsgClearDepth(*(float*)buf2119);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2102);
+    rsgDrawMesh(*(rs_mesh*)buf2120);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2103, *(uint*)buf2104);
+    rsgDrawMesh(*(rs_mesh*)buf2121, *(uint*)buf2122);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2105, *(uint*)buf2106, *(uint*)buf2107, *(uint*)buf2108);
+    rsgDrawMesh(*(rs_mesh*)buf2123, *(uint*)buf2124, *(uint*)buf2125, *(uint*)buf2126);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf2109, *(float*)buf2110, *(float*)buf2111, *(float*)buf2112, *(float*)buf2113, *(float*)buf2114, *(float*)buf2115, *(float*)buf2116, *(float*)buf2117, *(float*)buf2118, *(float*)buf2119, *(float*)buf2120);
+    rsgDrawQuad(*(float*)buf2127, *(float*)buf2128, *(float*)buf2129, *(float*)buf2130, *(float*)buf2131, *(float*)buf2132, *(float*)buf2133, *(float*)buf2134, *(float*)buf2135, *(float*)buf2136, *(float*)buf2137, *(float*)buf2138);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf2121, *(float*)buf2122, *(float*)buf2123, *(float*)buf2124, *(float*)buf2125, *(float*)buf2126, *(float*)buf2127, *(float*)buf2128, *(float*)buf2129, *(float*)buf2130, *(float*)buf2131, *(float*)buf2132, *(float*)buf2133, *(float*)buf2134, *(float*)buf2135, *(float*)buf2136, *(float*)buf2137, *(float*)buf2138, *(float*)buf2139, *(float*)buf2140);
+    rsgDrawQuadTexCoords(*(float*)buf2139, *(float*)buf2140, *(float*)buf2141, *(float*)buf2142, *(float*)buf2143, *(float*)buf2144, *(float*)buf2145, *(float*)buf2146, *(float*)buf2147, *(float*)buf2148, *(float*)buf2149, *(float*)buf2150, *(float*)buf2151, *(float*)buf2152, *(float*)buf2153, *(float*)buf2154, *(float*)buf2155, *(float*)buf2156, *(float*)buf2157, *(float*)buf2158);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf2141, *(float*)buf2142, *(float*)buf2143, *(float*)buf2144, *(float*)buf2145);
+    rsgDrawRect(*(float*)buf2159, *(float*)buf2160, *(float*)buf2161, *(float*)buf2162, *(float*)buf2163);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf2146, *(float*)buf2147, *(float*)buf2148, *(float*)buf2149, *(float*)buf2150);
+    rsgDrawSpriteScreenspace(*(float*)buf2164, *(float*)buf2165, *(float*)buf2166, *(float*)buf2167, *(float*)buf2168);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf2151, *(int*)buf2152, *(int*)buf2153);
+    rsgDrawText((const char*) buf2169, *(int*)buf2170, *(int*)buf2171);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf2154, *(int*)buf2155, *(int*)buf2156);
+    rsgDrawText(*(rs_allocation*)buf2172, *(int*)buf2173, *(int*)buf2174);
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf2157, *(float*)buf2158, *(float*)buf2159, *(float*)buf2160);
+    rsgFontColor(*(float*)buf2175, *(float*)buf2176, *(float*)buf2177, *(float*)buf2178);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2161 = rsgGetHeight();
+    *(uint*)buf2179 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf2162 = rsgGetWidth();
+    *(uint*)buf2180 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf2163, (int*) buf2164, (int*) buf2165, (int*) buf2166, (int*) buf2167);
+    rsgMeasureText((const char*) buf2181, (int*) buf2182, (int*) buf2183, (int*) buf2184, (int*) buf2185);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf2168, (int*) buf2169, (int*) buf2170, (int*) buf2171, (int*) buf2172);
+    rsgMeasureText(*(rs_allocation*)buf2186, (int*) buf2187, (int*) buf2188, (int*) buf2189, (int*) buf2190);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2173, (float*) buf2174, (float*) buf2175, (float*) buf2176, (float*) buf2177, (float*) buf2178, (float*) buf2179);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2191, (float*) buf2192, (float*) buf2193, (float*) buf2194, (float*) buf2195, (float*) buf2196, (float*) buf2197);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2180, (float3*) buf2181, (float3*) buf2182);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2198, (float3*) buf2199, (float3*) buf2200);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2183, *(float*)buf2184, *(float*)buf2185, *(float*)buf2186, *(float*)buf2187);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2201, *(float*)buf2202, *(float*)buf2203, *(float*)buf2204, *(float*)buf2205);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2188);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2206);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2189);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2207);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2190);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2208);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2191);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2209);
 #endif
-    *(float*)buf2192 = rsqrt(*(float*)buf2193);
-    *(float2*)buf2194 = rsqrt(*(float2*)buf2195);
-    *(float3*)buf2196 = rsqrt(*(float3*)buf2197);
-    *(float4*)buf2198 = rsqrt(*(float4*)buf2199);
-    *(float*)buf2200 = sign(*(float*)buf2201);
-    *(float2*)buf2202 = sign(*(float2*)buf2203);
-    *(float3*)buf2204 = sign(*(float3*)buf2205);
-    *(float4*)buf2206 = sign(*(float4*)buf2207);
-    *(float*)buf2208 = sin(*(float*)buf2209);
-    *(float2*)buf2210 = sin(*(float2*)buf2211);
-    *(float3*)buf2212 = sin(*(float3*)buf2213);
-    *(float4*)buf2214 = sin(*(float4*)buf2215);
-    *(float*)buf2216 = sincos(*(float*)buf2217, (float*) buf2218);
-    *(float2*)buf2219 = sincos(*(float2*)buf2220, (float2*) buf2221);
-    *(float3*)buf2222 = sincos(*(float3*)buf2223, (float3*) buf2224);
-    *(float4*)buf2225 = sincos(*(float4*)buf2226, (float4*) buf2227);
-    *(float*)buf2228 = sinh(*(float*)buf2229);
-    *(float2*)buf2230 = sinh(*(float2*)buf2231);
-    *(float3*)buf2232 = sinh(*(float3*)buf2233);
-    *(float4*)buf2234 = sinh(*(float4*)buf2235);
-    *(float*)buf2236 = sinpi(*(float*)buf2237);
-    *(float2*)buf2238 = sinpi(*(float2*)buf2239);
-    *(float3*)buf2240 = sinpi(*(float3*)buf2241);
-    *(float4*)buf2242 = sinpi(*(float4*)buf2243);
-    *(float*)buf2244 = sqrt(*(float*)buf2245);
-    *(float2*)buf2246 = sqrt(*(float2*)buf2247);
-    *(float3*)buf2248 = sqrt(*(float3*)buf2249);
-    *(float4*)buf2250 = sqrt(*(float4*)buf2251);
-    *(float*)buf2252 = step(*(float*)buf2253, *(float*)buf2254);
-    *(float2*)buf2255 = step(*(float2*)buf2256, *(float2*)buf2257);
-    *(float3*)buf2258 = step(*(float3*)buf2259, *(float3*)buf2260);
-    *(float4*)buf2261 = step(*(float4*)buf2262, *(float4*)buf2263);
-    *(float2*)buf2264 = step(*(float2*)buf2265, *(float*)buf2266);
-    *(float3*)buf2267 = step(*(float3*)buf2268, *(float*)buf2269);
-    *(float4*)buf2270 = step(*(float4*)buf2271, *(float*)buf2272);
-    *(float*)buf2273 = tan(*(float*)buf2274);
-    *(float2*)buf2275 = tan(*(float2*)buf2276);
-    *(float3*)buf2277 = tan(*(float3*)buf2278);
-    *(float4*)buf2279 = tan(*(float4*)buf2280);
-    *(float*)buf2281 = tanh(*(float*)buf2282);
-    *(float2*)buf2283 = tanh(*(float2*)buf2284);
-    *(float3*)buf2285 = tanh(*(float3*)buf2286);
-    *(float4*)buf2287 = tanh(*(float4*)buf2288);
-    *(float*)buf2289 = tanpi(*(float*)buf2290);
-    *(float2*)buf2291 = tanpi(*(float2*)buf2292);
-    *(float3*)buf2293 = tanpi(*(float3*)buf2294);
-    *(float4*)buf2295 = tanpi(*(float4*)buf2296);
-    *(float*)buf2297 = tgamma(*(float*)buf2298);
-    *(float2*)buf2299 = tgamma(*(float2*)buf2300);
-    *(float3*)buf2301 = tgamma(*(float3*)buf2302);
-    *(float4*)buf2303 = tgamma(*(float4*)buf2304);
-    *(float*)buf2305 = trunc(*(float*)buf2306);
-    *(float2*)buf2307 = trunc(*(float2*)buf2308);
-    *(float3*)buf2309 = trunc(*(float3*)buf2310);
-    *(float4*)buf2311 = trunc(*(float4*)buf2312);
+    *(float*)buf2210 = rsqrt(*(float*)buf2211);
+    *(float2*)buf2212 = rsqrt(*(float2*)buf2213);
+    *(float3*)buf2214 = rsqrt(*(float3*)buf2215);
+    *(float4*)buf2216 = rsqrt(*(float4*)buf2217);
+    *(float*)buf2218 = sign(*(float*)buf2219);
+    *(float2*)buf2220 = sign(*(float2*)buf2221);
+    *(float3*)buf2222 = sign(*(float3*)buf2223);
+    *(float4*)buf2224 = sign(*(float4*)buf2225);
+    *(float*)buf2226 = sin(*(float*)buf2227);
+    *(float2*)buf2228 = sin(*(float2*)buf2229);
+    *(float3*)buf2230 = sin(*(float3*)buf2231);
+    *(float4*)buf2232 = sin(*(float4*)buf2233);
+    *(float*)buf2234 = sincos(*(float*)buf2235, (float*) buf2236);
+    *(float2*)buf2237 = sincos(*(float2*)buf2238, (float2*) buf2239);
+    *(float3*)buf2240 = sincos(*(float3*)buf2241, (float3*) buf2242);
+    *(float4*)buf2243 = sincos(*(float4*)buf2244, (float4*) buf2245);
+    *(float*)buf2246 = sinh(*(float*)buf2247);
+    *(float2*)buf2248 = sinh(*(float2*)buf2249);
+    *(float3*)buf2250 = sinh(*(float3*)buf2251);
+    *(float4*)buf2252 = sinh(*(float4*)buf2253);
+    *(float*)buf2254 = sinpi(*(float*)buf2255);
+    *(float2*)buf2256 = sinpi(*(float2*)buf2257);
+    *(float3*)buf2258 = sinpi(*(float3*)buf2259);
+    *(float4*)buf2260 = sinpi(*(float4*)buf2261);
+    *(float*)buf2262 = sqrt(*(float*)buf2263);
+    *(float2*)buf2264 = sqrt(*(float2*)buf2265);
+    *(float3*)buf2266 = sqrt(*(float3*)buf2267);
+    *(float4*)buf2268 = sqrt(*(float4*)buf2269);
+    *(float*)buf2270 = step(*(float*)buf2271, *(float*)buf2272);
+    *(float2*)buf2273 = step(*(float2*)buf2274, *(float2*)buf2275);
+    *(float3*)buf2276 = step(*(float3*)buf2277, *(float3*)buf2278);
+    *(float4*)buf2279 = step(*(float4*)buf2280, *(float4*)buf2281);
+    *(float2*)buf2282 = step(*(float2*)buf2283, *(float*)buf2284);
+    *(float3*)buf2285 = step(*(float3*)buf2286, *(float*)buf2287);
+    *(float4*)buf2288 = step(*(float4*)buf2289, *(float*)buf2290);
+    *(float*)buf2291 = tan(*(float*)buf2292);
+    *(float2*)buf2293 = tan(*(float2*)buf2294);
+    *(float3*)buf2295 = tan(*(float3*)buf2296);
+    *(float4*)buf2297 = tan(*(float4*)buf2298);
+    *(float*)buf2299 = tanh(*(float*)buf2300);
+    *(float2*)buf2301 = tanh(*(float2*)buf2302);
+    *(float3*)buf2303 = tanh(*(float3*)buf2304);
+    *(float4*)buf2305 = tanh(*(float4*)buf2306);
+    *(float*)buf2307 = tanpi(*(float*)buf2308);
+    *(float2*)buf2309 = tanpi(*(float2*)buf2310);
+    *(float3*)buf2311 = tanpi(*(float3*)buf2312);
+    *(float4*)buf2313 = tanpi(*(float4*)buf2314);
+    *(float*)buf2315 = tgamma(*(float*)buf2316);
+    *(float2*)buf2317 = tgamma(*(float2*)buf2318);
+    *(float3*)buf2319 = tgamma(*(float3*)buf2320);
+    *(float4*)buf2321 = tgamma(*(float4*)buf2322);
+    *(float*)buf2323 = trunc(*(float*)buf2324);
+    *(float2*)buf2325 = trunc(*(float2*)buf2326);
+    *(float3*)buf2327 = trunc(*(float3*)buf2328);
+    *(float4*)buf2329 = trunc(*(float4*)buf2330);
 }
diff --git a/tests/P_all_api_13/all13.rs b/tests/P_all_api_13/all13.rs
index c80784b..211f9a2 100644
--- a/tests/P_all_api_13/all13.rs
+++ b/tests/P_all_api_13/all13.rs
@@ -2335,6 +2335,24 @@
 char buf2310[200];
 char buf2311[200];
 char buf2312[200];
+char buf2313[200];
+char buf2314[200];
+char buf2315[200];
+char buf2316[200];
+char buf2317[200];
+char buf2318[200];
+char buf2319[200];
+char buf2320[200];
+char buf2321[200];
+char buf2322[200];
+char buf2323[200];
+char buf2324[200];
+char buf2325[200];
+char buf2326[200];
+char buf2327[200];
+char buf2328[200];
+char buf2329[200];
+char buf2330[200];
 
 void root(const int* in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -2734,539 +2752,545 @@
     *(float2*)buf886 = max(*(float2*)buf887, *(float2*)buf888);
     *(float3*)buf889 = max(*(float3*)buf890, *(float3*)buf891);
     *(float4*)buf892 = max(*(float4*)buf893, *(float4*)buf894);
-    *(char*)buf895 = max(*(char*)buf896, *(char*)buf897);
-    *(uchar*)buf898 = max(*(uchar*)buf899, *(uchar*)buf900);
-    *(short*)buf901 = max(*(short*)buf902, *(short*)buf903);
-    *(ushort*)buf904 = max(*(ushort*)buf905, *(ushort*)buf906);
-    *(int*)buf907 = max(*(int*)buf908, *(int*)buf909);
-    *(uint*)buf910 = max(*(uint*)buf911, *(uint*)buf912);
-    *(char2*)buf913 = max(*(char2*)buf914, *(char2*)buf915);
-    *(uchar2*)buf916 = max(*(uchar2*)buf917, *(uchar2*)buf918);
-    *(short2*)buf919 = max(*(short2*)buf920, *(short2*)buf921);
-    *(ushort2*)buf922 = max(*(ushort2*)buf923, *(ushort2*)buf924);
-    *(int2*)buf925 = max(*(int2*)buf926, *(int2*)buf927);
-    *(uint2*)buf928 = max(*(uint2*)buf929, *(uint2*)buf930);
-    *(char3*)buf931 = max(*(char3*)buf932, *(char3*)buf933);
-    *(uchar3*)buf934 = max(*(uchar3*)buf935, *(uchar3*)buf936);
-    *(short3*)buf937 = max(*(short3*)buf938, *(short3*)buf939);
-    *(ushort3*)buf940 = max(*(ushort3*)buf941, *(ushort3*)buf942);
-    *(int3*)buf943 = max(*(int3*)buf944, *(int3*)buf945);
-    *(uint3*)buf946 = max(*(uint3*)buf947, *(uint3*)buf948);
-    *(char4*)buf949 = max(*(char4*)buf950, *(char4*)buf951);
-    *(uchar4*)buf952 = max(*(uchar4*)buf953, *(uchar4*)buf954);
-    *(short4*)buf955 = max(*(short4*)buf956, *(short4*)buf957);
-    *(ushort4*)buf958 = max(*(ushort4*)buf959, *(ushort4*)buf960);
-    *(int4*)buf961 = max(*(int4*)buf962, *(int4*)buf963);
-    *(uint4*)buf964 = max(*(uint4*)buf965, *(uint4*)buf966);
-    *(float*)buf967 = min(*(float*)buf968, *(float*)buf969);
-    *(float2*)buf970 = min(*(float2*)buf971, *(float2*)buf972);
-    *(float3*)buf973 = min(*(float3*)buf974, *(float3*)buf975);
-    *(float4*)buf976 = min(*(float4*)buf977, *(float4*)buf978);
-    *(char*)buf979 = min(*(char*)buf980, *(char*)buf981);
-    *(uchar*)buf982 = min(*(uchar*)buf983, *(uchar*)buf984);
-    *(short*)buf985 = min(*(short*)buf986, *(short*)buf987);
-    *(ushort*)buf988 = min(*(ushort*)buf989, *(ushort*)buf990);
-    *(int*)buf991 = min(*(int*)buf992, *(int*)buf993);
-    *(uint*)buf994 = min(*(uint*)buf995, *(uint*)buf996);
-    *(char2*)buf997 = min(*(char2*)buf998, *(char2*)buf999);
-    *(uchar2*)buf1000 = min(*(uchar2*)buf1001, *(uchar2*)buf1002);
-    *(short2*)buf1003 = min(*(short2*)buf1004, *(short2*)buf1005);
-    *(ushort2*)buf1006 = min(*(ushort2*)buf1007, *(ushort2*)buf1008);
-    *(int2*)buf1009 = min(*(int2*)buf1010, *(int2*)buf1011);
-    *(uint2*)buf1012 = min(*(uint2*)buf1013, *(uint2*)buf1014);
-    *(char3*)buf1015 = min(*(char3*)buf1016, *(char3*)buf1017);
-    *(uchar3*)buf1018 = min(*(uchar3*)buf1019, *(uchar3*)buf1020);
-    *(short3*)buf1021 = min(*(short3*)buf1022, *(short3*)buf1023);
-    *(ushort3*)buf1024 = min(*(ushort3*)buf1025, *(ushort3*)buf1026);
-    *(int3*)buf1027 = min(*(int3*)buf1028, *(int3*)buf1029);
-    *(uint3*)buf1030 = min(*(uint3*)buf1031, *(uint3*)buf1032);
-    *(char4*)buf1033 = min(*(char4*)buf1034, *(char4*)buf1035);
-    *(uchar4*)buf1036 = min(*(uchar4*)buf1037, *(uchar4*)buf1038);
-    *(short4*)buf1039 = min(*(short4*)buf1040, *(short4*)buf1041);
-    *(ushort4*)buf1042 = min(*(ushort4*)buf1043, *(ushort4*)buf1044);
-    *(int4*)buf1045 = min(*(int4*)buf1046, *(int4*)buf1047);
-    *(uint4*)buf1048 = min(*(uint4*)buf1049, *(uint4*)buf1050);
-    *(float*)buf1051 = mix(*(float*)buf1052, *(float*)buf1053, *(float*)buf1054);
-    *(float2*)buf1055 = mix(*(float2*)buf1056, *(float2*)buf1057, *(float2*)buf1058);
-    *(float3*)buf1059 = mix(*(float3*)buf1060, *(float3*)buf1061, *(float3*)buf1062);
-    *(float4*)buf1063 = mix(*(float4*)buf1064, *(float4*)buf1065, *(float4*)buf1066);
-    *(float2*)buf1067 = mix(*(float2*)buf1068, *(float2*)buf1069, *(float*)buf1070);
-    *(float3*)buf1071 = mix(*(float3*)buf1072, *(float3*)buf1073, *(float*)buf1074);
-    *(float4*)buf1075 = mix(*(float4*)buf1076, *(float4*)buf1077, *(float*)buf1078);
-    *(float*)buf1079 = modf(*(float*)buf1080, (float*) buf1081);
-    *(float2*)buf1082 = modf(*(float2*)buf1083, (float2*) buf1084);
-    *(float3*)buf1085 = modf(*(float3*)buf1086, (float3*) buf1087);
-    *(float4*)buf1088 = modf(*(float4*)buf1089, (float4*) buf1090);
-    *(float*)buf1091 = nan(*(uint*)buf1092);
-    *(float*)buf1093 = nextafter(*(float*)buf1094, *(float*)buf1095);
-    *(float2*)buf1096 = nextafter(*(float2*)buf1097, *(float2*)buf1098);
-    *(float3*)buf1099 = nextafter(*(float3*)buf1100, *(float3*)buf1101);
-    *(float4*)buf1102 = nextafter(*(float4*)buf1103, *(float4*)buf1104);
-    *(float*)buf1105 = normalize(*(float*)buf1106);
-    *(float2*)buf1107 = normalize(*(float2*)buf1108);
-    *(float3*)buf1109 = normalize(*(float3*)buf1110);
-    *(float4*)buf1111 = normalize(*(float4*)buf1112);
-    *(float*)buf1113 = pow(*(float*)buf1114, *(float*)buf1115);
-    *(float2*)buf1116 = pow(*(float2*)buf1117, *(float2*)buf1118);
-    *(float3*)buf1119 = pow(*(float3*)buf1120, *(float3*)buf1121);
-    *(float4*)buf1122 = pow(*(float4*)buf1123, *(float4*)buf1124);
-    *(float*)buf1125 = pown(*(float*)buf1126, *(int*)buf1127);
-    *(float2*)buf1128 = pown(*(float2*)buf1129, *(int2*)buf1130);
-    *(float3*)buf1131 = pown(*(float3*)buf1132, *(int3*)buf1133);
-    *(float4*)buf1134 = pown(*(float4*)buf1135, *(int4*)buf1136);
-    *(float*)buf1137 = powr(*(float*)buf1138, *(float*)buf1139);
-    *(float2*)buf1140 = powr(*(float2*)buf1141, *(float2*)buf1142);
-    *(float3*)buf1143 = powr(*(float3*)buf1144, *(float3*)buf1145);
-    *(float4*)buf1146 = powr(*(float4*)buf1147, *(float4*)buf1148);
-    *(float*)buf1149 = radians(*(float*)buf1150);
-    *(float2*)buf1151 = radians(*(float2*)buf1152);
-    *(float3*)buf1153 = radians(*(float3*)buf1154);
-    *(float4*)buf1155 = radians(*(float4*)buf1156);
-    *(float*)buf1157 = remainder(*(float*)buf1158, *(float*)buf1159);
-    *(float2*)buf1160 = remainder(*(float2*)buf1161, *(float2*)buf1162);
-    *(float3*)buf1163 = remainder(*(float3*)buf1164, *(float3*)buf1165);
-    *(float4*)buf1166 = remainder(*(float4*)buf1167, *(float4*)buf1168);
-    *(float*)buf1169 = remquo(*(float*)buf1170, *(float*)buf1171, (int*) buf1172);
-    *(float2*)buf1173 = remquo(*(float2*)buf1174, *(float2*)buf1175, (int2*) buf1176);
-    *(float3*)buf1177 = remquo(*(float3*)buf1178, *(float3*)buf1179, (int3*) buf1180);
-    *(float4*)buf1181 = remquo(*(float4*)buf1182, *(float4*)buf1183, (int4*) buf1184);
-    *(float*)buf1185 = rint(*(float*)buf1186);
-    *(float2*)buf1187 = rint(*(float2*)buf1188);
-    *(float3*)buf1189 = rint(*(float3*)buf1190);
-    *(float4*)buf1191 = rint(*(float4*)buf1192);
-    *(float*)buf1193 = rootn(*(float*)buf1194, *(int*)buf1195);
-    *(float2*)buf1196 = rootn(*(float2*)buf1197, *(int2*)buf1198);
-    *(float3*)buf1199 = rootn(*(float3*)buf1200, *(int3*)buf1201);
-    *(float4*)buf1202 = rootn(*(float4*)buf1203, *(int4*)buf1204);
-    *(float*)buf1205 = round(*(float*)buf1206);
-    *(float2*)buf1207 = round(*(float2*)buf1208);
-    *(float3*)buf1209 = round(*(float3*)buf1210);
-    *(float4*)buf1211 = round(*(float4*)buf1212);
-    *(uint32_t*)buf1213 = rsAllocationGetDimFaces(*(rs_allocation*)buf1214);
-    *(uint32_t*)buf1215 = rsAllocationGetDimLOD(*(rs_allocation*)buf1216);
-    *(uint32_t*)buf1217 = rsAllocationGetDimX(*(rs_allocation*)buf1218);
-    *(uint32_t*)buf1219 = rsAllocationGetDimY(*(rs_allocation*)buf1220);
-    *(uint32_t*)buf1221 = rsAllocationGetDimZ(*(rs_allocation*)buf1222);
-    *(rs_element*)buf1223 = rsAllocationGetElement(*(rs_allocation*)buf1224);
-    *(char*)buf1225 = rsClamp(*(char*)buf1226, *(char*)buf1227, *(char*)buf1228);
-    *(uchar*)buf1229 = rsClamp(*(uchar*)buf1230, *(uchar*)buf1231, *(uchar*)buf1232);
-    *(short*)buf1233 = rsClamp(*(short*)buf1234, *(short*)buf1235, *(short*)buf1236);
-    *(ushort*)buf1237 = rsClamp(*(ushort*)buf1238, *(ushort*)buf1239, *(ushort*)buf1240);
-    *(int*)buf1241 = rsClamp(*(int*)buf1242, *(int*)buf1243, *(int*)buf1244);
-    *(uint*)buf1245 = rsClamp(*(uint*)buf1246, *(uint*)buf1247, *(uint*)buf1248);
-    rsClearObject((rs_element*) buf1249);
-    rsClearObject((rs_type*) buf1250);
-    rsClearObject((rs_allocation*) buf1251);
-    rsClearObject((rs_sampler*) buf1252);
-    rsClearObject((rs_script*) buf1253);
+    *(float2*)buf895 = max(*(float2*)buf896, *(float*)buf897);
+    *(float3*)buf898 = max(*(float3*)buf899, *(float*)buf900);
+    *(float4*)buf901 = max(*(float4*)buf902, *(float*)buf903);
+    *(char*)buf904 = max(*(char*)buf905, *(char*)buf906);
+    *(uchar*)buf907 = max(*(uchar*)buf908, *(uchar*)buf909);
+    *(short*)buf910 = max(*(short*)buf911, *(short*)buf912);
+    *(ushort*)buf913 = max(*(ushort*)buf914, *(ushort*)buf915);
+    *(int*)buf916 = max(*(int*)buf917, *(int*)buf918);
+    *(uint*)buf919 = max(*(uint*)buf920, *(uint*)buf921);
+    *(char2*)buf922 = max(*(char2*)buf923, *(char2*)buf924);
+    *(uchar2*)buf925 = max(*(uchar2*)buf926, *(uchar2*)buf927);
+    *(short2*)buf928 = max(*(short2*)buf929, *(short2*)buf930);
+    *(ushort2*)buf931 = max(*(ushort2*)buf932, *(ushort2*)buf933);
+    *(int2*)buf934 = max(*(int2*)buf935, *(int2*)buf936);
+    *(uint2*)buf937 = max(*(uint2*)buf938, *(uint2*)buf939);
+    *(char3*)buf940 = max(*(char3*)buf941, *(char3*)buf942);
+    *(uchar3*)buf943 = max(*(uchar3*)buf944, *(uchar3*)buf945);
+    *(short3*)buf946 = max(*(short3*)buf947, *(short3*)buf948);
+    *(ushort3*)buf949 = max(*(ushort3*)buf950, *(ushort3*)buf951);
+    *(int3*)buf952 = max(*(int3*)buf953, *(int3*)buf954);
+    *(uint3*)buf955 = max(*(uint3*)buf956, *(uint3*)buf957);
+    *(char4*)buf958 = max(*(char4*)buf959, *(char4*)buf960);
+    *(uchar4*)buf961 = max(*(uchar4*)buf962, *(uchar4*)buf963);
+    *(short4*)buf964 = max(*(short4*)buf965, *(short4*)buf966);
+    *(ushort4*)buf967 = max(*(ushort4*)buf968, *(ushort4*)buf969);
+    *(int4*)buf970 = max(*(int4*)buf971, *(int4*)buf972);
+    *(uint4*)buf973 = max(*(uint4*)buf974, *(uint4*)buf975);
+    *(float*)buf976 = min(*(float*)buf977, *(float*)buf978);
+    *(float2*)buf979 = min(*(float2*)buf980, *(float2*)buf981);
+    *(float3*)buf982 = min(*(float3*)buf983, *(float3*)buf984);
+    *(float4*)buf985 = min(*(float4*)buf986, *(float4*)buf987);
+    *(float2*)buf988 = min(*(float2*)buf989, *(float*)buf990);
+    *(float3*)buf991 = min(*(float3*)buf992, *(float*)buf993);
+    *(float4*)buf994 = min(*(float4*)buf995, *(float*)buf996);
+    *(char*)buf997 = min(*(char*)buf998, *(char*)buf999);
+    *(uchar*)buf1000 = min(*(uchar*)buf1001, *(uchar*)buf1002);
+    *(short*)buf1003 = min(*(short*)buf1004, *(short*)buf1005);
+    *(ushort*)buf1006 = min(*(ushort*)buf1007, *(ushort*)buf1008);
+    *(int*)buf1009 = min(*(int*)buf1010, *(int*)buf1011);
+    *(uint*)buf1012 = min(*(uint*)buf1013, *(uint*)buf1014);
+    *(char2*)buf1015 = min(*(char2*)buf1016, *(char2*)buf1017);
+    *(uchar2*)buf1018 = min(*(uchar2*)buf1019, *(uchar2*)buf1020);
+    *(short2*)buf1021 = min(*(short2*)buf1022, *(short2*)buf1023);
+    *(ushort2*)buf1024 = min(*(ushort2*)buf1025, *(ushort2*)buf1026);
+    *(int2*)buf1027 = min(*(int2*)buf1028, *(int2*)buf1029);
+    *(uint2*)buf1030 = min(*(uint2*)buf1031, *(uint2*)buf1032);
+    *(char3*)buf1033 = min(*(char3*)buf1034, *(char3*)buf1035);
+    *(uchar3*)buf1036 = min(*(uchar3*)buf1037, *(uchar3*)buf1038);
+    *(short3*)buf1039 = min(*(short3*)buf1040, *(short3*)buf1041);
+    *(ushort3*)buf1042 = min(*(ushort3*)buf1043, *(ushort3*)buf1044);
+    *(int3*)buf1045 = min(*(int3*)buf1046, *(int3*)buf1047);
+    *(uint3*)buf1048 = min(*(uint3*)buf1049, *(uint3*)buf1050);
+    *(char4*)buf1051 = min(*(char4*)buf1052, *(char4*)buf1053);
+    *(uchar4*)buf1054 = min(*(uchar4*)buf1055, *(uchar4*)buf1056);
+    *(short4*)buf1057 = min(*(short4*)buf1058, *(short4*)buf1059);
+    *(ushort4*)buf1060 = min(*(ushort4*)buf1061, *(ushort4*)buf1062);
+    *(int4*)buf1063 = min(*(int4*)buf1064, *(int4*)buf1065);
+    *(uint4*)buf1066 = min(*(uint4*)buf1067, *(uint4*)buf1068);
+    *(float*)buf1069 = mix(*(float*)buf1070, *(float*)buf1071, *(float*)buf1072);
+    *(float2*)buf1073 = mix(*(float2*)buf1074, *(float2*)buf1075, *(float2*)buf1076);
+    *(float3*)buf1077 = mix(*(float3*)buf1078, *(float3*)buf1079, *(float3*)buf1080);
+    *(float4*)buf1081 = mix(*(float4*)buf1082, *(float4*)buf1083, *(float4*)buf1084);
+    *(float2*)buf1085 = mix(*(float2*)buf1086, *(float2*)buf1087, *(float*)buf1088);
+    *(float3*)buf1089 = mix(*(float3*)buf1090, *(float3*)buf1091, *(float*)buf1092);
+    *(float4*)buf1093 = mix(*(float4*)buf1094, *(float4*)buf1095, *(float*)buf1096);
+    *(float*)buf1097 = modf(*(float*)buf1098, (float*) buf1099);
+    *(float2*)buf1100 = modf(*(float2*)buf1101, (float2*) buf1102);
+    *(float3*)buf1103 = modf(*(float3*)buf1104, (float3*) buf1105);
+    *(float4*)buf1106 = modf(*(float4*)buf1107, (float4*) buf1108);
+    *(float*)buf1109 = nan(*(uint*)buf1110);
+    *(float*)buf1111 = nextafter(*(float*)buf1112, *(float*)buf1113);
+    *(float2*)buf1114 = nextafter(*(float2*)buf1115, *(float2*)buf1116);
+    *(float3*)buf1117 = nextafter(*(float3*)buf1118, *(float3*)buf1119);
+    *(float4*)buf1120 = nextafter(*(float4*)buf1121, *(float4*)buf1122);
+    *(float*)buf1123 = normalize(*(float*)buf1124);
+    *(float2*)buf1125 = normalize(*(float2*)buf1126);
+    *(float3*)buf1127 = normalize(*(float3*)buf1128);
+    *(float4*)buf1129 = normalize(*(float4*)buf1130);
+    *(float*)buf1131 = pow(*(float*)buf1132, *(float*)buf1133);
+    *(float2*)buf1134 = pow(*(float2*)buf1135, *(float2*)buf1136);
+    *(float3*)buf1137 = pow(*(float3*)buf1138, *(float3*)buf1139);
+    *(float4*)buf1140 = pow(*(float4*)buf1141, *(float4*)buf1142);
+    *(float*)buf1143 = pown(*(float*)buf1144, *(int*)buf1145);
+    *(float2*)buf1146 = pown(*(float2*)buf1147, *(int2*)buf1148);
+    *(float3*)buf1149 = pown(*(float3*)buf1150, *(int3*)buf1151);
+    *(float4*)buf1152 = pown(*(float4*)buf1153, *(int4*)buf1154);
+    *(float*)buf1155 = powr(*(float*)buf1156, *(float*)buf1157);
+    *(float2*)buf1158 = powr(*(float2*)buf1159, *(float2*)buf1160);
+    *(float3*)buf1161 = powr(*(float3*)buf1162, *(float3*)buf1163);
+    *(float4*)buf1164 = powr(*(float4*)buf1165, *(float4*)buf1166);
+    *(float*)buf1167 = radians(*(float*)buf1168);
+    *(float2*)buf1169 = radians(*(float2*)buf1170);
+    *(float3*)buf1171 = radians(*(float3*)buf1172);
+    *(float4*)buf1173 = radians(*(float4*)buf1174);
+    *(float*)buf1175 = remainder(*(float*)buf1176, *(float*)buf1177);
+    *(float2*)buf1178 = remainder(*(float2*)buf1179, *(float2*)buf1180);
+    *(float3*)buf1181 = remainder(*(float3*)buf1182, *(float3*)buf1183);
+    *(float4*)buf1184 = remainder(*(float4*)buf1185, *(float4*)buf1186);
+    *(float*)buf1187 = remquo(*(float*)buf1188, *(float*)buf1189, (int*) buf1190);
+    *(float2*)buf1191 = remquo(*(float2*)buf1192, *(float2*)buf1193, (int2*) buf1194);
+    *(float3*)buf1195 = remquo(*(float3*)buf1196, *(float3*)buf1197, (int3*) buf1198);
+    *(float4*)buf1199 = remquo(*(float4*)buf1200, *(float4*)buf1201, (int4*) buf1202);
+    *(float*)buf1203 = rint(*(float*)buf1204);
+    *(float2*)buf1205 = rint(*(float2*)buf1206);
+    *(float3*)buf1207 = rint(*(float3*)buf1208);
+    *(float4*)buf1209 = rint(*(float4*)buf1210);
+    *(float*)buf1211 = rootn(*(float*)buf1212, *(int*)buf1213);
+    *(float2*)buf1214 = rootn(*(float2*)buf1215, *(int2*)buf1216);
+    *(float3*)buf1217 = rootn(*(float3*)buf1218, *(int3*)buf1219);
+    *(float4*)buf1220 = rootn(*(float4*)buf1221, *(int4*)buf1222);
+    *(float*)buf1223 = round(*(float*)buf1224);
+    *(float2*)buf1225 = round(*(float2*)buf1226);
+    *(float3*)buf1227 = round(*(float3*)buf1228);
+    *(float4*)buf1229 = round(*(float4*)buf1230);
+    *(uint32_t*)buf1231 = rsAllocationGetDimFaces(*(rs_allocation*)buf1232);
+    *(uint32_t*)buf1233 = rsAllocationGetDimLOD(*(rs_allocation*)buf1234);
+    *(uint32_t*)buf1235 = rsAllocationGetDimX(*(rs_allocation*)buf1236);
+    *(uint32_t*)buf1237 = rsAllocationGetDimY(*(rs_allocation*)buf1238);
+    *(uint32_t*)buf1239 = rsAllocationGetDimZ(*(rs_allocation*)buf1240);
+    *(rs_element*)buf1241 = rsAllocationGetElement(*(rs_allocation*)buf1242);
+    *(char*)buf1243 = rsClamp(*(char*)buf1244, *(char*)buf1245, *(char*)buf1246);
+    *(uchar*)buf1247 = rsClamp(*(uchar*)buf1248, *(uchar*)buf1249, *(uchar*)buf1250);
+    *(short*)buf1251 = rsClamp(*(short*)buf1252, *(short*)buf1253, *(short*)buf1254);
+    *(ushort*)buf1255 = rsClamp(*(ushort*)buf1256, *(ushort*)buf1257, *(ushort*)buf1258);
+    *(int*)buf1259 = rsClamp(*(int*)buf1260, *(int*)buf1261, *(int*)buf1262);
+    *(uint*)buf1263 = rsClamp(*(uint*)buf1264, *(uint*)buf1265, *(uint*)buf1266);
+    rsClearObject((rs_element*) buf1267);
+    rsClearObject((rs_type*) buf1268);
+    rsClearObject((rs_allocation*) buf1269);
+    rsClearObject((rs_sampler*) buf1270);
+    rsClearObject((rs_script*) buf1271);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf1254);
-    rsClearObject((rs_program_fragment*) buf1255);
-    rsClearObject((rs_program_vertex*) buf1256);
-    rsClearObject((rs_program_raster*) buf1257);
-    rsClearObject((rs_program_store*) buf1258);
-    rsClearObject((rs_font*) buf1259);
+    rsClearObject((rs_mesh*) buf1272);
+    rsClearObject((rs_program_fragment*) buf1273);
+    rsClearObject((rs_program_vertex*) buf1274);
+    rsClearObject((rs_program_raster*) buf1275);
+    rsClearObject((rs_program_store*) buf1276);
+    rsClearObject((rs_font*) buf1277);
 #endif
-    rsDebug((const char*) buf1260, *(double*)buf1261);
-    rsDebug((const char*) buf1262, *(int*)buf1263);
-    rsDebug((const char*) buf1264, *(uint*)buf1265);
-    rsDebug((const char*) buf1266, *(long*)buf1267);
-    rsDebug((const char*) buf1268, *(ulong*)buf1269);
-    rsDebug((const char*) buf1270, *(float*)buf1271);
-    rsDebug((const char*) buf1272, *(float2*)buf1273);
-    rsDebug((const char*) buf1274, *(float3*)buf1275);
-    rsDebug((const char*) buf1276, *(float4*)buf1277);
-    rsDebug((const char*) buf1278, *(float*)buf1279, *(float*)buf1280);
-    rsDebug((const char*) buf1281, *(float*)buf1282, *(float*)buf1283, *(float*)buf1284);
-    rsDebug((const char*) buf1285, *(float*)buf1286, *(float*)buf1287, *(float*)buf1288, *(float*)buf1289);
-    rsDebug((const char*) buf1290, *(long long*)buf1291);
-    rsDebug((const char*) buf1292, *(unsigned long long*)buf1293);
-    rsDebug((const char*) buf1294, (const void*) buf1295);
-    rsDebug((const char*) buf1296, (const rs_matrix4x4*) buf1297);
-    rsDebug((const char*) buf1298, (const rs_matrix3x3*) buf1299);
-    rsDebug((const char*) buf1300, (const rs_matrix2x2*) buf1301);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1302, (float4*) buf1303, (float4*) buf1304, (float4*) buf1305, (float4*) buf1306, (float4*) buf1307, (float4*) buf1308);
-    rsForEach(*(rs_script*)buf1309, *(rs_allocation*)buf1310, *(rs_allocation*)buf1311, (const void*) buf1312, (const rs_script_call_t*) buf1313);
-    rsForEach(*(rs_script*)buf1314, *(rs_allocation*)buf1315, *(rs_allocation*)buf1316, (const void*) buf1317);
-    *(float*)buf1318 = rsFrac(*(float*)buf1319);
-    *(rs_allocation*)buf1320 = rsGetAllocation((const void*) buf1321);
-    *(float*)buf1322 = rsGetDt();
-    *(const void**)buf1323 = rsGetElementAt(*(rs_allocation*)buf1324, *(uint32_t*)buf1325);
-    *(const void**)buf1326 = rsGetElementAt(*(rs_allocation*)buf1327, *(uint32_t*)buf1328, *(uint32_t*)buf1329);
-    *(const void**)buf1330 = rsGetElementAt(*(rs_allocation*)buf1331, *(uint32_t*)buf1332, *(uint32_t*)buf1333, *(uint32_t*)buf1334);
-    *(float*)buf1335 = rsGetElementAt_float(*(rs_allocation*)buf1336, *(uint32_t*)buf1337);
-    *(float2*)buf1338 = rsGetElementAt_float2(*(rs_allocation*)buf1339, *(uint32_t*)buf1340);
-    *(float3*)buf1341 = rsGetElementAt_float3(*(rs_allocation*)buf1342, *(uint32_t*)buf1343);
-    *(float4*)buf1344 = rsGetElementAt_float4(*(rs_allocation*)buf1345, *(uint32_t*)buf1346);
-    *(double*)buf1347 = rsGetElementAt_double(*(rs_allocation*)buf1348, *(uint32_t*)buf1349);
-    *(double2*)buf1350 = rsGetElementAt_double2(*(rs_allocation*)buf1351, *(uint32_t*)buf1352);
-    *(double3*)buf1353 = rsGetElementAt_double3(*(rs_allocation*)buf1354, *(uint32_t*)buf1355);
-    *(double4*)buf1356 = rsGetElementAt_double4(*(rs_allocation*)buf1357, *(uint32_t*)buf1358);
-    *(char*)buf1359 = rsGetElementAt_char(*(rs_allocation*)buf1360, *(uint32_t*)buf1361);
-    *(char2*)buf1362 = rsGetElementAt_char2(*(rs_allocation*)buf1363, *(uint32_t*)buf1364);
-    *(char3*)buf1365 = rsGetElementAt_char3(*(rs_allocation*)buf1366, *(uint32_t*)buf1367);
-    *(char4*)buf1368 = rsGetElementAt_char4(*(rs_allocation*)buf1369, *(uint32_t*)buf1370);
-    *(uchar*)buf1371 = rsGetElementAt_uchar(*(rs_allocation*)buf1372, *(uint32_t*)buf1373);
-    *(uchar2*)buf1374 = rsGetElementAt_uchar2(*(rs_allocation*)buf1375, *(uint32_t*)buf1376);
-    *(uchar3*)buf1377 = rsGetElementAt_uchar3(*(rs_allocation*)buf1378, *(uint32_t*)buf1379);
-    *(uchar4*)buf1380 = rsGetElementAt_uchar4(*(rs_allocation*)buf1381, *(uint32_t*)buf1382);
-    *(short*)buf1383 = rsGetElementAt_short(*(rs_allocation*)buf1384, *(uint32_t*)buf1385);
-    *(short2*)buf1386 = rsGetElementAt_short2(*(rs_allocation*)buf1387, *(uint32_t*)buf1388);
-    *(short3*)buf1389 = rsGetElementAt_short3(*(rs_allocation*)buf1390, *(uint32_t*)buf1391);
-    *(short4*)buf1392 = rsGetElementAt_short4(*(rs_allocation*)buf1393, *(uint32_t*)buf1394);
-    *(ushort*)buf1395 = rsGetElementAt_ushort(*(rs_allocation*)buf1396, *(uint32_t*)buf1397);
-    *(ushort2*)buf1398 = rsGetElementAt_ushort2(*(rs_allocation*)buf1399, *(uint32_t*)buf1400);
-    *(ushort3*)buf1401 = rsGetElementAt_ushort3(*(rs_allocation*)buf1402, *(uint32_t*)buf1403);
-    *(ushort4*)buf1404 = rsGetElementAt_ushort4(*(rs_allocation*)buf1405, *(uint32_t*)buf1406);
-    *(int*)buf1407 = rsGetElementAt_int(*(rs_allocation*)buf1408, *(uint32_t*)buf1409);
-    *(int2*)buf1410 = rsGetElementAt_int2(*(rs_allocation*)buf1411, *(uint32_t*)buf1412);
-    *(int3*)buf1413 = rsGetElementAt_int3(*(rs_allocation*)buf1414, *(uint32_t*)buf1415);
-    *(int4*)buf1416 = rsGetElementAt_int4(*(rs_allocation*)buf1417, *(uint32_t*)buf1418);
-    *(uint*)buf1419 = rsGetElementAt_uint(*(rs_allocation*)buf1420, *(uint32_t*)buf1421);
-    *(uint2*)buf1422 = rsGetElementAt_uint2(*(rs_allocation*)buf1423, *(uint32_t*)buf1424);
-    *(uint3*)buf1425 = rsGetElementAt_uint3(*(rs_allocation*)buf1426, *(uint32_t*)buf1427);
-    *(uint4*)buf1428 = rsGetElementAt_uint4(*(rs_allocation*)buf1429, *(uint32_t*)buf1430);
-    *(long*)buf1431 = rsGetElementAt_long(*(rs_allocation*)buf1432, *(uint32_t*)buf1433);
-    *(long2*)buf1434 = rsGetElementAt_long2(*(rs_allocation*)buf1435, *(uint32_t*)buf1436);
-    *(long3*)buf1437 = rsGetElementAt_long3(*(rs_allocation*)buf1438, *(uint32_t*)buf1439);
-    *(long4*)buf1440 = rsGetElementAt_long4(*(rs_allocation*)buf1441, *(uint32_t*)buf1442);
-    *(ulong*)buf1443 = rsGetElementAt_ulong(*(rs_allocation*)buf1444, *(uint32_t*)buf1445);
-    *(ulong2*)buf1446 = rsGetElementAt_ulong2(*(rs_allocation*)buf1447, *(uint32_t*)buf1448);
-    *(ulong3*)buf1449 = rsGetElementAt_ulong3(*(rs_allocation*)buf1450, *(uint32_t*)buf1451);
-    *(ulong4*)buf1452 = rsGetElementAt_ulong4(*(rs_allocation*)buf1453, *(uint32_t*)buf1454);
-    *(float*)buf1455 = rsGetElementAt_float(*(rs_allocation*)buf1456, *(uint32_t*)buf1457, *(uint32_t*)buf1458);
-    *(float2*)buf1459 = rsGetElementAt_float2(*(rs_allocation*)buf1460, *(uint32_t*)buf1461, *(uint32_t*)buf1462);
-    *(float3*)buf1463 = rsGetElementAt_float3(*(rs_allocation*)buf1464, *(uint32_t*)buf1465, *(uint32_t*)buf1466);
-    *(float4*)buf1467 = rsGetElementAt_float4(*(rs_allocation*)buf1468, *(uint32_t*)buf1469, *(uint32_t*)buf1470);
-    *(double*)buf1471 = rsGetElementAt_double(*(rs_allocation*)buf1472, *(uint32_t*)buf1473, *(uint32_t*)buf1474);
-    *(double2*)buf1475 = rsGetElementAt_double2(*(rs_allocation*)buf1476, *(uint32_t*)buf1477, *(uint32_t*)buf1478);
-    *(double3*)buf1479 = rsGetElementAt_double3(*(rs_allocation*)buf1480, *(uint32_t*)buf1481, *(uint32_t*)buf1482);
-    *(double4*)buf1483 = rsGetElementAt_double4(*(rs_allocation*)buf1484, *(uint32_t*)buf1485, *(uint32_t*)buf1486);
-    *(char*)buf1487 = rsGetElementAt_char(*(rs_allocation*)buf1488, *(uint32_t*)buf1489, *(uint32_t*)buf1490);
-    *(char2*)buf1491 = rsGetElementAt_char2(*(rs_allocation*)buf1492, *(uint32_t*)buf1493, *(uint32_t*)buf1494);
-    *(char3*)buf1495 = rsGetElementAt_char3(*(rs_allocation*)buf1496, *(uint32_t*)buf1497, *(uint32_t*)buf1498);
-    *(char4*)buf1499 = rsGetElementAt_char4(*(rs_allocation*)buf1500, *(uint32_t*)buf1501, *(uint32_t*)buf1502);
-    *(uchar*)buf1503 = rsGetElementAt_uchar(*(rs_allocation*)buf1504, *(uint32_t*)buf1505, *(uint32_t*)buf1506);
-    *(uchar2*)buf1507 = rsGetElementAt_uchar2(*(rs_allocation*)buf1508, *(uint32_t*)buf1509, *(uint32_t*)buf1510);
-    *(uchar3*)buf1511 = rsGetElementAt_uchar3(*(rs_allocation*)buf1512, *(uint32_t*)buf1513, *(uint32_t*)buf1514);
-    *(uchar4*)buf1515 = rsGetElementAt_uchar4(*(rs_allocation*)buf1516, *(uint32_t*)buf1517, *(uint32_t*)buf1518);
-    *(short*)buf1519 = rsGetElementAt_short(*(rs_allocation*)buf1520, *(uint32_t*)buf1521, *(uint32_t*)buf1522);
-    *(short2*)buf1523 = rsGetElementAt_short2(*(rs_allocation*)buf1524, *(uint32_t*)buf1525, *(uint32_t*)buf1526);
-    *(short3*)buf1527 = rsGetElementAt_short3(*(rs_allocation*)buf1528, *(uint32_t*)buf1529, *(uint32_t*)buf1530);
-    *(short4*)buf1531 = rsGetElementAt_short4(*(rs_allocation*)buf1532, *(uint32_t*)buf1533, *(uint32_t*)buf1534);
-    *(ushort*)buf1535 = rsGetElementAt_ushort(*(rs_allocation*)buf1536, *(uint32_t*)buf1537, *(uint32_t*)buf1538);
-    *(ushort2*)buf1539 = rsGetElementAt_ushort2(*(rs_allocation*)buf1540, *(uint32_t*)buf1541, *(uint32_t*)buf1542);
-    *(ushort3*)buf1543 = rsGetElementAt_ushort3(*(rs_allocation*)buf1544, *(uint32_t*)buf1545, *(uint32_t*)buf1546);
-    *(ushort4*)buf1547 = rsGetElementAt_ushort4(*(rs_allocation*)buf1548, *(uint32_t*)buf1549, *(uint32_t*)buf1550);
-    *(int*)buf1551 = rsGetElementAt_int(*(rs_allocation*)buf1552, *(uint32_t*)buf1553, *(uint32_t*)buf1554);
-    *(int2*)buf1555 = rsGetElementAt_int2(*(rs_allocation*)buf1556, *(uint32_t*)buf1557, *(uint32_t*)buf1558);
-    *(int3*)buf1559 = rsGetElementAt_int3(*(rs_allocation*)buf1560, *(uint32_t*)buf1561, *(uint32_t*)buf1562);
-    *(int4*)buf1563 = rsGetElementAt_int4(*(rs_allocation*)buf1564, *(uint32_t*)buf1565, *(uint32_t*)buf1566);
-    *(uint*)buf1567 = rsGetElementAt_uint(*(rs_allocation*)buf1568, *(uint32_t*)buf1569, *(uint32_t*)buf1570);
-    *(uint2*)buf1571 = rsGetElementAt_uint2(*(rs_allocation*)buf1572, *(uint32_t*)buf1573, *(uint32_t*)buf1574);
-    *(uint3*)buf1575 = rsGetElementAt_uint3(*(rs_allocation*)buf1576, *(uint32_t*)buf1577, *(uint32_t*)buf1578);
-    *(uint4*)buf1579 = rsGetElementAt_uint4(*(rs_allocation*)buf1580, *(uint32_t*)buf1581, *(uint32_t*)buf1582);
-    *(long*)buf1583 = rsGetElementAt_long(*(rs_allocation*)buf1584, *(uint32_t*)buf1585, *(uint32_t*)buf1586);
-    *(long2*)buf1587 = rsGetElementAt_long2(*(rs_allocation*)buf1588, *(uint32_t*)buf1589, *(uint32_t*)buf1590);
-    *(long3*)buf1591 = rsGetElementAt_long3(*(rs_allocation*)buf1592, *(uint32_t*)buf1593, *(uint32_t*)buf1594);
-    *(long4*)buf1595 = rsGetElementAt_long4(*(rs_allocation*)buf1596, *(uint32_t*)buf1597, *(uint32_t*)buf1598);
-    *(ulong*)buf1599 = rsGetElementAt_ulong(*(rs_allocation*)buf1600, *(uint32_t*)buf1601, *(uint32_t*)buf1602);
-    *(ulong2*)buf1603 = rsGetElementAt_ulong2(*(rs_allocation*)buf1604, *(uint32_t*)buf1605, *(uint32_t*)buf1606);
-    *(ulong3*)buf1607 = rsGetElementAt_ulong3(*(rs_allocation*)buf1608, *(uint32_t*)buf1609, *(uint32_t*)buf1610);
-    *(ulong4*)buf1611 = rsGetElementAt_ulong4(*(rs_allocation*)buf1612, *(uint32_t*)buf1613, *(uint32_t*)buf1614);
-    *(float*)buf1615 = rsGetElementAt_float(*(rs_allocation*)buf1616, *(uint32_t*)buf1617, *(uint32_t*)buf1618, *(uint32_t*)buf1619);
-    *(float2*)buf1620 = rsGetElementAt_float2(*(rs_allocation*)buf1621, *(uint32_t*)buf1622, *(uint32_t*)buf1623, *(uint32_t*)buf1624);
-    *(float3*)buf1625 = rsGetElementAt_float3(*(rs_allocation*)buf1626, *(uint32_t*)buf1627, *(uint32_t*)buf1628, *(uint32_t*)buf1629);
-    *(float4*)buf1630 = rsGetElementAt_float4(*(rs_allocation*)buf1631, *(uint32_t*)buf1632, *(uint32_t*)buf1633, *(uint32_t*)buf1634);
-    *(double*)buf1635 = rsGetElementAt_double(*(rs_allocation*)buf1636, *(uint32_t*)buf1637, *(uint32_t*)buf1638, *(uint32_t*)buf1639);
-    *(double2*)buf1640 = rsGetElementAt_double2(*(rs_allocation*)buf1641, *(uint32_t*)buf1642, *(uint32_t*)buf1643, *(uint32_t*)buf1644);
-    *(double3*)buf1645 = rsGetElementAt_double3(*(rs_allocation*)buf1646, *(uint32_t*)buf1647, *(uint32_t*)buf1648, *(uint32_t*)buf1649);
-    *(double4*)buf1650 = rsGetElementAt_double4(*(rs_allocation*)buf1651, *(uint32_t*)buf1652, *(uint32_t*)buf1653, *(uint32_t*)buf1654);
-    *(char*)buf1655 = rsGetElementAt_char(*(rs_allocation*)buf1656, *(uint32_t*)buf1657, *(uint32_t*)buf1658, *(uint32_t*)buf1659);
-    *(char2*)buf1660 = rsGetElementAt_char2(*(rs_allocation*)buf1661, *(uint32_t*)buf1662, *(uint32_t*)buf1663, *(uint32_t*)buf1664);
-    *(char3*)buf1665 = rsGetElementAt_char3(*(rs_allocation*)buf1666, *(uint32_t*)buf1667, *(uint32_t*)buf1668, *(uint32_t*)buf1669);
-    *(char4*)buf1670 = rsGetElementAt_char4(*(rs_allocation*)buf1671, *(uint32_t*)buf1672, *(uint32_t*)buf1673, *(uint32_t*)buf1674);
-    *(uchar*)buf1675 = rsGetElementAt_uchar(*(rs_allocation*)buf1676, *(uint32_t*)buf1677, *(uint32_t*)buf1678, *(uint32_t*)buf1679);
-    *(uchar2*)buf1680 = rsGetElementAt_uchar2(*(rs_allocation*)buf1681, *(uint32_t*)buf1682, *(uint32_t*)buf1683, *(uint32_t*)buf1684);
-    *(uchar3*)buf1685 = rsGetElementAt_uchar3(*(rs_allocation*)buf1686, *(uint32_t*)buf1687, *(uint32_t*)buf1688, *(uint32_t*)buf1689);
-    *(uchar4*)buf1690 = rsGetElementAt_uchar4(*(rs_allocation*)buf1691, *(uint32_t*)buf1692, *(uint32_t*)buf1693, *(uint32_t*)buf1694);
-    *(short*)buf1695 = rsGetElementAt_short(*(rs_allocation*)buf1696, *(uint32_t*)buf1697, *(uint32_t*)buf1698, *(uint32_t*)buf1699);
-    *(short2*)buf1700 = rsGetElementAt_short2(*(rs_allocation*)buf1701, *(uint32_t*)buf1702, *(uint32_t*)buf1703, *(uint32_t*)buf1704);
-    *(short3*)buf1705 = rsGetElementAt_short3(*(rs_allocation*)buf1706, *(uint32_t*)buf1707, *(uint32_t*)buf1708, *(uint32_t*)buf1709);
-    *(short4*)buf1710 = rsGetElementAt_short4(*(rs_allocation*)buf1711, *(uint32_t*)buf1712, *(uint32_t*)buf1713, *(uint32_t*)buf1714);
-    *(ushort*)buf1715 = rsGetElementAt_ushort(*(rs_allocation*)buf1716, *(uint32_t*)buf1717, *(uint32_t*)buf1718, *(uint32_t*)buf1719);
-    *(ushort2*)buf1720 = rsGetElementAt_ushort2(*(rs_allocation*)buf1721, *(uint32_t*)buf1722, *(uint32_t*)buf1723, *(uint32_t*)buf1724);
-    *(ushort3*)buf1725 = rsGetElementAt_ushort3(*(rs_allocation*)buf1726, *(uint32_t*)buf1727, *(uint32_t*)buf1728, *(uint32_t*)buf1729);
-    *(ushort4*)buf1730 = rsGetElementAt_ushort4(*(rs_allocation*)buf1731, *(uint32_t*)buf1732, *(uint32_t*)buf1733, *(uint32_t*)buf1734);
-    *(int*)buf1735 = rsGetElementAt_int(*(rs_allocation*)buf1736, *(uint32_t*)buf1737, *(uint32_t*)buf1738, *(uint32_t*)buf1739);
-    *(int2*)buf1740 = rsGetElementAt_int2(*(rs_allocation*)buf1741, *(uint32_t*)buf1742, *(uint32_t*)buf1743, *(uint32_t*)buf1744);
-    *(int3*)buf1745 = rsGetElementAt_int3(*(rs_allocation*)buf1746, *(uint32_t*)buf1747, *(uint32_t*)buf1748, *(uint32_t*)buf1749);
-    *(int4*)buf1750 = rsGetElementAt_int4(*(rs_allocation*)buf1751, *(uint32_t*)buf1752, *(uint32_t*)buf1753, *(uint32_t*)buf1754);
-    *(uint*)buf1755 = rsGetElementAt_uint(*(rs_allocation*)buf1756, *(uint32_t*)buf1757, *(uint32_t*)buf1758, *(uint32_t*)buf1759);
-    *(uint2*)buf1760 = rsGetElementAt_uint2(*(rs_allocation*)buf1761, *(uint32_t*)buf1762, *(uint32_t*)buf1763, *(uint32_t*)buf1764);
-    *(uint3*)buf1765 = rsGetElementAt_uint3(*(rs_allocation*)buf1766, *(uint32_t*)buf1767, *(uint32_t*)buf1768, *(uint32_t*)buf1769);
-    *(uint4*)buf1770 = rsGetElementAt_uint4(*(rs_allocation*)buf1771, *(uint32_t*)buf1772, *(uint32_t*)buf1773, *(uint32_t*)buf1774);
-    *(long*)buf1775 = rsGetElementAt_long(*(rs_allocation*)buf1776, *(uint32_t*)buf1777, *(uint32_t*)buf1778, *(uint32_t*)buf1779);
-    *(long2*)buf1780 = rsGetElementAt_long2(*(rs_allocation*)buf1781, *(uint32_t*)buf1782, *(uint32_t*)buf1783, *(uint32_t*)buf1784);
-    *(long3*)buf1785 = rsGetElementAt_long3(*(rs_allocation*)buf1786, *(uint32_t*)buf1787, *(uint32_t*)buf1788, *(uint32_t*)buf1789);
-    *(long4*)buf1790 = rsGetElementAt_long4(*(rs_allocation*)buf1791, *(uint32_t*)buf1792, *(uint32_t*)buf1793, *(uint32_t*)buf1794);
-    *(ulong*)buf1795 = rsGetElementAt_ulong(*(rs_allocation*)buf1796, *(uint32_t*)buf1797, *(uint32_t*)buf1798, *(uint32_t*)buf1799);
-    *(ulong2*)buf1800 = rsGetElementAt_ulong2(*(rs_allocation*)buf1801, *(uint32_t*)buf1802, *(uint32_t*)buf1803, *(uint32_t*)buf1804);
-    *(ulong3*)buf1805 = rsGetElementAt_ulong3(*(rs_allocation*)buf1806, *(uint32_t*)buf1807, *(uint32_t*)buf1808, *(uint32_t*)buf1809);
-    *(ulong4*)buf1810 = rsGetElementAt_ulong4(*(rs_allocation*)buf1811, *(uint32_t*)buf1812, *(uint32_t*)buf1813, *(uint32_t*)buf1814);
-    *(bool*)buf1815 = rsIsObject(*(rs_element*)buf1816);
-    *(bool*)buf1817 = rsIsObject(*(rs_type*)buf1818);
-    *(bool*)buf1819 = rsIsObject(*(rs_allocation*)buf1820);
-    *(bool*)buf1821 = rsIsObject(*(rs_sampler*)buf1822);
-    *(bool*)buf1823 = rsIsObject(*(rs_script*)buf1824);
+    rsDebug((const char*) buf1278, *(double*)buf1279);
+    rsDebug((const char*) buf1280, *(int*)buf1281);
+    rsDebug((const char*) buf1282, *(uint*)buf1283);
+    rsDebug((const char*) buf1284, *(long*)buf1285);
+    rsDebug((const char*) buf1286, *(ulong*)buf1287);
+    rsDebug((const char*) buf1288, *(float*)buf1289);
+    rsDebug((const char*) buf1290, *(float2*)buf1291);
+    rsDebug((const char*) buf1292, *(float3*)buf1293);
+    rsDebug((const char*) buf1294, *(float4*)buf1295);
+    rsDebug((const char*) buf1296, *(float*)buf1297, *(float*)buf1298);
+    rsDebug((const char*) buf1299, *(float*)buf1300, *(float*)buf1301, *(float*)buf1302);
+    rsDebug((const char*) buf1303, *(float*)buf1304, *(float*)buf1305, *(float*)buf1306, *(float*)buf1307);
+    rsDebug((const char*) buf1308, *(long long*)buf1309);
+    rsDebug((const char*) buf1310, *(unsigned long long*)buf1311);
+    rsDebug((const char*) buf1312, (const void*) buf1313);
+    rsDebug((const char*) buf1314, (const rs_matrix4x4*) buf1315);
+    rsDebug((const char*) buf1316, (const rs_matrix3x3*) buf1317);
+    rsDebug((const char*) buf1318, (const rs_matrix2x2*) buf1319);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1320, (float4*) buf1321, (float4*) buf1322, (float4*) buf1323, (float4*) buf1324, (float4*) buf1325, (float4*) buf1326);
+    rsForEach(*(rs_script*)buf1327, *(rs_allocation*)buf1328, *(rs_allocation*)buf1329, (const void*) buf1330, (const rs_script_call_t*) buf1331);
+    rsForEach(*(rs_script*)buf1332, *(rs_allocation*)buf1333, *(rs_allocation*)buf1334, (const void*) buf1335);
+    *(float*)buf1336 = rsFrac(*(float*)buf1337);
+    *(rs_allocation*)buf1338 = rsGetAllocation((const void*) buf1339);
+    *(float*)buf1340 = rsGetDt();
+    *(const void**)buf1341 = rsGetElementAt(*(rs_allocation*)buf1342, *(uint32_t*)buf1343);
+    *(const void**)buf1344 = rsGetElementAt(*(rs_allocation*)buf1345, *(uint32_t*)buf1346, *(uint32_t*)buf1347);
+    *(const void**)buf1348 = rsGetElementAt(*(rs_allocation*)buf1349, *(uint32_t*)buf1350, *(uint32_t*)buf1351, *(uint32_t*)buf1352);
+    *(float*)buf1353 = rsGetElementAt_float(*(rs_allocation*)buf1354, *(uint32_t*)buf1355);
+    *(float2*)buf1356 = rsGetElementAt_float2(*(rs_allocation*)buf1357, *(uint32_t*)buf1358);
+    *(float3*)buf1359 = rsGetElementAt_float3(*(rs_allocation*)buf1360, *(uint32_t*)buf1361);
+    *(float4*)buf1362 = rsGetElementAt_float4(*(rs_allocation*)buf1363, *(uint32_t*)buf1364);
+    *(double*)buf1365 = rsGetElementAt_double(*(rs_allocation*)buf1366, *(uint32_t*)buf1367);
+    *(double2*)buf1368 = rsGetElementAt_double2(*(rs_allocation*)buf1369, *(uint32_t*)buf1370);
+    *(double3*)buf1371 = rsGetElementAt_double3(*(rs_allocation*)buf1372, *(uint32_t*)buf1373);
+    *(double4*)buf1374 = rsGetElementAt_double4(*(rs_allocation*)buf1375, *(uint32_t*)buf1376);
+    *(char*)buf1377 = rsGetElementAt_char(*(rs_allocation*)buf1378, *(uint32_t*)buf1379);
+    *(char2*)buf1380 = rsGetElementAt_char2(*(rs_allocation*)buf1381, *(uint32_t*)buf1382);
+    *(char3*)buf1383 = rsGetElementAt_char3(*(rs_allocation*)buf1384, *(uint32_t*)buf1385);
+    *(char4*)buf1386 = rsGetElementAt_char4(*(rs_allocation*)buf1387, *(uint32_t*)buf1388);
+    *(uchar*)buf1389 = rsGetElementAt_uchar(*(rs_allocation*)buf1390, *(uint32_t*)buf1391);
+    *(uchar2*)buf1392 = rsGetElementAt_uchar2(*(rs_allocation*)buf1393, *(uint32_t*)buf1394);
+    *(uchar3*)buf1395 = rsGetElementAt_uchar3(*(rs_allocation*)buf1396, *(uint32_t*)buf1397);
+    *(uchar4*)buf1398 = rsGetElementAt_uchar4(*(rs_allocation*)buf1399, *(uint32_t*)buf1400);
+    *(short*)buf1401 = rsGetElementAt_short(*(rs_allocation*)buf1402, *(uint32_t*)buf1403);
+    *(short2*)buf1404 = rsGetElementAt_short2(*(rs_allocation*)buf1405, *(uint32_t*)buf1406);
+    *(short3*)buf1407 = rsGetElementAt_short3(*(rs_allocation*)buf1408, *(uint32_t*)buf1409);
+    *(short4*)buf1410 = rsGetElementAt_short4(*(rs_allocation*)buf1411, *(uint32_t*)buf1412);
+    *(ushort*)buf1413 = rsGetElementAt_ushort(*(rs_allocation*)buf1414, *(uint32_t*)buf1415);
+    *(ushort2*)buf1416 = rsGetElementAt_ushort2(*(rs_allocation*)buf1417, *(uint32_t*)buf1418);
+    *(ushort3*)buf1419 = rsGetElementAt_ushort3(*(rs_allocation*)buf1420, *(uint32_t*)buf1421);
+    *(ushort4*)buf1422 = rsGetElementAt_ushort4(*(rs_allocation*)buf1423, *(uint32_t*)buf1424);
+    *(int*)buf1425 = rsGetElementAt_int(*(rs_allocation*)buf1426, *(uint32_t*)buf1427);
+    *(int2*)buf1428 = rsGetElementAt_int2(*(rs_allocation*)buf1429, *(uint32_t*)buf1430);
+    *(int3*)buf1431 = rsGetElementAt_int3(*(rs_allocation*)buf1432, *(uint32_t*)buf1433);
+    *(int4*)buf1434 = rsGetElementAt_int4(*(rs_allocation*)buf1435, *(uint32_t*)buf1436);
+    *(uint*)buf1437 = rsGetElementAt_uint(*(rs_allocation*)buf1438, *(uint32_t*)buf1439);
+    *(uint2*)buf1440 = rsGetElementAt_uint2(*(rs_allocation*)buf1441, *(uint32_t*)buf1442);
+    *(uint3*)buf1443 = rsGetElementAt_uint3(*(rs_allocation*)buf1444, *(uint32_t*)buf1445);
+    *(uint4*)buf1446 = rsGetElementAt_uint4(*(rs_allocation*)buf1447, *(uint32_t*)buf1448);
+    *(long*)buf1449 = rsGetElementAt_long(*(rs_allocation*)buf1450, *(uint32_t*)buf1451);
+    *(long2*)buf1452 = rsGetElementAt_long2(*(rs_allocation*)buf1453, *(uint32_t*)buf1454);
+    *(long3*)buf1455 = rsGetElementAt_long3(*(rs_allocation*)buf1456, *(uint32_t*)buf1457);
+    *(long4*)buf1458 = rsGetElementAt_long4(*(rs_allocation*)buf1459, *(uint32_t*)buf1460);
+    *(ulong*)buf1461 = rsGetElementAt_ulong(*(rs_allocation*)buf1462, *(uint32_t*)buf1463);
+    *(ulong2*)buf1464 = rsGetElementAt_ulong2(*(rs_allocation*)buf1465, *(uint32_t*)buf1466);
+    *(ulong3*)buf1467 = rsGetElementAt_ulong3(*(rs_allocation*)buf1468, *(uint32_t*)buf1469);
+    *(ulong4*)buf1470 = rsGetElementAt_ulong4(*(rs_allocation*)buf1471, *(uint32_t*)buf1472);
+    *(float*)buf1473 = rsGetElementAt_float(*(rs_allocation*)buf1474, *(uint32_t*)buf1475, *(uint32_t*)buf1476);
+    *(float2*)buf1477 = rsGetElementAt_float2(*(rs_allocation*)buf1478, *(uint32_t*)buf1479, *(uint32_t*)buf1480);
+    *(float3*)buf1481 = rsGetElementAt_float3(*(rs_allocation*)buf1482, *(uint32_t*)buf1483, *(uint32_t*)buf1484);
+    *(float4*)buf1485 = rsGetElementAt_float4(*(rs_allocation*)buf1486, *(uint32_t*)buf1487, *(uint32_t*)buf1488);
+    *(double*)buf1489 = rsGetElementAt_double(*(rs_allocation*)buf1490, *(uint32_t*)buf1491, *(uint32_t*)buf1492);
+    *(double2*)buf1493 = rsGetElementAt_double2(*(rs_allocation*)buf1494, *(uint32_t*)buf1495, *(uint32_t*)buf1496);
+    *(double3*)buf1497 = rsGetElementAt_double3(*(rs_allocation*)buf1498, *(uint32_t*)buf1499, *(uint32_t*)buf1500);
+    *(double4*)buf1501 = rsGetElementAt_double4(*(rs_allocation*)buf1502, *(uint32_t*)buf1503, *(uint32_t*)buf1504);
+    *(char*)buf1505 = rsGetElementAt_char(*(rs_allocation*)buf1506, *(uint32_t*)buf1507, *(uint32_t*)buf1508);
+    *(char2*)buf1509 = rsGetElementAt_char2(*(rs_allocation*)buf1510, *(uint32_t*)buf1511, *(uint32_t*)buf1512);
+    *(char3*)buf1513 = rsGetElementAt_char3(*(rs_allocation*)buf1514, *(uint32_t*)buf1515, *(uint32_t*)buf1516);
+    *(char4*)buf1517 = rsGetElementAt_char4(*(rs_allocation*)buf1518, *(uint32_t*)buf1519, *(uint32_t*)buf1520);
+    *(uchar*)buf1521 = rsGetElementAt_uchar(*(rs_allocation*)buf1522, *(uint32_t*)buf1523, *(uint32_t*)buf1524);
+    *(uchar2*)buf1525 = rsGetElementAt_uchar2(*(rs_allocation*)buf1526, *(uint32_t*)buf1527, *(uint32_t*)buf1528);
+    *(uchar3*)buf1529 = rsGetElementAt_uchar3(*(rs_allocation*)buf1530, *(uint32_t*)buf1531, *(uint32_t*)buf1532);
+    *(uchar4*)buf1533 = rsGetElementAt_uchar4(*(rs_allocation*)buf1534, *(uint32_t*)buf1535, *(uint32_t*)buf1536);
+    *(short*)buf1537 = rsGetElementAt_short(*(rs_allocation*)buf1538, *(uint32_t*)buf1539, *(uint32_t*)buf1540);
+    *(short2*)buf1541 = rsGetElementAt_short2(*(rs_allocation*)buf1542, *(uint32_t*)buf1543, *(uint32_t*)buf1544);
+    *(short3*)buf1545 = rsGetElementAt_short3(*(rs_allocation*)buf1546, *(uint32_t*)buf1547, *(uint32_t*)buf1548);
+    *(short4*)buf1549 = rsGetElementAt_short4(*(rs_allocation*)buf1550, *(uint32_t*)buf1551, *(uint32_t*)buf1552);
+    *(ushort*)buf1553 = rsGetElementAt_ushort(*(rs_allocation*)buf1554, *(uint32_t*)buf1555, *(uint32_t*)buf1556);
+    *(ushort2*)buf1557 = rsGetElementAt_ushort2(*(rs_allocation*)buf1558, *(uint32_t*)buf1559, *(uint32_t*)buf1560);
+    *(ushort3*)buf1561 = rsGetElementAt_ushort3(*(rs_allocation*)buf1562, *(uint32_t*)buf1563, *(uint32_t*)buf1564);
+    *(ushort4*)buf1565 = rsGetElementAt_ushort4(*(rs_allocation*)buf1566, *(uint32_t*)buf1567, *(uint32_t*)buf1568);
+    *(int*)buf1569 = rsGetElementAt_int(*(rs_allocation*)buf1570, *(uint32_t*)buf1571, *(uint32_t*)buf1572);
+    *(int2*)buf1573 = rsGetElementAt_int2(*(rs_allocation*)buf1574, *(uint32_t*)buf1575, *(uint32_t*)buf1576);
+    *(int3*)buf1577 = rsGetElementAt_int3(*(rs_allocation*)buf1578, *(uint32_t*)buf1579, *(uint32_t*)buf1580);
+    *(int4*)buf1581 = rsGetElementAt_int4(*(rs_allocation*)buf1582, *(uint32_t*)buf1583, *(uint32_t*)buf1584);
+    *(uint*)buf1585 = rsGetElementAt_uint(*(rs_allocation*)buf1586, *(uint32_t*)buf1587, *(uint32_t*)buf1588);
+    *(uint2*)buf1589 = rsGetElementAt_uint2(*(rs_allocation*)buf1590, *(uint32_t*)buf1591, *(uint32_t*)buf1592);
+    *(uint3*)buf1593 = rsGetElementAt_uint3(*(rs_allocation*)buf1594, *(uint32_t*)buf1595, *(uint32_t*)buf1596);
+    *(uint4*)buf1597 = rsGetElementAt_uint4(*(rs_allocation*)buf1598, *(uint32_t*)buf1599, *(uint32_t*)buf1600);
+    *(long*)buf1601 = rsGetElementAt_long(*(rs_allocation*)buf1602, *(uint32_t*)buf1603, *(uint32_t*)buf1604);
+    *(long2*)buf1605 = rsGetElementAt_long2(*(rs_allocation*)buf1606, *(uint32_t*)buf1607, *(uint32_t*)buf1608);
+    *(long3*)buf1609 = rsGetElementAt_long3(*(rs_allocation*)buf1610, *(uint32_t*)buf1611, *(uint32_t*)buf1612);
+    *(long4*)buf1613 = rsGetElementAt_long4(*(rs_allocation*)buf1614, *(uint32_t*)buf1615, *(uint32_t*)buf1616);
+    *(ulong*)buf1617 = rsGetElementAt_ulong(*(rs_allocation*)buf1618, *(uint32_t*)buf1619, *(uint32_t*)buf1620);
+    *(ulong2*)buf1621 = rsGetElementAt_ulong2(*(rs_allocation*)buf1622, *(uint32_t*)buf1623, *(uint32_t*)buf1624);
+    *(ulong3*)buf1625 = rsGetElementAt_ulong3(*(rs_allocation*)buf1626, *(uint32_t*)buf1627, *(uint32_t*)buf1628);
+    *(ulong4*)buf1629 = rsGetElementAt_ulong4(*(rs_allocation*)buf1630, *(uint32_t*)buf1631, *(uint32_t*)buf1632);
+    *(float*)buf1633 = rsGetElementAt_float(*(rs_allocation*)buf1634, *(uint32_t*)buf1635, *(uint32_t*)buf1636, *(uint32_t*)buf1637);
+    *(float2*)buf1638 = rsGetElementAt_float2(*(rs_allocation*)buf1639, *(uint32_t*)buf1640, *(uint32_t*)buf1641, *(uint32_t*)buf1642);
+    *(float3*)buf1643 = rsGetElementAt_float3(*(rs_allocation*)buf1644, *(uint32_t*)buf1645, *(uint32_t*)buf1646, *(uint32_t*)buf1647);
+    *(float4*)buf1648 = rsGetElementAt_float4(*(rs_allocation*)buf1649, *(uint32_t*)buf1650, *(uint32_t*)buf1651, *(uint32_t*)buf1652);
+    *(double*)buf1653 = rsGetElementAt_double(*(rs_allocation*)buf1654, *(uint32_t*)buf1655, *(uint32_t*)buf1656, *(uint32_t*)buf1657);
+    *(double2*)buf1658 = rsGetElementAt_double2(*(rs_allocation*)buf1659, *(uint32_t*)buf1660, *(uint32_t*)buf1661, *(uint32_t*)buf1662);
+    *(double3*)buf1663 = rsGetElementAt_double3(*(rs_allocation*)buf1664, *(uint32_t*)buf1665, *(uint32_t*)buf1666, *(uint32_t*)buf1667);
+    *(double4*)buf1668 = rsGetElementAt_double4(*(rs_allocation*)buf1669, *(uint32_t*)buf1670, *(uint32_t*)buf1671, *(uint32_t*)buf1672);
+    *(char*)buf1673 = rsGetElementAt_char(*(rs_allocation*)buf1674, *(uint32_t*)buf1675, *(uint32_t*)buf1676, *(uint32_t*)buf1677);
+    *(char2*)buf1678 = rsGetElementAt_char2(*(rs_allocation*)buf1679, *(uint32_t*)buf1680, *(uint32_t*)buf1681, *(uint32_t*)buf1682);
+    *(char3*)buf1683 = rsGetElementAt_char3(*(rs_allocation*)buf1684, *(uint32_t*)buf1685, *(uint32_t*)buf1686, *(uint32_t*)buf1687);
+    *(char4*)buf1688 = rsGetElementAt_char4(*(rs_allocation*)buf1689, *(uint32_t*)buf1690, *(uint32_t*)buf1691, *(uint32_t*)buf1692);
+    *(uchar*)buf1693 = rsGetElementAt_uchar(*(rs_allocation*)buf1694, *(uint32_t*)buf1695, *(uint32_t*)buf1696, *(uint32_t*)buf1697);
+    *(uchar2*)buf1698 = rsGetElementAt_uchar2(*(rs_allocation*)buf1699, *(uint32_t*)buf1700, *(uint32_t*)buf1701, *(uint32_t*)buf1702);
+    *(uchar3*)buf1703 = rsGetElementAt_uchar3(*(rs_allocation*)buf1704, *(uint32_t*)buf1705, *(uint32_t*)buf1706, *(uint32_t*)buf1707);
+    *(uchar4*)buf1708 = rsGetElementAt_uchar4(*(rs_allocation*)buf1709, *(uint32_t*)buf1710, *(uint32_t*)buf1711, *(uint32_t*)buf1712);
+    *(short*)buf1713 = rsGetElementAt_short(*(rs_allocation*)buf1714, *(uint32_t*)buf1715, *(uint32_t*)buf1716, *(uint32_t*)buf1717);
+    *(short2*)buf1718 = rsGetElementAt_short2(*(rs_allocation*)buf1719, *(uint32_t*)buf1720, *(uint32_t*)buf1721, *(uint32_t*)buf1722);
+    *(short3*)buf1723 = rsGetElementAt_short3(*(rs_allocation*)buf1724, *(uint32_t*)buf1725, *(uint32_t*)buf1726, *(uint32_t*)buf1727);
+    *(short4*)buf1728 = rsGetElementAt_short4(*(rs_allocation*)buf1729, *(uint32_t*)buf1730, *(uint32_t*)buf1731, *(uint32_t*)buf1732);
+    *(ushort*)buf1733 = rsGetElementAt_ushort(*(rs_allocation*)buf1734, *(uint32_t*)buf1735, *(uint32_t*)buf1736, *(uint32_t*)buf1737);
+    *(ushort2*)buf1738 = rsGetElementAt_ushort2(*(rs_allocation*)buf1739, *(uint32_t*)buf1740, *(uint32_t*)buf1741, *(uint32_t*)buf1742);
+    *(ushort3*)buf1743 = rsGetElementAt_ushort3(*(rs_allocation*)buf1744, *(uint32_t*)buf1745, *(uint32_t*)buf1746, *(uint32_t*)buf1747);
+    *(ushort4*)buf1748 = rsGetElementAt_ushort4(*(rs_allocation*)buf1749, *(uint32_t*)buf1750, *(uint32_t*)buf1751, *(uint32_t*)buf1752);
+    *(int*)buf1753 = rsGetElementAt_int(*(rs_allocation*)buf1754, *(uint32_t*)buf1755, *(uint32_t*)buf1756, *(uint32_t*)buf1757);
+    *(int2*)buf1758 = rsGetElementAt_int2(*(rs_allocation*)buf1759, *(uint32_t*)buf1760, *(uint32_t*)buf1761, *(uint32_t*)buf1762);
+    *(int3*)buf1763 = rsGetElementAt_int3(*(rs_allocation*)buf1764, *(uint32_t*)buf1765, *(uint32_t*)buf1766, *(uint32_t*)buf1767);
+    *(int4*)buf1768 = rsGetElementAt_int4(*(rs_allocation*)buf1769, *(uint32_t*)buf1770, *(uint32_t*)buf1771, *(uint32_t*)buf1772);
+    *(uint*)buf1773 = rsGetElementAt_uint(*(rs_allocation*)buf1774, *(uint32_t*)buf1775, *(uint32_t*)buf1776, *(uint32_t*)buf1777);
+    *(uint2*)buf1778 = rsGetElementAt_uint2(*(rs_allocation*)buf1779, *(uint32_t*)buf1780, *(uint32_t*)buf1781, *(uint32_t*)buf1782);
+    *(uint3*)buf1783 = rsGetElementAt_uint3(*(rs_allocation*)buf1784, *(uint32_t*)buf1785, *(uint32_t*)buf1786, *(uint32_t*)buf1787);
+    *(uint4*)buf1788 = rsGetElementAt_uint4(*(rs_allocation*)buf1789, *(uint32_t*)buf1790, *(uint32_t*)buf1791, *(uint32_t*)buf1792);
+    *(long*)buf1793 = rsGetElementAt_long(*(rs_allocation*)buf1794, *(uint32_t*)buf1795, *(uint32_t*)buf1796, *(uint32_t*)buf1797);
+    *(long2*)buf1798 = rsGetElementAt_long2(*(rs_allocation*)buf1799, *(uint32_t*)buf1800, *(uint32_t*)buf1801, *(uint32_t*)buf1802);
+    *(long3*)buf1803 = rsGetElementAt_long3(*(rs_allocation*)buf1804, *(uint32_t*)buf1805, *(uint32_t*)buf1806, *(uint32_t*)buf1807);
+    *(long4*)buf1808 = rsGetElementAt_long4(*(rs_allocation*)buf1809, *(uint32_t*)buf1810, *(uint32_t*)buf1811, *(uint32_t*)buf1812);
+    *(ulong*)buf1813 = rsGetElementAt_ulong(*(rs_allocation*)buf1814, *(uint32_t*)buf1815, *(uint32_t*)buf1816, *(uint32_t*)buf1817);
+    *(ulong2*)buf1818 = rsGetElementAt_ulong2(*(rs_allocation*)buf1819, *(uint32_t*)buf1820, *(uint32_t*)buf1821, *(uint32_t*)buf1822);
+    *(ulong3*)buf1823 = rsGetElementAt_ulong3(*(rs_allocation*)buf1824, *(uint32_t*)buf1825, *(uint32_t*)buf1826, *(uint32_t*)buf1827);
+    *(ulong4*)buf1828 = rsGetElementAt_ulong4(*(rs_allocation*)buf1829, *(uint32_t*)buf1830, *(uint32_t*)buf1831, *(uint32_t*)buf1832);
+    *(bool*)buf1833 = rsIsObject(*(rs_element*)buf1834);
+    *(bool*)buf1835 = rsIsObject(*(rs_type*)buf1836);
+    *(bool*)buf1837 = rsIsObject(*(rs_allocation*)buf1838);
+    *(bool*)buf1839 = rsIsObject(*(rs_sampler*)buf1840);
+    *(bool*)buf1841 = rsIsObject(*(rs_script*)buf1842);
 #ifndef __LP64__
-    *(bool*)buf1825 = rsIsObject(*(rs_mesh*)buf1826);
-    *(bool*)buf1827 = rsIsObject(*(rs_program_fragment*)buf1828);
-    *(bool*)buf1829 = rsIsObject(*(rs_program_vertex*)buf1830);
-    *(bool*)buf1831 = rsIsObject(*(rs_program_raster*)buf1832);
-    *(bool*)buf1833 = rsIsObject(*(rs_program_store*)buf1834);
-    *(bool*)buf1835 = rsIsObject(*(rs_font*)buf1836);
+    *(bool*)buf1843 = rsIsObject(*(rs_mesh*)buf1844);
+    *(bool*)buf1845 = rsIsObject(*(rs_program_fragment*)buf1846);
+    *(bool*)buf1847 = rsIsObject(*(rs_program_vertex*)buf1848);
+    *(bool*)buf1849 = rsIsObject(*(rs_program_raster*)buf1850);
+    *(bool*)buf1851 = rsIsObject(*(rs_program_store*)buf1852);
+    *(bool*)buf1853 = rsIsObject(*(rs_font*)buf1854);
 #endif
-    *(bool*)buf1837 = rsIsSphereInFrustum((float4*) buf1838, (float4*) buf1839, (float4*) buf1840, (float4*) buf1841, (float4*) buf1842, (float4*) buf1843, (float4*) buf1844);
-    *(rs_tm**)buf1845 = rsLocaltime((rs_tm*) buf1846, (const rs_time_t*) buf1847);
-    *(float*)buf1848 = rsMatrixGet((const rs_matrix4x4*) buf1849, *(uint32_t*)buf1850, *(uint32_t*)buf1851);
-    *(float*)buf1852 = rsMatrixGet((const rs_matrix3x3*) buf1853, *(uint32_t*)buf1854, *(uint32_t*)buf1855);
-    *(float*)buf1856 = rsMatrixGet((const rs_matrix2x2*) buf1857, *(uint32_t*)buf1858, *(uint32_t*)buf1859);
-    *(bool*)buf1860 = rsMatrixInverse((rs_matrix4x4*) buf1861);
-    *(bool*)buf1862 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1863);
-    rsMatrixLoad((rs_matrix4x4*) buf1864, (const float*) buf1865);
-    rsMatrixLoad((rs_matrix3x3*) buf1866, (const float*) buf1867);
-    rsMatrixLoad((rs_matrix2x2*) buf1868, (const float*) buf1869);
-    rsMatrixLoad((rs_matrix4x4*) buf1870, (const rs_matrix4x4*) buf1871);
-    rsMatrixLoad((rs_matrix3x3*) buf1872, (const rs_matrix3x3*) buf1873);
-    rsMatrixLoad((rs_matrix2x2*) buf1874, (const rs_matrix2x2*) buf1875);
-    rsMatrixLoad((rs_matrix4x4*) buf1876, (const rs_matrix3x3*) buf1877);
-    rsMatrixLoad((rs_matrix4x4*) buf1878, (const rs_matrix2x2*) buf1879);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf1880, *(float*)buf1881, *(float*)buf1882, *(float*)buf1883, *(float*)buf1884, *(float*)buf1885, *(float*)buf1886);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf1887);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf1888);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf1889);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf1890, (const rs_matrix4x4*) buf1891, (const rs_matrix4x4*) buf1892);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf1893, (const rs_matrix3x3*) buf1894, (const rs_matrix3x3*) buf1895);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf1896, (const rs_matrix2x2*) buf1897, (const rs_matrix2x2*) buf1898);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf1899, *(float*)buf1900, *(float*)buf1901, *(float*)buf1902, *(float*)buf1903, *(float*)buf1904, *(float*)buf1905);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf1906, *(float*)buf1907, *(float*)buf1908, *(float*)buf1909, *(float*)buf1910);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf1911, *(float*)buf1912, *(float*)buf1913, *(float*)buf1914, *(float*)buf1915);
-    rsMatrixLoadScale((rs_matrix4x4*) buf1916, *(float*)buf1917, *(float*)buf1918, *(float*)buf1919);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf1920, *(float*)buf1921, *(float*)buf1922, *(float*)buf1923);
-    rsMatrixMultiply((rs_matrix4x4*) buf1924, (const rs_matrix4x4*) buf1925);
-    rsMatrixMultiply((rs_matrix3x3*) buf1926, (const rs_matrix3x3*) buf1927);
-    rsMatrixMultiply((rs_matrix2x2*) buf1928, (const rs_matrix2x2*) buf1929);
-    *(float4*)buf1930 = rsMatrixMultiply((rs_matrix4x4*) buf1931, *(float4*)buf1932);
-    *(float4*)buf1933 = rsMatrixMultiply((rs_matrix4x4*) buf1934, *(float3*)buf1935);
-    *(float4*)buf1936 = rsMatrixMultiply((rs_matrix4x4*) buf1937, *(float2*)buf1938);
-    *(float3*)buf1939 = rsMatrixMultiply((rs_matrix3x3*) buf1940, *(float3*)buf1941);
-    *(float3*)buf1942 = rsMatrixMultiply((rs_matrix3x3*) buf1943, *(float2*)buf1944);
-    *(float2*)buf1945 = rsMatrixMultiply((rs_matrix2x2*) buf1946, *(float2*)buf1947);
-    rsMatrixRotate((rs_matrix4x4*) buf1948, *(float*)buf1949, *(float*)buf1950, *(float*)buf1951, *(float*)buf1952);
-    rsMatrixScale((rs_matrix4x4*) buf1953, *(float*)buf1954, *(float*)buf1955, *(float*)buf1956);
-    rsMatrixSet((rs_matrix4x4*) buf1957, *(uint32_t*)buf1958, *(uint32_t*)buf1959, *(float*)buf1960);
-    rsMatrixSet((rs_matrix3x3*) buf1961, *(uint32_t*)buf1962, *(uint32_t*)buf1963, *(float*)buf1964);
-    rsMatrixSet((rs_matrix2x2*) buf1965, *(uint32_t*)buf1966, *(uint32_t*)buf1967, *(float*)buf1968);
-    rsMatrixTranslate((rs_matrix4x4*) buf1969, *(float*)buf1970, *(float*)buf1971, *(float*)buf1972);
-    rsMatrixTranspose((rs_matrix4x4*) buf1973);
-    rsMatrixTranspose((rs_matrix3x3*) buf1974);
-    rsMatrixTranspose((rs_matrix2x2*) buf1975);
-    *(uchar4*)buf1976 = rsPackColorTo8888(*(float*)buf1977, *(float*)buf1978, *(float*)buf1979);
-    *(uchar4*)buf1980 = rsPackColorTo8888(*(float*)buf1981, *(float*)buf1982, *(float*)buf1983, *(float*)buf1984);
-    *(uchar4*)buf1985 = rsPackColorTo8888(*(float3*)buf1986);
-    *(uchar4*)buf1987 = rsPackColorTo8888(*(float4*)buf1988);
-    rsQuaternionAdd((rs_quaternion*) buf1989, (const rs_quaternion*) buf1990);
-    rsQuaternionConjugate((rs_quaternion*) buf1991);
-    *(float*)buf1992 = rsQuaternionDot((const rs_quaternion*) buf1993, (const rs_quaternion*) buf1994);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf1995, (const rs_quaternion*) buf1996);
-    rsQuaternionLoadRotate((rs_quaternion*) buf1997, *(float*)buf1998, *(float*)buf1999, *(float*)buf2000, *(float*)buf2001);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2002, *(float*)buf2003, *(float*)buf2004, *(float*)buf2005, *(float*)buf2006);
-    rsQuaternionMultiply((rs_quaternion*) buf2007, *(float*)buf2008);
-    rsQuaternionMultiply((rs_quaternion*) buf2009, (const rs_quaternion*) buf2010);
-    rsQuaternionNormalize((rs_quaternion*) buf2011);
-    rsQuaternionSet((rs_quaternion*) buf2012, *(float*)buf2013, *(float*)buf2014, *(float*)buf2015, *(float*)buf2016);
-    rsQuaternionSet((rs_quaternion*) buf2017, (const rs_quaternion*) buf2018);
-    rsQuaternionSlerp((rs_quaternion*) buf2019, (const rs_quaternion*) buf2020, (const rs_quaternion*) buf2021, *(float*)buf2022);
-    *(int*)buf2023 = rsRand(*(int*)buf2024);
-    *(int*)buf2025 = rsRand(*(int*)buf2026, *(int*)buf2027);
-    *(float*)buf2028 = rsRand(*(float*)buf2029);
-    *(float*)buf2030 = rsRand(*(float*)buf2031, *(float*)buf2032);
-    *(bool*)buf2033 = rsSendToClient(*(int*)buf2034);
-    *(bool*)buf2035 = rsSendToClient(*(int*)buf2036, (const void*) buf2037, *(uint*)buf2038);
-    rsSendToClientBlocking(*(int*)buf2039);
-    rsSendToClientBlocking(*(int*)buf2040, (const void*) buf2041, *(uint*)buf2042);
-    rsSetObject((rs_element*) buf2043, *(rs_element*)buf2044);
-    rsSetObject((rs_type*) buf2045, *(rs_type*)buf2046);
-    rsSetObject((rs_allocation*) buf2047, *(rs_allocation*)buf2048);
-    rsSetObject((rs_sampler*) buf2049, *(rs_sampler*)buf2050);
-    rsSetObject((rs_script*) buf2051, *(rs_script*)buf2052);
+    *(bool*)buf1855 = rsIsSphereInFrustum((float4*) buf1856, (float4*) buf1857, (float4*) buf1858, (float4*) buf1859, (float4*) buf1860, (float4*) buf1861, (float4*) buf1862);
+    *(rs_tm**)buf1863 = rsLocaltime((rs_tm*) buf1864, (const rs_time_t*) buf1865);
+    *(float*)buf1866 = rsMatrixGet((const rs_matrix4x4*) buf1867, *(uint32_t*)buf1868, *(uint32_t*)buf1869);
+    *(float*)buf1870 = rsMatrixGet((const rs_matrix3x3*) buf1871, *(uint32_t*)buf1872, *(uint32_t*)buf1873);
+    *(float*)buf1874 = rsMatrixGet((const rs_matrix2x2*) buf1875, *(uint32_t*)buf1876, *(uint32_t*)buf1877);
+    *(bool*)buf1878 = rsMatrixInverse((rs_matrix4x4*) buf1879);
+    *(bool*)buf1880 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1881);
+    rsMatrixLoad((rs_matrix4x4*) buf1882, (const float*) buf1883);
+    rsMatrixLoad((rs_matrix3x3*) buf1884, (const float*) buf1885);
+    rsMatrixLoad((rs_matrix2x2*) buf1886, (const float*) buf1887);
+    rsMatrixLoad((rs_matrix4x4*) buf1888, (const rs_matrix4x4*) buf1889);
+    rsMatrixLoad((rs_matrix3x3*) buf1890, (const rs_matrix3x3*) buf1891);
+    rsMatrixLoad((rs_matrix2x2*) buf1892, (const rs_matrix2x2*) buf1893);
+    rsMatrixLoad((rs_matrix4x4*) buf1894, (const rs_matrix3x3*) buf1895);
+    rsMatrixLoad((rs_matrix4x4*) buf1896, (const rs_matrix2x2*) buf1897);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf1898, *(float*)buf1899, *(float*)buf1900, *(float*)buf1901, *(float*)buf1902, *(float*)buf1903, *(float*)buf1904);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf1905);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf1906);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf1907);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf1908, (const rs_matrix4x4*) buf1909, (const rs_matrix4x4*) buf1910);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf1911, (const rs_matrix3x3*) buf1912, (const rs_matrix3x3*) buf1913);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf1914, (const rs_matrix2x2*) buf1915, (const rs_matrix2x2*) buf1916);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf1917, *(float*)buf1918, *(float*)buf1919, *(float*)buf1920, *(float*)buf1921, *(float*)buf1922, *(float*)buf1923);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf1924, *(float*)buf1925, *(float*)buf1926, *(float*)buf1927, *(float*)buf1928);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf1929, *(float*)buf1930, *(float*)buf1931, *(float*)buf1932, *(float*)buf1933);
+    rsMatrixLoadScale((rs_matrix4x4*) buf1934, *(float*)buf1935, *(float*)buf1936, *(float*)buf1937);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf1938, *(float*)buf1939, *(float*)buf1940, *(float*)buf1941);
+    rsMatrixMultiply((rs_matrix4x4*) buf1942, (const rs_matrix4x4*) buf1943);
+    rsMatrixMultiply((rs_matrix3x3*) buf1944, (const rs_matrix3x3*) buf1945);
+    rsMatrixMultiply((rs_matrix2x2*) buf1946, (const rs_matrix2x2*) buf1947);
+    *(float4*)buf1948 = rsMatrixMultiply((rs_matrix4x4*) buf1949, *(float4*)buf1950);
+    *(float4*)buf1951 = rsMatrixMultiply((rs_matrix4x4*) buf1952, *(float3*)buf1953);
+    *(float4*)buf1954 = rsMatrixMultiply((rs_matrix4x4*) buf1955, *(float2*)buf1956);
+    *(float3*)buf1957 = rsMatrixMultiply((rs_matrix3x3*) buf1958, *(float3*)buf1959);
+    *(float3*)buf1960 = rsMatrixMultiply((rs_matrix3x3*) buf1961, *(float2*)buf1962);
+    *(float2*)buf1963 = rsMatrixMultiply((rs_matrix2x2*) buf1964, *(float2*)buf1965);
+    rsMatrixRotate((rs_matrix4x4*) buf1966, *(float*)buf1967, *(float*)buf1968, *(float*)buf1969, *(float*)buf1970);
+    rsMatrixScale((rs_matrix4x4*) buf1971, *(float*)buf1972, *(float*)buf1973, *(float*)buf1974);
+    rsMatrixSet((rs_matrix4x4*) buf1975, *(uint32_t*)buf1976, *(uint32_t*)buf1977, *(float*)buf1978);
+    rsMatrixSet((rs_matrix3x3*) buf1979, *(uint32_t*)buf1980, *(uint32_t*)buf1981, *(float*)buf1982);
+    rsMatrixSet((rs_matrix2x2*) buf1983, *(uint32_t*)buf1984, *(uint32_t*)buf1985, *(float*)buf1986);
+    rsMatrixTranslate((rs_matrix4x4*) buf1987, *(float*)buf1988, *(float*)buf1989, *(float*)buf1990);
+    rsMatrixTranspose((rs_matrix4x4*) buf1991);
+    rsMatrixTranspose((rs_matrix3x3*) buf1992);
+    rsMatrixTranspose((rs_matrix2x2*) buf1993);
+    *(uchar4*)buf1994 = rsPackColorTo8888(*(float*)buf1995, *(float*)buf1996, *(float*)buf1997);
+    *(uchar4*)buf1998 = rsPackColorTo8888(*(float*)buf1999, *(float*)buf2000, *(float*)buf2001, *(float*)buf2002);
+    *(uchar4*)buf2003 = rsPackColorTo8888(*(float3*)buf2004);
+    *(uchar4*)buf2005 = rsPackColorTo8888(*(float4*)buf2006);
+    rsQuaternionAdd((rs_quaternion*) buf2007, (const rs_quaternion*) buf2008);
+    rsQuaternionConjugate((rs_quaternion*) buf2009);
+    *(float*)buf2010 = rsQuaternionDot((const rs_quaternion*) buf2011, (const rs_quaternion*) buf2012);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2013, (const rs_quaternion*) buf2014);
+    rsQuaternionLoadRotate((rs_quaternion*) buf2015, *(float*)buf2016, *(float*)buf2017, *(float*)buf2018, *(float*)buf2019);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2020, *(float*)buf2021, *(float*)buf2022, *(float*)buf2023, *(float*)buf2024);
+    rsQuaternionMultiply((rs_quaternion*) buf2025, *(float*)buf2026);
+    rsQuaternionMultiply((rs_quaternion*) buf2027, (const rs_quaternion*) buf2028);
+    rsQuaternionNormalize((rs_quaternion*) buf2029);
+    rsQuaternionSet((rs_quaternion*) buf2030, *(float*)buf2031, *(float*)buf2032, *(float*)buf2033, *(float*)buf2034);
+    rsQuaternionSet((rs_quaternion*) buf2035, (const rs_quaternion*) buf2036);
+    rsQuaternionSlerp((rs_quaternion*) buf2037, (const rs_quaternion*) buf2038, (const rs_quaternion*) buf2039, *(float*)buf2040);
+    *(int*)buf2041 = rsRand(*(int*)buf2042);
+    *(int*)buf2043 = rsRand(*(int*)buf2044, *(int*)buf2045);
+    *(float*)buf2046 = rsRand(*(float*)buf2047);
+    *(float*)buf2048 = rsRand(*(float*)buf2049, *(float*)buf2050);
+    *(bool*)buf2051 = rsSendToClient(*(int*)buf2052);
+    *(bool*)buf2053 = rsSendToClient(*(int*)buf2054, (const void*) buf2055, *(uint*)buf2056);
+    rsSendToClientBlocking(*(int*)buf2057);
+    rsSendToClientBlocking(*(int*)buf2058, (const void*) buf2059, *(uint*)buf2060);
+    rsSetObject((rs_element*) buf2061, *(rs_element*)buf2062);
+    rsSetObject((rs_type*) buf2063, *(rs_type*)buf2064);
+    rsSetObject((rs_allocation*) buf2065, *(rs_allocation*)buf2066);
+    rsSetObject((rs_sampler*) buf2067, *(rs_sampler*)buf2068);
+    rsSetObject((rs_script*) buf2069, *(rs_script*)buf2070);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf2053, *(rs_mesh*)buf2054);
-    rsSetObject((rs_program_fragment*) buf2055, *(rs_program_fragment*)buf2056);
-    rsSetObject((rs_program_vertex*) buf2057, *(rs_program_vertex*)buf2058);
-    rsSetObject((rs_program_raster*) buf2059, *(rs_program_raster*)buf2060);
-    rsSetObject((rs_program_store*) buf2061, *(rs_program_store*)buf2062);
-    rsSetObject((rs_font*) buf2063, *(rs_font*)buf2064);
+    rsSetObject((rs_mesh*) buf2071, *(rs_mesh*)buf2072);
+    rsSetObject((rs_program_fragment*) buf2073, *(rs_program_fragment*)buf2074);
+    rsSetObject((rs_program_vertex*) buf2075, *(rs_program_vertex*)buf2076);
+    rsSetObject((rs_program_raster*) buf2077, *(rs_program_raster*)buf2078);
+    rsSetObject((rs_program_store*) buf2079, *(rs_program_store*)buf2080);
+    rsSetObject((rs_font*) buf2081, *(rs_font*)buf2082);
 #endif
-    *(rs_time_t*)buf2065 = rsTime((rs_time_t*) buf2066);
-    *(float4*)buf2067 = rsUnpackColor8888(*(uchar4*)buf2068);
-    *(int64_t*)buf2069 = rsUptimeMillis();
-    *(int64_t*)buf2070 = rsUptimeNanos();
-    *(float4*)buf2071 = rsYuvToRGBA_float4(*(uchar*)buf2072, *(uchar*)buf2073, *(uchar*)buf2074);
-    *(uchar4*)buf2075 = rsYuvToRGBA_uchar4(*(uchar*)buf2076, *(uchar*)buf2077, *(uchar*)buf2078);
+    *(rs_time_t*)buf2083 = rsTime((rs_time_t*) buf2084);
+    *(float4*)buf2085 = rsUnpackColor8888(*(uchar4*)buf2086);
+    *(int64_t*)buf2087 = rsUptimeMillis();
+    *(int64_t*)buf2088 = rsUptimeNanos();
+    *(float4*)buf2089 = rsYuvToRGBA_float4(*(uchar*)buf2090, *(uchar*)buf2091, *(uchar*)buf2092);
+    *(uchar4*)buf2093 = rsYuvToRGBA_uchar4(*(uchar*)buf2094, *(uchar*)buf2095, *(uchar*)buf2096);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2079);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2097);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf2080, *(uint*)buf2081, *(rs_allocation*)buf2082);
+    rsgBindConstant(*(rs_program_fragment*)buf2098, *(uint*)buf2099, *(rs_allocation*)buf2100);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf2083, *(uint*)buf2084, *(rs_allocation*)buf2085);
+    rsgBindConstant(*(rs_program_vertex*)buf2101, *(uint*)buf2102, *(rs_allocation*)buf2103);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf2086);
+    rsgBindFont(*(rs_font*)buf2104);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf2087);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf2105);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf2088);
+    rsgBindProgramRaster(*(rs_program_raster*)buf2106);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf2089);
+    rsgBindProgramStore(*(rs_program_store*)buf2107);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf2090);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf2108);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf2091, *(uint*)buf2092, *(rs_sampler*)buf2093);
+    rsgBindSampler(*(rs_program_fragment*)buf2109, *(uint*)buf2110, *(rs_sampler*)buf2111);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf2094, *(uint*)buf2095, *(rs_allocation*)buf2096);
+    rsgBindTexture(*(rs_program_fragment*)buf2112, *(uint*)buf2113, *(rs_allocation*)buf2114);
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf2097, *(float*)buf2098, *(float*)buf2099, *(float*)buf2100);
+    rsgClearColor(*(float*)buf2115, *(float*)buf2116, *(float*)buf2117, *(float*)buf2118);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf2101);
+    rsgClearDepth(*(float*)buf2119);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2102);
+    rsgDrawMesh(*(rs_mesh*)buf2120);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2103, *(uint*)buf2104);
+    rsgDrawMesh(*(rs_mesh*)buf2121, *(uint*)buf2122);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2105, *(uint*)buf2106, *(uint*)buf2107, *(uint*)buf2108);
+    rsgDrawMesh(*(rs_mesh*)buf2123, *(uint*)buf2124, *(uint*)buf2125, *(uint*)buf2126);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf2109, *(float*)buf2110, *(float*)buf2111, *(float*)buf2112, *(float*)buf2113, *(float*)buf2114, *(float*)buf2115, *(float*)buf2116, *(float*)buf2117, *(float*)buf2118, *(float*)buf2119, *(float*)buf2120);
+    rsgDrawQuad(*(float*)buf2127, *(float*)buf2128, *(float*)buf2129, *(float*)buf2130, *(float*)buf2131, *(float*)buf2132, *(float*)buf2133, *(float*)buf2134, *(float*)buf2135, *(float*)buf2136, *(float*)buf2137, *(float*)buf2138);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf2121, *(float*)buf2122, *(float*)buf2123, *(float*)buf2124, *(float*)buf2125, *(float*)buf2126, *(float*)buf2127, *(float*)buf2128, *(float*)buf2129, *(float*)buf2130, *(float*)buf2131, *(float*)buf2132, *(float*)buf2133, *(float*)buf2134, *(float*)buf2135, *(float*)buf2136, *(float*)buf2137, *(float*)buf2138, *(float*)buf2139, *(float*)buf2140);
+    rsgDrawQuadTexCoords(*(float*)buf2139, *(float*)buf2140, *(float*)buf2141, *(float*)buf2142, *(float*)buf2143, *(float*)buf2144, *(float*)buf2145, *(float*)buf2146, *(float*)buf2147, *(float*)buf2148, *(float*)buf2149, *(float*)buf2150, *(float*)buf2151, *(float*)buf2152, *(float*)buf2153, *(float*)buf2154, *(float*)buf2155, *(float*)buf2156, *(float*)buf2157, *(float*)buf2158);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf2141, *(float*)buf2142, *(float*)buf2143, *(float*)buf2144, *(float*)buf2145);
+    rsgDrawRect(*(float*)buf2159, *(float*)buf2160, *(float*)buf2161, *(float*)buf2162, *(float*)buf2163);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf2146, *(float*)buf2147, *(float*)buf2148, *(float*)buf2149, *(float*)buf2150);
+    rsgDrawSpriteScreenspace(*(float*)buf2164, *(float*)buf2165, *(float*)buf2166, *(float*)buf2167, *(float*)buf2168);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf2151, *(int*)buf2152, *(int*)buf2153);
+    rsgDrawText((const char*) buf2169, *(int*)buf2170, *(int*)buf2171);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf2154, *(int*)buf2155, *(int*)buf2156);
+    rsgDrawText(*(rs_allocation*)buf2172, *(int*)buf2173, *(int*)buf2174);
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf2157, *(float*)buf2158, *(float*)buf2159, *(float*)buf2160);
+    rsgFontColor(*(float*)buf2175, *(float*)buf2176, *(float*)buf2177, *(float*)buf2178);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2161 = rsgGetHeight();
+    *(uint*)buf2179 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf2162 = rsgGetWidth();
+    *(uint*)buf2180 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf2163, (int*) buf2164, (int*) buf2165, (int*) buf2166, (int*) buf2167);
+    rsgMeasureText((const char*) buf2181, (int*) buf2182, (int*) buf2183, (int*) buf2184, (int*) buf2185);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf2168, (int*) buf2169, (int*) buf2170, (int*) buf2171, (int*) buf2172);
+    rsgMeasureText(*(rs_allocation*)buf2186, (int*) buf2187, (int*) buf2188, (int*) buf2189, (int*) buf2190);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2173, (float*) buf2174, (float*) buf2175, (float*) buf2176, (float*) buf2177, (float*) buf2178, (float*) buf2179);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2191, (float*) buf2192, (float*) buf2193, (float*) buf2194, (float*) buf2195, (float*) buf2196, (float*) buf2197);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2180, (float3*) buf2181, (float3*) buf2182);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2198, (float3*) buf2199, (float3*) buf2200);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2183, *(float*)buf2184, *(float*)buf2185, *(float*)buf2186, *(float*)buf2187);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2201, *(float*)buf2202, *(float*)buf2203, *(float*)buf2204, *(float*)buf2205);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2188);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2206);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2189);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2207);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2190);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2208);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2191);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2209);
 #endif
-    *(float*)buf2192 = rsqrt(*(float*)buf2193);
-    *(float2*)buf2194 = rsqrt(*(float2*)buf2195);
-    *(float3*)buf2196 = rsqrt(*(float3*)buf2197);
-    *(float4*)buf2198 = rsqrt(*(float4*)buf2199);
-    *(float*)buf2200 = sign(*(float*)buf2201);
-    *(float2*)buf2202 = sign(*(float2*)buf2203);
-    *(float3*)buf2204 = sign(*(float3*)buf2205);
-    *(float4*)buf2206 = sign(*(float4*)buf2207);
-    *(float*)buf2208 = sin(*(float*)buf2209);
-    *(float2*)buf2210 = sin(*(float2*)buf2211);
-    *(float3*)buf2212 = sin(*(float3*)buf2213);
-    *(float4*)buf2214 = sin(*(float4*)buf2215);
-    *(float*)buf2216 = sincos(*(float*)buf2217, (float*) buf2218);
-    *(float2*)buf2219 = sincos(*(float2*)buf2220, (float2*) buf2221);
-    *(float3*)buf2222 = sincos(*(float3*)buf2223, (float3*) buf2224);
-    *(float4*)buf2225 = sincos(*(float4*)buf2226, (float4*) buf2227);
-    *(float*)buf2228 = sinh(*(float*)buf2229);
-    *(float2*)buf2230 = sinh(*(float2*)buf2231);
-    *(float3*)buf2232 = sinh(*(float3*)buf2233);
-    *(float4*)buf2234 = sinh(*(float4*)buf2235);
-    *(float*)buf2236 = sinpi(*(float*)buf2237);
-    *(float2*)buf2238 = sinpi(*(float2*)buf2239);
-    *(float3*)buf2240 = sinpi(*(float3*)buf2241);
-    *(float4*)buf2242 = sinpi(*(float4*)buf2243);
-    *(float*)buf2244 = sqrt(*(float*)buf2245);
-    *(float2*)buf2246 = sqrt(*(float2*)buf2247);
-    *(float3*)buf2248 = sqrt(*(float3*)buf2249);
-    *(float4*)buf2250 = sqrt(*(float4*)buf2251);
-    *(float*)buf2252 = step(*(float*)buf2253, *(float*)buf2254);
-    *(float2*)buf2255 = step(*(float2*)buf2256, *(float2*)buf2257);
-    *(float3*)buf2258 = step(*(float3*)buf2259, *(float3*)buf2260);
-    *(float4*)buf2261 = step(*(float4*)buf2262, *(float4*)buf2263);
-    *(float2*)buf2264 = step(*(float2*)buf2265, *(float*)buf2266);
-    *(float3*)buf2267 = step(*(float3*)buf2268, *(float*)buf2269);
-    *(float4*)buf2270 = step(*(float4*)buf2271, *(float*)buf2272);
-    *(float*)buf2273 = tan(*(float*)buf2274);
-    *(float2*)buf2275 = tan(*(float2*)buf2276);
-    *(float3*)buf2277 = tan(*(float3*)buf2278);
-    *(float4*)buf2279 = tan(*(float4*)buf2280);
-    *(float*)buf2281 = tanh(*(float*)buf2282);
-    *(float2*)buf2283 = tanh(*(float2*)buf2284);
-    *(float3*)buf2285 = tanh(*(float3*)buf2286);
-    *(float4*)buf2287 = tanh(*(float4*)buf2288);
-    *(float*)buf2289 = tanpi(*(float*)buf2290);
-    *(float2*)buf2291 = tanpi(*(float2*)buf2292);
-    *(float3*)buf2293 = tanpi(*(float3*)buf2294);
-    *(float4*)buf2295 = tanpi(*(float4*)buf2296);
-    *(float*)buf2297 = tgamma(*(float*)buf2298);
-    *(float2*)buf2299 = tgamma(*(float2*)buf2300);
-    *(float3*)buf2301 = tgamma(*(float3*)buf2302);
-    *(float4*)buf2303 = tgamma(*(float4*)buf2304);
-    *(float*)buf2305 = trunc(*(float*)buf2306);
-    *(float2*)buf2307 = trunc(*(float2*)buf2308);
-    *(float3*)buf2309 = trunc(*(float3*)buf2310);
-    *(float4*)buf2311 = trunc(*(float4*)buf2312);
+    *(float*)buf2210 = rsqrt(*(float*)buf2211);
+    *(float2*)buf2212 = rsqrt(*(float2*)buf2213);
+    *(float3*)buf2214 = rsqrt(*(float3*)buf2215);
+    *(float4*)buf2216 = rsqrt(*(float4*)buf2217);
+    *(float*)buf2218 = sign(*(float*)buf2219);
+    *(float2*)buf2220 = sign(*(float2*)buf2221);
+    *(float3*)buf2222 = sign(*(float3*)buf2223);
+    *(float4*)buf2224 = sign(*(float4*)buf2225);
+    *(float*)buf2226 = sin(*(float*)buf2227);
+    *(float2*)buf2228 = sin(*(float2*)buf2229);
+    *(float3*)buf2230 = sin(*(float3*)buf2231);
+    *(float4*)buf2232 = sin(*(float4*)buf2233);
+    *(float*)buf2234 = sincos(*(float*)buf2235, (float*) buf2236);
+    *(float2*)buf2237 = sincos(*(float2*)buf2238, (float2*) buf2239);
+    *(float3*)buf2240 = sincos(*(float3*)buf2241, (float3*) buf2242);
+    *(float4*)buf2243 = sincos(*(float4*)buf2244, (float4*) buf2245);
+    *(float*)buf2246 = sinh(*(float*)buf2247);
+    *(float2*)buf2248 = sinh(*(float2*)buf2249);
+    *(float3*)buf2250 = sinh(*(float3*)buf2251);
+    *(float4*)buf2252 = sinh(*(float4*)buf2253);
+    *(float*)buf2254 = sinpi(*(float*)buf2255);
+    *(float2*)buf2256 = sinpi(*(float2*)buf2257);
+    *(float3*)buf2258 = sinpi(*(float3*)buf2259);
+    *(float4*)buf2260 = sinpi(*(float4*)buf2261);
+    *(float*)buf2262 = sqrt(*(float*)buf2263);
+    *(float2*)buf2264 = sqrt(*(float2*)buf2265);
+    *(float3*)buf2266 = sqrt(*(float3*)buf2267);
+    *(float4*)buf2268 = sqrt(*(float4*)buf2269);
+    *(float*)buf2270 = step(*(float*)buf2271, *(float*)buf2272);
+    *(float2*)buf2273 = step(*(float2*)buf2274, *(float2*)buf2275);
+    *(float3*)buf2276 = step(*(float3*)buf2277, *(float3*)buf2278);
+    *(float4*)buf2279 = step(*(float4*)buf2280, *(float4*)buf2281);
+    *(float2*)buf2282 = step(*(float2*)buf2283, *(float*)buf2284);
+    *(float3*)buf2285 = step(*(float3*)buf2286, *(float*)buf2287);
+    *(float4*)buf2288 = step(*(float4*)buf2289, *(float*)buf2290);
+    *(float*)buf2291 = tan(*(float*)buf2292);
+    *(float2*)buf2293 = tan(*(float2*)buf2294);
+    *(float3*)buf2295 = tan(*(float3*)buf2296);
+    *(float4*)buf2297 = tan(*(float4*)buf2298);
+    *(float*)buf2299 = tanh(*(float*)buf2300);
+    *(float2*)buf2301 = tanh(*(float2*)buf2302);
+    *(float3*)buf2303 = tanh(*(float3*)buf2304);
+    *(float4*)buf2305 = tanh(*(float4*)buf2306);
+    *(float*)buf2307 = tanpi(*(float*)buf2308);
+    *(float2*)buf2309 = tanpi(*(float2*)buf2310);
+    *(float3*)buf2311 = tanpi(*(float3*)buf2312);
+    *(float4*)buf2313 = tanpi(*(float4*)buf2314);
+    *(float*)buf2315 = tgamma(*(float*)buf2316);
+    *(float2*)buf2317 = tgamma(*(float2*)buf2318);
+    *(float3*)buf2319 = tgamma(*(float3*)buf2320);
+    *(float4*)buf2321 = tgamma(*(float4*)buf2322);
+    *(float*)buf2323 = trunc(*(float*)buf2324);
+    *(float2*)buf2325 = trunc(*(float2*)buf2326);
+    *(float3*)buf2327 = trunc(*(float3*)buf2328);
+    *(float4*)buf2329 = trunc(*(float4*)buf2330);
 }
diff --git a/tests/P_all_api_14/all14.rs b/tests/P_all_api_14/all14.rs
index 345da2c..0b62901 100644
--- a/tests/P_all_api_14/all14.rs
+++ b/tests/P_all_api_14/all14.rs
@@ -2405,6 +2405,24 @@
 char buf2380[200];
 char buf2381[200];
 char buf2382[200];
+char buf2383[200];
+char buf2384[200];
+char buf2385[200];
+char buf2386[200];
+char buf2387[200];
+char buf2388[200];
+char buf2389[200];
+char buf2390[200];
+char buf2391[200];
+char buf2392[200];
+char buf2393[200];
+char buf2394[200];
+char buf2395[200];
+char buf2396[200];
+char buf2397[200];
+char buf2398[200];
+char buf2399[200];
+char buf2400[200];
 
 void root(const int* in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -2804,576 +2822,582 @@
     *(float2*)buf886 = max(*(float2*)buf887, *(float2*)buf888);
     *(float3*)buf889 = max(*(float3*)buf890, *(float3*)buf891);
     *(float4*)buf892 = max(*(float4*)buf893, *(float4*)buf894);
-    *(char*)buf895 = max(*(char*)buf896, *(char*)buf897);
-    *(uchar*)buf898 = max(*(uchar*)buf899, *(uchar*)buf900);
-    *(short*)buf901 = max(*(short*)buf902, *(short*)buf903);
-    *(ushort*)buf904 = max(*(ushort*)buf905, *(ushort*)buf906);
-    *(int*)buf907 = max(*(int*)buf908, *(int*)buf909);
-    *(uint*)buf910 = max(*(uint*)buf911, *(uint*)buf912);
-    *(char2*)buf913 = max(*(char2*)buf914, *(char2*)buf915);
-    *(uchar2*)buf916 = max(*(uchar2*)buf917, *(uchar2*)buf918);
-    *(short2*)buf919 = max(*(short2*)buf920, *(short2*)buf921);
-    *(ushort2*)buf922 = max(*(ushort2*)buf923, *(ushort2*)buf924);
-    *(int2*)buf925 = max(*(int2*)buf926, *(int2*)buf927);
-    *(uint2*)buf928 = max(*(uint2*)buf929, *(uint2*)buf930);
-    *(char3*)buf931 = max(*(char3*)buf932, *(char3*)buf933);
-    *(uchar3*)buf934 = max(*(uchar3*)buf935, *(uchar3*)buf936);
-    *(short3*)buf937 = max(*(short3*)buf938, *(short3*)buf939);
-    *(ushort3*)buf940 = max(*(ushort3*)buf941, *(ushort3*)buf942);
-    *(int3*)buf943 = max(*(int3*)buf944, *(int3*)buf945);
-    *(uint3*)buf946 = max(*(uint3*)buf947, *(uint3*)buf948);
-    *(char4*)buf949 = max(*(char4*)buf950, *(char4*)buf951);
-    *(uchar4*)buf952 = max(*(uchar4*)buf953, *(uchar4*)buf954);
-    *(short4*)buf955 = max(*(short4*)buf956, *(short4*)buf957);
-    *(ushort4*)buf958 = max(*(ushort4*)buf959, *(ushort4*)buf960);
-    *(int4*)buf961 = max(*(int4*)buf962, *(int4*)buf963);
-    *(uint4*)buf964 = max(*(uint4*)buf965, *(uint4*)buf966);
-    *(float*)buf967 = min(*(float*)buf968, *(float*)buf969);
-    *(float2*)buf970 = min(*(float2*)buf971, *(float2*)buf972);
-    *(float3*)buf973 = min(*(float3*)buf974, *(float3*)buf975);
-    *(float4*)buf976 = min(*(float4*)buf977, *(float4*)buf978);
-    *(char*)buf979 = min(*(char*)buf980, *(char*)buf981);
-    *(uchar*)buf982 = min(*(uchar*)buf983, *(uchar*)buf984);
-    *(short*)buf985 = min(*(short*)buf986, *(short*)buf987);
-    *(ushort*)buf988 = min(*(ushort*)buf989, *(ushort*)buf990);
-    *(int*)buf991 = min(*(int*)buf992, *(int*)buf993);
-    *(uint*)buf994 = min(*(uint*)buf995, *(uint*)buf996);
-    *(char2*)buf997 = min(*(char2*)buf998, *(char2*)buf999);
-    *(uchar2*)buf1000 = min(*(uchar2*)buf1001, *(uchar2*)buf1002);
-    *(short2*)buf1003 = min(*(short2*)buf1004, *(short2*)buf1005);
-    *(ushort2*)buf1006 = min(*(ushort2*)buf1007, *(ushort2*)buf1008);
-    *(int2*)buf1009 = min(*(int2*)buf1010, *(int2*)buf1011);
-    *(uint2*)buf1012 = min(*(uint2*)buf1013, *(uint2*)buf1014);
-    *(char3*)buf1015 = min(*(char3*)buf1016, *(char3*)buf1017);
-    *(uchar3*)buf1018 = min(*(uchar3*)buf1019, *(uchar3*)buf1020);
-    *(short3*)buf1021 = min(*(short3*)buf1022, *(short3*)buf1023);
-    *(ushort3*)buf1024 = min(*(ushort3*)buf1025, *(ushort3*)buf1026);
-    *(int3*)buf1027 = min(*(int3*)buf1028, *(int3*)buf1029);
-    *(uint3*)buf1030 = min(*(uint3*)buf1031, *(uint3*)buf1032);
-    *(char4*)buf1033 = min(*(char4*)buf1034, *(char4*)buf1035);
-    *(uchar4*)buf1036 = min(*(uchar4*)buf1037, *(uchar4*)buf1038);
-    *(short4*)buf1039 = min(*(short4*)buf1040, *(short4*)buf1041);
-    *(ushort4*)buf1042 = min(*(ushort4*)buf1043, *(ushort4*)buf1044);
-    *(int4*)buf1045 = min(*(int4*)buf1046, *(int4*)buf1047);
-    *(uint4*)buf1048 = min(*(uint4*)buf1049, *(uint4*)buf1050);
-    *(float*)buf1051 = mix(*(float*)buf1052, *(float*)buf1053, *(float*)buf1054);
-    *(float2*)buf1055 = mix(*(float2*)buf1056, *(float2*)buf1057, *(float2*)buf1058);
-    *(float3*)buf1059 = mix(*(float3*)buf1060, *(float3*)buf1061, *(float3*)buf1062);
-    *(float4*)buf1063 = mix(*(float4*)buf1064, *(float4*)buf1065, *(float4*)buf1066);
-    *(float2*)buf1067 = mix(*(float2*)buf1068, *(float2*)buf1069, *(float*)buf1070);
-    *(float3*)buf1071 = mix(*(float3*)buf1072, *(float3*)buf1073, *(float*)buf1074);
-    *(float4*)buf1075 = mix(*(float4*)buf1076, *(float4*)buf1077, *(float*)buf1078);
-    *(float*)buf1079 = modf(*(float*)buf1080, (float*) buf1081);
-    *(float2*)buf1082 = modf(*(float2*)buf1083, (float2*) buf1084);
-    *(float3*)buf1085 = modf(*(float3*)buf1086, (float3*) buf1087);
-    *(float4*)buf1088 = modf(*(float4*)buf1089, (float4*) buf1090);
-    *(float*)buf1091 = nan(*(uint*)buf1092);
-    *(float*)buf1093 = nextafter(*(float*)buf1094, *(float*)buf1095);
-    *(float2*)buf1096 = nextafter(*(float2*)buf1097, *(float2*)buf1098);
-    *(float3*)buf1099 = nextafter(*(float3*)buf1100, *(float3*)buf1101);
-    *(float4*)buf1102 = nextafter(*(float4*)buf1103, *(float4*)buf1104);
-    *(float*)buf1105 = normalize(*(float*)buf1106);
-    *(float2*)buf1107 = normalize(*(float2*)buf1108);
-    *(float3*)buf1109 = normalize(*(float3*)buf1110);
-    *(float4*)buf1111 = normalize(*(float4*)buf1112);
-    *(float*)buf1113 = pow(*(float*)buf1114, *(float*)buf1115);
-    *(float2*)buf1116 = pow(*(float2*)buf1117, *(float2*)buf1118);
-    *(float3*)buf1119 = pow(*(float3*)buf1120, *(float3*)buf1121);
-    *(float4*)buf1122 = pow(*(float4*)buf1123, *(float4*)buf1124);
-    *(float*)buf1125 = pown(*(float*)buf1126, *(int*)buf1127);
-    *(float2*)buf1128 = pown(*(float2*)buf1129, *(int2*)buf1130);
-    *(float3*)buf1131 = pown(*(float3*)buf1132, *(int3*)buf1133);
-    *(float4*)buf1134 = pown(*(float4*)buf1135, *(int4*)buf1136);
-    *(float*)buf1137 = powr(*(float*)buf1138, *(float*)buf1139);
-    *(float2*)buf1140 = powr(*(float2*)buf1141, *(float2*)buf1142);
-    *(float3*)buf1143 = powr(*(float3*)buf1144, *(float3*)buf1145);
-    *(float4*)buf1146 = powr(*(float4*)buf1147, *(float4*)buf1148);
-    *(float*)buf1149 = radians(*(float*)buf1150);
-    *(float2*)buf1151 = radians(*(float2*)buf1152);
-    *(float3*)buf1153 = radians(*(float3*)buf1154);
-    *(float4*)buf1155 = radians(*(float4*)buf1156);
-    *(float*)buf1157 = remainder(*(float*)buf1158, *(float*)buf1159);
-    *(float2*)buf1160 = remainder(*(float2*)buf1161, *(float2*)buf1162);
-    *(float3*)buf1163 = remainder(*(float3*)buf1164, *(float3*)buf1165);
-    *(float4*)buf1166 = remainder(*(float4*)buf1167, *(float4*)buf1168);
-    *(float*)buf1169 = remquo(*(float*)buf1170, *(float*)buf1171, (int*) buf1172);
-    *(float2*)buf1173 = remquo(*(float2*)buf1174, *(float2*)buf1175, (int2*) buf1176);
-    *(float3*)buf1177 = remquo(*(float3*)buf1178, *(float3*)buf1179, (int3*) buf1180);
-    *(float4*)buf1181 = remquo(*(float4*)buf1182, *(float4*)buf1183, (int4*) buf1184);
-    *(float*)buf1185 = rint(*(float*)buf1186);
-    *(float2*)buf1187 = rint(*(float2*)buf1188);
-    *(float3*)buf1189 = rint(*(float3*)buf1190);
-    *(float4*)buf1191 = rint(*(float4*)buf1192);
-    *(float*)buf1193 = rootn(*(float*)buf1194, *(int*)buf1195);
-    *(float2*)buf1196 = rootn(*(float2*)buf1197, *(int2*)buf1198);
-    *(float3*)buf1199 = rootn(*(float3*)buf1200, *(int3*)buf1201);
-    *(float4*)buf1202 = rootn(*(float4*)buf1203, *(int4*)buf1204);
-    *(float*)buf1205 = round(*(float*)buf1206);
-    *(float2*)buf1207 = round(*(float2*)buf1208);
-    *(float3*)buf1209 = round(*(float3*)buf1210);
-    *(float4*)buf1211 = round(*(float4*)buf1212);
-    rsAllocationCopy1DRange(*(rs_allocation*)buf1213, *(uint32_t*)buf1214, *(uint32_t*)buf1215, *(uint32_t*)buf1216, *(rs_allocation*)buf1217, *(uint32_t*)buf1218, *(uint32_t*)buf1219);
-    rsAllocationCopy2DRange(*(rs_allocation*)buf1220, *(uint32_t*)buf1221, *(uint32_t*)buf1222, *(uint32_t*)buf1223, *(rs_allocation_cubemap_face*)buf1224, *(uint32_t*)buf1225, *(uint32_t*)buf1226, *(rs_allocation*)buf1227, *(uint32_t*)buf1228, *(uint32_t*)buf1229, *(uint32_t*)buf1230, *(rs_allocation_cubemap_face*)buf1231);
-    *(uint32_t*)buf1232 = rsAllocationGetDimFaces(*(rs_allocation*)buf1233);
-    *(uint32_t*)buf1234 = rsAllocationGetDimLOD(*(rs_allocation*)buf1235);
-    *(uint32_t*)buf1236 = rsAllocationGetDimX(*(rs_allocation*)buf1237);
-    *(uint32_t*)buf1238 = rsAllocationGetDimY(*(rs_allocation*)buf1239);
-    *(uint32_t*)buf1240 = rsAllocationGetDimZ(*(rs_allocation*)buf1241);
-    *(rs_element*)buf1242 = rsAllocationGetElement(*(rs_allocation*)buf1243);
-    *(int32_t*)buf1244 = rsAtomicAdd((volatile int32_t*) buf1245, *(int32_t*)buf1246);
-    *(int32_t*)buf1247 = rsAtomicAnd((volatile int32_t*) buf1248, *(int32_t*)buf1249);
-    *(int32_t*)buf1250 = rsAtomicCas((volatile int32_t*) buf1251, *(int32_t*)buf1252, *(int32_t*)buf1253);
-    *(uint32_t*)buf1254 = rsAtomicCas((volatile uint32_t*) buf1255, *(uint32_t*)buf1256, *(uint32_t*)buf1257);
-    *(int32_t*)buf1258 = rsAtomicDec((volatile int32_t*) buf1259);
-    *(int32_t*)buf1260 = rsAtomicInc((volatile int32_t*) buf1261);
-    *(uint32_t*)buf1262 = rsAtomicMax((volatile uint32_t*) buf1263, *(uint32_t*)buf1264);
-    *(int32_t*)buf1265 = rsAtomicMax((volatile int32_t*) buf1266, *(int32_t*)buf1267);
-    *(uint32_t*)buf1268 = rsAtomicMin((volatile uint32_t*) buf1269, *(uint32_t*)buf1270);
-    *(int32_t*)buf1271 = rsAtomicMin((volatile int32_t*) buf1272, *(int32_t*)buf1273);
-    *(int32_t*)buf1274 = rsAtomicOr((volatile int32_t*) buf1275, *(int32_t*)buf1276);
-    *(int32_t*)buf1277 = rsAtomicSub((volatile int32_t*) buf1278, *(int32_t*)buf1279);
-    *(int32_t*)buf1280 = rsAtomicXor((volatile int32_t*) buf1281, *(int32_t*)buf1282);
-    *(char*)buf1283 = rsClamp(*(char*)buf1284, *(char*)buf1285, *(char*)buf1286);
-    *(uchar*)buf1287 = rsClamp(*(uchar*)buf1288, *(uchar*)buf1289, *(uchar*)buf1290);
-    *(short*)buf1291 = rsClamp(*(short*)buf1292, *(short*)buf1293, *(short*)buf1294);
-    *(ushort*)buf1295 = rsClamp(*(ushort*)buf1296, *(ushort*)buf1297, *(ushort*)buf1298);
-    *(int*)buf1299 = rsClamp(*(int*)buf1300, *(int*)buf1301, *(int*)buf1302);
-    *(uint*)buf1303 = rsClamp(*(uint*)buf1304, *(uint*)buf1305, *(uint*)buf1306);
-    rsClearObject((rs_element*) buf1307);
-    rsClearObject((rs_type*) buf1308);
-    rsClearObject((rs_allocation*) buf1309);
-    rsClearObject((rs_sampler*) buf1310);
-    rsClearObject((rs_script*) buf1311);
+    *(float2*)buf895 = max(*(float2*)buf896, *(float*)buf897);
+    *(float3*)buf898 = max(*(float3*)buf899, *(float*)buf900);
+    *(float4*)buf901 = max(*(float4*)buf902, *(float*)buf903);
+    *(char*)buf904 = max(*(char*)buf905, *(char*)buf906);
+    *(uchar*)buf907 = max(*(uchar*)buf908, *(uchar*)buf909);
+    *(short*)buf910 = max(*(short*)buf911, *(short*)buf912);
+    *(ushort*)buf913 = max(*(ushort*)buf914, *(ushort*)buf915);
+    *(int*)buf916 = max(*(int*)buf917, *(int*)buf918);
+    *(uint*)buf919 = max(*(uint*)buf920, *(uint*)buf921);
+    *(char2*)buf922 = max(*(char2*)buf923, *(char2*)buf924);
+    *(uchar2*)buf925 = max(*(uchar2*)buf926, *(uchar2*)buf927);
+    *(short2*)buf928 = max(*(short2*)buf929, *(short2*)buf930);
+    *(ushort2*)buf931 = max(*(ushort2*)buf932, *(ushort2*)buf933);
+    *(int2*)buf934 = max(*(int2*)buf935, *(int2*)buf936);
+    *(uint2*)buf937 = max(*(uint2*)buf938, *(uint2*)buf939);
+    *(char3*)buf940 = max(*(char3*)buf941, *(char3*)buf942);
+    *(uchar3*)buf943 = max(*(uchar3*)buf944, *(uchar3*)buf945);
+    *(short3*)buf946 = max(*(short3*)buf947, *(short3*)buf948);
+    *(ushort3*)buf949 = max(*(ushort3*)buf950, *(ushort3*)buf951);
+    *(int3*)buf952 = max(*(int3*)buf953, *(int3*)buf954);
+    *(uint3*)buf955 = max(*(uint3*)buf956, *(uint3*)buf957);
+    *(char4*)buf958 = max(*(char4*)buf959, *(char4*)buf960);
+    *(uchar4*)buf961 = max(*(uchar4*)buf962, *(uchar4*)buf963);
+    *(short4*)buf964 = max(*(short4*)buf965, *(short4*)buf966);
+    *(ushort4*)buf967 = max(*(ushort4*)buf968, *(ushort4*)buf969);
+    *(int4*)buf970 = max(*(int4*)buf971, *(int4*)buf972);
+    *(uint4*)buf973 = max(*(uint4*)buf974, *(uint4*)buf975);
+    *(float*)buf976 = min(*(float*)buf977, *(float*)buf978);
+    *(float2*)buf979 = min(*(float2*)buf980, *(float2*)buf981);
+    *(float3*)buf982 = min(*(float3*)buf983, *(float3*)buf984);
+    *(float4*)buf985 = min(*(float4*)buf986, *(float4*)buf987);
+    *(float2*)buf988 = min(*(float2*)buf989, *(float*)buf990);
+    *(float3*)buf991 = min(*(float3*)buf992, *(float*)buf993);
+    *(float4*)buf994 = min(*(float4*)buf995, *(float*)buf996);
+    *(char*)buf997 = min(*(char*)buf998, *(char*)buf999);
+    *(uchar*)buf1000 = min(*(uchar*)buf1001, *(uchar*)buf1002);
+    *(short*)buf1003 = min(*(short*)buf1004, *(short*)buf1005);
+    *(ushort*)buf1006 = min(*(ushort*)buf1007, *(ushort*)buf1008);
+    *(int*)buf1009 = min(*(int*)buf1010, *(int*)buf1011);
+    *(uint*)buf1012 = min(*(uint*)buf1013, *(uint*)buf1014);
+    *(char2*)buf1015 = min(*(char2*)buf1016, *(char2*)buf1017);
+    *(uchar2*)buf1018 = min(*(uchar2*)buf1019, *(uchar2*)buf1020);
+    *(short2*)buf1021 = min(*(short2*)buf1022, *(short2*)buf1023);
+    *(ushort2*)buf1024 = min(*(ushort2*)buf1025, *(ushort2*)buf1026);
+    *(int2*)buf1027 = min(*(int2*)buf1028, *(int2*)buf1029);
+    *(uint2*)buf1030 = min(*(uint2*)buf1031, *(uint2*)buf1032);
+    *(char3*)buf1033 = min(*(char3*)buf1034, *(char3*)buf1035);
+    *(uchar3*)buf1036 = min(*(uchar3*)buf1037, *(uchar3*)buf1038);
+    *(short3*)buf1039 = min(*(short3*)buf1040, *(short3*)buf1041);
+    *(ushort3*)buf1042 = min(*(ushort3*)buf1043, *(ushort3*)buf1044);
+    *(int3*)buf1045 = min(*(int3*)buf1046, *(int3*)buf1047);
+    *(uint3*)buf1048 = min(*(uint3*)buf1049, *(uint3*)buf1050);
+    *(char4*)buf1051 = min(*(char4*)buf1052, *(char4*)buf1053);
+    *(uchar4*)buf1054 = min(*(uchar4*)buf1055, *(uchar4*)buf1056);
+    *(short4*)buf1057 = min(*(short4*)buf1058, *(short4*)buf1059);
+    *(ushort4*)buf1060 = min(*(ushort4*)buf1061, *(ushort4*)buf1062);
+    *(int4*)buf1063 = min(*(int4*)buf1064, *(int4*)buf1065);
+    *(uint4*)buf1066 = min(*(uint4*)buf1067, *(uint4*)buf1068);
+    *(float*)buf1069 = mix(*(float*)buf1070, *(float*)buf1071, *(float*)buf1072);
+    *(float2*)buf1073 = mix(*(float2*)buf1074, *(float2*)buf1075, *(float2*)buf1076);
+    *(float3*)buf1077 = mix(*(float3*)buf1078, *(float3*)buf1079, *(float3*)buf1080);
+    *(float4*)buf1081 = mix(*(float4*)buf1082, *(float4*)buf1083, *(float4*)buf1084);
+    *(float2*)buf1085 = mix(*(float2*)buf1086, *(float2*)buf1087, *(float*)buf1088);
+    *(float3*)buf1089 = mix(*(float3*)buf1090, *(float3*)buf1091, *(float*)buf1092);
+    *(float4*)buf1093 = mix(*(float4*)buf1094, *(float4*)buf1095, *(float*)buf1096);
+    *(float*)buf1097 = modf(*(float*)buf1098, (float*) buf1099);
+    *(float2*)buf1100 = modf(*(float2*)buf1101, (float2*) buf1102);
+    *(float3*)buf1103 = modf(*(float3*)buf1104, (float3*) buf1105);
+    *(float4*)buf1106 = modf(*(float4*)buf1107, (float4*) buf1108);
+    *(float*)buf1109 = nan(*(uint*)buf1110);
+    *(float*)buf1111 = nextafter(*(float*)buf1112, *(float*)buf1113);
+    *(float2*)buf1114 = nextafter(*(float2*)buf1115, *(float2*)buf1116);
+    *(float3*)buf1117 = nextafter(*(float3*)buf1118, *(float3*)buf1119);
+    *(float4*)buf1120 = nextafter(*(float4*)buf1121, *(float4*)buf1122);
+    *(float*)buf1123 = normalize(*(float*)buf1124);
+    *(float2*)buf1125 = normalize(*(float2*)buf1126);
+    *(float3*)buf1127 = normalize(*(float3*)buf1128);
+    *(float4*)buf1129 = normalize(*(float4*)buf1130);
+    *(float*)buf1131 = pow(*(float*)buf1132, *(float*)buf1133);
+    *(float2*)buf1134 = pow(*(float2*)buf1135, *(float2*)buf1136);
+    *(float3*)buf1137 = pow(*(float3*)buf1138, *(float3*)buf1139);
+    *(float4*)buf1140 = pow(*(float4*)buf1141, *(float4*)buf1142);
+    *(float*)buf1143 = pown(*(float*)buf1144, *(int*)buf1145);
+    *(float2*)buf1146 = pown(*(float2*)buf1147, *(int2*)buf1148);
+    *(float3*)buf1149 = pown(*(float3*)buf1150, *(int3*)buf1151);
+    *(float4*)buf1152 = pown(*(float4*)buf1153, *(int4*)buf1154);
+    *(float*)buf1155 = powr(*(float*)buf1156, *(float*)buf1157);
+    *(float2*)buf1158 = powr(*(float2*)buf1159, *(float2*)buf1160);
+    *(float3*)buf1161 = powr(*(float3*)buf1162, *(float3*)buf1163);
+    *(float4*)buf1164 = powr(*(float4*)buf1165, *(float4*)buf1166);
+    *(float*)buf1167 = radians(*(float*)buf1168);
+    *(float2*)buf1169 = radians(*(float2*)buf1170);
+    *(float3*)buf1171 = radians(*(float3*)buf1172);
+    *(float4*)buf1173 = radians(*(float4*)buf1174);
+    *(float*)buf1175 = remainder(*(float*)buf1176, *(float*)buf1177);
+    *(float2*)buf1178 = remainder(*(float2*)buf1179, *(float2*)buf1180);
+    *(float3*)buf1181 = remainder(*(float3*)buf1182, *(float3*)buf1183);
+    *(float4*)buf1184 = remainder(*(float4*)buf1185, *(float4*)buf1186);
+    *(float*)buf1187 = remquo(*(float*)buf1188, *(float*)buf1189, (int*) buf1190);
+    *(float2*)buf1191 = remquo(*(float2*)buf1192, *(float2*)buf1193, (int2*) buf1194);
+    *(float3*)buf1195 = remquo(*(float3*)buf1196, *(float3*)buf1197, (int3*) buf1198);
+    *(float4*)buf1199 = remquo(*(float4*)buf1200, *(float4*)buf1201, (int4*) buf1202);
+    *(float*)buf1203 = rint(*(float*)buf1204);
+    *(float2*)buf1205 = rint(*(float2*)buf1206);
+    *(float3*)buf1207 = rint(*(float3*)buf1208);
+    *(float4*)buf1209 = rint(*(float4*)buf1210);
+    *(float*)buf1211 = rootn(*(float*)buf1212, *(int*)buf1213);
+    *(float2*)buf1214 = rootn(*(float2*)buf1215, *(int2*)buf1216);
+    *(float3*)buf1217 = rootn(*(float3*)buf1218, *(int3*)buf1219);
+    *(float4*)buf1220 = rootn(*(float4*)buf1221, *(int4*)buf1222);
+    *(float*)buf1223 = round(*(float*)buf1224);
+    *(float2*)buf1225 = round(*(float2*)buf1226);
+    *(float3*)buf1227 = round(*(float3*)buf1228);
+    *(float4*)buf1229 = round(*(float4*)buf1230);
+    rsAllocationCopy1DRange(*(rs_allocation*)buf1231, *(uint32_t*)buf1232, *(uint32_t*)buf1233, *(uint32_t*)buf1234, *(rs_allocation*)buf1235, *(uint32_t*)buf1236, *(uint32_t*)buf1237);
+    rsAllocationCopy2DRange(*(rs_allocation*)buf1238, *(uint32_t*)buf1239, *(uint32_t*)buf1240, *(uint32_t*)buf1241, *(rs_allocation_cubemap_face*)buf1242, *(uint32_t*)buf1243, *(uint32_t*)buf1244, *(rs_allocation*)buf1245, *(uint32_t*)buf1246, *(uint32_t*)buf1247, *(uint32_t*)buf1248, *(rs_allocation_cubemap_face*)buf1249);
+    *(uint32_t*)buf1250 = rsAllocationGetDimFaces(*(rs_allocation*)buf1251);
+    *(uint32_t*)buf1252 = rsAllocationGetDimLOD(*(rs_allocation*)buf1253);
+    *(uint32_t*)buf1254 = rsAllocationGetDimX(*(rs_allocation*)buf1255);
+    *(uint32_t*)buf1256 = rsAllocationGetDimY(*(rs_allocation*)buf1257);
+    *(uint32_t*)buf1258 = rsAllocationGetDimZ(*(rs_allocation*)buf1259);
+    *(rs_element*)buf1260 = rsAllocationGetElement(*(rs_allocation*)buf1261);
+    *(int32_t*)buf1262 = rsAtomicAdd((volatile int32_t*) buf1263, *(int32_t*)buf1264);
+    *(int32_t*)buf1265 = rsAtomicAnd((volatile int32_t*) buf1266, *(int32_t*)buf1267);
+    *(int32_t*)buf1268 = rsAtomicCas((volatile int32_t*) buf1269, *(int32_t*)buf1270, *(int32_t*)buf1271);
+    *(uint32_t*)buf1272 = rsAtomicCas((volatile uint32_t*) buf1273, *(uint32_t*)buf1274, *(uint32_t*)buf1275);
+    *(int32_t*)buf1276 = rsAtomicDec((volatile int32_t*) buf1277);
+    *(int32_t*)buf1278 = rsAtomicInc((volatile int32_t*) buf1279);
+    *(uint32_t*)buf1280 = rsAtomicMax((volatile uint32_t*) buf1281, *(uint32_t*)buf1282);
+    *(int32_t*)buf1283 = rsAtomicMax((volatile int32_t*) buf1284, *(int32_t*)buf1285);
+    *(uint32_t*)buf1286 = rsAtomicMin((volatile uint32_t*) buf1287, *(uint32_t*)buf1288);
+    *(int32_t*)buf1289 = rsAtomicMin((volatile int32_t*) buf1290, *(int32_t*)buf1291);
+    *(int32_t*)buf1292 = rsAtomicOr((volatile int32_t*) buf1293, *(int32_t*)buf1294);
+    *(int32_t*)buf1295 = rsAtomicSub((volatile int32_t*) buf1296, *(int32_t*)buf1297);
+    *(int32_t*)buf1298 = rsAtomicXor((volatile int32_t*) buf1299, *(int32_t*)buf1300);
+    *(char*)buf1301 = rsClamp(*(char*)buf1302, *(char*)buf1303, *(char*)buf1304);
+    *(uchar*)buf1305 = rsClamp(*(uchar*)buf1306, *(uchar*)buf1307, *(uchar*)buf1308);
+    *(short*)buf1309 = rsClamp(*(short*)buf1310, *(short*)buf1311, *(short*)buf1312);
+    *(ushort*)buf1313 = rsClamp(*(ushort*)buf1314, *(ushort*)buf1315, *(ushort*)buf1316);
+    *(int*)buf1317 = rsClamp(*(int*)buf1318, *(int*)buf1319, *(int*)buf1320);
+    *(uint*)buf1321 = rsClamp(*(uint*)buf1322, *(uint*)buf1323, *(uint*)buf1324);
+    rsClearObject((rs_element*) buf1325);
+    rsClearObject((rs_type*) buf1326);
+    rsClearObject((rs_allocation*) buf1327);
+    rsClearObject((rs_sampler*) buf1328);
+    rsClearObject((rs_script*) buf1329);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf1312);
-    rsClearObject((rs_program_fragment*) buf1313);
-    rsClearObject((rs_program_vertex*) buf1314);
-    rsClearObject((rs_program_raster*) buf1315);
-    rsClearObject((rs_program_store*) buf1316);
-    rsClearObject((rs_font*) buf1317);
+    rsClearObject((rs_mesh*) buf1330);
+    rsClearObject((rs_program_fragment*) buf1331);
+    rsClearObject((rs_program_vertex*) buf1332);
+    rsClearObject((rs_program_raster*) buf1333);
+    rsClearObject((rs_program_store*) buf1334);
+    rsClearObject((rs_font*) buf1335);
 #endif
-    rsDebug((const char*) buf1318, *(double*)buf1319);
-    rsDebug((const char*) buf1320, *(int*)buf1321);
-    rsDebug((const char*) buf1322, *(uint*)buf1323);
-    rsDebug((const char*) buf1324, *(long*)buf1325);
-    rsDebug((const char*) buf1326, *(ulong*)buf1327);
-    rsDebug((const char*) buf1328, *(float*)buf1329);
-    rsDebug((const char*) buf1330, *(float2*)buf1331);
-    rsDebug((const char*) buf1332, *(float3*)buf1333);
-    rsDebug((const char*) buf1334, *(float4*)buf1335);
-    rsDebug((const char*) buf1336, *(float*)buf1337, *(float*)buf1338);
-    rsDebug((const char*) buf1339, *(float*)buf1340, *(float*)buf1341, *(float*)buf1342);
-    rsDebug((const char*) buf1343, *(float*)buf1344, *(float*)buf1345, *(float*)buf1346, *(float*)buf1347);
-    rsDebug((const char*) buf1348, *(long long*)buf1349);
-    rsDebug((const char*) buf1350, *(unsigned long long*)buf1351);
-    rsDebug((const char*) buf1352, (const void*) buf1353);
-    rsDebug((const char*) buf1354, (const rs_matrix4x4*) buf1355);
-    rsDebug((const char*) buf1356, (const rs_matrix3x3*) buf1357);
-    rsDebug((const char*) buf1358, (const rs_matrix2x2*) buf1359);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1360, (float4*) buf1361, (float4*) buf1362, (float4*) buf1363, (float4*) buf1364, (float4*) buf1365, (float4*) buf1366);
-    rsForEach(*(rs_script*)buf1367, *(rs_allocation*)buf1368, *(rs_allocation*)buf1369, (const void*) buf1370, *(size_t*)buf1371, (const rs_script_call_t*) buf1372);
-    rsForEach(*(rs_script*)buf1373, *(rs_allocation*)buf1374, *(rs_allocation*)buf1375, (const void*) buf1376, *(size_t*)buf1377);
-    rsForEach(*(rs_script*)buf1378, *(rs_allocation*)buf1379, *(rs_allocation*)buf1380);
-    *(float*)buf1381 = rsFrac(*(float*)buf1382);
-    *(rs_allocation*)buf1383 = rsGetAllocation((const void*) buf1384);
-    *(float*)buf1385 = rsGetDt();
-    *(const void**)buf1386 = rsGetElementAt(*(rs_allocation*)buf1387, *(uint32_t*)buf1388);
-    *(const void**)buf1389 = rsGetElementAt(*(rs_allocation*)buf1390, *(uint32_t*)buf1391, *(uint32_t*)buf1392);
-    *(const void**)buf1393 = rsGetElementAt(*(rs_allocation*)buf1394, *(uint32_t*)buf1395, *(uint32_t*)buf1396, *(uint32_t*)buf1397);
-    *(float*)buf1398 = rsGetElementAt_float(*(rs_allocation*)buf1399, *(uint32_t*)buf1400);
-    *(float2*)buf1401 = rsGetElementAt_float2(*(rs_allocation*)buf1402, *(uint32_t*)buf1403);
-    *(float3*)buf1404 = rsGetElementAt_float3(*(rs_allocation*)buf1405, *(uint32_t*)buf1406);
-    *(float4*)buf1407 = rsGetElementAt_float4(*(rs_allocation*)buf1408, *(uint32_t*)buf1409);
-    *(double*)buf1410 = rsGetElementAt_double(*(rs_allocation*)buf1411, *(uint32_t*)buf1412);
-    *(double2*)buf1413 = rsGetElementAt_double2(*(rs_allocation*)buf1414, *(uint32_t*)buf1415);
-    *(double3*)buf1416 = rsGetElementAt_double3(*(rs_allocation*)buf1417, *(uint32_t*)buf1418);
-    *(double4*)buf1419 = rsGetElementAt_double4(*(rs_allocation*)buf1420, *(uint32_t*)buf1421);
-    *(char*)buf1422 = rsGetElementAt_char(*(rs_allocation*)buf1423, *(uint32_t*)buf1424);
-    *(char2*)buf1425 = rsGetElementAt_char2(*(rs_allocation*)buf1426, *(uint32_t*)buf1427);
-    *(char3*)buf1428 = rsGetElementAt_char3(*(rs_allocation*)buf1429, *(uint32_t*)buf1430);
-    *(char4*)buf1431 = rsGetElementAt_char4(*(rs_allocation*)buf1432, *(uint32_t*)buf1433);
-    *(uchar*)buf1434 = rsGetElementAt_uchar(*(rs_allocation*)buf1435, *(uint32_t*)buf1436);
-    *(uchar2*)buf1437 = rsGetElementAt_uchar2(*(rs_allocation*)buf1438, *(uint32_t*)buf1439);
-    *(uchar3*)buf1440 = rsGetElementAt_uchar3(*(rs_allocation*)buf1441, *(uint32_t*)buf1442);
-    *(uchar4*)buf1443 = rsGetElementAt_uchar4(*(rs_allocation*)buf1444, *(uint32_t*)buf1445);
-    *(short*)buf1446 = rsGetElementAt_short(*(rs_allocation*)buf1447, *(uint32_t*)buf1448);
-    *(short2*)buf1449 = rsGetElementAt_short2(*(rs_allocation*)buf1450, *(uint32_t*)buf1451);
-    *(short3*)buf1452 = rsGetElementAt_short3(*(rs_allocation*)buf1453, *(uint32_t*)buf1454);
-    *(short4*)buf1455 = rsGetElementAt_short4(*(rs_allocation*)buf1456, *(uint32_t*)buf1457);
-    *(ushort*)buf1458 = rsGetElementAt_ushort(*(rs_allocation*)buf1459, *(uint32_t*)buf1460);
-    *(ushort2*)buf1461 = rsGetElementAt_ushort2(*(rs_allocation*)buf1462, *(uint32_t*)buf1463);
-    *(ushort3*)buf1464 = rsGetElementAt_ushort3(*(rs_allocation*)buf1465, *(uint32_t*)buf1466);
-    *(ushort4*)buf1467 = rsGetElementAt_ushort4(*(rs_allocation*)buf1468, *(uint32_t*)buf1469);
-    *(int*)buf1470 = rsGetElementAt_int(*(rs_allocation*)buf1471, *(uint32_t*)buf1472);
-    *(int2*)buf1473 = rsGetElementAt_int2(*(rs_allocation*)buf1474, *(uint32_t*)buf1475);
-    *(int3*)buf1476 = rsGetElementAt_int3(*(rs_allocation*)buf1477, *(uint32_t*)buf1478);
-    *(int4*)buf1479 = rsGetElementAt_int4(*(rs_allocation*)buf1480, *(uint32_t*)buf1481);
-    *(uint*)buf1482 = rsGetElementAt_uint(*(rs_allocation*)buf1483, *(uint32_t*)buf1484);
-    *(uint2*)buf1485 = rsGetElementAt_uint2(*(rs_allocation*)buf1486, *(uint32_t*)buf1487);
-    *(uint3*)buf1488 = rsGetElementAt_uint3(*(rs_allocation*)buf1489, *(uint32_t*)buf1490);
-    *(uint4*)buf1491 = rsGetElementAt_uint4(*(rs_allocation*)buf1492, *(uint32_t*)buf1493);
-    *(long*)buf1494 = rsGetElementAt_long(*(rs_allocation*)buf1495, *(uint32_t*)buf1496);
-    *(long2*)buf1497 = rsGetElementAt_long2(*(rs_allocation*)buf1498, *(uint32_t*)buf1499);
-    *(long3*)buf1500 = rsGetElementAt_long3(*(rs_allocation*)buf1501, *(uint32_t*)buf1502);
-    *(long4*)buf1503 = rsGetElementAt_long4(*(rs_allocation*)buf1504, *(uint32_t*)buf1505);
-    *(ulong*)buf1506 = rsGetElementAt_ulong(*(rs_allocation*)buf1507, *(uint32_t*)buf1508);
-    *(ulong2*)buf1509 = rsGetElementAt_ulong2(*(rs_allocation*)buf1510, *(uint32_t*)buf1511);
-    *(ulong3*)buf1512 = rsGetElementAt_ulong3(*(rs_allocation*)buf1513, *(uint32_t*)buf1514);
-    *(ulong4*)buf1515 = rsGetElementAt_ulong4(*(rs_allocation*)buf1516, *(uint32_t*)buf1517);
-    *(float*)buf1518 = rsGetElementAt_float(*(rs_allocation*)buf1519, *(uint32_t*)buf1520, *(uint32_t*)buf1521);
-    *(float2*)buf1522 = rsGetElementAt_float2(*(rs_allocation*)buf1523, *(uint32_t*)buf1524, *(uint32_t*)buf1525);
-    *(float3*)buf1526 = rsGetElementAt_float3(*(rs_allocation*)buf1527, *(uint32_t*)buf1528, *(uint32_t*)buf1529);
-    *(float4*)buf1530 = rsGetElementAt_float4(*(rs_allocation*)buf1531, *(uint32_t*)buf1532, *(uint32_t*)buf1533);
-    *(double*)buf1534 = rsGetElementAt_double(*(rs_allocation*)buf1535, *(uint32_t*)buf1536, *(uint32_t*)buf1537);
-    *(double2*)buf1538 = rsGetElementAt_double2(*(rs_allocation*)buf1539, *(uint32_t*)buf1540, *(uint32_t*)buf1541);
-    *(double3*)buf1542 = rsGetElementAt_double3(*(rs_allocation*)buf1543, *(uint32_t*)buf1544, *(uint32_t*)buf1545);
-    *(double4*)buf1546 = rsGetElementAt_double4(*(rs_allocation*)buf1547, *(uint32_t*)buf1548, *(uint32_t*)buf1549);
-    *(char*)buf1550 = rsGetElementAt_char(*(rs_allocation*)buf1551, *(uint32_t*)buf1552, *(uint32_t*)buf1553);
-    *(char2*)buf1554 = rsGetElementAt_char2(*(rs_allocation*)buf1555, *(uint32_t*)buf1556, *(uint32_t*)buf1557);
-    *(char3*)buf1558 = rsGetElementAt_char3(*(rs_allocation*)buf1559, *(uint32_t*)buf1560, *(uint32_t*)buf1561);
-    *(char4*)buf1562 = rsGetElementAt_char4(*(rs_allocation*)buf1563, *(uint32_t*)buf1564, *(uint32_t*)buf1565);
-    *(uchar*)buf1566 = rsGetElementAt_uchar(*(rs_allocation*)buf1567, *(uint32_t*)buf1568, *(uint32_t*)buf1569);
-    *(uchar2*)buf1570 = rsGetElementAt_uchar2(*(rs_allocation*)buf1571, *(uint32_t*)buf1572, *(uint32_t*)buf1573);
-    *(uchar3*)buf1574 = rsGetElementAt_uchar3(*(rs_allocation*)buf1575, *(uint32_t*)buf1576, *(uint32_t*)buf1577);
-    *(uchar4*)buf1578 = rsGetElementAt_uchar4(*(rs_allocation*)buf1579, *(uint32_t*)buf1580, *(uint32_t*)buf1581);
-    *(short*)buf1582 = rsGetElementAt_short(*(rs_allocation*)buf1583, *(uint32_t*)buf1584, *(uint32_t*)buf1585);
-    *(short2*)buf1586 = rsGetElementAt_short2(*(rs_allocation*)buf1587, *(uint32_t*)buf1588, *(uint32_t*)buf1589);
-    *(short3*)buf1590 = rsGetElementAt_short3(*(rs_allocation*)buf1591, *(uint32_t*)buf1592, *(uint32_t*)buf1593);
-    *(short4*)buf1594 = rsGetElementAt_short4(*(rs_allocation*)buf1595, *(uint32_t*)buf1596, *(uint32_t*)buf1597);
-    *(ushort*)buf1598 = rsGetElementAt_ushort(*(rs_allocation*)buf1599, *(uint32_t*)buf1600, *(uint32_t*)buf1601);
-    *(ushort2*)buf1602 = rsGetElementAt_ushort2(*(rs_allocation*)buf1603, *(uint32_t*)buf1604, *(uint32_t*)buf1605);
-    *(ushort3*)buf1606 = rsGetElementAt_ushort3(*(rs_allocation*)buf1607, *(uint32_t*)buf1608, *(uint32_t*)buf1609);
-    *(ushort4*)buf1610 = rsGetElementAt_ushort4(*(rs_allocation*)buf1611, *(uint32_t*)buf1612, *(uint32_t*)buf1613);
-    *(int*)buf1614 = rsGetElementAt_int(*(rs_allocation*)buf1615, *(uint32_t*)buf1616, *(uint32_t*)buf1617);
-    *(int2*)buf1618 = rsGetElementAt_int2(*(rs_allocation*)buf1619, *(uint32_t*)buf1620, *(uint32_t*)buf1621);
-    *(int3*)buf1622 = rsGetElementAt_int3(*(rs_allocation*)buf1623, *(uint32_t*)buf1624, *(uint32_t*)buf1625);
-    *(int4*)buf1626 = rsGetElementAt_int4(*(rs_allocation*)buf1627, *(uint32_t*)buf1628, *(uint32_t*)buf1629);
-    *(uint*)buf1630 = rsGetElementAt_uint(*(rs_allocation*)buf1631, *(uint32_t*)buf1632, *(uint32_t*)buf1633);
-    *(uint2*)buf1634 = rsGetElementAt_uint2(*(rs_allocation*)buf1635, *(uint32_t*)buf1636, *(uint32_t*)buf1637);
-    *(uint3*)buf1638 = rsGetElementAt_uint3(*(rs_allocation*)buf1639, *(uint32_t*)buf1640, *(uint32_t*)buf1641);
-    *(uint4*)buf1642 = rsGetElementAt_uint4(*(rs_allocation*)buf1643, *(uint32_t*)buf1644, *(uint32_t*)buf1645);
-    *(long*)buf1646 = rsGetElementAt_long(*(rs_allocation*)buf1647, *(uint32_t*)buf1648, *(uint32_t*)buf1649);
-    *(long2*)buf1650 = rsGetElementAt_long2(*(rs_allocation*)buf1651, *(uint32_t*)buf1652, *(uint32_t*)buf1653);
-    *(long3*)buf1654 = rsGetElementAt_long3(*(rs_allocation*)buf1655, *(uint32_t*)buf1656, *(uint32_t*)buf1657);
-    *(long4*)buf1658 = rsGetElementAt_long4(*(rs_allocation*)buf1659, *(uint32_t*)buf1660, *(uint32_t*)buf1661);
-    *(ulong*)buf1662 = rsGetElementAt_ulong(*(rs_allocation*)buf1663, *(uint32_t*)buf1664, *(uint32_t*)buf1665);
-    *(ulong2*)buf1666 = rsGetElementAt_ulong2(*(rs_allocation*)buf1667, *(uint32_t*)buf1668, *(uint32_t*)buf1669);
-    *(ulong3*)buf1670 = rsGetElementAt_ulong3(*(rs_allocation*)buf1671, *(uint32_t*)buf1672, *(uint32_t*)buf1673);
-    *(ulong4*)buf1674 = rsGetElementAt_ulong4(*(rs_allocation*)buf1675, *(uint32_t*)buf1676, *(uint32_t*)buf1677);
-    *(float*)buf1678 = rsGetElementAt_float(*(rs_allocation*)buf1679, *(uint32_t*)buf1680, *(uint32_t*)buf1681, *(uint32_t*)buf1682);
-    *(float2*)buf1683 = rsGetElementAt_float2(*(rs_allocation*)buf1684, *(uint32_t*)buf1685, *(uint32_t*)buf1686, *(uint32_t*)buf1687);
-    *(float3*)buf1688 = rsGetElementAt_float3(*(rs_allocation*)buf1689, *(uint32_t*)buf1690, *(uint32_t*)buf1691, *(uint32_t*)buf1692);
-    *(float4*)buf1693 = rsGetElementAt_float4(*(rs_allocation*)buf1694, *(uint32_t*)buf1695, *(uint32_t*)buf1696, *(uint32_t*)buf1697);
-    *(double*)buf1698 = rsGetElementAt_double(*(rs_allocation*)buf1699, *(uint32_t*)buf1700, *(uint32_t*)buf1701, *(uint32_t*)buf1702);
-    *(double2*)buf1703 = rsGetElementAt_double2(*(rs_allocation*)buf1704, *(uint32_t*)buf1705, *(uint32_t*)buf1706, *(uint32_t*)buf1707);
-    *(double3*)buf1708 = rsGetElementAt_double3(*(rs_allocation*)buf1709, *(uint32_t*)buf1710, *(uint32_t*)buf1711, *(uint32_t*)buf1712);
-    *(double4*)buf1713 = rsGetElementAt_double4(*(rs_allocation*)buf1714, *(uint32_t*)buf1715, *(uint32_t*)buf1716, *(uint32_t*)buf1717);
-    *(char*)buf1718 = rsGetElementAt_char(*(rs_allocation*)buf1719, *(uint32_t*)buf1720, *(uint32_t*)buf1721, *(uint32_t*)buf1722);
-    *(char2*)buf1723 = rsGetElementAt_char2(*(rs_allocation*)buf1724, *(uint32_t*)buf1725, *(uint32_t*)buf1726, *(uint32_t*)buf1727);
-    *(char3*)buf1728 = rsGetElementAt_char3(*(rs_allocation*)buf1729, *(uint32_t*)buf1730, *(uint32_t*)buf1731, *(uint32_t*)buf1732);
-    *(char4*)buf1733 = rsGetElementAt_char4(*(rs_allocation*)buf1734, *(uint32_t*)buf1735, *(uint32_t*)buf1736, *(uint32_t*)buf1737);
-    *(uchar*)buf1738 = rsGetElementAt_uchar(*(rs_allocation*)buf1739, *(uint32_t*)buf1740, *(uint32_t*)buf1741, *(uint32_t*)buf1742);
-    *(uchar2*)buf1743 = rsGetElementAt_uchar2(*(rs_allocation*)buf1744, *(uint32_t*)buf1745, *(uint32_t*)buf1746, *(uint32_t*)buf1747);
-    *(uchar3*)buf1748 = rsGetElementAt_uchar3(*(rs_allocation*)buf1749, *(uint32_t*)buf1750, *(uint32_t*)buf1751, *(uint32_t*)buf1752);
-    *(uchar4*)buf1753 = rsGetElementAt_uchar4(*(rs_allocation*)buf1754, *(uint32_t*)buf1755, *(uint32_t*)buf1756, *(uint32_t*)buf1757);
-    *(short*)buf1758 = rsGetElementAt_short(*(rs_allocation*)buf1759, *(uint32_t*)buf1760, *(uint32_t*)buf1761, *(uint32_t*)buf1762);
-    *(short2*)buf1763 = rsGetElementAt_short2(*(rs_allocation*)buf1764, *(uint32_t*)buf1765, *(uint32_t*)buf1766, *(uint32_t*)buf1767);
-    *(short3*)buf1768 = rsGetElementAt_short3(*(rs_allocation*)buf1769, *(uint32_t*)buf1770, *(uint32_t*)buf1771, *(uint32_t*)buf1772);
-    *(short4*)buf1773 = rsGetElementAt_short4(*(rs_allocation*)buf1774, *(uint32_t*)buf1775, *(uint32_t*)buf1776, *(uint32_t*)buf1777);
-    *(ushort*)buf1778 = rsGetElementAt_ushort(*(rs_allocation*)buf1779, *(uint32_t*)buf1780, *(uint32_t*)buf1781, *(uint32_t*)buf1782);
-    *(ushort2*)buf1783 = rsGetElementAt_ushort2(*(rs_allocation*)buf1784, *(uint32_t*)buf1785, *(uint32_t*)buf1786, *(uint32_t*)buf1787);
-    *(ushort3*)buf1788 = rsGetElementAt_ushort3(*(rs_allocation*)buf1789, *(uint32_t*)buf1790, *(uint32_t*)buf1791, *(uint32_t*)buf1792);
-    *(ushort4*)buf1793 = rsGetElementAt_ushort4(*(rs_allocation*)buf1794, *(uint32_t*)buf1795, *(uint32_t*)buf1796, *(uint32_t*)buf1797);
-    *(int*)buf1798 = rsGetElementAt_int(*(rs_allocation*)buf1799, *(uint32_t*)buf1800, *(uint32_t*)buf1801, *(uint32_t*)buf1802);
-    *(int2*)buf1803 = rsGetElementAt_int2(*(rs_allocation*)buf1804, *(uint32_t*)buf1805, *(uint32_t*)buf1806, *(uint32_t*)buf1807);
-    *(int3*)buf1808 = rsGetElementAt_int3(*(rs_allocation*)buf1809, *(uint32_t*)buf1810, *(uint32_t*)buf1811, *(uint32_t*)buf1812);
-    *(int4*)buf1813 = rsGetElementAt_int4(*(rs_allocation*)buf1814, *(uint32_t*)buf1815, *(uint32_t*)buf1816, *(uint32_t*)buf1817);
-    *(uint*)buf1818 = rsGetElementAt_uint(*(rs_allocation*)buf1819, *(uint32_t*)buf1820, *(uint32_t*)buf1821, *(uint32_t*)buf1822);
-    *(uint2*)buf1823 = rsGetElementAt_uint2(*(rs_allocation*)buf1824, *(uint32_t*)buf1825, *(uint32_t*)buf1826, *(uint32_t*)buf1827);
-    *(uint3*)buf1828 = rsGetElementAt_uint3(*(rs_allocation*)buf1829, *(uint32_t*)buf1830, *(uint32_t*)buf1831, *(uint32_t*)buf1832);
-    *(uint4*)buf1833 = rsGetElementAt_uint4(*(rs_allocation*)buf1834, *(uint32_t*)buf1835, *(uint32_t*)buf1836, *(uint32_t*)buf1837);
-    *(long*)buf1838 = rsGetElementAt_long(*(rs_allocation*)buf1839, *(uint32_t*)buf1840, *(uint32_t*)buf1841, *(uint32_t*)buf1842);
-    *(long2*)buf1843 = rsGetElementAt_long2(*(rs_allocation*)buf1844, *(uint32_t*)buf1845, *(uint32_t*)buf1846, *(uint32_t*)buf1847);
-    *(long3*)buf1848 = rsGetElementAt_long3(*(rs_allocation*)buf1849, *(uint32_t*)buf1850, *(uint32_t*)buf1851, *(uint32_t*)buf1852);
-    *(long4*)buf1853 = rsGetElementAt_long4(*(rs_allocation*)buf1854, *(uint32_t*)buf1855, *(uint32_t*)buf1856, *(uint32_t*)buf1857);
-    *(ulong*)buf1858 = rsGetElementAt_ulong(*(rs_allocation*)buf1859, *(uint32_t*)buf1860, *(uint32_t*)buf1861, *(uint32_t*)buf1862);
-    *(ulong2*)buf1863 = rsGetElementAt_ulong2(*(rs_allocation*)buf1864, *(uint32_t*)buf1865, *(uint32_t*)buf1866, *(uint32_t*)buf1867);
-    *(ulong3*)buf1868 = rsGetElementAt_ulong3(*(rs_allocation*)buf1869, *(uint32_t*)buf1870, *(uint32_t*)buf1871, *(uint32_t*)buf1872);
-    *(ulong4*)buf1873 = rsGetElementAt_ulong4(*(rs_allocation*)buf1874, *(uint32_t*)buf1875, *(uint32_t*)buf1876, *(uint32_t*)buf1877);
-    *(bool*)buf1878 = rsIsObject(*(rs_element*)buf1879);
-    *(bool*)buf1880 = rsIsObject(*(rs_type*)buf1881);
-    *(bool*)buf1882 = rsIsObject(*(rs_allocation*)buf1883);
-    *(bool*)buf1884 = rsIsObject(*(rs_sampler*)buf1885);
-    *(bool*)buf1886 = rsIsObject(*(rs_script*)buf1887);
+    rsDebug((const char*) buf1336, *(double*)buf1337);
+    rsDebug((const char*) buf1338, *(int*)buf1339);
+    rsDebug((const char*) buf1340, *(uint*)buf1341);
+    rsDebug((const char*) buf1342, *(long*)buf1343);
+    rsDebug((const char*) buf1344, *(ulong*)buf1345);
+    rsDebug((const char*) buf1346, *(float*)buf1347);
+    rsDebug((const char*) buf1348, *(float2*)buf1349);
+    rsDebug((const char*) buf1350, *(float3*)buf1351);
+    rsDebug((const char*) buf1352, *(float4*)buf1353);
+    rsDebug((const char*) buf1354, *(float*)buf1355, *(float*)buf1356);
+    rsDebug((const char*) buf1357, *(float*)buf1358, *(float*)buf1359, *(float*)buf1360);
+    rsDebug((const char*) buf1361, *(float*)buf1362, *(float*)buf1363, *(float*)buf1364, *(float*)buf1365);
+    rsDebug((const char*) buf1366, *(long long*)buf1367);
+    rsDebug((const char*) buf1368, *(unsigned long long*)buf1369);
+    rsDebug((const char*) buf1370, (const void*) buf1371);
+    rsDebug((const char*) buf1372, (const rs_matrix4x4*) buf1373);
+    rsDebug((const char*) buf1374, (const rs_matrix3x3*) buf1375);
+    rsDebug((const char*) buf1376, (const rs_matrix2x2*) buf1377);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1378, (float4*) buf1379, (float4*) buf1380, (float4*) buf1381, (float4*) buf1382, (float4*) buf1383, (float4*) buf1384);
+    rsForEach(*(rs_script*)buf1385, *(rs_allocation*)buf1386, *(rs_allocation*)buf1387, (const void*) buf1388, *(size_t*)buf1389, (const rs_script_call_t*) buf1390);
+    rsForEach(*(rs_script*)buf1391, *(rs_allocation*)buf1392, *(rs_allocation*)buf1393, (const void*) buf1394, *(size_t*)buf1395);
+    rsForEach(*(rs_script*)buf1396, *(rs_allocation*)buf1397, *(rs_allocation*)buf1398);
+    *(float*)buf1399 = rsFrac(*(float*)buf1400);
+    *(rs_allocation*)buf1401 = rsGetAllocation((const void*) buf1402);
+    *(float*)buf1403 = rsGetDt();
+    *(const void**)buf1404 = rsGetElementAt(*(rs_allocation*)buf1405, *(uint32_t*)buf1406);
+    *(const void**)buf1407 = rsGetElementAt(*(rs_allocation*)buf1408, *(uint32_t*)buf1409, *(uint32_t*)buf1410);
+    *(const void**)buf1411 = rsGetElementAt(*(rs_allocation*)buf1412, *(uint32_t*)buf1413, *(uint32_t*)buf1414, *(uint32_t*)buf1415);
+    *(float*)buf1416 = rsGetElementAt_float(*(rs_allocation*)buf1417, *(uint32_t*)buf1418);
+    *(float2*)buf1419 = rsGetElementAt_float2(*(rs_allocation*)buf1420, *(uint32_t*)buf1421);
+    *(float3*)buf1422 = rsGetElementAt_float3(*(rs_allocation*)buf1423, *(uint32_t*)buf1424);
+    *(float4*)buf1425 = rsGetElementAt_float4(*(rs_allocation*)buf1426, *(uint32_t*)buf1427);
+    *(double*)buf1428 = rsGetElementAt_double(*(rs_allocation*)buf1429, *(uint32_t*)buf1430);
+    *(double2*)buf1431 = rsGetElementAt_double2(*(rs_allocation*)buf1432, *(uint32_t*)buf1433);
+    *(double3*)buf1434 = rsGetElementAt_double3(*(rs_allocation*)buf1435, *(uint32_t*)buf1436);
+    *(double4*)buf1437 = rsGetElementAt_double4(*(rs_allocation*)buf1438, *(uint32_t*)buf1439);
+    *(char*)buf1440 = rsGetElementAt_char(*(rs_allocation*)buf1441, *(uint32_t*)buf1442);
+    *(char2*)buf1443 = rsGetElementAt_char2(*(rs_allocation*)buf1444, *(uint32_t*)buf1445);
+    *(char3*)buf1446 = rsGetElementAt_char3(*(rs_allocation*)buf1447, *(uint32_t*)buf1448);
+    *(char4*)buf1449 = rsGetElementAt_char4(*(rs_allocation*)buf1450, *(uint32_t*)buf1451);
+    *(uchar*)buf1452 = rsGetElementAt_uchar(*(rs_allocation*)buf1453, *(uint32_t*)buf1454);
+    *(uchar2*)buf1455 = rsGetElementAt_uchar2(*(rs_allocation*)buf1456, *(uint32_t*)buf1457);
+    *(uchar3*)buf1458 = rsGetElementAt_uchar3(*(rs_allocation*)buf1459, *(uint32_t*)buf1460);
+    *(uchar4*)buf1461 = rsGetElementAt_uchar4(*(rs_allocation*)buf1462, *(uint32_t*)buf1463);
+    *(short*)buf1464 = rsGetElementAt_short(*(rs_allocation*)buf1465, *(uint32_t*)buf1466);
+    *(short2*)buf1467 = rsGetElementAt_short2(*(rs_allocation*)buf1468, *(uint32_t*)buf1469);
+    *(short3*)buf1470 = rsGetElementAt_short3(*(rs_allocation*)buf1471, *(uint32_t*)buf1472);
+    *(short4*)buf1473 = rsGetElementAt_short4(*(rs_allocation*)buf1474, *(uint32_t*)buf1475);
+    *(ushort*)buf1476 = rsGetElementAt_ushort(*(rs_allocation*)buf1477, *(uint32_t*)buf1478);
+    *(ushort2*)buf1479 = rsGetElementAt_ushort2(*(rs_allocation*)buf1480, *(uint32_t*)buf1481);
+    *(ushort3*)buf1482 = rsGetElementAt_ushort3(*(rs_allocation*)buf1483, *(uint32_t*)buf1484);
+    *(ushort4*)buf1485 = rsGetElementAt_ushort4(*(rs_allocation*)buf1486, *(uint32_t*)buf1487);
+    *(int*)buf1488 = rsGetElementAt_int(*(rs_allocation*)buf1489, *(uint32_t*)buf1490);
+    *(int2*)buf1491 = rsGetElementAt_int2(*(rs_allocation*)buf1492, *(uint32_t*)buf1493);
+    *(int3*)buf1494 = rsGetElementAt_int3(*(rs_allocation*)buf1495, *(uint32_t*)buf1496);
+    *(int4*)buf1497 = rsGetElementAt_int4(*(rs_allocation*)buf1498, *(uint32_t*)buf1499);
+    *(uint*)buf1500 = rsGetElementAt_uint(*(rs_allocation*)buf1501, *(uint32_t*)buf1502);
+    *(uint2*)buf1503 = rsGetElementAt_uint2(*(rs_allocation*)buf1504, *(uint32_t*)buf1505);
+    *(uint3*)buf1506 = rsGetElementAt_uint3(*(rs_allocation*)buf1507, *(uint32_t*)buf1508);
+    *(uint4*)buf1509 = rsGetElementAt_uint4(*(rs_allocation*)buf1510, *(uint32_t*)buf1511);
+    *(long*)buf1512 = rsGetElementAt_long(*(rs_allocation*)buf1513, *(uint32_t*)buf1514);
+    *(long2*)buf1515 = rsGetElementAt_long2(*(rs_allocation*)buf1516, *(uint32_t*)buf1517);
+    *(long3*)buf1518 = rsGetElementAt_long3(*(rs_allocation*)buf1519, *(uint32_t*)buf1520);
+    *(long4*)buf1521 = rsGetElementAt_long4(*(rs_allocation*)buf1522, *(uint32_t*)buf1523);
+    *(ulong*)buf1524 = rsGetElementAt_ulong(*(rs_allocation*)buf1525, *(uint32_t*)buf1526);
+    *(ulong2*)buf1527 = rsGetElementAt_ulong2(*(rs_allocation*)buf1528, *(uint32_t*)buf1529);
+    *(ulong3*)buf1530 = rsGetElementAt_ulong3(*(rs_allocation*)buf1531, *(uint32_t*)buf1532);
+    *(ulong4*)buf1533 = rsGetElementAt_ulong4(*(rs_allocation*)buf1534, *(uint32_t*)buf1535);
+    *(float*)buf1536 = rsGetElementAt_float(*(rs_allocation*)buf1537, *(uint32_t*)buf1538, *(uint32_t*)buf1539);
+    *(float2*)buf1540 = rsGetElementAt_float2(*(rs_allocation*)buf1541, *(uint32_t*)buf1542, *(uint32_t*)buf1543);
+    *(float3*)buf1544 = rsGetElementAt_float3(*(rs_allocation*)buf1545, *(uint32_t*)buf1546, *(uint32_t*)buf1547);
+    *(float4*)buf1548 = rsGetElementAt_float4(*(rs_allocation*)buf1549, *(uint32_t*)buf1550, *(uint32_t*)buf1551);
+    *(double*)buf1552 = rsGetElementAt_double(*(rs_allocation*)buf1553, *(uint32_t*)buf1554, *(uint32_t*)buf1555);
+    *(double2*)buf1556 = rsGetElementAt_double2(*(rs_allocation*)buf1557, *(uint32_t*)buf1558, *(uint32_t*)buf1559);
+    *(double3*)buf1560 = rsGetElementAt_double3(*(rs_allocation*)buf1561, *(uint32_t*)buf1562, *(uint32_t*)buf1563);
+    *(double4*)buf1564 = rsGetElementAt_double4(*(rs_allocation*)buf1565, *(uint32_t*)buf1566, *(uint32_t*)buf1567);
+    *(char*)buf1568 = rsGetElementAt_char(*(rs_allocation*)buf1569, *(uint32_t*)buf1570, *(uint32_t*)buf1571);
+    *(char2*)buf1572 = rsGetElementAt_char2(*(rs_allocation*)buf1573, *(uint32_t*)buf1574, *(uint32_t*)buf1575);
+    *(char3*)buf1576 = rsGetElementAt_char3(*(rs_allocation*)buf1577, *(uint32_t*)buf1578, *(uint32_t*)buf1579);
+    *(char4*)buf1580 = rsGetElementAt_char4(*(rs_allocation*)buf1581, *(uint32_t*)buf1582, *(uint32_t*)buf1583);
+    *(uchar*)buf1584 = rsGetElementAt_uchar(*(rs_allocation*)buf1585, *(uint32_t*)buf1586, *(uint32_t*)buf1587);
+    *(uchar2*)buf1588 = rsGetElementAt_uchar2(*(rs_allocation*)buf1589, *(uint32_t*)buf1590, *(uint32_t*)buf1591);
+    *(uchar3*)buf1592 = rsGetElementAt_uchar3(*(rs_allocation*)buf1593, *(uint32_t*)buf1594, *(uint32_t*)buf1595);
+    *(uchar4*)buf1596 = rsGetElementAt_uchar4(*(rs_allocation*)buf1597, *(uint32_t*)buf1598, *(uint32_t*)buf1599);
+    *(short*)buf1600 = rsGetElementAt_short(*(rs_allocation*)buf1601, *(uint32_t*)buf1602, *(uint32_t*)buf1603);
+    *(short2*)buf1604 = rsGetElementAt_short2(*(rs_allocation*)buf1605, *(uint32_t*)buf1606, *(uint32_t*)buf1607);
+    *(short3*)buf1608 = rsGetElementAt_short3(*(rs_allocation*)buf1609, *(uint32_t*)buf1610, *(uint32_t*)buf1611);
+    *(short4*)buf1612 = rsGetElementAt_short4(*(rs_allocation*)buf1613, *(uint32_t*)buf1614, *(uint32_t*)buf1615);
+    *(ushort*)buf1616 = rsGetElementAt_ushort(*(rs_allocation*)buf1617, *(uint32_t*)buf1618, *(uint32_t*)buf1619);
+    *(ushort2*)buf1620 = rsGetElementAt_ushort2(*(rs_allocation*)buf1621, *(uint32_t*)buf1622, *(uint32_t*)buf1623);
+    *(ushort3*)buf1624 = rsGetElementAt_ushort3(*(rs_allocation*)buf1625, *(uint32_t*)buf1626, *(uint32_t*)buf1627);
+    *(ushort4*)buf1628 = rsGetElementAt_ushort4(*(rs_allocation*)buf1629, *(uint32_t*)buf1630, *(uint32_t*)buf1631);
+    *(int*)buf1632 = rsGetElementAt_int(*(rs_allocation*)buf1633, *(uint32_t*)buf1634, *(uint32_t*)buf1635);
+    *(int2*)buf1636 = rsGetElementAt_int2(*(rs_allocation*)buf1637, *(uint32_t*)buf1638, *(uint32_t*)buf1639);
+    *(int3*)buf1640 = rsGetElementAt_int3(*(rs_allocation*)buf1641, *(uint32_t*)buf1642, *(uint32_t*)buf1643);
+    *(int4*)buf1644 = rsGetElementAt_int4(*(rs_allocation*)buf1645, *(uint32_t*)buf1646, *(uint32_t*)buf1647);
+    *(uint*)buf1648 = rsGetElementAt_uint(*(rs_allocation*)buf1649, *(uint32_t*)buf1650, *(uint32_t*)buf1651);
+    *(uint2*)buf1652 = rsGetElementAt_uint2(*(rs_allocation*)buf1653, *(uint32_t*)buf1654, *(uint32_t*)buf1655);
+    *(uint3*)buf1656 = rsGetElementAt_uint3(*(rs_allocation*)buf1657, *(uint32_t*)buf1658, *(uint32_t*)buf1659);
+    *(uint4*)buf1660 = rsGetElementAt_uint4(*(rs_allocation*)buf1661, *(uint32_t*)buf1662, *(uint32_t*)buf1663);
+    *(long*)buf1664 = rsGetElementAt_long(*(rs_allocation*)buf1665, *(uint32_t*)buf1666, *(uint32_t*)buf1667);
+    *(long2*)buf1668 = rsGetElementAt_long2(*(rs_allocation*)buf1669, *(uint32_t*)buf1670, *(uint32_t*)buf1671);
+    *(long3*)buf1672 = rsGetElementAt_long3(*(rs_allocation*)buf1673, *(uint32_t*)buf1674, *(uint32_t*)buf1675);
+    *(long4*)buf1676 = rsGetElementAt_long4(*(rs_allocation*)buf1677, *(uint32_t*)buf1678, *(uint32_t*)buf1679);
+    *(ulong*)buf1680 = rsGetElementAt_ulong(*(rs_allocation*)buf1681, *(uint32_t*)buf1682, *(uint32_t*)buf1683);
+    *(ulong2*)buf1684 = rsGetElementAt_ulong2(*(rs_allocation*)buf1685, *(uint32_t*)buf1686, *(uint32_t*)buf1687);
+    *(ulong3*)buf1688 = rsGetElementAt_ulong3(*(rs_allocation*)buf1689, *(uint32_t*)buf1690, *(uint32_t*)buf1691);
+    *(ulong4*)buf1692 = rsGetElementAt_ulong4(*(rs_allocation*)buf1693, *(uint32_t*)buf1694, *(uint32_t*)buf1695);
+    *(float*)buf1696 = rsGetElementAt_float(*(rs_allocation*)buf1697, *(uint32_t*)buf1698, *(uint32_t*)buf1699, *(uint32_t*)buf1700);
+    *(float2*)buf1701 = rsGetElementAt_float2(*(rs_allocation*)buf1702, *(uint32_t*)buf1703, *(uint32_t*)buf1704, *(uint32_t*)buf1705);
+    *(float3*)buf1706 = rsGetElementAt_float3(*(rs_allocation*)buf1707, *(uint32_t*)buf1708, *(uint32_t*)buf1709, *(uint32_t*)buf1710);
+    *(float4*)buf1711 = rsGetElementAt_float4(*(rs_allocation*)buf1712, *(uint32_t*)buf1713, *(uint32_t*)buf1714, *(uint32_t*)buf1715);
+    *(double*)buf1716 = rsGetElementAt_double(*(rs_allocation*)buf1717, *(uint32_t*)buf1718, *(uint32_t*)buf1719, *(uint32_t*)buf1720);
+    *(double2*)buf1721 = rsGetElementAt_double2(*(rs_allocation*)buf1722, *(uint32_t*)buf1723, *(uint32_t*)buf1724, *(uint32_t*)buf1725);
+    *(double3*)buf1726 = rsGetElementAt_double3(*(rs_allocation*)buf1727, *(uint32_t*)buf1728, *(uint32_t*)buf1729, *(uint32_t*)buf1730);
+    *(double4*)buf1731 = rsGetElementAt_double4(*(rs_allocation*)buf1732, *(uint32_t*)buf1733, *(uint32_t*)buf1734, *(uint32_t*)buf1735);
+    *(char*)buf1736 = rsGetElementAt_char(*(rs_allocation*)buf1737, *(uint32_t*)buf1738, *(uint32_t*)buf1739, *(uint32_t*)buf1740);
+    *(char2*)buf1741 = rsGetElementAt_char2(*(rs_allocation*)buf1742, *(uint32_t*)buf1743, *(uint32_t*)buf1744, *(uint32_t*)buf1745);
+    *(char3*)buf1746 = rsGetElementAt_char3(*(rs_allocation*)buf1747, *(uint32_t*)buf1748, *(uint32_t*)buf1749, *(uint32_t*)buf1750);
+    *(char4*)buf1751 = rsGetElementAt_char4(*(rs_allocation*)buf1752, *(uint32_t*)buf1753, *(uint32_t*)buf1754, *(uint32_t*)buf1755);
+    *(uchar*)buf1756 = rsGetElementAt_uchar(*(rs_allocation*)buf1757, *(uint32_t*)buf1758, *(uint32_t*)buf1759, *(uint32_t*)buf1760);
+    *(uchar2*)buf1761 = rsGetElementAt_uchar2(*(rs_allocation*)buf1762, *(uint32_t*)buf1763, *(uint32_t*)buf1764, *(uint32_t*)buf1765);
+    *(uchar3*)buf1766 = rsGetElementAt_uchar3(*(rs_allocation*)buf1767, *(uint32_t*)buf1768, *(uint32_t*)buf1769, *(uint32_t*)buf1770);
+    *(uchar4*)buf1771 = rsGetElementAt_uchar4(*(rs_allocation*)buf1772, *(uint32_t*)buf1773, *(uint32_t*)buf1774, *(uint32_t*)buf1775);
+    *(short*)buf1776 = rsGetElementAt_short(*(rs_allocation*)buf1777, *(uint32_t*)buf1778, *(uint32_t*)buf1779, *(uint32_t*)buf1780);
+    *(short2*)buf1781 = rsGetElementAt_short2(*(rs_allocation*)buf1782, *(uint32_t*)buf1783, *(uint32_t*)buf1784, *(uint32_t*)buf1785);
+    *(short3*)buf1786 = rsGetElementAt_short3(*(rs_allocation*)buf1787, *(uint32_t*)buf1788, *(uint32_t*)buf1789, *(uint32_t*)buf1790);
+    *(short4*)buf1791 = rsGetElementAt_short4(*(rs_allocation*)buf1792, *(uint32_t*)buf1793, *(uint32_t*)buf1794, *(uint32_t*)buf1795);
+    *(ushort*)buf1796 = rsGetElementAt_ushort(*(rs_allocation*)buf1797, *(uint32_t*)buf1798, *(uint32_t*)buf1799, *(uint32_t*)buf1800);
+    *(ushort2*)buf1801 = rsGetElementAt_ushort2(*(rs_allocation*)buf1802, *(uint32_t*)buf1803, *(uint32_t*)buf1804, *(uint32_t*)buf1805);
+    *(ushort3*)buf1806 = rsGetElementAt_ushort3(*(rs_allocation*)buf1807, *(uint32_t*)buf1808, *(uint32_t*)buf1809, *(uint32_t*)buf1810);
+    *(ushort4*)buf1811 = rsGetElementAt_ushort4(*(rs_allocation*)buf1812, *(uint32_t*)buf1813, *(uint32_t*)buf1814, *(uint32_t*)buf1815);
+    *(int*)buf1816 = rsGetElementAt_int(*(rs_allocation*)buf1817, *(uint32_t*)buf1818, *(uint32_t*)buf1819, *(uint32_t*)buf1820);
+    *(int2*)buf1821 = rsGetElementAt_int2(*(rs_allocation*)buf1822, *(uint32_t*)buf1823, *(uint32_t*)buf1824, *(uint32_t*)buf1825);
+    *(int3*)buf1826 = rsGetElementAt_int3(*(rs_allocation*)buf1827, *(uint32_t*)buf1828, *(uint32_t*)buf1829, *(uint32_t*)buf1830);
+    *(int4*)buf1831 = rsGetElementAt_int4(*(rs_allocation*)buf1832, *(uint32_t*)buf1833, *(uint32_t*)buf1834, *(uint32_t*)buf1835);
+    *(uint*)buf1836 = rsGetElementAt_uint(*(rs_allocation*)buf1837, *(uint32_t*)buf1838, *(uint32_t*)buf1839, *(uint32_t*)buf1840);
+    *(uint2*)buf1841 = rsGetElementAt_uint2(*(rs_allocation*)buf1842, *(uint32_t*)buf1843, *(uint32_t*)buf1844, *(uint32_t*)buf1845);
+    *(uint3*)buf1846 = rsGetElementAt_uint3(*(rs_allocation*)buf1847, *(uint32_t*)buf1848, *(uint32_t*)buf1849, *(uint32_t*)buf1850);
+    *(uint4*)buf1851 = rsGetElementAt_uint4(*(rs_allocation*)buf1852, *(uint32_t*)buf1853, *(uint32_t*)buf1854, *(uint32_t*)buf1855);
+    *(long*)buf1856 = rsGetElementAt_long(*(rs_allocation*)buf1857, *(uint32_t*)buf1858, *(uint32_t*)buf1859, *(uint32_t*)buf1860);
+    *(long2*)buf1861 = rsGetElementAt_long2(*(rs_allocation*)buf1862, *(uint32_t*)buf1863, *(uint32_t*)buf1864, *(uint32_t*)buf1865);
+    *(long3*)buf1866 = rsGetElementAt_long3(*(rs_allocation*)buf1867, *(uint32_t*)buf1868, *(uint32_t*)buf1869, *(uint32_t*)buf1870);
+    *(long4*)buf1871 = rsGetElementAt_long4(*(rs_allocation*)buf1872, *(uint32_t*)buf1873, *(uint32_t*)buf1874, *(uint32_t*)buf1875);
+    *(ulong*)buf1876 = rsGetElementAt_ulong(*(rs_allocation*)buf1877, *(uint32_t*)buf1878, *(uint32_t*)buf1879, *(uint32_t*)buf1880);
+    *(ulong2*)buf1881 = rsGetElementAt_ulong2(*(rs_allocation*)buf1882, *(uint32_t*)buf1883, *(uint32_t*)buf1884, *(uint32_t*)buf1885);
+    *(ulong3*)buf1886 = rsGetElementAt_ulong3(*(rs_allocation*)buf1887, *(uint32_t*)buf1888, *(uint32_t*)buf1889, *(uint32_t*)buf1890);
+    *(ulong4*)buf1891 = rsGetElementAt_ulong4(*(rs_allocation*)buf1892, *(uint32_t*)buf1893, *(uint32_t*)buf1894, *(uint32_t*)buf1895);
+    *(bool*)buf1896 = rsIsObject(*(rs_element*)buf1897);
+    *(bool*)buf1898 = rsIsObject(*(rs_type*)buf1899);
+    *(bool*)buf1900 = rsIsObject(*(rs_allocation*)buf1901);
+    *(bool*)buf1902 = rsIsObject(*(rs_sampler*)buf1903);
+    *(bool*)buf1904 = rsIsObject(*(rs_script*)buf1905);
 #ifndef __LP64__
-    *(bool*)buf1888 = rsIsObject(*(rs_mesh*)buf1889);
-    *(bool*)buf1890 = rsIsObject(*(rs_program_fragment*)buf1891);
-    *(bool*)buf1892 = rsIsObject(*(rs_program_vertex*)buf1893);
-    *(bool*)buf1894 = rsIsObject(*(rs_program_raster*)buf1895);
-    *(bool*)buf1896 = rsIsObject(*(rs_program_store*)buf1897);
-    *(bool*)buf1898 = rsIsObject(*(rs_font*)buf1899);
+    *(bool*)buf1906 = rsIsObject(*(rs_mesh*)buf1907);
+    *(bool*)buf1908 = rsIsObject(*(rs_program_fragment*)buf1909);
+    *(bool*)buf1910 = rsIsObject(*(rs_program_vertex*)buf1911);
+    *(bool*)buf1912 = rsIsObject(*(rs_program_raster*)buf1913);
+    *(bool*)buf1914 = rsIsObject(*(rs_program_store*)buf1915);
+    *(bool*)buf1916 = rsIsObject(*(rs_font*)buf1917);
 #endif
-    *(bool*)buf1900 = rsIsSphereInFrustum((float4*) buf1901, (float4*) buf1902, (float4*) buf1903, (float4*) buf1904, (float4*) buf1905, (float4*) buf1906, (float4*) buf1907);
-    *(rs_tm**)buf1908 = rsLocaltime((rs_tm*) buf1909, (const rs_time_t*) buf1910);
-    *(float*)buf1911 = rsMatrixGet((const rs_matrix4x4*) buf1912, *(uint32_t*)buf1913, *(uint32_t*)buf1914);
-    *(float*)buf1915 = rsMatrixGet((const rs_matrix3x3*) buf1916, *(uint32_t*)buf1917, *(uint32_t*)buf1918);
-    *(float*)buf1919 = rsMatrixGet((const rs_matrix2x2*) buf1920, *(uint32_t*)buf1921, *(uint32_t*)buf1922);
-    *(bool*)buf1923 = rsMatrixInverse((rs_matrix4x4*) buf1924);
-    *(bool*)buf1925 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1926);
-    rsMatrixLoad((rs_matrix4x4*) buf1927, (const float*) buf1928);
-    rsMatrixLoad((rs_matrix3x3*) buf1929, (const float*) buf1930);
-    rsMatrixLoad((rs_matrix2x2*) buf1931, (const float*) buf1932);
-    rsMatrixLoad((rs_matrix4x4*) buf1933, (const rs_matrix4x4*) buf1934);
-    rsMatrixLoad((rs_matrix3x3*) buf1935, (const rs_matrix3x3*) buf1936);
-    rsMatrixLoad((rs_matrix2x2*) buf1937, (const rs_matrix2x2*) buf1938);
-    rsMatrixLoad((rs_matrix4x4*) buf1939, (const rs_matrix3x3*) buf1940);
-    rsMatrixLoad((rs_matrix4x4*) buf1941, (const rs_matrix2x2*) buf1942);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf1943, *(float*)buf1944, *(float*)buf1945, *(float*)buf1946, *(float*)buf1947, *(float*)buf1948, *(float*)buf1949);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf1950);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf1951);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf1952);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf1953, (const rs_matrix4x4*) buf1954, (const rs_matrix4x4*) buf1955);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf1956, (const rs_matrix3x3*) buf1957, (const rs_matrix3x3*) buf1958);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf1959, (const rs_matrix2x2*) buf1960, (const rs_matrix2x2*) buf1961);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf1962, *(float*)buf1963, *(float*)buf1964, *(float*)buf1965, *(float*)buf1966, *(float*)buf1967, *(float*)buf1968);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf1969, *(float*)buf1970, *(float*)buf1971, *(float*)buf1972, *(float*)buf1973);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf1974, *(float*)buf1975, *(float*)buf1976, *(float*)buf1977, *(float*)buf1978);
-    rsMatrixLoadScale((rs_matrix4x4*) buf1979, *(float*)buf1980, *(float*)buf1981, *(float*)buf1982);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf1983, *(float*)buf1984, *(float*)buf1985, *(float*)buf1986);
-    rsMatrixMultiply((rs_matrix4x4*) buf1987, (const rs_matrix4x4*) buf1988);
-    rsMatrixMultiply((rs_matrix3x3*) buf1989, (const rs_matrix3x3*) buf1990);
-    rsMatrixMultiply((rs_matrix2x2*) buf1991, (const rs_matrix2x2*) buf1992);
-    *(float4*)buf1993 = rsMatrixMultiply((const rs_matrix4x4*) buf1994, *(float4*)buf1995);
-    *(float4*)buf1996 = rsMatrixMultiply((const rs_matrix4x4*) buf1997, *(float3*)buf1998);
-    *(float4*)buf1999 = rsMatrixMultiply((const rs_matrix4x4*) buf2000, *(float2*)buf2001);
-    *(float3*)buf2002 = rsMatrixMultiply((const rs_matrix3x3*) buf2003, *(float3*)buf2004);
-    *(float3*)buf2005 = rsMatrixMultiply((const rs_matrix3x3*) buf2006, *(float2*)buf2007);
-    *(float2*)buf2008 = rsMatrixMultiply((const rs_matrix2x2*) buf2009, *(float2*)buf2010);
-    rsMatrixRotate((rs_matrix4x4*) buf2011, *(float*)buf2012, *(float*)buf2013, *(float*)buf2014, *(float*)buf2015);
-    rsMatrixScale((rs_matrix4x4*) buf2016, *(float*)buf2017, *(float*)buf2018, *(float*)buf2019);
-    rsMatrixSet((rs_matrix4x4*) buf2020, *(uint32_t*)buf2021, *(uint32_t*)buf2022, *(float*)buf2023);
-    rsMatrixSet((rs_matrix3x3*) buf2024, *(uint32_t*)buf2025, *(uint32_t*)buf2026, *(float*)buf2027);
-    rsMatrixSet((rs_matrix2x2*) buf2028, *(uint32_t*)buf2029, *(uint32_t*)buf2030, *(float*)buf2031);
-    rsMatrixTranslate((rs_matrix4x4*) buf2032, *(float*)buf2033, *(float*)buf2034, *(float*)buf2035);
-    rsMatrixTranspose((rs_matrix4x4*) buf2036);
-    rsMatrixTranspose((rs_matrix3x3*) buf2037);
-    rsMatrixTranspose((rs_matrix2x2*) buf2038);
-    *(uchar4*)buf2039 = rsPackColorTo8888(*(float*)buf2040, *(float*)buf2041, *(float*)buf2042);
-    *(uchar4*)buf2043 = rsPackColorTo8888(*(float*)buf2044, *(float*)buf2045, *(float*)buf2046, *(float*)buf2047);
-    *(uchar4*)buf2048 = rsPackColorTo8888(*(float3*)buf2049);
-    *(uchar4*)buf2050 = rsPackColorTo8888(*(float4*)buf2051);
-    rsQuaternionAdd((rs_quaternion*) buf2052, (const rs_quaternion*) buf2053);
-    rsQuaternionConjugate((rs_quaternion*) buf2054);
-    *(float*)buf2055 = rsQuaternionDot((const rs_quaternion*) buf2056, (const rs_quaternion*) buf2057);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2058, (const rs_quaternion*) buf2059);
-    rsQuaternionLoadRotate((rs_quaternion*) buf2060, *(float*)buf2061, *(float*)buf2062, *(float*)buf2063, *(float*)buf2064);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2065, *(float*)buf2066, *(float*)buf2067, *(float*)buf2068, *(float*)buf2069);
-    rsQuaternionMultiply((rs_quaternion*) buf2070, *(float*)buf2071);
-    rsQuaternionMultiply((rs_quaternion*) buf2072, (const rs_quaternion*) buf2073);
-    rsQuaternionNormalize((rs_quaternion*) buf2074);
-    rsQuaternionSet((rs_quaternion*) buf2075, *(float*)buf2076, *(float*)buf2077, *(float*)buf2078, *(float*)buf2079);
-    rsQuaternionSet((rs_quaternion*) buf2080, (const rs_quaternion*) buf2081);
-    rsQuaternionSlerp((rs_quaternion*) buf2082, (const rs_quaternion*) buf2083, (const rs_quaternion*) buf2084, *(float*)buf2085);
-    *(int*)buf2086 = rsRand(*(int*)buf2087);
-    *(int*)buf2088 = rsRand(*(int*)buf2089, *(int*)buf2090);
-    *(float*)buf2091 = rsRand(*(float*)buf2092);
-    *(float*)buf2093 = rsRand(*(float*)buf2094, *(float*)buf2095);
-    *(bool*)buf2096 = rsSendToClient(*(int*)buf2097);
-    *(bool*)buf2098 = rsSendToClient(*(int*)buf2099, (const void*) buf2100, *(uint*)buf2101);
-    rsSendToClientBlocking(*(int*)buf2102);
-    rsSendToClientBlocking(*(int*)buf2103, (const void*) buf2104, *(uint*)buf2105);
-    rsSetObject((rs_element*) buf2106, *(rs_element*)buf2107);
-    rsSetObject((rs_type*) buf2108, *(rs_type*)buf2109);
-    rsSetObject((rs_allocation*) buf2110, *(rs_allocation*)buf2111);
-    rsSetObject((rs_sampler*) buf2112, *(rs_sampler*)buf2113);
-    rsSetObject((rs_script*) buf2114, *(rs_script*)buf2115);
+    *(bool*)buf1918 = rsIsSphereInFrustum((float4*) buf1919, (float4*) buf1920, (float4*) buf1921, (float4*) buf1922, (float4*) buf1923, (float4*) buf1924, (float4*) buf1925);
+    *(rs_tm**)buf1926 = rsLocaltime((rs_tm*) buf1927, (const rs_time_t*) buf1928);
+    *(float*)buf1929 = rsMatrixGet((const rs_matrix4x4*) buf1930, *(uint32_t*)buf1931, *(uint32_t*)buf1932);
+    *(float*)buf1933 = rsMatrixGet((const rs_matrix3x3*) buf1934, *(uint32_t*)buf1935, *(uint32_t*)buf1936);
+    *(float*)buf1937 = rsMatrixGet((const rs_matrix2x2*) buf1938, *(uint32_t*)buf1939, *(uint32_t*)buf1940);
+    *(bool*)buf1941 = rsMatrixInverse((rs_matrix4x4*) buf1942);
+    *(bool*)buf1943 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1944);
+    rsMatrixLoad((rs_matrix4x4*) buf1945, (const float*) buf1946);
+    rsMatrixLoad((rs_matrix3x3*) buf1947, (const float*) buf1948);
+    rsMatrixLoad((rs_matrix2x2*) buf1949, (const float*) buf1950);
+    rsMatrixLoad((rs_matrix4x4*) buf1951, (const rs_matrix4x4*) buf1952);
+    rsMatrixLoad((rs_matrix3x3*) buf1953, (const rs_matrix3x3*) buf1954);
+    rsMatrixLoad((rs_matrix2x2*) buf1955, (const rs_matrix2x2*) buf1956);
+    rsMatrixLoad((rs_matrix4x4*) buf1957, (const rs_matrix3x3*) buf1958);
+    rsMatrixLoad((rs_matrix4x4*) buf1959, (const rs_matrix2x2*) buf1960);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf1961, *(float*)buf1962, *(float*)buf1963, *(float*)buf1964, *(float*)buf1965, *(float*)buf1966, *(float*)buf1967);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf1968);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf1969);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf1970);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf1971, (const rs_matrix4x4*) buf1972, (const rs_matrix4x4*) buf1973);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf1974, (const rs_matrix3x3*) buf1975, (const rs_matrix3x3*) buf1976);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf1977, (const rs_matrix2x2*) buf1978, (const rs_matrix2x2*) buf1979);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf1980, *(float*)buf1981, *(float*)buf1982, *(float*)buf1983, *(float*)buf1984, *(float*)buf1985, *(float*)buf1986);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf1987, *(float*)buf1988, *(float*)buf1989, *(float*)buf1990, *(float*)buf1991);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf1992, *(float*)buf1993, *(float*)buf1994, *(float*)buf1995, *(float*)buf1996);
+    rsMatrixLoadScale((rs_matrix4x4*) buf1997, *(float*)buf1998, *(float*)buf1999, *(float*)buf2000);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf2001, *(float*)buf2002, *(float*)buf2003, *(float*)buf2004);
+    rsMatrixMultiply((rs_matrix4x4*) buf2005, (const rs_matrix4x4*) buf2006);
+    rsMatrixMultiply((rs_matrix3x3*) buf2007, (const rs_matrix3x3*) buf2008);
+    rsMatrixMultiply((rs_matrix2x2*) buf2009, (const rs_matrix2x2*) buf2010);
+    *(float4*)buf2011 = rsMatrixMultiply((const rs_matrix4x4*) buf2012, *(float4*)buf2013);
+    *(float4*)buf2014 = rsMatrixMultiply((const rs_matrix4x4*) buf2015, *(float3*)buf2016);
+    *(float4*)buf2017 = rsMatrixMultiply((const rs_matrix4x4*) buf2018, *(float2*)buf2019);
+    *(float3*)buf2020 = rsMatrixMultiply((const rs_matrix3x3*) buf2021, *(float3*)buf2022);
+    *(float3*)buf2023 = rsMatrixMultiply((const rs_matrix3x3*) buf2024, *(float2*)buf2025);
+    *(float2*)buf2026 = rsMatrixMultiply((const rs_matrix2x2*) buf2027, *(float2*)buf2028);
+    rsMatrixRotate((rs_matrix4x4*) buf2029, *(float*)buf2030, *(float*)buf2031, *(float*)buf2032, *(float*)buf2033);
+    rsMatrixScale((rs_matrix4x4*) buf2034, *(float*)buf2035, *(float*)buf2036, *(float*)buf2037);
+    rsMatrixSet((rs_matrix4x4*) buf2038, *(uint32_t*)buf2039, *(uint32_t*)buf2040, *(float*)buf2041);
+    rsMatrixSet((rs_matrix3x3*) buf2042, *(uint32_t*)buf2043, *(uint32_t*)buf2044, *(float*)buf2045);
+    rsMatrixSet((rs_matrix2x2*) buf2046, *(uint32_t*)buf2047, *(uint32_t*)buf2048, *(float*)buf2049);
+    rsMatrixTranslate((rs_matrix4x4*) buf2050, *(float*)buf2051, *(float*)buf2052, *(float*)buf2053);
+    rsMatrixTranspose((rs_matrix4x4*) buf2054);
+    rsMatrixTranspose((rs_matrix3x3*) buf2055);
+    rsMatrixTranspose((rs_matrix2x2*) buf2056);
+    *(uchar4*)buf2057 = rsPackColorTo8888(*(float*)buf2058, *(float*)buf2059, *(float*)buf2060);
+    *(uchar4*)buf2061 = rsPackColorTo8888(*(float*)buf2062, *(float*)buf2063, *(float*)buf2064, *(float*)buf2065);
+    *(uchar4*)buf2066 = rsPackColorTo8888(*(float3*)buf2067);
+    *(uchar4*)buf2068 = rsPackColorTo8888(*(float4*)buf2069);
+    rsQuaternionAdd((rs_quaternion*) buf2070, (const rs_quaternion*) buf2071);
+    rsQuaternionConjugate((rs_quaternion*) buf2072);
+    *(float*)buf2073 = rsQuaternionDot((const rs_quaternion*) buf2074, (const rs_quaternion*) buf2075);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2076, (const rs_quaternion*) buf2077);
+    rsQuaternionLoadRotate((rs_quaternion*) buf2078, *(float*)buf2079, *(float*)buf2080, *(float*)buf2081, *(float*)buf2082);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2083, *(float*)buf2084, *(float*)buf2085, *(float*)buf2086, *(float*)buf2087);
+    rsQuaternionMultiply((rs_quaternion*) buf2088, *(float*)buf2089);
+    rsQuaternionMultiply((rs_quaternion*) buf2090, (const rs_quaternion*) buf2091);
+    rsQuaternionNormalize((rs_quaternion*) buf2092);
+    rsQuaternionSet((rs_quaternion*) buf2093, *(float*)buf2094, *(float*)buf2095, *(float*)buf2096, *(float*)buf2097);
+    rsQuaternionSet((rs_quaternion*) buf2098, (const rs_quaternion*) buf2099);
+    rsQuaternionSlerp((rs_quaternion*) buf2100, (const rs_quaternion*) buf2101, (const rs_quaternion*) buf2102, *(float*)buf2103);
+    *(int*)buf2104 = rsRand(*(int*)buf2105);
+    *(int*)buf2106 = rsRand(*(int*)buf2107, *(int*)buf2108);
+    *(float*)buf2109 = rsRand(*(float*)buf2110);
+    *(float*)buf2111 = rsRand(*(float*)buf2112, *(float*)buf2113);
+    *(bool*)buf2114 = rsSendToClient(*(int*)buf2115);
+    *(bool*)buf2116 = rsSendToClient(*(int*)buf2117, (const void*) buf2118, *(uint*)buf2119);
+    rsSendToClientBlocking(*(int*)buf2120);
+    rsSendToClientBlocking(*(int*)buf2121, (const void*) buf2122, *(uint*)buf2123);
+    rsSetObject((rs_element*) buf2124, *(rs_element*)buf2125);
+    rsSetObject((rs_type*) buf2126, *(rs_type*)buf2127);
+    rsSetObject((rs_allocation*) buf2128, *(rs_allocation*)buf2129);
+    rsSetObject((rs_sampler*) buf2130, *(rs_sampler*)buf2131);
+    rsSetObject((rs_script*) buf2132, *(rs_script*)buf2133);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf2116, *(rs_mesh*)buf2117);
-    rsSetObject((rs_program_fragment*) buf2118, *(rs_program_fragment*)buf2119);
-    rsSetObject((rs_program_vertex*) buf2120, *(rs_program_vertex*)buf2121);
-    rsSetObject((rs_program_raster*) buf2122, *(rs_program_raster*)buf2123);
-    rsSetObject((rs_program_store*) buf2124, *(rs_program_store*)buf2125);
-    rsSetObject((rs_font*) buf2126, *(rs_font*)buf2127);
+    rsSetObject((rs_mesh*) buf2134, *(rs_mesh*)buf2135);
+    rsSetObject((rs_program_fragment*) buf2136, *(rs_program_fragment*)buf2137);
+    rsSetObject((rs_program_vertex*) buf2138, *(rs_program_vertex*)buf2139);
+    rsSetObject((rs_program_raster*) buf2140, *(rs_program_raster*)buf2141);
+    rsSetObject((rs_program_store*) buf2142, *(rs_program_store*)buf2143);
+    rsSetObject((rs_font*) buf2144, *(rs_font*)buf2145);
 #endif
-    *(rs_time_t*)buf2128 = rsTime((rs_time_t*) buf2129);
-    *(float4*)buf2130 = rsUnpackColor8888(*(uchar4*)buf2131);
-    *(int64_t*)buf2132 = rsUptimeMillis();
-    *(int64_t*)buf2133 = rsUptimeNanos();
-    *(float4*)buf2134 = rsYuvToRGBA_float4(*(uchar*)buf2135, *(uchar*)buf2136, *(uchar*)buf2137);
-    *(uchar4*)buf2138 = rsYuvToRGBA_uchar4(*(uchar*)buf2139, *(uchar*)buf2140, *(uchar*)buf2141);
+    *(rs_time_t*)buf2146 = rsTime((rs_time_t*) buf2147);
+    *(float4*)buf2148 = rsUnpackColor8888(*(uchar4*)buf2149);
+    *(int64_t*)buf2150 = rsUptimeMillis();
+    *(int64_t*)buf2151 = rsUptimeNanos();
+    *(float4*)buf2152 = rsYuvToRGBA_float4(*(uchar*)buf2153, *(uchar*)buf2154, *(uchar*)buf2155);
+    *(uchar4*)buf2156 = rsYuvToRGBA_uchar4(*(uchar*)buf2157, *(uchar*)buf2158, *(uchar*)buf2159);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2142);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2160);
 #endif
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2143, *(rs_allocation_usage_type*)buf2144);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2161, *(rs_allocation_usage_type*)buf2162);
 #endif
 #ifndef __LP64__
-    rsgBindColorTarget(*(rs_allocation*)buf2145, *(uint*)buf2146);
+    rsgBindColorTarget(*(rs_allocation*)buf2163, *(uint*)buf2164);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf2147, *(uint*)buf2148, *(rs_allocation*)buf2149);
+    rsgBindConstant(*(rs_program_fragment*)buf2165, *(uint*)buf2166, *(rs_allocation*)buf2167);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf2150, *(uint*)buf2151, *(rs_allocation*)buf2152);
+    rsgBindConstant(*(rs_program_vertex*)buf2168, *(uint*)buf2169, *(rs_allocation*)buf2170);
 #endif
 #ifndef __LP64__
-    rsgBindDepthTarget(*(rs_allocation*)buf2153);
+    rsgBindDepthTarget(*(rs_allocation*)buf2171);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf2154);
+    rsgBindFont(*(rs_font*)buf2172);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf2155);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf2173);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf2156);
+    rsgBindProgramRaster(*(rs_program_raster*)buf2174);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf2157);
+    rsgBindProgramStore(*(rs_program_store*)buf2175);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf2158);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf2176);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf2159, *(uint*)buf2160, *(rs_sampler*)buf2161);
+    rsgBindSampler(*(rs_program_fragment*)buf2177, *(uint*)buf2178, *(rs_sampler*)buf2179);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf2162, *(uint*)buf2163, *(rs_allocation*)buf2164);
+    rsgBindTexture(*(rs_program_fragment*)buf2180, *(uint*)buf2181, *(rs_allocation*)buf2182);
 #endif
 #ifndef __LP64__
     rsgClearAllRenderTargets();
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf2165, *(float*)buf2166, *(float*)buf2167, *(float*)buf2168);
+    rsgClearColor(*(float*)buf2183, *(float*)buf2184, *(float*)buf2185, *(float*)buf2186);
 #endif
 #ifndef __LP64__
-    rsgClearColorTarget(*(uint*)buf2169);
+    rsgClearColorTarget(*(uint*)buf2187);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf2170);
+    rsgClearDepth(*(float*)buf2188);
 #endif
 #ifndef __LP64__
     rsgClearDepthTarget();
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2171);
+    rsgDrawMesh(*(rs_mesh*)buf2189);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2172, *(uint*)buf2173);
+    rsgDrawMesh(*(rs_mesh*)buf2190, *(uint*)buf2191);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2174, *(uint*)buf2175, *(uint*)buf2176, *(uint*)buf2177);
+    rsgDrawMesh(*(rs_mesh*)buf2192, *(uint*)buf2193, *(uint*)buf2194, *(uint*)buf2195);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf2178, *(float*)buf2179, *(float*)buf2180, *(float*)buf2181, *(float*)buf2182, *(float*)buf2183, *(float*)buf2184, *(float*)buf2185, *(float*)buf2186, *(float*)buf2187, *(float*)buf2188, *(float*)buf2189);
+    rsgDrawQuad(*(float*)buf2196, *(float*)buf2197, *(float*)buf2198, *(float*)buf2199, *(float*)buf2200, *(float*)buf2201, *(float*)buf2202, *(float*)buf2203, *(float*)buf2204, *(float*)buf2205, *(float*)buf2206, *(float*)buf2207);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf2190, *(float*)buf2191, *(float*)buf2192, *(float*)buf2193, *(float*)buf2194, *(float*)buf2195, *(float*)buf2196, *(float*)buf2197, *(float*)buf2198, *(float*)buf2199, *(float*)buf2200, *(float*)buf2201, *(float*)buf2202, *(float*)buf2203, *(float*)buf2204, *(float*)buf2205, *(float*)buf2206, *(float*)buf2207, *(float*)buf2208, *(float*)buf2209);
+    rsgDrawQuadTexCoords(*(float*)buf2208, *(float*)buf2209, *(float*)buf2210, *(float*)buf2211, *(float*)buf2212, *(float*)buf2213, *(float*)buf2214, *(float*)buf2215, *(float*)buf2216, *(float*)buf2217, *(float*)buf2218, *(float*)buf2219, *(float*)buf2220, *(float*)buf2221, *(float*)buf2222, *(float*)buf2223, *(float*)buf2224, *(float*)buf2225, *(float*)buf2226, *(float*)buf2227);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf2210, *(float*)buf2211, *(float*)buf2212, *(float*)buf2213, *(float*)buf2214);
+    rsgDrawRect(*(float*)buf2228, *(float*)buf2229, *(float*)buf2230, *(float*)buf2231, *(float*)buf2232);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf2215, *(float*)buf2216, *(float*)buf2217, *(float*)buf2218, *(float*)buf2219);
+    rsgDrawSpriteScreenspace(*(float*)buf2233, *(float*)buf2234, *(float*)buf2235, *(float*)buf2236, *(float*)buf2237);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf2220, *(int*)buf2221, *(int*)buf2222);
+    rsgDrawText((const char*) buf2238, *(int*)buf2239, *(int*)buf2240);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf2223, *(int*)buf2224, *(int*)buf2225);
+    rsgDrawText(*(rs_allocation*)buf2241, *(int*)buf2242, *(int*)buf2243);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2226 = rsgFinish();
+    *(uint*)buf2244 = rsgFinish();
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf2227, *(float*)buf2228, *(float*)buf2229, *(float*)buf2230);
+    rsgFontColor(*(float*)buf2245, *(float*)buf2246, *(float*)buf2247, *(float*)buf2248);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2231 = rsgGetHeight();
+    *(uint*)buf2249 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf2232 = rsgGetWidth();
+    *(uint*)buf2250 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf2233, (int*) buf2234, (int*) buf2235, (int*) buf2236, (int*) buf2237);
+    rsgMeasureText((const char*) buf2251, (int*) buf2252, (int*) buf2253, (int*) buf2254, (int*) buf2255);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf2238, (int*) buf2239, (int*) buf2240, (int*) buf2241, (int*) buf2242);
+    rsgMeasureText(*(rs_allocation*)buf2256, (int*) buf2257, (int*) buf2258, (int*) buf2259, (int*) buf2260);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2243, (float*) buf2244, (float*) buf2245, (float*) buf2246, (float*) buf2247, (float*) buf2248, (float*) buf2249);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2261, (float*) buf2262, (float*) buf2263, (float*) buf2264, (float*) buf2265, (float*) buf2266, (float*) buf2267);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2250, (float3*) buf2251, (float3*) buf2252);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2268, (float3*) buf2269, (float3*) buf2270);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2253, *(float*)buf2254, *(float*)buf2255, *(float*)buf2256, *(float*)buf2257);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2271, *(float*)buf2272, *(float*)buf2273, *(float*)buf2274, *(float*)buf2275);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2258);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2276);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2259);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2277);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2260);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2278);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2261);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2279);
 #endif
-    *(float*)buf2262 = rsqrt(*(float*)buf2263);
-    *(float2*)buf2264 = rsqrt(*(float2*)buf2265);
-    *(float3*)buf2266 = rsqrt(*(float3*)buf2267);
-    *(float4*)buf2268 = rsqrt(*(float4*)buf2269);
-    *(float*)buf2270 = sign(*(float*)buf2271);
-    *(float2*)buf2272 = sign(*(float2*)buf2273);
-    *(float3*)buf2274 = sign(*(float3*)buf2275);
-    *(float4*)buf2276 = sign(*(float4*)buf2277);
-    *(float*)buf2278 = sin(*(float*)buf2279);
-    *(float2*)buf2280 = sin(*(float2*)buf2281);
-    *(float3*)buf2282 = sin(*(float3*)buf2283);
-    *(float4*)buf2284 = sin(*(float4*)buf2285);
-    *(float*)buf2286 = sincos(*(float*)buf2287, (float*) buf2288);
-    *(float2*)buf2289 = sincos(*(float2*)buf2290, (float2*) buf2291);
-    *(float3*)buf2292 = sincos(*(float3*)buf2293, (float3*) buf2294);
-    *(float4*)buf2295 = sincos(*(float4*)buf2296, (float4*) buf2297);
-    *(float*)buf2298 = sinh(*(float*)buf2299);
-    *(float2*)buf2300 = sinh(*(float2*)buf2301);
-    *(float3*)buf2302 = sinh(*(float3*)buf2303);
-    *(float4*)buf2304 = sinh(*(float4*)buf2305);
-    *(float*)buf2306 = sinpi(*(float*)buf2307);
-    *(float2*)buf2308 = sinpi(*(float2*)buf2309);
-    *(float3*)buf2310 = sinpi(*(float3*)buf2311);
-    *(float4*)buf2312 = sinpi(*(float4*)buf2313);
-    *(float*)buf2314 = sqrt(*(float*)buf2315);
-    *(float2*)buf2316 = sqrt(*(float2*)buf2317);
-    *(float3*)buf2318 = sqrt(*(float3*)buf2319);
-    *(float4*)buf2320 = sqrt(*(float4*)buf2321);
-    *(float*)buf2322 = step(*(float*)buf2323, *(float*)buf2324);
-    *(float2*)buf2325 = step(*(float2*)buf2326, *(float2*)buf2327);
-    *(float3*)buf2328 = step(*(float3*)buf2329, *(float3*)buf2330);
-    *(float4*)buf2331 = step(*(float4*)buf2332, *(float4*)buf2333);
-    *(float2*)buf2334 = step(*(float2*)buf2335, *(float*)buf2336);
-    *(float3*)buf2337 = step(*(float3*)buf2338, *(float*)buf2339);
-    *(float4*)buf2340 = step(*(float4*)buf2341, *(float*)buf2342);
-    *(float*)buf2343 = tan(*(float*)buf2344);
-    *(float2*)buf2345 = tan(*(float2*)buf2346);
-    *(float3*)buf2347 = tan(*(float3*)buf2348);
-    *(float4*)buf2349 = tan(*(float4*)buf2350);
-    *(float*)buf2351 = tanh(*(float*)buf2352);
-    *(float2*)buf2353 = tanh(*(float2*)buf2354);
-    *(float3*)buf2355 = tanh(*(float3*)buf2356);
-    *(float4*)buf2357 = tanh(*(float4*)buf2358);
-    *(float*)buf2359 = tanpi(*(float*)buf2360);
-    *(float2*)buf2361 = tanpi(*(float2*)buf2362);
-    *(float3*)buf2363 = tanpi(*(float3*)buf2364);
-    *(float4*)buf2365 = tanpi(*(float4*)buf2366);
-    *(float*)buf2367 = tgamma(*(float*)buf2368);
-    *(float2*)buf2369 = tgamma(*(float2*)buf2370);
-    *(float3*)buf2371 = tgamma(*(float3*)buf2372);
-    *(float4*)buf2373 = tgamma(*(float4*)buf2374);
-    *(float*)buf2375 = trunc(*(float*)buf2376);
-    *(float2*)buf2377 = trunc(*(float2*)buf2378);
-    *(float3*)buf2379 = trunc(*(float3*)buf2380);
-    *(float4*)buf2381 = trunc(*(float4*)buf2382);
+    *(float*)buf2280 = rsqrt(*(float*)buf2281);
+    *(float2*)buf2282 = rsqrt(*(float2*)buf2283);
+    *(float3*)buf2284 = rsqrt(*(float3*)buf2285);
+    *(float4*)buf2286 = rsqrt(*(float4*)buf2287);
+    *(float*)buf2288 = sign(*(float*)buf2289);
+    *(float2*)buf2290 = sign(*(float2*)buf2291);
+    *(float3*)buf2292 = sign(*(float3*)buf2293);
+    *(float4*)buf2294 = sign(*(float4*)buf2295);
+    *(float*)buf2296 = sin(*(float*)buf2297);
+    *(float2*)buf2298 = sin(*(float2*)buf2299);
+    *(float3*)buf2300 = sin(*(float3*)buf2301);
+    *(float4*)buf2302 = sin(*(float4*)buf2303);
+    *(float*)buf2304 = sincos(*(float*)buf2305, (float*) buf2306);
+    *(float2*)buf2307 = sincos(*(float2*)buf2308, (float2*) buf2309);
+    *(float3*)buf2310 = sincos(*(float3*)buf2311, (float3*) buf2312);
+    *(float4*)buf2313 = sincos(*(float4*)buf2314, (float4*) buf2315);
+    *(float*)buf2316 = sinh(*(float*)buf2317);
+    *(float2*)buf2318 = sinh(*(float2*)buf2319);
+    *(float3*)buf2320 = sinh(*(float3*)buf2321);
+    *(float4*)buf2322 = sinh(*(float4*)buf2323);
+    *(float*)buf2324 = sinpi(*(float*)buf2325);
+    *(float2*)buf2326 = sinpi(*(float2*)buf2327);
+    *(float3*)buf2328 = sinpi(*(float3*)buf2329);
+    *(float4*)buf2330 = sinpi(*(float4*)buf2331);
+    *(float*)buf2332 = sqrt(*(float*)buf2333);
+    *(float2*)buf2334 = sqrt(*(float2*)buf2335);
+    *(float3*)buf2336 = sqrt(*(float3*)buf2337);
+    *(float4*)buf2338 = sqrt(*(float4*)buf2339);
+    *(float*)buf2340 = step(*(float*)buf2341, *(float*)buf2342);
+    *(float2*)buf2343 = step(*(float2*)buf2344, *(float2*)buf2345);
+    *(float3*)buf2346 = step(*(float3*)buf2347, *(float3*)buf2348);
+    *(float4*)buf2349 = step(*(float4*)buf2350, *(float4*)buf2351);
+    *(float2*)buf2352 = step(*(float2*)buf2353, *(float*)buf2354);
+    *(float3*)buf2355 = step(*(float3*)buf2356, *(float*)buf2357);
+    *(float4*)buf2358 = step(*(float4*)buf2359, *(float*)buf2360);
+    *(float*)buf2361 = tan(*(float*)buf2362);
+    *(float2*)buf2363 = tan(*(float2*)buf2364);
+    *(float3*)buf2365 = tan(*(float3*)buf2366);
+    *(float4*)buf2367 = tan(*(float4*)buf2368);
+    *(float*)buf2369 = tanh(*(float*)buf2370);
+    *(float2*)buf2371 = tanh(*(float2*)buf2372);
+    *(float3*)buf2373 = tanh(*(float3*)buf2374);
+    *(float4*)buf2375 = tanh(*(float4*)buf2376);
+    *(float*)buf2377 = tanpi(*(float*)buf2378);
+    *(float2*)buf2379 = tanpi(*(float2*)buf2380);
+    *(float3*)buf2381 = tanpi(*(float3*)buf2382);
+    *(float4*)buf2383 = tanpi(*(float4*)buf2384);
+    *(float*)buf2385 = tgamma(*(float*)buf2386);
+    *(float2*)buf2387 = tgamma(*(float2*)buf2388);
+    *(float3*)buf2389 = tgamma(*(float3*)buf2390);
+    *(float4*)buf2391 = tgamma(*(float4*)buf2392);
+    *(float*)buf2393 = trunc(*(float*)buf2394);
+    *(float2*)buf2395 = trunc(*(float2*)buf2396);
+    *(float3*)buf2397 = trunc(*(float3*)buf2398);
+    *(float4*)buf2399 = trunc(*(float4*)buf2400);
 }
diff --git a/tests/P_all_api_15/all15.rs b/tests/P_all_api_15/all15.rs
index d3b930a..612e09c 100644
--- a/tests/P_all_api_15/all15.rs
+++ b/tests/P_all_api_15/all15.rs
@@ -2405,6 +2405,24 @@
 char buf2380[200];
 char buf2381[200];
 char buf2382[200];
+char buf2383[200];
+char buf2384[200];
+char buf2385[200];
+char buf2386[200];
+char buf2387[200];
+char buf2388[200];
+char buf2389[200];
+char buf2390[200];
+char buf2391[200];
+char buf2392[200];
+char buf2393[200];
+char buf2394[200];
+char buf2395[200];
+char buf2396[200];
+char buf2397[200];
+char buf2398[200];
+char buf2399[200];
+char buf2400[200];
 
 void root(const int* in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -2804,576 +2822,582 @@
     *(float2*)buf886 = max(*(float2*)buf887, *(float2*)buf888);
     *(float3*)buf889 = max(*(float3*)buf890, *(float3*)buf891);
     *(float4*)buf892 = max(*(float4*)buf893, *(float4*)buf894);
-    *(char*)buf895 = max(*(char*)buf896, *(char*)buf897);
-    *(uchar*)buf898 = max(*(uchar*)buf899, *(uchar*)buf900);
-    *(short*)buf901 = max(*(short*)buf902, *(short*)buf903);
-    *(ushort*)buf904 = max(*(ushort*)buf905, *(ushort*)buf906);
-    *(int*)buf907 = max(*(int*)buf908, *(int*)buf909);
-    *(uint*)buf910 = max(*(uint*)buf911, *(uint*)buf912);
-    *(char2*)buf913 = max(*(char2*)buf914, *(char2*)buf915);
-    *(uchar2*)buf916 = max(*(uchar2*)buf917, *(uchar2*)buf918);
-    *(short2*)buf919 = max(*(short2*)buf920, *(short2*)buf921);
-    *(ushort2*)buf922 = max(*(ushort2*)buf923, *(ushort2*)buf924);
-    *(int2*)buf925 = max(*(int2*)buf926, *(int2*)buf927);
-    *(uint2*)buf928 = max(*(uint2*)buf929, *(uint2*)buf930);
-    *(char3*)buf931 = max(*(char3*)buf932, *(char3*)buf933);
-    *(uchar3*)buf934 = max(*(uchar3*)buf935, *(uchar3*)buf936);
-    *(short3*)buf937 = max(*(short3*)buf938, *(short3*)buf939);
-    *(ushort3*)buf940 = max(*(ushort3*)buf941, *(ushort3*)buf942);
-    *(int3*)buf943 = max(*(int3*)buf944, *(int3*)buf945);
-    *(uint3*)buf946 = max(*(uint3*)buf947, *(uint3*)buf948);
-    *(char4*)buf949 = max(*(char4*)buf950, *(char4*)buf951);
-    *(uchar4*)buf952 = max(*(uchar4*)buf953, *(uchar4*)buf954);
-    *(short4*)buf955 = max(*(short4*)buf956, *(short4*)buf957);
-    *(ushort4*)buf958 = max(*(ushort4*)buf959, *(ushort4*)buf960);
-    *(int4*)buf961 = max(*(int4*)buf962, *(int4*)buf963);
-    *(uint4*)buf964 = max(*(uint4*)buf965, *(uint4*)buf966);
-    *(float*)buf967 = min(*(float*)buf968, *(float*)buf969);
-    *(float2*)buf970 = min(*(float2*)buf971, *(float2*)buf972);
-    *(float3*)buf973 = min(*(float3*)buf974, *(float3*)buf975);
-    *(float4*)buf976 = min(*(float4*)buf977, *(float4*)buf978);
-    *(char*)buf979 = min(*(char*)buf980, *(char*)buf981);
-    *(uchar*)buf982 = min(*(uchar*)buf983, *(uchar*)buf984);
-    *(short*)buf985 = min(*(short*)buf986, *(short*)buf987);
-    *(ushort*)buf988 = min(*(ushort*)buf989, *(ushort*)buf990);
-    *(int*)buf991 = min(*(int*)buf992, *(int*)buf993);
-    *(uint*)buf994 = min(*(uint*)buf995, *(uint*)buf996);
-    *(char2*)buf997 = min(*(char2*)buf998, *(char2*)buf999);
-    *(uchar2*)buf1000 = min(*(uchar2*)buf1001, *(uchar2*)buf1002);
-    *(short2*)buf1003 = min(*(short2*)buf1004, *(short2*)buf1005);
-    *(ushort2*)buf1006 = min(*(ushort2*)buf1007, *(ushort2*)buf1008);
-    *(int2*)buf1009 = min(*(int2*)buf1010, *(int2*)buf1011);
-    *(uint2*)buf1012 = min(*(uint2*)buf1013, *(uint2*)buf1014);
-    *(char3*)buf1015 = min(*(char3*)buf1016, *(char3*)buf1017);
-    *(uchar3*)buf1018 = min(*(uchar3*)buf1019, *(uchar3*)buf1020);
-    *(short3*)buf1021 = min(*(short3*)buf1022, *(short3*)buf1023);
-    *(ushort3*)buf1024 = min(*(ushort3*)buf1025, *(ushort3*)buf1026);
-    *(int3*)buf1027 = min(*(int3*)buf1028, *(int3*)buf1029);
-    *(uint3*)buf1030 = min(*(uint3*)buf1031, *(uint3*)buf1032);
-    *(char4*)buf1033 = min(*(char4*)buf1034, *(char4*)buf1035);
-    *(uchar4*)buf1036 = min(*(uchar4*)buf1037, *(uchar4*)buf1038);
-    *(short4*)buf1039 = min(*(short4*)buf1040, *(short4*)buf1041);
-    *(ushort4*)buf1042 = min(*(ushort4*)buf1043, *(ushort4*)buf1044);
-    *(int4*)buf1045 = min(*(int4*)buf1046, *(int4*)buf1047);
-    *(uint4*)buf1048 = min(*(uint4*)buf1049, *(uint4*)buf1050);
-    *(float*)buf1051 = mix(*(float*)buf1052, *(float*)buf1053, *(float*)buf1054);
-    *(float2*)buf1055 = mix(*(float2*)buf1056, *(float2*)buf1057, *(float2*)buf1058);
-    *(float3*)buf1059 = mix(*(float3*)buf1060, *(float3*)buf1061, *(float3*)buf1062);
-    *(float4*)buf1063 = mix(*(float4*)buf1064, *(float4*)buf1065, *(float4*)buf1066);
-    *(float2*)buf1067 = mix(*(float2*)buf1068, *(float2*)buf1069, *(float*)buf1070);
-    *(float3*)buf1071 = mix(*(float3*)buf1072, *(float3*)buf1073, *(float*)buf1074);
-    *(float4*)buf1075 = mix(*(float4*)buf1076, *(float4*)buf1077, *(float*)buf1078);
-    *(float*)buf1079 = modf(*(float*)buf1080, (float*) buf1081);
-    *(float2*)buf1082 = modf(*(float2*)buf1083, (float2*) buf1084);
-    *(float3*)buf1085 = modf(*(float3*)buf1086, (float3*) buf1087);
-    *(float4*)buf1088 = modf(*(float4*)buf1089, (float4*) buf1090);
-    *(float*)buf1091 = nan(*(uint*)buf1092);
-    *(float*)buf1093 = nextafter(*(float*)buf1094, *(float*)buf1095);
-    *(float2*)buf1096 = nextafter(*(float2*)buf1097, *(float2*)buf1098);
-    *(float3*)buf1099 = nextafter(*(float3*)buf1100, *(float3*)buf1101);
-    *(float4*)buf1102 = nextafter(*(float4*)buf1103, *(float4*)buf1104);
-    *(float*)buf1105 = normalize(*(float*)buf1106);
-    *(float2*)buf1107 = normalize(*(float2*)buf1108);
-    *(float3*)buf1109 = normalize(*(float3*)buf1110);
-    *(float4*)buf1111 = normalize(*(float4*)buf1112);
-    *(float*)buf1113 = pow(*(float*)buf1114, *(float*)buf1115);
-    *(float2*)buf1116 = pow(*(float2*)buf1117, *(float2*)buf1118);
-    *(float3*)buf1119 = pow(*(float3*)buf1120, *(float3*)buf1121);
-    *(float4*)buf1122 = pow(*(float4*)buf1123, *(float4*)buf1124);
-    *(float*)buf1125 = pown(*(float*)buf1126, *(int*)buf1127);
-    *(float2*)buf1128 = pown(*(float2*)buf1129, *(int2*)buf1130);
-    *(float3*)buf1131 = pown(*(float3*)buf1132, *(int3*)buf1133);
-    *(float4*)buf1134 = pown(*(float4*)buf1135, *(int4*)buf1136);
-    *(float*)buf1137 = powr(*(float*)buf1138, *(float*)buf1139);
-    *(float2*)buf1140 = powr(*(float2*)buf1141, *(float2*)buf1142);
-    *(float3*)buf1143 = powr(*(float3*)buf1144, *(float3*)buf1145);
-    *(float4*)buf1146 = powr(*(float4*)buf1147, *(float4*)buf1148);
-    *(float*)buf1149 = radians(*(float*)buf1150);
-    *(float2*)buf1151 = radians(*(float2*)buf1152);
-    *(float3*)buf1153 = radians(*(float3*)buf1154);
-    *(float4*)buf1155 = radians(*(float4*)buf1156);
-    *(float*)buf1157 = remainder(*(float*)buf1158, *(float*)buf1159);
-    *(float2*)buf1160 = remainder(*(float2*)buf1161, *(float2*)buf1162);
-    *(float3*)buf1163 = remainder(*(float3*)buf1164, *(float3*)buf1165);
-    *(float4*)buf1166 = remainder(*(float4*)buf1167, *(float4*)buf1168);
-    *(float*)buf1169 = remquo(*(float*)buf1170, *(float*)buf1171, (int*) buf1172);
-    *(float2*)buf1173 = remquo(*(float2*)buf1174, *(float2*)buf1175, (int2*) buf1176);
-    *(float3*)buf1177 = remquo(*(float3*)buf1178, *(float3*)buf1179, (int3*) buf1180);
-    *(float4*)buf1181 = remquo(*(float4*)buf1182, *(float4*)buf1183, (int4*) buf1184);
-    *(float*)buf1185 = rint(*(float*)buf1186);
-    *(float2*)buf1187 = rint(*(float2*)buf1188);
-    *(float3*)buf1189 = rint(*(float3*)buf1190);
-    *(float4*)buf1191 = rint(*(float4*)buf1192);
-    *(float*)buf1193 = rootn(*(float*)buf1194, *(int*)buf1195);
-    *(float2*)buf1196 = rootn(*(float2*)buf1197, *(int2*)buf1198);
-    *(float3*)buf1199 = rootn(*(float3*)buf1200, *(int3*)buf1201);
-    *(float4*)buf1202 = rootn(*(float4*)buf1203, *(int4*)buf1204);
-    *(float*)buf1205 = round(*(float*)buf1206);
-    *(float2*)buf1207 = round(*(float2*)buf1208);
-    *(float3*)buf1209 = round(*(float3*)buf1210);
-    *(float4*)buf1211 = round(*(float4*)buf1212);
-    rsAllocationCopy1DRange(*(rs_allocation*)buf1213, *(uint32_t*)buf1214, *(uint32_t*)buf1215, *(uint32_t*)buf1216, *(rs_allocation*)buf1217, *(uint32_t*)buf1218, *(uint32_t*)buf1219);
-    rsAllocationCopy2DRange(*(rs_allocation*)buf1220, *(uint32_t*)buf1221, *(uint32_t*)buf1222, *(uint32_t*)buf1223, *(rs_allocation_cubemap_face*)buf1224, *(uint32_t*)buf1225, *(uint32_t*)buf1226, *(rs_allocation*)buf1227, *(uint32_t*)buf1228, *(uint32_t*)buf1229, *(uint32_t*)buf1230, *(rs_allocation_cubemap_face*)buf1231);
-    *(uint32_t*)buf1232 = rsAllocationGetDimFaces(*(rs_allocation*)buf1233);
-    *(uint32_t*)buf1234 = rsAllocationGetDimLOD(*(rs_allocation*)buf1235);
-    *(uint32_t*)buf1236 = rsAllocationGetDimX(*(rs_allocation*)buf1237);
-    *(uint32_t*)buf1238 = rsAllocationGetDimY(*(rs_allocation*)buf1239);
-    *(uint32_t*)buf1240 = rsAllocationGetDimZ(*(rs_allocation*)buf1241);
-    *(rs_element*)buf1242 = rsAllocationGetElement(*(rs_allocation*)buf1243);
-    *(int32_t*)buf1244 = rsAtomicAdd((volatile int32_t*) buf1245, *(int32_t*)buf1246);
-    *(int32_t*)buf1247 = rsAtomicAnd((volatile int32_t*) buf1248, *(int32_t*)buf1249);
-    *(int32_t*)buf1250 = rsAtomicCas((volatile int32_t*) buf1251, *(int32_t*)buf1252, *(int32_t*)buf1253);
-    *(uint32_t*)buf1254 = rsAtomicCas((volatile uint32_t*) buf1255, *(uint32_t*)buf1256, *(uint32_t*)buf1257);
-    *(int32_t*)buf1258 = rsAtomicDec((volatile int32_t*) buf1259);
-    *(int32_t*)buf1260 = rsAtomicInc((volatile int32_t*) buf1261);
-    *(uint32_t*)buf1262 = rsAtomicMax((volatile uint32_t*) buf1263, *(uint32_t*)buf1264);
-    *(int32_t*)buf1265 = rsAtomicMax((volatile int32_t*) buf1266, *(int32_t*)buf1267);
-    *(uint32_t*)buf1268 = rsAtomicMin((volatile uint32_t*) buf1269, *(uint32_t*)buf1270);
-    *(int32_t*)buf1271 = rsAtomicMin((volatile int32_t*) buf1272, *(int32_t*)buf1273);
-    *(int32_t*)buf1274 = rsAtomicOr((volatile int32_t*) buf1275, *(int32_t*)buf1276);
-    *(int32_t*)buf1277 = rsAtomicSub((volatile int32_t*) buf1278, *(int32_t*)buf1279);
-    *(int32_t*)buf1280 = rsAtomicXor((volatile int32_t*) buf1281, *(int32_t*)buf1282);
-    *(char*)buf1283 = rsClamp(*(char*)buf1284, *(char*)buf1285, *(char*)buf1286);
-    *(uchar*)buf1287 = rsClamp(*(uchar*)buf1288, *(uchar*)buf1289, *(uchar*)buf1290);
-    *(short*)buf1291 = rsClamp(*(short*)buf1292, *(short*)buf1293, *(short*)buf1294);
-    *(ushort*)buf1295 = rsClamp(*(ushort*)buf1296, *(ushort*)buf1297, *(ushort*)buf1298);
-    *(int*)buf1299 = rsClamp(*(int*)buf1300, *(int*)buf1301, *(int*)buf1302);
-    *(uint*)buf1303 = rsClamp(*(uint*)buf1304, *(uint*)buf1305, *(uint*)buf1306);
-    rsClearObject((rs_element*) buf1307);
-    rsClearObject((rs_type*) buf1308);
-    rsClearObject((rs_allocation*) buf1309);
-    rsClearObject((rs_sampler*) buf1310);
-    rsClearObject((rs_script*) buf1311);
+    *(float2*)buf895 = max(*(float2*)buf896, *(float*)buf897);
+    *(float3*)buf898 = max(*(float3*)buf899, *(float*)buf900);
+    *(float4*)buf901 = max(*(float4*)buf902, *(float*)buf903);
+    *(char*)buf904 = max(*(char*)buf905, *(char*)buf906);
+    *(uchar*)buf907 = max(*(uchar*)buf908, *(uchar*)buf909);
+    *(short*)buf910 = max(*(short*)buf911, *(short*)buf912);
+    *(ushort*)buf913 = max(*(ushort*)buf914, *(ushort*)buf915);
+    *(int*)buf916 = max(*(int*)buf917, *(int*)buf918);
+    *(uint*)buf919 = max(*(uint*)buf920, *(uint*)buf921);
+    *(char2*)buf922 = max(*(char2*)buf923, *(char2*)buf924);
+    *(uchar2*)buf925 = max(*(uchar2*)buf926, *(uchar2*)buf927);
+    *(short2*)buf928 = max(*(short2*)buf929, *(short2*)buf930);
+    *(ushort2*)buf931 = max(*(ushort2*)buf932, *(ushort2*)buf933);
+    *(int2*)buf934 = max(*(int2*)buf935, *(int2*)buf936);
+    *(uint2*)buf937 = max(*(uint2*)buf938, *(uint2*)buf939);
+    *(char3*)buf940 = max(*(char3*)buf941, *(char3*)buf942);
+    *(uchar3*)buf943 = max(*(uchar3*)buf944, *(uchar3*)buf945);
+    *(short3*)buf946 = max(*(short3*)buf947, *(short3*)buf948);
+    *(ushort3*)buf949 = max(*(ushort3*)buf950, *(ushort3*)buf951);
+    *(int3*)buf952 = max(*(int3*)buf953, *(int3*)buf954);
+    *(uint3*)buf955 = max(*(uint3*)buf956, *(uint3*)buf957);
+    *(char4*)buf958 = max(*(char4*)buf959, *(char4*)buf960);
+    *(uchar4*)buf961 = max(*(uchar4*)buf962, *(uchar4*)buf963);
+    *(short4*)buf964 = max(*(short4*)buf965, *(short4*)buf966);
+    *(ushort4*)buf967 = max(*(ushort4*)buf968, *(ushort4*)buf969);
+    *(int4*)buf970 = max(*(int4*)buf971, *(int4*)buf972);
+    *(uint4*)buf973 = max(*(uint4*)buf974, *(uint4*)buf975);
+    *(float*)buf976 = min(*(float*)buf977, *(float*)buf978);
+    *(float2*)buf979 = min(*(float2*)buf980, *(float2*)buf981);
+    *(float3*)buf982 = min(*(float3*)buf983, *(float3*)buf984);
+    *(float4*)buf985 = min(*(float4*)buf986, *(float4*)buf987);
+    *(float2*)buf988 = min(*(float2*)buf989, *(float*)buf990);
+    *(float3*)buf991 = min(*(float3*)buf992, *(float*)buf993);
+    *(float4*)buf994 = min(*(float4*)buf995, *(float*)buf996);
+    *(char*)buf997 = min(*(char*)buf998, *(char*)buf999);
+    *(uchar*)buf1000 = min(*(uchar*)buf1001, *(uchar*)buf1002);
+    *(short*)buf1003 = min(*(short*)buf1004, *(short*)buf1005);
+    *(ushort*)buf1006 = min(*(ushort*)buf1007, *(ushort*)buf1008);
+    *(int*)buf1009 = min(*(int*)buf1010, *(int*)buf1011);
+    *(uint*)buf1012 = min(*(uint*)buf1013, *(uint*)buf1014);
+    *(char2*)buf1015 = min(*(char2*)buf1016, *(char2*)buf1017);
+    *(uchar2*)buf1018 = min(*(uchar2*)buf1019, *(uchar2*)buf1020);
+    *(short2*)buf1021 = min(*(short2*)buf1022, *(short2*)buf1023);
+    *(ushort2*)buf1024 = min(*(ushort2*)buf1025, *(ushort2*)buf1026);
+    *(int2*)buf1027 = min(*(int2*)buf1028, *(int2*)buf1029);
+    *(uint2*)buf1030 = min(*(uint2*)buf1031, *(uint2*)buf1032);
+    *(char3*)buf1033 = min(*(char3*)buf1034, *(char3*)buf1035);
+    *(uchar3*)buf1036 = min(*(uchar3*)buf1037, *(uchar3*)buf1038);
+    *(short3*)buf1039 = min(*(short3*)buf1040, *(short3*)buf1041);
+    *(ushort3*)buf1042 = min(*(ushort3*)buf1043, *(ushort3*)buf1044);
+    *(int3*)buf1045 = min(*(int3*)buf1046, *(int3*)buf1047);
+    *(uint3*)buf1048 = min(*(uint3*)buf1049, *(uint3*)buf1050);
+    *(char4*)buf1051 = min(*(char4*)buf1052, *(char4*)buf1053);
+    *(uchar4*)buf1054 = min(*(uchar4*)buf1055, *(uchar4*)buf1056);
+    *(short4*)buf1057 = min(*(short4*)buf1058, *(short4*)buf1059);
+    *(ushort4*)buf1060 = min(*(ushort4*)buf1061, *(ushort4*)buf1062);
+    *(int4*)buf1063 = min(*(int4*)buf1064, *(int4*)buf1065);
+    *(uint4*)buf1066 = min(*(uint4*)buf1067, *(uint4*)buf1068);
+    *(float*)buf1069 = mix(*(float*)buf1070, *(float*)buf1071, *(float*)buf1072);
+    *(float2*)buf1073 = mix(*(float2*)buf1074, *(float2*)buf1075, *(float2*)buf1076);
+    *(float3*)buf1077 = mix(*(float3*)buf1078, *(float3*)buf1079, *(float3*)buf1080);
+    *(float4*)buf1081 = mix(*(float4*)buf1082, *(float4*)buf1083, *(float4*)buf1084);
+    *(float2*)buf1085 = mix(*(float2*)buf1086, *(float2*)buf1087, *(float*)buf1088);
+    *(float3*)buf1089 = mix(*(float3*)buf1090, *(float3*)buf1091, *(float*)buf1092);
+    *(float4*)buf1093 = mix(*(float4*)buf1094, *(float4*)buf1095, *(float*)buf1096);
+    *(float*)buf1097 = modf(*(float*)buf1098, (float*) buf1099);
+    *(float2*)buf1100 = modf(*(float2*)buf1101, (float2*) buf1102);
+    *(float3*)buf1103 = modf(*(float3*)buf1104, (float3*) buf1105);
+    *(float4*)buf1106 = modf(*(float4*)buf1107, (float4*) buf1108);
+    *(float*)buf1109 = nan(*(uint*)buf1110);
+    *(float*)buf1111 = nextafter(*(float*)buf1112, *(float*)buf1113);
+    *(float2*)buf1114 = nextafter(*(float2*)buf1115, *(float2*)buf1116);
+    *(float3*)buf1117 = nextafter(*(float3*)buf1118, *(float3*)buf1119);
+    *(float4*)buf1120 = nextafter(*(float4*)buf1121, *(float4*)buf1122);
+    *(float*)buf1123 = normalize(*(float*)buf1124);
+    *(float2*)buf1125 = normalize(*(float2*)buf1126);
+    *(float3*)buf1127 = normalize(*(float3*)buf1128);
+    *(float4*)buf1129 = normalize(*(float4*)buf1130);
+    *(float*)buf1131 = pow(*(float*)buf1132, *(float*)buf1133);
+    *(float2*)buf1134 = pow(*(float2*)buf1135, *(float2*)buf1136);
+    *(float3*)buf1137 = pow(*(float3*)buf1138, *(float3*)buf1139);
+    *(float4*)buf1140 = pow(*(float4*)buf1141, *(float4*)buf1142);
+    *(float*)buf1143 = pown(*(float*)buf1144, *(int*)buf1145);
+    *(float2*)buf1146 = pown(*(float2*)buf1147, *(int2*)buf1148);
+    *(float3*)buf1149 = pown(*(float3*)buf1150, *(int3*)buf1151);
+    *(float4*)buf1152 = pown(*(float4*)buf1153, *(int4*)buf1154);
+    *(float*)buf1155 = powr(*(float*)buf1156, *(float*)buf1157);
+    *(float2*)buf1158 = powr(*(float2*)buf1159, *(float2*)buf1160);
+    *(float3*)buf1161 = powr(*(float3*)buf1162, *(float3*)buf1163);
+    *(float4*)buf1164 = powr(*(float4*)buf1165, *(float4*)buf1166);
+    *(float*)buf1167 = radians(*(float*)buf1168);
+    *(float2*)buf1169 = radians(*(float2*)buf1170);
+    *(float3*)buf1171 = radians(*(float3*)buf1172);
+    *(float4*)buf1173 = radians(*(float4*)buf1174);
+    *(float*)buf1175 = remainder(*(float*)buf1176, *(float*)buf1177);
+    *(float2*)buf1178 = remainder(*(float2*)buf1179, *(float2*)buf1180);
+    *(float3*)buf1181 = remainder(*(float3*)buf1182, *(float3*)buf1183);
+    *(float4*)buf1184 = remainder(*(float4*)buf1185, *(float4*)buf1186);
+    *(float*)buf1187 = remquo(*(float*)buf1188, *(float*)buf1189, (int*) buf1190);
+    *(float2*)buf1191 = remquo(*(float2*)buf1192, *(float2*)buf1193, (int2*) buf1194);
+    *(float3*)buf1195 = remquo(*(float3*)buf1196, *(float3*)buf1197, (int3*) buf1198);
+    *(float4*)buf1199 = remquo(*(float4*)buf1200, *(float4*)buf1201, (int4*) buf1202);
+    *(float*)buf1203 = rint(*(float*)buf1204);
+    *(float2*)buf1205 = rint(*(float2*)buf1206);
+    *(float3*)buf1207 = rint(*(float3*)buf1208);
+    *(float4*)buf1209 = rint(*(float4*)buf1210);
+    *(float*)buf1211 = rootn(*(float*)buf1212, *(int*)buf1213);
+    *(float2*)buf1214 = rootn(*(float2*)buf1215, *(int2*)buf1216);
+    *(float3*)buf1217 = rootn(*(float3*)buf1218, *(int3*)buf1219);
+    *(float4*)buf1220 = rootn(*(float4*)buf1221, *(int4*)buf1222);
+    *(float*)buf1223 = round(*(float*)buf1224);
+    *(float2*)buf1225 = round(*(float2*)buf1226);
+    *(float3*)buf1227 = round(*(float3*)buf1228);
+    *(float4*)buf1229 = round(*(float4*)buf1230);
+    rsAllocationCopy1DRange(*(rs_allocation*)buf1231, *(uint32_t*)buf1232, *(uint32_t*)buf1233, *(uint32_t*)buf1234, *(rs_allocation*)buf1235, *(uint32_t*)buf1236, *(uint32_t*)buf1237);
+    rsAllocationCopy2DRange(*(rs_allocation*)buf1238, *(uint32_t*)buf1239, *(uint32_t*)buf1240, *(uint32_t*)buf1241, *(rs_allocation_cubemap_face*)buf1242, *(uint32_t*)buf1243, *(uint32_t*)buf1244, *(rs_allocation*)buf1245, *(uint32_t*)buf1246, *(uint32_t*)buf1247, *(uint32_t*)buf1248, *(rs_allocation_cubemap_face*)buf1249);
+    *(uint32_t*)buf1250 = rsAllocationGetDimFaces(*(rs_allocation*)buf1251);
+    *(uint32_t*)buf1252 = rsAllocationGetDimLOD(*(rs_allocation*)buf1253);
+    *(uint32_t*)buf1254 = rsAllocationGetDimX(*(rs_allocation*)buf1255);
+    *(uint32_t*)buf1256 = rsAllocationGetDimY(*(rs_allocation*)buf1257);
+    *(uint32_t*)buf1258 = rsAllocationGetDimZ(*(rs_allocation*)buf1259);
+    *(rs_element*)buf1260 = rsAllocationGetElement(*(rs_allocation*)buf1261);
+    *(int32_t*)buf1262 = rsAtomicAdd((volatile int32_t*) buf1263, *(int32_t*)buf1264);
+    *(int32_t*)buf1265 = rsAtomicAnd((volatile int32_t*) buf1266, *(int32_t*)buf1267);
+    *(int32_t*)buf1268 = rsAtomicCas((volatile int32_t*) buf1269, *(int32_t*)buf1270, *(int32_t*)buf1271);
+    *(uint32_t*)buf1272 = rsAtomicCas((volatile uint32_t*) buf1273, *(uint32_t*)buf1274, *(uint32_t*)buf1275);
+    *(int32_t*)buf1276 = rsAtomicDec((volatile int32_t*) buf1277);
+    *(int32_t*)buf1278 = rsAtomicInc((volatile int32_t*) buf1279);
+    *(uint32_t*)buf1280 = rsAtomicMax((volatile uint32_t*) buf1281, *(uint32_t*)buf1282);
+    *(int32_t*)buf1283 = rsAtomicMax((volatile int32_t*) buf1284, *(int32_t*)buf1285);
+    *(uint32_t*)buf1286 = rsAtomicMin((volatile uint32_t*) buf1287, *(uint32_t*)buf1288);
+    *(int32_t*)buf1289 = rsAtomicMin((volatile int32_t*) buf1290, *(int32_t*)buf1291);
+    *(int32_t*)buf1292 = rsAtomicOr((volatile int32_t*) buf1293, *(int32_t*)buf1294);
+    *(int32_t*)buf1295 = rsAtomicSub((volatile int32_t*) buf1296, *(int32_t*)buf1297);
+    *(int32_t*)buf1298 = rsAtomicXor((volatile int32_t*) buf1299, *(int32_t*)buf1300);
+    *(char*)buf1301 = rsClamp(*(char*)buf1302, *(char*)buf1303, *(char*)buf1304);
+    *(uchar*)buf1305 = rsClamp(*(uchar*)buf1306, *(uchar*)buf1307, *(uchar*)buf1308);
+    *(short*)buf1309 = rsClamp(*(short*)buf1310, *(short*)buf1311, *(short*)buf1312);
+    *(ushort*)buf1313 = rsClamp(*(ushort*)buf1314, *(ushort*)buf1315, *(ushort*)buf1316);
+    *(int*)buf1317 = rsClamp(*(int*)buf1318, *(int*)buf1319, *(int*)buf1320);
+    *(uint*)buf1321 = rsClamp(*(uint*)buf1322, *(uint*)buf1323, *(uint*)buf1324);
+    rsClearObject((rs_element*) buf1325);
+    rsClearObject((rs_type*) buf1326);
+    rsClearObject((rs_allocation*) buf1327);
+    rsClearObject((rs_sampler*) buf1328);
+    rsClearObject((rs_script*) buf1329);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf1312);
-    rsClearObject((rs_program_fragment*) buf1313);
-    rsClearObject((rs_program_vertex*) buf1314);
-    rsClearObject((rs_program_raster*) buf1315);
-    rsClearObject((rs_program_store*) buf1316);
-    rsClearObject((rs_font*) buf1317);
+    rsClearObject((rs_mesh*) buf1330);
+    rsClearObject((rs_program_fragment*) buf1331);
+    rsClearObject((rs_program_vertex*) buf1332);
+    rsClearObject((rs_program_raster*) buf1333);
+    rsClearObject((rs_program_store*) buf1334);
+    rsClearObject((rs_font*) buf1335);
 #endif
-    rsDebug((const char*) buf1318, *(double*)buf1319);
-    rsDebug((const char*) buf1320, *(int*)buf1321);
-    rsDebug((const char*) buf1322, *(uint*)buf1323);
-    rsDebug((const char*) buf1324, *(long*)buf1325);
-    rsDebug((const char*) buf1326, *(ulong*)buf1327);
-    rsDebug((const char*) buf1328, *(float*)buf1329);
-    rsDebug((const char*) buf1330, *(float2*)buf1331);
-    rsDebug((const char*) buf1332, *(float3*)buf1333);
-    rsDebug((const char*) buf1334, *(float4*)buf1335);
-    rsDebug((const char*) buf1336, *(float*)buf1337, *(float*)buf1338);
-    rsDebug((const char*) buf1339, *(float*)buf1340, *(float*)buf1341, *(float*)buf1342);
-    rsDebug((const char*) buf1343, *(float*)buf1344, *(float*)buf1345, *(float*)buf1346, *(float*)buf1347);
-    rsDebug((const char*) buf1348, *(long long*)buf1349);
-    rsDebug((const char*) buf1350, *(unsigned long long*)buf1351);
-    rsDebug((const char*) buf1352, (const void*) buf1353);
-    rsDebug((const char*) buf1354, (const rs_matrix4x4*) buf1355);
-    rsDebug((const char*) buf1356, (const rs_matrix3x3*) buf1357);
-    rsDebug((const char*) buf1358, (const rs_matrix2x2*) buf1359);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1360, (float4*) buf1361, (float4*) buf1362, (float4*) buf1363, (float4*) buf1364, (float4*) buf1365, (float4*) buf1366);
-    rsForEach(*(rs_script*)buf1367, *(rs_allocation*)buf1368, *(rs_allocation*)buf1369, (const void*) buf1370, *(size_t*)buf1371, (const rs_script_call_t*) buf1372);
-    rsForEach(*(rs_script*)buf1373, *(rs_allocation*)buf1374, *(rs_allocation*)buf1375, (const void*) buf1376, *(size_t*)buf1377);
-    rsForEach(*(rs_script*)buf1378, *(rs_allocation*)buf1379, *(rs_allocation*)buf1380);
-    *(float*)buf1381 = rsFrac(*(float*)buf1382);
-    *(rs_allocation*)buf1383 = rsGetAllocation((const void*) buf1384);
-    *(float*)buf1385 = rsGetDt();
-    *(const void**)buf1386 = rsGetElementAt(*(rs_allocation*)buf1387, *(uint32_t*)buf1388);
-    *(const void**)buf1389 = rsGetElementAt(*(rs_allocation*)buf1390, *(uint32_t*)buf1391, *(uint32_t*)buf1392);
-    *(const void**)buf1393 = rsGetElementAt(*(rs_allocation*)buf1394, *(uint32_t*)buf1395, *(uint32_t*)buf1396, *(uint32_t*)buf1397);
-    *(float*)buf1398 = rsGetElementAt_float(*(rs_allocation*)buf1399, *(uint32_t*)buf1400);
-    *(float2*)buf1401 = rsGetElementAt_float2(*(rs_allocation*)buf1402, *(uint32_t*)buf1403);
-    *(float3*)buf1404 = rsGetElementAt_float3(*(rs_allocation*)buf1405, *(uint32_t*)buf1406);
-    *(float4*)buf1407 = rsGetElementAt_float4(*(rs_allocation*)buf1408, *(uint32_t*)buf1409);
-    *(double*)buf1410 = rsGetElementAt_double(*(rs_allocation*)buf1411, *(uint32_t*)buf1412);
-    *(double2*)buf1413 = rsGetElementAt_double2(*(rs_allocation*)buf1414, *(uint32_t*)buf1415);
-    *(double3*)buf1416 = rsGetElementAt_double3(*(rs_allocation*)buf1417, *(uint32_t*)buf1418);
-    *(double4*)buf1419 = rsGetElementAt_double4(*(rs_allocation*)buf1420, *(uint32_t*)buf1421);
-    *(char*)buf1422 = rsGetElementAt_char(*(rs_allocation*)buf1423, *(uint32_t*)buf1424);
-    *(char2*)buf1425 = rsGetElementAt_char2(*(rs_allocation*)buf1426, *(uint32_t*)buf1427);
-    *(char3*)buf1428 = rsGetElementAt_char3(*(rs_allocation*)buf1429, *(uint32_t*)buf1430);
-    *(char4*)buf1431 = rsGetElementAt_char4(*(rs_allocation*)buf1432, *(uint32_t*)buf1433);
-    *(uchar*)buf1434 = rsGetElementAt_uchar(*(rs_allocation*)buf1435, *(uint32_t*)buf1436);
-    *(uchar2*)buf1437 = rsGetElementAt_uchar2(*(rs_allocation*)buf1438, *(uint32_t*)buf1439);
-    *(uchar3*)buf1440 = rsGetElementAt_uchar3(*(rs_allocation*)buf1441, *(uint32_t*)buf1442);
-    *(uchar4*)buf1443 = rsGetElementAt_uchar4(*(rs_allocation*)buf1444, *(uint32_t*)buf1445);
-    *(short*)buf1446 = rsGetElementAt_short(*(rs_allocation*)buf1447, *(uint32_t*)buf1448);
-    *(short2*)buf1449 = rsGetElementAt_short2(*(rs_allocation*)buf1450, *(uint32_t*)buf1451);
-    *(short3*)buf1452 = rsGetElementAt_short3(*(rs_allocation*)buf1453, *(uint32_t*)buf1454);
-    *(short4*)buf1455 = rsGetElementAt_short4(*(rs_allocation*)buf1456, *(uint32_t*)buf1457);
-    *(ushort*)buf1458 = rsGetElementAt_ushort(*(rs_allocation*)buf1459, *(uint32_t*)buf1460);
-    *(ushort2*)buf1461 = rsGetElementAt_ushort2(*(rs_allocation*)buf1462, *(uint32_t*)buf1463);
-    *(ushort3*)buf1464 = rsGetElementAt_ushort3(*(rs_allocation*)buf1465, *(uint32_t*)buf1466);
-    *(ushort4*)buf1467 = rsGetElementAt_ushort4(*(rs_allocation*)buf1468, *(uint32_t*)buf1469);
-    *(int*)buf1470 = rsGetElementAt_int(*(rs_allocation*)buf1471, *(uint32_t*)buf1472);
-    *(int2*)buf1473 = rsGetElementAt_int2(*(rs_allocation*)buf1474, *(uint32_t*)buf1475);
-    *(int3*)buf1476 = rsGetElementAt_int3(*(rs_allocation*)buf1477, *(uint32_t*)buf1478);
-    *(int4*)buf1479 = rsGetElementAt_int4(*(rs_allocation*)buf1480, *(uint32_t*)buf1481);
-    *(uint*)buf1482 = rsGetElementAt_uint(*(rs_allocation*)buf1483, *(uint32_t*)buf1484);
-    *(uint2*)buf1485 = rsGetElementAt_uint2(*(rs_allocation*)buf1486, *(uint32_t*)buf1487);
-    *(uint3*)buf1488 = rsGetElementAt_uint3(*(rs_allocation*)buf1489, *(uint32_t*)buf1490);
-    *(uint4*)buf1491 = rsGetElementAt_uint4(*(rs_allocation*)buf1492, *(uint32_t*)buf1493);
-    *(long*)buf1494 = rsGetElementAt_long(*(rs_allocation*)buf1495, *(uint32_t*)buf1496);
-    *(long2*)buf1497 = rsGetElementAt_long2(*(rs_allocation*)buf1498, *(uint32_t*)buf1499);
-    *(long3*)buf1500 = rsGetElementAt_long3(*(rs_allocation*)buf1501, *(uint32_t*)buf1502);
-    *(long4*)buf1503 = rsGetElementAt_long4(*(rs_allocation*)buf1504, *(uint32_t*)buf1505);
-    *(ulong*)buf1506 = rsGetElementAt_ulong(*(rs_allocation*)buf1507, *(uint32_t*)buf1508);
-    *(ulong2*)buf1509 = rsGetElementAt_ulong2(*(rs_allocation*)buf1510, *(uint32_t*)buf1511);
-    *(ulong3*)buf1512 = rsGetElementAt_ulong3(*(rs_allocation*)buf1513, *(uint32_t*)buf1514);
-    *(ulong4*)buf1515 = rsGetElementAt_ulong4(*(rs_allocation*)buf1516, *(uint32_t*)buf1517);
-    *(float*)buf1518 = rsGetElementAt_float(*(rs_allocation*)buf1519, *(uint32_t*)buf1520, *(uint32_t*)buf1521);
-    *(float2*)buf1522 = rsGetElementAt_float2(*(rs_allocation*)buf1523, *(uint32_t*)buf1524, *(uint32_t*)buf1525);
-    *(float3*)buf1526 = rsGetElementAt_float3(*(rs_allocation*)buf1527, *(uint32_t*)buf1528, *(uint32_t*)buf1529);
-    *(float4*)buf1530 = rsGetElementAt_float4(*(rs_allocation*)buf1531, *(uint32_t*)buf1532, *(uint32_t*)buf1533);
-    *(double*)buf1534 = rsGetElementAt_double(*(rs_allocation*)buf1535, *(uint32_t*)buf1536, *(uint32_t*)buf1537);
-    *(double2*)buf1538 = rsGetElementAt_double2(*(rs_allocation*)buf1539, *(uint32_t*)buf1540, *(uint32_t*)buf1541);
-    *(double3*)buf1542 = rsGetElementAt_double3(*(rs_allocation*)buf1543, *(uint32_t*)buf1544, *(uint32_t*)buf1545);
-    *(double4*)buf1546 = rsGetElementAt_double4(*(rs_allocation*)buf1547, *(uint32_t*)buf1548, *(uint32_t*)buf1549);
-    *(char*)buf1550 = rsGetElementAt_char(*(rs_allocation*)buf1551, *(uint32_t*)buf1552, *(uint32_t*)buf1553);
-    *(char2*)buf1554 = rsGetElementAt_char2(*(rs_allocation*)buf1555, *(uint32_t*)buf1556, *(uint32_t*)buf1557);
-    *(char3*)buf1558 = rsGetElementAt_char3(*(rs_allocation*)buf1559, *(uint32_t*)buf1560, *(uint32_t*)buf1561);
-    *(char4*)buf1562 = rsGetElementAt_char4(*(rs_allocation*)buf1563, *(uint32_t*)buf1564, *(uint32_t*)buf1565);
-    *(uchar*)buf1566 = rsGetElementAt_uchar(*(rs_allocation*)buf1567, *(uint32_t*)buf1568, *(uint32_t*)buf1569);
-    *(uchar2*)buf1570 = rsGetElementAt_uchar2(*(rs_allocation*)buf1571, *(uint32_t*)buf1572, *(uint32_t*)buf1573);
-    *(uchar3*)buf1574 = rsGetElementAt_uchar3(*(rs_allocation*)buf1575, *(uint32_t*)buf1576, *(uint32_t*)buf1577);
-    *(uchar4*)buf1578 = rsGetElementAt_uchar4(*(rs_allocation*)buf1579, *(uint32_t*)buf1580, *(uint32_t*)buf1581);
-    *(short*)buf1582 = rsGetElementAt_short(*(rs_allocation*)buf1583, *(uint32_t*)buf1584, *(uint32_t*)buf1585);
-    *(short2*)buf1586 = rsGetElementAt_short2(*(rs_allocation*)buf1587, *(uint32_t*)buf1588, *(uint32_t*)buf1589);
-    *(short3*)buf1590 = rsGetElementAt_short3(*(rs_allocation*)buf1591, *(uint32_t*)buf1592, *(uint32_t*)buf1593);
-    *(short4*)buf1594 = rsGetElementAt_short4(*(rs_allocation*)buf1595, *(uint32_t*)buf1596, *(uint32_t*)buf1597);
-    *(ushort*)buf1598 = rsGetElementAt_ushort(*(rs_allocation*)buf1599, *(uint32_t*)buf1600, *(uint32_t*)buf1601);
-    *(ushort2*)buf1602 = rsGetElementAt_ushort2(*(rs_allocation*)buf1603, *(uint32_t*)buf1604, *(uint32_t*)buf1605);
-    *(ushort3*)buf1606 = rsGetElementAt_ushort3(*(rs_allocation*)buf1607, *(uint32_t*)buf1608, *(uint32_t*)buf1609);
-    *(ushort4*)buf1610 = rsGetElementAt_ushort4(*(rs_allocation*)buf1611, *(uint32_t*)buf1612, *(uint32_t*)buf1613);
-    *(int*)buf1614 = rsGetElementAt_int(*(rs_allocation*)buf1615, *(uint32_t*)buf1616, *(uint32_t*)buf1617);
-    *(int2*)buf1618 = rsGetElementAt_int2(*(rs_allocation*)buf1619, *(uint32_t*)buf1620, *(uint32_t*)buf1621);
-    *(int3*)buf1622 = rsGetElementAt_int3(*(rs_allocation*)buf1623, *(uint32_t*)buf1624, *(uint32_t*)buf1625);
-    *(int4*)buf1626 = rsGetElementAt_int4(*(rs_allocation*)buf1627, *(uint32_t*)buf1628, *(uint32_t*)buf1629);
-    *(uint*)buf1630 = rsGetElementAt_uint(*(rs_allocation*)buf1631, *(uint32_t*)buf1632, *(uint32_t*)buf1633);
-    *(uint2*)buf1634 = rsGetElementAt_uint2(*(rs_allocation*)buf1635, *(uint32_t*)buf1636, *(uint32_t*)buf1637);
-    *(uint3*)buf1638 = rsGetElementAt_uint3(*(rs_allocation*)buf1639, *(uint32_t*)buf1640, *(uint32_t*)buf1641);
-    *(uint4*)buf1642 = rsGetElementAt_uint4(*(rs_allocation*)buf1643, *(uint32_t*)buf1644, *(uint32_t*)buf1645);
-    *(long*)buf1646 = rsGetElementAt_long(*(rs_allocation*)buf1647, *(uint32_t*)buf1648, *(uint32_t*)buf1649);
-    *(long2*)buf1650 = rsGetElementAt_long2(*(rs_allocation*)buf1651, *(uint32_t*)buf1652, *(uint32_t*)buf1653);
-    *(long3*)buf1654 = rsGetElementAt_long3(*(rs_allocation*)buf1655, *(uint32_t*)buf1656, *(uint32_t*)buf1657);
-    *(long4*)buf1658 = rsGetElementAt_long4(*(rs_allocation*)buf1659, *(uint32_t*)buf1660, *(uint32_t*)buf1661);
-    *(ulong*)buf1662 = rsGetElementAt_ulong(*(rs_allocation*)buf1663, *(uint32_t*)buf1664, *(uint32_t*)buf1665);
-    *(ulong2*)buf1666 = rsGetElementAt_ulong2(*(rs_allocation*)buf1667, *(uint32_t*)buf1668, *(uint32_t*)buf1669);
-    *(ulong3*)buf1670 = rsGetElementAt_ulong3(*(rs_allocation*)buf1671, *(uint32_t*)buf1672, *(uint32_t*)buf1673);
-    *(ulong4*)buf1674 = rsGetElementAt_ulong4(*(rs_allocation*)buf1675, *(uint32_t*)buf1676, *(uint32_t*)buf1677);
-    *(float*)buf1678 = rsGetElementAt_float(*(rs_allocation*)buf1679, *(uint32_t*)buf1680, *(uint32_t*)buf1681, *(uint32_t*)buf1682);
-    *(float2*)buf1683 = rsGetElementAt_float2(*(rs_allocation*)buf1684, *(uint32_t*)buf1685, *(uint32_t*)buf1686, *(uint32_t*)buf1687);
-    *(float3*)buf1688 = rsGetElementAt_float3(*(rs_allocation*)buf1689, *(uint32_t*)buf1690, *(uint32_t*)buf1691, *(uint32_t*)buf1692);
-    *(float4*)buf1693 = rsGetElementAt_float4(*(rs_allocation*)buf1694, *(uint32_t*)buf1695, *(uint32_t*)buf1696, *(uint32_t*)buf1697);
-    *(double*)buf1698 = rsGetElementAt_double(*(rs_allocation*)buf1699, *(uint32_t*)buf1700, *(uint32_t*)buf1701, *(uint32_t*)buf1702);
-    *(double2*)buf1703 = rsGetElementAt_double2(*(rs_allocation*)buf1704, *(uint32_t*)buf1705, *(uint32_t*)buf1706, *(uint32_t*)buf1707);
-    *(double3*)buf1708 = rsGetElementAt_double3(*(rs_allocation*)buf1709, *(uint32_t*)buf1710, *(uint32_t*)buf1711, *(uint32_t*)buf1712);
-    *(double4*)buf1713 = rsGetElementAt_double4(*(rs_allocation*)buf1714, *(uint32_t*)buf1715, *(uint32_t*)buf1716, *(uint32_t*)buf1717);
-    *(char*)buf1718 = rsGetElementAt_char(*(rs_allocation*)buf1719, *(uint32_t*)buf1720, *(uint32_t*)buf1721, *(uint32_t*)buf1722);
-    *(char2*)buf1723 = rsGetElementAt_char2(*(rs_allocation*)buf1724, *(uint32_t*)buf1725, *(uint32_t*)buf1726, *(uint32_t*)buf1727);
-    *(char3*)buf1728 = rsGetElementAt_char3(*(rs_allocation*)buf1729, *(uint32_t*)buf1730, *(uint32_t*)buf1731, *(uint32_t*)buf1732);
-    *(char4*)buf1733 = rsGetElementAt_char4(*(rs_allocation*)buf1734, *(uint32_t*)buf1735, *(uint32_t*)buf1736, *(uint32_t*)buf1737);
-    *(uchar*)buf1738 = rsGetElementAt_uchar(*(rs_allocation*)buf1739, *(uint32_t*)buf1740, *(uint32_t*)buf1741, *(uint32_t*)buf1742);
-    *(uchar2*)buf1743 = rsGetElementAt_uchar2(*(rs_allocation*)buf1744, *(uint32_t*)buf1745, *(uint32_t*)buf1746, *(uint32_t*)buf1747);
-    *(uchar3*)buf1748 = rsGetElementAt_uchar3(*(rs_allocation*)buf1749, *(uint32_t*)buf1750, *(uint32_t*)buf1751, *(uint32_t*)buf1752);
-    *(uchar4*)buf1753 = rsGetElementAt_uchar4(*(rs_allocation*)buf1754, *(uint32_t*)buf1755, *(uint32_t*)buf1756, *(uint32_t*)buf1757);
-    *(short*)buf1758 = rsGetElementAt_short(*(rs_allocation*)buf1759, *(uint32_t*)buf1760, *(uint32_t*)buf1761, *(uint32_t*)buf1762);
-    *(short2*)buf1763 = rsGetElementAt_short2(*(rs_allocation*)buf1764, *(uint32_t*)buf1765, *(uint32_t*)buf1766, *(uint32_t*)buf1767);
-    *(short3*)buf1768 = rsGetElementAt_short3(*(rs_allocation*)buf1769, *(uint32_t*)buf1770, *(uint32_t*)buf1771, *(uint32_t*)buf1772);
-    *(short4*)buf1773 = rsGetElementAt_short4(*(rs_allocation*)buf1774, *(uint32_t*)buf1775, *(uint32_t*)buf1776, *(uint32_t*)buf1777);
-    *(ushort*)buf1778 = rsGetElementAt_ushort(*(rs_allocation*)buf1779, *(uint32_t*)buf1780, *(uint32_t*)buf1781, *(uint32_t*)buf1782);
-    *(ushort2*)buf1783 = rsGetElementAt_ushort2(*(rs_allocation*)buf1784, *(uint32_t*)buf1785, *(uint32_t*)buf1786, *(uint32_t*)buf1787);
-    *(ushort3*)buf1788 = rsGetElementAt_ushort3(*(rs_allocation*)buf1789, *(uint32_t*)buf1790, *(uint32_t*)buf1791, *(uint32_t*)buf1792);
-    *(ushort4*)buf1793 = rsGetElementAt_ushort4(*(rs_allocation*)buf1794, *(uint32_t*)buf1795, *(uint32_t*)buf1796, *(uint32_t*)buf1797);
-    *(int*)buf1798 = rsGetElementAt_int(*(rs_allocation*)buf1799, *(uint32_t*)buf1800, *(uint32_t*)buf1801, *(uint32_t*)buf1802);
-    *(int2*)buf1803 = rsGetElementAt_int2(*(rs_allocation*)buf1804, *(uint32_t*)buf1805, *(uint32_t*)buf1806, *(uint32_t*)buf1807);
-    *(int3*)buf1808 = rsGetElementAt_int3(*(rs_allocation*)buf1809, *(uint32_t*)buf1810, *(uint32_t*)buf1811, *(uint32_t*)buf1812);
-    *(int4*)buf1813 = rsGetElementAt_int4(*(rs_allocation*)buf1814, *(uint32_t*)buf1815, *(uint32_t*)buf1816, *(uint32_t*)buf1817);
-    *(uint*)buf1818 = rsGetElementAt_uint(*(rs_allocation*)buf1819, *(uint32_t*)buf1820, *(uint32_t*)buf1821, *(uint32_t*)buf1822);
-    *(uint2*)buf1823 = rsGetElementAt_uint2(*(rs_allocation*)buf1824, *(uint32_t*)buf1825, *(uint32_t*)buf1826, *(uint32_t*)buf1827);
-    *(uint3*)buf1828 = rsGetElementAt_uint3(*(rs_allocation*)buf1829, *(uint32_t*)buf1830, *(uint32_t*)buf1831, *(uint32_t*)buf1832);
-    *(uint4*)buf1833 = rsGetElementAt_uint4(*(rs_allocation*)buf1834, *(uint32_t*)buf1835, *(uint32_t*)buf1836, *(uint32_t*)buf1837);
-    *(long*)buf1838 = rsGetElementAt_long(*(rs_allocation*)buf1839, *(uint32_t*)buf1840, *(uint32_t*)buf1841, *(uint32_t*)buf1842);
-    *(long2*)buf1843 = rsGetElementAt_long2(*(rs_allocation*)buf1844, *(uint32_t*)buf1845, *(uint32_t*)buf1846, *(uint32_t*)buf1847);
-    *(long3*)buf1848 = rsGetElementAt_long3(*(rs_allocation*)buf1849, *(uint32_t*)buf1850, *(uint32_t*)buf1851, *(uint32_t*)buf1852);
-    *(long4*)buf1853 = rsGetElementAt_long4(*(rs_allocation*)buf1854, *(uint32_t*)buf1855, *(uint32_t*)buf1856, *(uint32_t*)buf1857);
-    *(ulong*)buf1858 = rsGetElementAt_ulong(*(rs_allocation*)buf1859, *(uint32_t*)buf1860, *(uint32_t*)buf1861, *(uint32_t*)buf1862);
-    *(ulong2*)buf1863 = rsGetElementAt_ulong2(*(rs_allocation*)buf1864, *(uint32_t*)buf1865, *(uint32_t*)buf1866, *(uint32_t*)buf1867);
-    *(ulong3*)buf1868 = rsGetElementAt_ulong3(*(rs_allocation*)buf1869, *(uint32_t*)buf1870, *(uint32_t*)buf1871, *(uint32_t*)buf1872);
-    *(ulong4*)buf1873 = rsGetElementAt_ulong4(*(rs_allocation*)buf1874, *(uint32_t*)buf1875, *(uint32_t*)buf1876, *(uint32_t*)buf1877);
-    *(bool*)buf1878 = rsIsObject(*(rs_element*)buf1879);
-    *(bool*)buf1880 = rsIsObject(*(rs_type*)buf1881);
-    *(bool*)buf1882 = rsIsObject(*(rs_allocation*)buf1883);
-    *(bool*)buf1884 = rsIsObject(*(rs_sampler*)buf1885);
-    *(bool*)buf1886 = rsIsObject(*(rs_script*)buf1887);
+    rsDebug((const char*) buf1336, *(double*)buf1337);
+    rsDebug((const char*) buf1338, *(int*)buf1339);
+    rsDebug((const char*) buf1340, *(uint*)buf1341);
+    rsDebug((const char*) buf1342, *(long*)buf1343);
+    rsDebug((const char*) buf1344, *(ulong*)buf1345);
+    rsDebug((const char*) buf1346, *(float*)buf1347);
+    rsDebug((const char*) buf1348, *(float2*)buf1349);
+    rsDebug((const char*) buf1350, *(float3*)buf1351);
+    rsDebug((const char*) buf1352, *(float4*)buf1353);
+    rsDebug((const char*) buf1354, *(float*)buf1355, *(float*)buf1356);
+    rsDebug((const char*) buf1357, *(float*)buf1358, *(float*)buf1359, *(float*)buf1360);
+    rsDebug((const char*) buf1361, *(float*)buf1362, *(float*)buf1363, *(float*)buf1364, *(float*)buf1365);
+    rsDebug((const char*) buf1366, *(long long*)buf1367);
+    rsDebug((const char*) buf1368, *(unsigned long long*)buf1369);
+    rsDebug((const char*) buf1370, (const void*) buf1371);
+    rsDebug((const char*) buf1372, (const rs_matrix4x4*) buf1373);
+    rsDebug((const char*) buf1374, (const rs_matrix3x3*) buf1375);
+    rsDebug((const char*) buf1376, (const rs_matrix2x2*) buf1377);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1378, (float4*) buf1379, (float4*) buf1380, (float4*) buf1381, (float4*) buf1382, (float4*) buf1383, (float4*) buf1384);
+    rsForEach(*(rs_script*)buf1385, *(rs_allocation*)buf1386, *(rs_allocation*)buf1387, (const void*) buf1388, *(size_t*)buf1389, (const rs_script_call_t*) buf1390);
+    rsForEach(*(rs_script*)buf1391, *(rs_allocation*)buf1392, *(rs_allocation*)buf1393, (const void*) buf1394, *(size_t*)buf1395);
+    rsForEach(*(rs_script*)buf1396, *(rs_allocation*)buf1397, *(rs_allocation*)buf1398);
+    *(float*)buf1399 = rsFrac(*(float*)buf1400);
+    *(rs_allocation*)buf1401 = rsGetAllocation((const void*) buf1402);
+    *(float*)buf1403 = rsGetDt();
+    *(const void**)buf1404 = rsGetElementAt(*(rs_allocation*)buf1405, *(uint32_t*)buf1406);
+    *(const void**)buf1407 = rsGetElementAt(*(rs_allocation*)buf1408, *(uint32_t*)buf1409, *(uint32_t*)buf1410);
+    *(const void**)buf1411 = rsGetElementAt(*(rs_allocation*)buf1412, *(uint32_t*)buf1413, *(uint32_t*)buf1414, *(uint32_t*)buf1415);
+    *(float*)buf1416 = rsGetElementAt_float(*(rs_allocation*)buf1417, *(uint32_t*)buf1418);
+    *(float2*)buf1419 = rsGetElementAt_float2(*(rs_allocation*)buf1420, *(uint32_t*)buf1421);
+    *(float3*)buf1422 = rsGetElementAt_float3(*(rs_allocation*)buf1423, *(uint32_t*)buf1424);
+    *(float4*)buf1425 = rsGetElementAt_float4(*(rs_allocation*)buf1426, *(uint32_t*)buf1427);
+    *(double*)buf1428 = rsGetElementAt_double(*(rs_allocation*)buf1429, *(uint32_t*)buf1430);
+    *(double2*)buf1431 = rsGetElementAt_double2(*(rs_allocation*)buf1432, *(uint32_t*)buf1433);
+    *(double3*)buf1434 = rsGetElementAt_double3(*(rs_allocation*)buf1435, *(uint32_t*)buf1436);
+    *(double4*)buf1437 = rsGetElementAt_double4(*(rs_allocation*)buf1438, *(uint32_t*)buf1439);
+    *(char*)buf1440 = rsGetElementAt_char(*(rs_allocation*)buf1441, *(uint32_t*)buf1442);
+    *(char2*)buf1443 = rsGetElementAt_char2(*(rs_allocation*)buf1444, *(uint32_t*)buf1445);
+    *(char3*)buf1446 = rsGetElementAt_char3(*(rs_allocation*)buf1447, *(uint32_t*)buf1448);
+    *(char4*)buf1449 = rsGetElementAt_char4(*(rs_allocation*)buf1450, *(uint32_t*)buf1451);
+    *(uchar*)buf1452 = rsGetElementAt_uchar(*(rs_allocation*)buf1453, *(uint32_t*)buf1454);
+    *(uchar2*)buf1455 = rsGetElementAt_uchar2(*(rs_allocation*)buf1456, *(uint32_t*)buf1457);
+    *(uchar3*)buf1458 = rsGetElementAt_uchar3(*(rs_allocation*)buf1459, *(uint32_t*)buf1460);
+    *(uchar4*)buf1461 = rsGetElementAt_uchar4(*(rs_allocation*)buf1462, *(uint32_t*)buf1463);
+    *(short*)buf1464 = rsGetElementAt_short(*(rs_allocation*)buf1465, *(uint32_t*)buf1466);
+    *(short2*)buf1467 = rsGetElementAt_short2(*(rs_allocation*)buf1468, *(uint32_t*)buf1469);
+    *(short3*)buf1470 = rsGetElementAt_short3(*(rs_allocation*)buf1471, *(uint32_t*)buf1472);
+    *(short4*)buf1473 = rsGetElementAt_short4(*(rs_allocation*)buf1474, *(uint32_t*)buf1475);
+    *(ushort*)buf1476 = rsGetElementAt_ushort(*(rs_allocation*)buf1477, *(uint32_t*)buf1478);
+    *(ushort2*)buf1479 = rsGetElementAt_ushort2(*(rs_allocation*)buf1480, *(uint32_t*)buf1481);
+    *(ushort3*)buf1482 = rsGetElementAt_ushort3(*(rs_allocation*)buf1483, *(uint32_t*)buf1484);
+    *(ushort4*)buf1485 = rsGetElementAt_ushort4(*(rs_allocation*)buf1486, *(uint32_t*)buf1487);
+    *(int*)buf1488 = rsGetElementAt_int(*(rs_allocation*)buf1489, *(uint32_t*)buf1490);
+    *(int2*)buf1491 = rsGetElementAt_int2(*(rs_allocation*)buf1492, *(uint32_t*)buf1493);
+    *(int3*)buf1494 = rsGetElementAt_int3(*(rs_allocation*)buf1495, *(uint32_t*)buf1496);
+    *(int4*)buf1497 = rsGetElementAt_int4(*(rs_allocation*)buf1498, *(uint32_t*)buf1499);
+    *(uint*)buf1500 = rsGetElementAt_uint(*(rs_allocation*)buf1501, *(uint32_t*)buf1502);
+    *(uint2*)buf1503 = rsGetElementAt_uint2(*(rs_allocation*)buf1504, *(uint32_t*)buf1505);
+    *(uint3*)buf1506 = rsGetElementAt_uint3(*(rs_allocation*)buf1507, *(uint32_t*)buf1508);
+    *(uint4*)buf1509 = rsGetElementAt_uint4(*(rs_allocation*)buf1510, *(uint32_t*)buf1511);
+    *(long*)buf1512 = rsGetElementAt_long(*(rs_allocation*)buf1513, *(uint32_t*)buf1514);
+    *(long2*)buf1515 = rsGetElementAt_long2(*(rs_allocation*)buf1516, *(uint32_t*)buf1517);
+    *(long3*)buf1518 = rsGetElementAt_long3(*(rs_allocation*)buf1519, *(uint32_t*)buf1520);
+    *(long4*)buf1521 = rsGetElementAt_long4(*(rs_allocation*)buf1522, *(uint32_t*)buf1523);
+    *(ulong*)buf1524 = rsGetElementAt_ulong(*(rs_allocation*)buf1525, *(uint32_t*)buf1526);
+    *(ulong2*)buf1527 = rsGetElementAt_ulong2(*(rs_allocation*)buf1528, *(uint32_t*)buf1529);
+    *(ulong3*)buf1530 = rsGetElementAt_ulong3(*(rs_allocation*)buf1531, *(uint32_t*)buf1532);
+    *(ulong4*)buf1533 = rsGetElementAt_ulong4(*(rs_allocation*)buf1534, *(uint32_t*)buf1535);
+    *(float*)buf1536 = rsGetElementAt_float(*(rs_allocation*)buf1537, *(uint32_t*)buf1538, *(uint32_t*)buf1539);
+    *(float2*)buf1540 = rsGetElementAt_float2(*(rs_allocation*)buf1541, *(uint32_t*)buf1542, *(uint32_t*)buf1543);
+    *(float3*)buf1544 = rsGetElementAt_float3(*(rs_allocation*)buf1545, *(uint32_t*)buf1546, *(uint32_t*)buf1547);
+    *(float4*)buf1548 = rsGetElementAt_float4(*(rs_allocation*)buf1549, *(uint32_t*)buf1550, *(uint32_t*)buf1551);
+    *(double*)buf1552 = rsGetElementAt_double(*(rs_allocation*)buf1553, *(uint32_t*)buf1554, *(uint32_t*)buf1555);
+    *(double2*)buf1556 = rsGetElementAt_double2(*(rs_allocation*)buf1557, *(uint32_t*)buf1558, *(uint32_t*)buf1559);
+    *(double3*)buf1560 = rsGetElementAt_double3(*(rs_allocation*)buf1561, *(uint32_t*)buf1562, *(uint32_t*)buf1563);
+    *(double4*)buf1564 = rsGetElementAt_double4(*(rs_allocation*)buf1565, *(uint32_t*)buf1566, *(uint32_t*)buf1567);
+    *(char*)buf1568 = rsGetElementAt_char(*(rs_allocation*)buf1569, *(uint32_t*)buf1570, *(uint32_t*)buf1571);
+    *(char2*)buf1572 = rsGetElementAt_char2(*(rs_allocation*)buf1573, *(uint32_t*)buf1574, *(uint32_t*)buf1575);
+    *(char3*)buf1576 = rsGetElementAt_char3(*(rs_allocation*)buf1577, *(uint32_t*)buf1578, *(uint32_t*)buf1579);
+    *(char4*)buf1580 = rsGetElementAt_char4(*(rs_allocation*)buf1581, *(uint32_t*)buf1582, *(uint32_t*)buf1583);
+    *(uchar*)buf1584 = rsGetElementAt_uchar(*(rs_allocation*)buf1585, *(uint32_t*)buf1586, *(uint32_t*)buf1587);
+    *(uchar2*)buf1588 = rsGetElementAt_uchar2(*(rs_allocation*)buf1589, *(uint32_t*)buf1590, *(uint32_t*)buf1591);
+    *(uchar3*)buf1592 = rsGetElementAt_uchar3(*(rs_allocation*)buf1593, *(uint32_t*)buf1594, *(uint32_t*)buf1595);
+    *(uchar4*)buf1596 = rsGetElementAt_uchar4(*(rs_allocation*)buf1597, *(uint32_t*)buf1598, *(uint32_t*)buf1599);
+    *(short*)buf1600 = rsGetElementAt_short(*(rs_allocation*)buf1601, *(uint32_t*)buf1602, *(uint32_t*)buf1603);
+    *(short2*)buf1604 = rsGetElementAt_short2(*(rs_allocation*)buf1605, *(uint32_t*)buf1606, *(uint32_t*)buf1607);
+    *(short3*)buf1608 = rsGetElementAt_short3(*(rs_allocation*)buf1609, *(uint32_t*)buf1610, *(uint32_t*)buf1611);
+    *(short4*)buf1612 = rsGetElementAt_short4(*(rs_allocation*)buf1613, *(uint32_t*)buf1614, *(uint32_t*)buf1615);
+    *(ushort*)buf1616 = rsGetElementAt_ushort(*(rs_allocation*)buf1617, *(uint32_t*)buf1618, *(uint32_t*)buf1619);
+    *(ushort2*)buf1620 = rsGetElementAt_ushort2(*(rs_allocation*)buf1621, *(uint32_t*)buf1622, *(uint32_t*)buf1623);
+    *(ushort3*)buf1624 = rsGetElementAt_ushort3(*(rs_allocation*)buf1625, *(uint32_t*)buf1626, *(uint32_t*)buf1627);
+    *(ushort4*)buf1628 = rsGetElementAt_ushort4(*(rs_allocation*)buf1629, *(uint32_t*)buf1630, *(uint32_t*)buf1631);
+    *(int*)buf1632 = rsGetElementAt_int(*(rs_allocation*)buf1633, *(uint32_t*)buf1634, *(uint32_t*)buf1635);
+    *(int2*)buf1636 = rsGetElementAt_int2(*(rs_allocation*)buf1637, *(uint32_t*)buf1638, *(uint32_t*)buf1639);
+    *(int3*)buf1640 = rsGetElementAt_int3(*(rs_allocation*)buf1641, *(uint32_t*)buf1642, *(uint32_t*)buf1643);
+    *(int4*)buf1644 = rsGetElementAt_int4(*(rs_allocation*)buf1645, *(uint32_t*)buf1646, *(uint32_t*)buf1647);
+    *(uint*)buf1648 = rsGetElementAt_uint(*(rs_allocation*)buf1649, *(uint32_t*)buf1650, *(uint32_t*)buf1651);
+    *(uint2*)buf1652 = rsGetElementAt_uint2(*(rs_allocation*)buf1653, *(uint32_t*)buf1654, *(uint32_t*)buf1655);
+    *(uint3*)buf1656 = rsGetElementAt_uint3(*(rs_allocation*)buf1657, *(uint32_t*)buf1658, *(uint32_t*)buf1659);
+    *(uint4*)buf1660 = rsGetElementAt_uint4(*(rs_allocation*)buf1661, *(uint32_t*)buf1662, *(uint32_t*)buf1663);
+    *(long*)buf1664 = rsGetElementAt_long(*(rs_allocation*)buf1665, *(uint32_t*)buf1666, *(uint32_t*)buf1667);
+    *(long2*)buf1668 = rsGetElementAt_long2(*(rs_allocation*)buf1669, *(uint32_t*)buf1670, *(uint32_t*)buf1671);
+    *(long3*)buf1672 = rsGetElementAt_long3(*(rs_allocation*)buf1673, *(uint32_t*)buf1674, *(uint32_t*)buf1675);
+    *(long4*)buf1676 = rsGetElementAt_long4(*(rs_allocation*)buf1677, *(uint32_t*)buf1678, *(uint32_t*)buf1679);
+    *(ulong*)buf1680 = rsGetElementAt_ulong(*(rs_allocation*)buf1681, *(uint32_t*)buf1682, *(uint32_t*)buf1683);
+    *(ulong2*)buf1684 = rsGetElementAt_ulong2(*(rs_allocation*)buf1685, *(uint32_t*)buf1686, *(uint32_t*)buf1687);
+    *(ulong3*)buf1688 = rsGetElementAt_ulong3(*(rs_allocation*)buf1689, *(uint32_t*)buf1690, *(uint32_t*)buf1691);
+    *(ulong4*)buf1692 = rsGetElementAt_ulong4(*(rs_allocation*)buf1693, *(uint32_t*)buf1694, *(uint32_t*)buf1695);
+    *(float*)buf1696 = rsGetElementAt_float(*(rs_allocation*)buf1697, *(uint32_t*)buf1698, *(uint32_t*)buf1699, *(uint32_t*)buf1700);
+    *(float2*)buf1701 = rsGetElementAt_float2(*(rs_allocation*)buf1702, *(uint32_t*)buf1703, *(uint32_t*)buf1704, *(uint32_t*)buf1705);
+    *(float3*)buf1706 = rsGetElementAt_float3(*(rs_allocation*)buf1707, *(uint32_t*)buf1708, *(uint32_t*)buf1709, *(uint32_t*)buf1710);
+    *(float4*)buf1711 = rsGetElementAt_float4(*(rs_allocation*)buf1712, *(uint32_t*)buf1713, *(uint32_t*)buf1714, *(uint32_t*)buf1715);
+    *(double*)buf1716 = rsGetElementAt_double(*(rs_allocation*)buf1717, *(uint32_t*)buf1718, *(uint32_t*)buf1719, *(uint32_t*)buf1720);
+    *(double2*)buf1721 = rsGetElementAt_double2(*(rs_allocation*)buf1722, *(uint32_t*)buf1723, *(uint32_t*)buf1724, *(uint32_t*)buf1725);
+    *(double3*)buf1726 = rsGetElementAt_double3(*(rs_allocation*)buf1727, *(uint32_t*)buf1728, *(uint32_t*)buf1729, *(uint32_t*)buf1730);
+    *(double4*)buf1731 = rsGetElementAt_double4(*(rs_allocation*)buf1732, *(uint32_t*)buf1733, *(uint32_t*)buf1734, *(uint32_t*)buf1735);
+    *(char*)buf1736 = rsGetElementAt_char(*(rs_allocation*)buf1737, *(uint32_t*)buf1738, *(uint32_t*)buf1739, *(uint32_t*)buf1740);
+    *(char2*)buf1741 = rsGetElementAt_char2(*(rs_allocation*)buf1742, *(uint32_t*)buf1743, *(uint32_t*)buf1744, *(uint32_t*)buf1745);
+    *(char3*)buf1746 = rsGetElementAt_char3(*(rs_allocation*)buf1747, *(uint32_t*)buf1748, *(uint32_t*)buf1749, *(uint32_t*)buf1750);
+    *(char4*)buf1751 = rsGetElementAt_char4(*(rs_allocation*)buf1752, *(uint32_t*)buf1753, *(uint32_t*)buf1754, *(uint32_t*)buf1755);
+    *(uchar*)buf1756 = rsGetElementAt_uchar(*(rs_allocation*)buf1757, *(uint32_t*)buf1758, *(uint32_t*)buf1759, *(uint32_t*)buf1760);
+    *(uchar2*)buf1761 = rsGetElementAt_uchar2(*(rs_allocation*)buf1762, *(uint32_t*)buf1763, *(uint32_t*)buf1764, *(uint32_t*)buf1765);
+    *(uchar3*)buf1766 = rsGetElementAt_uchar3(*(rs_allocation*)buf1767, *(uint32_t*)buf1768, *(uint32_t*)buf1769, *(uint32_t*)buf1770);
+    *(uchar4*)buf1771 = rsGetElementAt_uchar4(*(rs_allocation*)buf1772, *(uint32_t*)buf1773, *(uint32_t*)buf1774, *(uint32_t*)buf1775);
+    *(short*)buf1776 = rsGetElementAt_short(*(rs_allocation*)buf1777, *(uint32_t*)buf1778, *(uint32_t*)buf1779, *(uint32_t*)buf1780);
+    *(short2*)buf1781 = rsGetElementAt_short2(*(rs_allocation*)buf1782, *(uint32_t*)buf1783, *(uint32_t*)buf1784, *(uint32_t*)buf1785);
+    *(short3*)buf1786 = rsGetElementAt_short3(*(rs_allocation*)buf1787, *(uint32_t*)buf1788, *(uint32_t*)buf1789, *(uint32_t*)buf1790);
+    *(short4*)buf1791 = rsGetElementAt_short4(*(rs_allocation*)buf1792, *(uint32_t*)buf1793, *(uint32_t*)buf1794, *(uint32_t*)buf1795);
+    *(ushort*)buf1796 = rsGetElementAt_ushort(*(rs_allocation*)buf1797, *(uint32_t*)buf1798, *(uint32_t*)buf1799, *(uint32_t*)buf1800);
+    *(ushort2*)buf1801 = rsGetElementAt_ushort2(*(rs_allocation*)buf1802, *(uint32_t*)buf1803, *(uint32_t*)buf1804, *(uint32_t*)buf1805);
+    *(ushort3*)buf1806 = rsGetElementAt_ushort3(*(rs_allocation*)buf1807, *(uint32_t*)buf1808, *(uint32_t*)buf1809, *(uint32_t*)buf1810);
+    *(ushort4*)buf1811 = rsGetElementAt_ushort4(*(rs_allocation*)buf1812, *(uint32_t*)buf1813, *(uint32_t*)buf1814, *(uint32_t*)buf1815);
+    *(int*)buf1816 = rsGetElementAt_int(*(rs_allocation*)buf1817, *(uint32_t*)buf1818, *(uint32_t*)buf1819, *(uint32_t*)buf1820);
+    *(int2*)buf1821 = rsGetElementAt_int2(*(rs_allocation*)buf1822, *(uint32_t*)buf1823, *(uint32_t*)buf1824, *(uint32_t*)buf1825);
+    *(int3*)buf1826 = rsGetElementAt_int3(*(rs_allocation*)buf1827, *(uint32_t*)buf1828, *(uint32_t*)buf1829, *(uint32_t*)buf1830);
+    *(int4*)buf1831 = rsGetElementAt_int4(*(rs_allocation*)buf1832, *(uint32_t*)buf1833, *(uint32_t*)buf1834, *(uint32_t*)buf1835);
+    *(uint*)buf1836 = rsGetElementAt_uint(*(rs_allocation*)buf1837, *(uint32_t*)buf1838, *(uint32_t*)buf1839, *(uint32_t*)buf1840);
+    *(uint2*)buf1841 = rsGetElementAt_uint2(*(rs_allocation*)buf1842, *(uint32_t*)buf1843, *(uint32_t*)buf1844, *(uint32_t*)buf1845);
+    *(uint3*)buf1846 = rsGetElementAt_uint3(*(rs_allocation*)buf1847, *(uint32_t*)buf1848, *(uint32_t*)buf1849, *(uint32_t*)buf1850);
+    *(uint4*)buf1851 = rsGetElementAt_uint4(*(rs_allocation*)buf1852, *(uint32_t*)buf1853, *(uint32_t*)buf1854, *(uint32_t*)buf1855);
+    *(long*)buf1856 = rsGetElementAt_long(*(rs_allocation*)buf1857, *(uint32_t*)buf1858, *(uint32_t*)buf1859, *(uint32_t*)buf1860);
+    *(long2*)buf1861 = rsGetElementAt_long2(*(rs_allocation*)buf1862, *(uint32_t*)buf1863, *(uint32_t*)buf1864, *(uint32_t*)buf1865);
+    *(long3*)buf1866 = rsGetElementAt_long3(*(rs_allocation*)buf1867, *(uint32_t*)buf1868, *(uint32_t*)buf1869, *(uint32_t*)buf1870);
+    *(long4*)buf1871 = rsGetElementAt_long4(*(rs_allocation*)buf1872, *(uint32_t*)buf1873, *(uint32_t*)buf1874, *(uint32_t*)buf1875);
+    *(ulong*)buf1876 = rsGetElementAt_ulong(*(rs_allocation*)buf1877, *(uint32_t*)buf1878, *(uint32_t*)buf1879, *(uint32_t*)buf1880);
+    *(ulong2*)buf1881 = rsGetElementAt_ulong2(*(rs_allocation*)buf1882, *(uint32_t*)buf1883, *(uint32_t*)buf1884, *(uint32_t*)buf1885);
+    *(ulong3*)buf1886 = rsGetElementAt_ulong3(*(rs_allocation*)buf1887, *(uint32_t*)buf1888, *(uint32_t*)buf1889, *(uint32_t*)buf1890);
+    *(ulong4*)buf1891 = rsGetElementAt_ulong4(*(rs_allocation*)buf1892, *(uint32_t*)buf1893, *(uint32_t*)buf1894, *(uint32_t*)buf1895);
+    *(bool*)buf1896 = rsIsObject(*(rs_element*)buf1897);
+    *(bool*)buf1898 = rsIsObject(*(rs_type*)buf1899);
+    *(bool*)buf1900 = rsIsObject(*(rs_allocation*)buf1901);
+    *(bool*)buf1902 = rsIsObject(*(rs_sampler*)buf1903);
+    *(bool*)buf1904 = rsIsObject(*(rs_script*)buf1905);
 #ifndef __LP64__
-    *(bool*)buf1888 = rsIsObject(*(rs_mesh*)buf1889);
-    *(bool*)buf1890 = rsIsObject(*(rs_program_fragment*)buf1891);
-    *(bool*)buf1892 = rsIsObject(*(rs_program_vertex*)buf1893);
-    *(bool*)buf1894 = rsIsObject(*(rs_program_raster*)buf1895);
-    *(bool*)buf1896 = rsIsObject(*(rs_program_store*)buf1897);
-    *(bool*)buf1898 = rsIsObject(*(rs_font*)buf1899);
+    *(bool*)buf1906 = rsIsObject(*(rs_mesh*)buf1907);
+    *(bool*)buf1908 = rsIsObject(*(rs_program_fragment*)buf1909);
+    *(bool*)buf1910 = rsIsObject(*(rs_program_vertex*)buf1911);
+    *(bool*)buf1912 = rsIsObject(*(rs_program_raster*)buf1913);
+    *(bool*)buf1914 = rsIsObject(*(rs_program_store*)buf1915);
+    *(bool*)buf1916 = rsIsObject(*(rs_font*)buf1917);
 #endif
-    *(bool*)buf1900 = rsIsSphereInFrustum((float4*) buf1901, (float4*) buf1902, (float4*) buf1903, (float4*) buf1904, (float4*) buf1905, (float4*) buf1906, (float4*) buf1907);
-    *(rs_tm**)buf1908 = rsLocaltime((rs_tm*) buf1909, (const rs_time_t*) buf1910);
-    *(float*)buf1911 = rsMatrixGet((const rs_matrix4x4*) buf1912, *(uint32_t*)buf1913, *(uint32_t*)buf1914);
-    *(float*)buf1915 = rsMatrixGet((const rs_matrix3x3*) buf1916, *(uint32_t*)buf1917, *(uint32_t*)buf1918);
-    *(float*)buf1919 = rsMatrixGet((const rs_matrix2x2*) buf1920, *(uint32_t*)buf1921, *(uint32_t*)buf1922);
-    *(bool*)buf1923 = rsMatrixInverse((rs_matrix4x4*) buf1924);
-    *(bool*)buf1925 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1926);
-    rsMatrixLoad((rs_matrix4x4*) buf1927, (const float*) buf1928);
-    rsMatrixLoad((rs_matrix3x3*) buf1929, (const float*) buf1930);
-    rsMatrixLoad((rs_matrix2x2*) buf1931, (const float*) buf1932);
-    rsMatrixLoad((rs_matrix4x4*) buf1933, (const rs_matrix4x4*) buf1934);
-    rsMatrixLoad((rs_matrix3x3*) buf1935, (const rs_matrix3x3*) buf1936);
-    rsMatrixLoad((rs_matrix2x2*) buf1937, (const rs_matrix2x2*) buf1938);
-    rsMatrixLoad((rs_matrix4x4*) buf1939, (const rs_matrix3x3*) buf1940);
-    rsMatrixLoad((rs_matrix4x4*) buf1941, (const rs_matrix2x2*) buf1942);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf1943, *(float*)buf1944, *(float*)buf1945, *(float*)buf1946, *(float*)buf1947, *(float*)buf1948, *(float*)buf1949);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf1950);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf1951);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf1952);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf1953, (const rs_matrix4x4*) buf1954, (const rs_matrix4x4*) buf1955);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf1956, (const rs_matrix3x3*) buf1957, (const rs_matrix3x3*) buf1958);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf1959, (const rs_matrix2x2*) buf1960, (const rs_matrix2x2*) buf1961);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf1962, *(float*)buf1963, *(float*)buf1964, *(float*)buf1965, *(float*)buf1966, *(float*)buf1967, *(float*)buf1968);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf1969, *(float*)buf1970, *(float*)buf1971, *(float*)buf1972, *(float*)buf1973);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf1974, *(float*)buf1975, *(float*)buf1976, *(float*)buf1977, *(float*)buf1978);
-    rsMatrixLoadScale((rs_matrix4x4*) buf1979, *(float*)buf1980, *(float*)buf1981, *(float*)buf1982);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf1983, *(float*)buf1984, *(float*)buf1985, *(float*)buf1986);
-    rsMatrixMultiply((rs_matrix4x4*) buf1987, (const rs_matrix4x4*) buf1988);
-    rsMatrixMultiply((rs_matrix3x3*) buf1989, (const rs_matrix3x3*) buf1990);
-    rsMatrixMultiply((rs_matrix2x2*) buf1991, (const rs_matrix2x2*) buf1992);
-    *(float4*)buf1993 = rsMatrixMultiply((const rs_matrix4x4*) buf1994, *(float4*)buf1995);
-    *(float4*)buf1996 = rsMatrixMultiply((const rs_matrix4x4*) buf1997, *(float3*)buf1998);
-    *(float4*)buf1999 = rsMatrixMultiply((const rs_matrix4x4*) buf2000, *(float2*)buf2001);
-    *(float3*)buf2002 = rsMatrixMultiply((const rs_matrix3x3*) buf2003, *(float3*)buf2004);
-    *(float3*)buf2005 = rsMatrixMultiply((const rs_matrix3x3*) buf2006, *(float2*)buf2007);
-    *(float2*)buf2008 = rsMatrixMultiply((const rs_matrix2x2*) buf2009, *(float2*)buf2010);
-    rsMatrixRotate((rs_matrix4x4*) buf2011, *(float*)buf2012, *(float*)buf2013, *(float*)buf2014, *(float*)buf2015);
-    rsMatrixScale((rs_matrix4x4*) buf2016, *(float*)buf2017, *(float*)buf2018, *(float*)buf2019);
-    rsMatrixSet((rs_matrix4x4*) buf2020, *(uint32_t*)buf2021, *(uint32_t*)buf2022, *(float*)buf2023);
-    rsMatrixSet((rs_matrix3x3*) buf2024, *(uint32_t*)buf2025, *(uint32_t*)buf2026, *(float*)buf2027);
-    rsMatrixSet((rs_matrix2x2*) buf2028, *(uint32_t*)buf2029, *(uint32_t*)buf2030, *(float*)buf2031);
-    rsMatrixTranslate((rs_matrix4x4*) buf2032, *(float*)buf2033, *(float*)buf2034, *(float*)buf2035);
-    rsMatrixTranspose((rs_matrix4x4*) buf2036);
-    rsMatrixTranspose((rs_matrix3x3*) buf2037);
-    rsMatrixTranspose((rs_matrix2x2*) buf2038);
-    *(uchar4*)buf2039 = rsPackColorTo8888(*(float*)buf2040, *(float*)buf2041, *(float*)buf2042);
-    *(uchar4*)buf2043 = rsPackColorTo8888(*(float*)buf2044, *(float*)buf2045, *(float*)buf2046, *(float*)buf2047);
-    *(uchar4*)buf2048 = rsPackColorTo8888(*(float3*)buf2049);
-    *(uchar4*)buf2050 = rsPackColorTo8888(*(float4*)buf2051);
-    rsQuaternionAdd((rs_quaternion*) buf2052, (const rs_quaternion*) buf2053);
-    rsQuaternionConjugate((rs_quaternion*) buf2054);
-    *(float*)buf2055 = rsQuaternionDot((const rs_quaternion*) buf2056, (const rs_quaternion*) buf2057);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2058, (const rs_quaternion*) buf2059);
-    rsQuaternionLoadRotate((rs_quaternion*) buf2060, *(float*)buf2061, *(float*)buf2062, *(float*)buf2063, *(float*)buf2064);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2065, *(float*)buf2066, *(float*)buf2067, *(float*)buf2068, *(float*)buf2069);
-    rsQuaternionMultiply((rs_quaternion*) buf2070, *(float*)buf2071);
-    rsQuaternionMultiply((rs_quaternion*) buf2072, (const rs_quaternion*) buf2073);
-    rsQuaternionNormalize((rs_quaternion*) buf2074);
-    rsQuaternionSet((rs_quaternion*) buf2075, *(float*)buf2076, *(float*)buf2077, *(float*)buf2078, *(float*)buf2079);
-    rsQuaternionSet((rs_quaternion*) buf2080, (const rs_quaternion*) buf2081);
-    rsQuaternionSlerp((rs_quaternion*) buf2082, (const rs_quaternion*) buf2083, (const rs_quaternion*) buf2084, *(float*)buf2085);
-    *(int*)buf2086 = rsRand(*(int*)buf2087);
-    *(int*)buf2088 = rsRand(*(int*)buf2089, *(int*)buf2090);
-    *(float*)buf2091 = rsRand(*(float*)buf2092);
-    *(float*)buf2093 = rsRand(*(float*)buf2094, *(float*)buf2095);
-    *(bool*)buf2096 = rsSendToClient(*(int*)buf2097);
-    *(bool*)buf2098 = rsSendToClient(*(int*)buf2099, (const void*) buf2100, *(uint*)buf2101);
-    rsSendToClientBlocking(*(int*)buf2102);
-    rsSendToClientBlocking(*(int*)buf2103, (const void*) buf2104, *(uint*)buf2105);
-    rsSetObject((rs_element*) buf2106, *(rs_element*)buf2107);
-    rsSetObject((rs_type*) buf2108, *(rs_type*)buf2109);
-    rsSetObject((rs_allocation*) buf2110, *(rs_allocation*)buf2111);
-    rsSetObject((rs_sampler*) buf2112, *(rs_sampler*)buf2113);
-    rsSetObject((rs_script*) buf2114, *(rs_script*)buf2115);
+    *(bool*)buf1918 = rsIsSphereInFrustum((float4*) buf1919, (float4*) buf1920, (float4*) buf1921, (float4*) buf1922, (float4*) buf1923, (float4*) buf1924, (float4*) buf1925);
+    *(rs_tm**)buf1926 = rsLocaltime((rs_tm*) buf1927, (const rs_time_t*) buf1928);
+    *(float*)buf1929 = rsMatrixGet((const rs_matrix4x4*) buf1930, *(uint32_t*)buf1931, *(uint32_t*)buf1932);
+    *(float*)buf1933 = rsMatrixGet((const rs_matrix3x3*) buf1934, *(uint32_t*)buf1935, *(uint32_t*)buf1936);
+    *(float*)buf1937 = rsMatrixGet((const rs_matrix2x2*) buf1938, *(uint32_t*)buf1939, *(uint32_t*)buf1940);
+    *(bool*)buf1941 = rsMatrixInverse((rs_matrix4x4*) buf1942);
+    *(bool*)buf1943 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1944);
+    rsMatrixLoad((rs_matrix4x4*) buf1945, (const float*) buf1946);
+    rsMatrixLoad((rs_matrix3x3*) buf1947, (const float*) buf1948);
+    rsMatrixLoad((rs_matrix2x2*) buf1949, (const float*) buf1950);
+    rsMatrixLoad((rs_matrix4x4*) buf1951, (const rs_matrix4x4*) buf1952);
+    rsMatrixLoad((rs_matrix3x3*) buf1953, (const rs_matrix3x3*) buf1954);
+    rsMatrixLoad((rs_matrix2x2*) buf1955, (const rs_matrix2x2*) buf1956);
+    rsMatrixLoad((rs_matrix4x4*) buf1957, (const rs_matrix3x3*) buf1958);
+    rsMatrixLoad((rs_matrix4x4*) buf1959, (const rs_matrix2x2*) buf1960);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf1961, *(float*)buf1962, *(float*)buf1963, *(float*)buf1964, *(float*)buf1965, *(float*)buf1966, *(float*)buf1967);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf1968);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf1969);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf1970);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf1971, (const rs_matrix4x4*) buf1972, (const rs_matrix4x4*) buf1973);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf1974, (const rs_matrix3x3*) buf1975, (const rs_matrix3x3*) buf1976);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf1977, (const rs_matrix2x2*) buf1978, (const rs_matrix2x2*) buf1979);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf1980, *(float*)buf1981, *(float*)buf1982, *(float*)buf1983, *(float*)buf1984, *(float*)buf1985, *(float*)buf1986);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf1987, *(float*)buf1988, *(float*)buf1989, *(float*)buf1990, *(float*)buf1991);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf1992, *(float*)buf1993, *(float*)buf1994, *(float*)buf1995, *(float*)buf1996);
+    rsMatrixLoadScale((rs_matrix4x4*) buf1997, *(float*)buf1998, *(float*)buf1999, *(float*)buf2000);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf2001, *(float*)buf2002, *(float*)buf2003, *(float*)buf2004);
+    rsMatrixMultiply((rs_matrix4x4*) buf2005, (const rs_matrix4x4*) buf2006);
+    rsMatrixMultiply((rs_matrix3x3*) buf2007, (const rs_matrix3x3*) buf2008);
+    rsMatrixMultiply((rs_matrix2x2*) buf2009, (const rs_matrix2x2*) buf2010);
+    *(float4*)buf2011 = rsMatrixMultiply((const rs_matrix4x4*) buf2012, *(float4*)buf2013);
+    *(float4*)buf2014 = rsMatrixMultiply((const rs_matrix4x4*) buf2015, *(float3*)buf2016);
+    *(float4*)buf2017 = rsMatrixMultiply((const rs_matrix4x4*) buf2018, *(float2*)buf2019);
+    *(float3*)buf2020 = rsMatrixMultiply((const rs_matrix3x3*) buf2021, *(float3*)buf2022);
+    *(float3*)buf2023 = rsMatrixMultiply((const rs_matrix3x3*) buf2024, *(float2*)buf2025);
+    *(float2*)buf2026 = rsMatrixMultiply((const rs_matrix2x2*) buf2027, *(float2*)buf2028);
+    rsMatrixRotate((rs_matrix4x4*) buf2029, *(float*)buf2030, *(float*)buf2031, *(float*)buf2032, *(float*)buf2033);
+    rsMatrixScale((rs_matrix4x4*) buf2034, *(float*)buf2035, *(float*)buf2036, *(float*)buf2037);
+    rsMatrixSet((rs_matrix4x4*) buf2038, *(uint32_t*)buf2039, *(uint32_t*)buf2040, *(float*)buf2041);
+    rsMatrixSet((rs_matrix3x3*) buf2042, *(uint32_t*)buf2043, *(uint32_t*)buf2044, *(float*)buf2045);
+    rsMatrixSet((rs_matrix2x2*) buf2046, *(uint32_t*)buf2047, *(uint32_t*)buf2048, *(float*)buf2049);
+    rsMatrixTranslate((rs_matrix4x4*) buf2050, *(float*)buf2051, *(float*)buf2052, *(float*)buf2053);
+    rsMatrixTranspose((rs_matrix4x4*) buf2054);
+    rsMatrixTranspose((rs_matrix3x3*) buf2055);
+    rsMatrixTranspose((rs_matrix2x2*) buf2056);
+    *(uchar4*)buf2057 = rsPackColorTo8888(*(float*)buf2058, *(float*)buf2059, *(float*)buf2060);
+    *(uchar4*)buf2061 = rsPackColorTo8888(*(float*)buf2062, *(float*)buf2063, *(float*)buf2064, *(float*)buf2065);
+    *(uchar4*)buf2066 = rsPackColorTo8888(*(float3*)buf2067);
+    *(uchar4*)buf2068 = rsPackColorTo8888(*(float4*)buf2069);
+    rsQuaternionAdd((rs_quaternion*) buf2070, (const rs_quaternion*) buf2071);
+    rsQuaternionConjugate((rs_quaternion*) buf2072);
+    *(float*)buf2073 = rsQuaternionDot((const rs_quaternion*) buf2074, (const rs_quaternion*) buf2075);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2076, (const rs_quaternion*) buf2077);
+    rsQuaternionLoadRotate((rs_quaternion*) buf2078, *(float*)buf2079, *(float*)buf2080, *(float*)buf2081, *(float*)buf2082);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2083, *(float*)buf2084, *(float*)buf2085, *(float*)buf2086, *(float*)buf2087);
+    rsQuaternionMultiply((rs_quaternion*) buf2088, *(float*)buf2089);
+    rsQuaternionMultiply((rs_quaternion*) buf2090, (const rs_quaternion*) buf2091);
+    rsQuaternionNormalize((rs_quaternion*) buf2092);
+    rsQuaternionSet((rs_quaternion*) buf2093, *(float*)buf2094, *(float*)buf2095, *(float*)buf2096, *(float*)buf2097);
+    rsQuaternionSet((rs_quaternion*) buf2098, (const rs_quaternion*) buf2099);
+    rsQuaternionSlerp((rs_quaternion*) buf2100, (const rs_quaternion*) buf2101, (const rs_quaternion*) buf2102, *(float*)buf2103);
+    *(int*)buf2104 = rsRand(*(int*)buf2105);
+    *(int*)buf2106 = rsRand(*(int*)buf2107, *(int*)buf2108);
+    *(float*)buf2109 = rsRand(*(float*)buf2110);
+    *(float*)buf2111 = rsRand(*(float*)buf2112, *(float*)buf2113);
+    *(bool*)buf2114 = rsSendToClient(*(int*)buf2115);
+    *(bool*)buf2116 = rsSendToClient(*(int*)buf2117, (const void*) buf2118, *(uint*)buf2119);
+    rsSendToClientBlocking(*(int*)buf2120);
+    rsSendToClientBlocking(*(int*)buf2121, (const void*) buf2122, *(uint*)buf2123);
+    rsSetObject((rs_element*) buf2124, *(rs_element*)buf2125);
+    rsSetObject((rs_type*) buf2126, *(rs_type*)buf2127);
+    rsSetObject((rs_allocation*) buf2128, *(rs_allocation*)buf2129);
+    rsSetObject((rs_sampler*) buf2130, *(rs_sampler*)buf2131);
+    rsSetObject((rs_script*) buf2132, *(rs_script*)buf2133);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf2116, *(rs_mesh*)buf2117);
-    rsSetObject((rs_program_fragment*) buf2118, *(rs_program_fragment*)buf2119);
-    rsSetObject((rs_program_vertex*) buf2120, *(rs_program_vertex*)buf2121);
-    rsSetObject((rs_program_raster*) buf2122, *(rs_program_raster*)buf2123);
-    rsSetObject((rs_program_store*) buf2124, *(rs_program_store*)buf2125);
-    rsSetObject((rs_font*) buf2126, *(rs_font*)buf2127);
+    rsSetObject((rs_mesh*) buf2134, *(rs_mesh*)buf2135);
+    rsSetObject((rs_program_fragment*) buf2136, *(rs_program_fragment*)buf2137);
+    rsSetObject((rs_program_vertex*) buf2138, *(rs_program_vertex*)buf2139);
+    rsSetObject((rs_program_raster*) buf2140, *(rs_program_raster*)buf2141);
+    rsSetObject((rs_program_store*) buf2142, *(rs_program_store*)buf2143);
+    rsSetObject((rs_font*) buf2144, *(rs_font*)buf2145);
 #endif
-    *(rs_time_t*)buf2128 = rsTime((rs_time_t*) buf2129);
-    *(float4*)buf2130 = rsUnpackColor8888(*(uchar4*)buf2131);
-    *(int64_t*)buf2132 = rsUptimeMillis();
-    *(int64_t*)buf2133 = rsUptimeNanos();
-    *(float4*)buf2134 = rsYuvToRGBA_float4(*(uchar*)buf2135, *(uchar*)buf2136, *(uchar*)buf2137);
-    *(uchar4*)buf2138 = rsYuvToRGBA_uchar4(*(uchar*)buf2139, *(uchar*)buf2140, *(uchar*)buf2141);
+    *(rs_time_t*)buf2146 = rsTime((rs_time_t*) buf2147);
+    *(float4*)buf2148 = rsUnpackColor8888(*(uchar4*)buf2149);
+    *(int64_t*)buf2150 = rsUptimeMillis();
+    *(int64_t*)buf2151 = rsUptimeNanos();
+    *(float4*)buf2152 = rsYuvToRGBA_float4(*(uchar*)buf2153, *(uchar*)buf2154, *(uchar*)buf2155);
+    *(uchar4*)buf2156 = rsYuvToRGBA_uchar4(*(uchar*)buf2157, *(uchar*)buf2158, *(uchar*)buf2159);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2142);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2160);
 #endif
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2143, *(rs_allocation_usage_type*)buf2144);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2161, *(rs_allocation_usage_type*)buf2162);
 #endif
 #ifndef __LP64__
-    rsgBindColorTarget(*(rs_allocation*)buf2145, *(uint*)buf2146);
+    rsgBindColorTarget(*(rs_allocation*)buf2163, *(uint*)buf2164);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf2147, *(uint*)buf2148, *(rs_allocation*)buf2149);
+    rsgBindConstant(*(rs_program_fragment*)buf2165, *(uint*)buf2166, *(rs_allocation*)buf2167);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf2150, *(uint*)buf2151, *(rs_allocation*)buf2152);
+    rsgBindConstant(*(rs_program_vertex*)buf2168, *(uint*)buf2169, *(rs_allocation*)buf2170);
 #endif
 #ifndef __LP64__
-    rsgBindDepthTarget(*(rs_allocation*)buf2153);
+    rsgBindDepthTarget(*(rs_allocation*)buf2171);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf2154);
+    rsgBindFont(*(rs_font*)buf2172);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf2155);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf2173);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf2156);
+    rsgBindProgramRaster(*(rs_program_raster*)buf2174);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf2157);
+    rsgBindProgramStore(*(rs_program_store*)buf2175);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf2158);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf2176);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf2159, *(uint*)buf2160, *(rs_sampler*)buf2161);
+    rsgBindSampler(*(rs_program_fragment*)buf2177, *(uint*)buf2178, *(rs_sampler*)buf2179);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf2162, *(uint*)buf2163, *(rs_allocation*)buf2164);
+    rsgBindTexture(*(rs_program_fragment*)buf2180, *(uint*)buf2181, *(rs_allocation*)buf2182);
 #endif
 #ifndef __LP64__
     rsgClearAllRenderTargets();
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf2165, *(float*)buf2166, *(float*)buf2167, *(float*)buf2168);
+    rsgClearColor(*(float*)buf2183, *(float*)buf2184, *(float*)buf2185, *(float*)buf2186);
 #endif
 #ifndef __LP64__
-    rsgClearColorTarget(*(uint*)buf2169);
+    rsgClearColorTarget(*(uint*)buf2187);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf2170);
+    rsgClearDepth(*(float*)buf2188);
 #endif
 #ifndef __LP64__
     rsgClearDepthTarget();
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2171);
+    rsgDrawMesh(*(rs_mesh*)buf2189);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2172, *(uint*)buf2173);
+    rsgDrawMesh(*(rs_mesh*)buf2190, *(uint*)buf2191);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2174, *(uint*)buf2175, *(uint*)buf2176, *(uint*)buf2177);
+    rsgDrawMesh(*(rs_mesh*)buf2192, *(uint*)buf2193, *(uint*)buf2194, *(uint*)buf2195);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf2178, *(float*)buf2179, *(float*)buf2180, *(float*)buf2181, *(float*)buf2182, *(float*)buf2183, *(float*)buf2184, *(float*)buf2185, *(float*)buf2186, *(float*)buf2187, *(float*)buf2188, *(float*)buf2189);
+    rsgDrawQuad(*(float*)buf2196, *(float*)buf2197, *(float*)buf2198, *(float*)buf2199, *(float*)buf2200, *(float*)buf2201, *(float*)buf2202, *(float*)buf2203, *(float*)buf2204, *(float*)buf2205, *(float*)buf2206, *(float*)buf2207);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf2190, *(float*)buf2191, *(float*)buf2192, *(float*)buf2193, *(float*)buf2194, *(float*)buf2195, *(float*)buf2196, *(float*)buf2197, *(float*)buf2198, *(float*)buf2199, *(float*)buf2200, *(float*)buf2201, *(float*)buf2202, *(float*)buf2203, *(float*)buf2204, *(float*)buf2205, *(float*)buf2206, *(float*)buf2207, *(float*)buf2208, *(float*)buf2209);
+    rsgDrawQuadTexCoords(*(float*)buf2208, *(float*)buf2209, *(float*)buf2210, *(float*)buf2211, *(float*)buf2212, *(float*)buf2213, *(float*)buf2214, *(float*)buf2215, *(float*)buf2216, *(float*)buf2217, *(float*)buf2218, *(float*)buf2219, *(float*)buf2220, *(float*)buf2221, *(float*)buf2222, *(float*)buf2223, *(float*)buf2224, *(float*)buf2225, *(float*)buf2226, *(float*)buf2227);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf2210, *(float*)buf2211, *(float*)buf2212, *(float*)buf2213, *(float*)buf2214);
+    rsgDrawRect(*(float*)buf2228, *(float*)buf2229, *(float*)buf2230, *(float*)buf2231, *(float*)buf2232);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf2215, *(float*)buf2216, *(float*)buf2217, *(float*)buf2218, *(float*)buf2219);
+    rsgDrawSpriteScreenspace(*(float*)buf2233, *(float*)buf2234, *(float*)buf2235, *(float*)buf2236, *(float*)buf2237);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf2220, *(int*)buf2221, *(int*)buf2222);
+    rsgDrawText((const char*) buf2238, *(int*)buf2239, *(int*)buf2240);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf2223, *(int*)buf2224, *(int*)buf2225);
+    rsgDrawText(*(rs_allocation*)buf2241, *(int*)buf2242, *(int*)buf2243);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2226 = rsgFinish();
+    *(uint*)buf2244 = rsgFinish();
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf2227, *(float*)buf2228, *(float*)buf2229, *(float*)buf2230);
+    rsgFontColor(*(float*)buf2245, *(float*)buf2246, *(float*)buf2247, *(float*)buf2248);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2231 = rsgGetHeight();
+    *(uint*)buf2249 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf2232 = rsgGetWidth();
+    *(uint*)buf2250 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf2233, (int*) buf2234, (int*) buf2235, (int*) buf2236, (int*) buf2237);
+    rsgMeasureText((const char*) buf2251, (int*) buf2252, (int*) buf2253, (int*) buf2254, (int*) buf2255);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf2238, (int*) buf2239, (int*) buf2240, (int*) buf2241, (int*) buf2242);
+    rsgMeasureText(*(rs_allocation*)buf2256, (int*) buf2257, (int*) buf2258, (int*) buf2259, (int*) buf2260);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2243, (float*) buf2244, (float*) buf2245, (float*) buf2246, (float*) buf2247, (float*) buf2248, (float*) buf2249);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2261, (float*) buf2262, (float*) buf2263, (float*) buf2264, (float*) buf2265, (float*) buf2266, (float*) buf2267);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2250, (float3*) buf2251, (float3*) buf2252);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2268, (float3*) buf2269, (float3*) buf2270);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2253, *(float*)buf2254, *(float*)buf2255, *(float*)buf2256, *(float*)buf2257);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2271, *(float*)buf2272, *(float*)buf2273, *(float*)buf2274, *(float*)buf2275);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2258);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2276);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2259);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2277);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2260);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2278);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2261);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2279);
 #endif
-    *(float*)buf2262 = rsqrt(*(float*)buf2263);
-    *(float2*)buf2264 = rsqrt(*(float2*)buf2265);
-    *(float3*)buf2266 = rsqrt(*(float3*)buf2267);
-    *(float4*)buf2268 = rsqrt(*(float4*)buf2269);
-    *(float*)buf2270 = sign(*(float*)buf2271);
-    *(float2*)buf2272 = sign(*(float2*)buf2273);
-    *(float3*)buf2274 = sign(*(float3*)buf2275);
-    *(float4*)buf2276 = sign(*(float4*)buf2277);
-    *(float*)buf2278 = sin(*(float*)buf2279);
-    *(float2*)buf2280 = sin(*(float2*)buf2281);
-    *(float3*)buf2282 = sin(*(float3*)buf2283);
-    *(float4*)buf2284 = sin(*(float4*)buf2285);
-    *(float*)buf2286 = sincos(*(float*)buf2287, (float*) buf2288);
-    *(float2*)buf2289 = sincos(*(float2*)buf2290, (float2*) buf2291);
-    *(float3*)buf2292 = sincos(*(float3*)buf2293, (float3*) buf2294);
-    *(float4*)buf2295 = sincos(*(float4*)buf2296, (float4*) buf2297);
-    *(float*)buf2298 = sinh(*(float*)buf2299);
-    *(float2*)buf2300 = sinh(*(float2*)buf2301);
-    *(float3*)buf2302 = sinh(*(float3*)buf2303);
-    *(float4*)buf2304 = sinh(*(float4*)buf2305);
-    *(float*)buf2306 = sinpi(*(float*)buf2307);
-    *(float2*)buf2308 = sinpi(*(float2*)buf2309);
-    *(float3*)buf2310 = sinpi(*(float3*)buf2311);
-    *(float4*)buf2312 = sinpi(*(float4*)buf2313);
-    *(float*)buf2314 = sqrt(*(float*)buf2315);
-    *(float2*)buf2316 = sqrt(*(float2*)buf2317);
-    *(float3*)buf2318 = sqrt(*(float3*)buf2319);
-    *(float4*)buf2320 = sqrt(*(float4*)buf2321);
-    *(float*)buf2322 = step(*(float*)buf2323, *(float*)buf2324);
-    *(float2*)buf2325 = step(*(float2*)buf2326, *(float2*)buf2327);
-    *(float3*)buf2328 = step(*(float3*)buf2329, *(float3*)buf2330);
-    *(float4*)buf2331 = step(*(float4*)buf2332, *(float4*)buf2333);
-    *(float2*)buf2334 = step(*(float2*)buf2335, *(float*)buf2336);
-    *(float3*)buf2337 = step(*(float3*)buf2338, *(float*)buf2339);
-    *(float4*)buf2340 = step(*(float4*)buf2341, *(float*)buf2342);
-    *(float*)buf2343 = tan(*(float*)buf2344);
-    *(float2*)buf2345 = tan(*(float2*)buf2346);
-    *(float3*)buf2347 = tan(*(float3*)buf2348);
-    *(float4*)buf2349 = tan(*(float4*)buf2350);
-    *(float*)buf2351 = tanh(*(float*)buf2352);
-    *(float2*)buf2353 = tanh(*(float2*)buf2354);
-    *(float3*)buf2355 = tanh(*(float3*)buf2356);
-    *(float4*)buf2357 = tanh(*(float4*)buf2358);
-    *(float*)buf2359 = tanpi(*(float*)buf2360);
-    *(float2*)buf2361 = tanpi(*(float2*)buf2362);
-    *(float3*)buf2363 = tanpi(*(float3*)buf2364);
-    *(float4*)buf2365 = tanpi(*(float4*)buf2366);
-    *(float*)buf2367 = tgamma(*(float*)buf2368);
-    *(float2*)buf2369 = tgamma(*(float2*)buf2370);
-    *(float3*)buf2371 = tgamma(*(float3*)buf2372);
-    *(float4*)buf2373 = tgamma(*(float4*)buf2374);
-    *(float*)buf2375 = trunc(*(float*)buf2376);
-    *(float2*)buf2377 = trunc(*(float2*)buf2378);
-    *(float3*)buf2379 = trunc(*(float3*)buf2380);
-    *(float4*)buf2381 = trunc(*(float4*)buf2382);
+    *(float*)buf2280 = rsqrt(*(float*)buf2281);
+    *(float2*)buf2282 = rsqrt(*(float2*)buf2283);
+    *(float3*)buf2284 = rsqrt(*(float3*)buf2285);
+    *(float4*)buf2286 = rsqrt(*(float4*)buf2287);
+    *(float*)buf2288 = sign(*(float*)buf2289);
+    *(float2*)buf2290 = sign(*(float2*)buf2291);
+    *(float3*)buf2292 = sign(*(float3*)buf2293);
+    *(float4*)buf2294 = sign(*(float4*)buf2295);
+    *(float*)buf2296 = sin(*(float*)buf2297);
+    *(float2*)buf2298 = sin(*(float2*)buf2299);
+    *(float3*)buf2300 = sin(*(float3*)buf2301);
+    *(float4*)buf2302 = sin(*(float4*)buf2303);
+    *(float*)buf2304 = sincos(*(float*)buf2305, (float*) buf2306);
+    *(float2*)buf2307 = sincos(*(float2*)buf2308, (float2*) buf2309);
+    *(float3*)buf2310 = sincos(*(float3*)buf2311, (float3*) buf2312);
+    *(float4*)buf2313 = sincos(*(float4*)buf2314, (float4*) buf2315);
+    *(float*)buf2316 = sinh(*(float*)buf2317);
+    *(float2*)buf2318 = sinh(*(float2*)buf2319);
+    *(float3*)buf2320 = sinh(*(float3*)buf2321);
+    *(float4*)buf2322 = sinh(*(float4*)buf2323);
+    *(float*)buf2324 = sinpi(*(float*)buf2325);
+    *(float2*)buf2326 = sinpi(*(float2*)buf2327);
+    *(float3*)buf2328 = sinpi(*(float3*)buf2329);
+    *(float4*)buf2330 = sinpi(*(float4*)buf2331);
+    *(float*)buf2332 = sqrt(*(float*)buf2333);
+    *(float2*)buf2334 = sqrt(*(float2*)buf2335);
+    *(float3*)buf2336 = sqrt(*(float3*)buf2337);
+    *(float4*)buf2338 = sqrt(*(float4*)buf2339);
+    *(float*)buf2340 = step(*(float*)buf2341, *(float*)buf2342);
+    *(float2*)buf2343 = step(*(float2*)buf2344, *(float2*)buf2345);
+    *(float3*)buf2346 = step(*(float3*)buf2347, *(float3*)buf2348);
+    *(float4*)buf2349 = step(*(float4*)buf2350, *(float4*)buf2351);
+    *(float2*)buf2352 = step(*(float2*)buf2353, *(float*)buf2354);
+    *(float3*)buf2355 = step(*(float3*)buf2356, *(float*)buf2357);
+    *(float4*)buf2358 = step(*(float4*)buf2359, *(float*)buf2360);
+    *(float*)buf2361 = tan(*(float*)buf2362);
+    *(float2*)buf2363 = tan(*(float2*)buf2364);
+    *(float3*)buf2365 = tan(*(float3*)buf2366);
+    *(float4*)buf2367 = tan(*(float4*)buf2368);
+    *(float*)buf2369 = tanh(*(float*)buf2370);
+    *(float2*)buf2371 = tanh(*(float2*)buf2372);
+    *(float3*)buf2373 = tanh(*(float3*)buf2374);
+    *(float4*)buf2375 = tanh(*(float4*)buf2376);
+    *(float*)buf2377 = tanpi(*(float*)buf2378);
+    *(float2*)buf2379 = tanpi(*(float2*)buf2380);
+    *(float3*)buf2381 = tanpi(*(float3*)buf2382);
+    *(float4*)buf2383 = tanpi(*(float4*)buf2384);
+    *(float*)buf2385 = tgamma(*(float*)buf2386);
+    *(float2*)buf2387 = tgamma(*(float2*)buf2388);
+    *(float3*)buf2389 = tgamma(*(float3*)buf2390);
+    *(float4*)buf2391 = tgamma(*(float4*)buf2392);
+    *(float*)buf2393 = trunc(*(float*)buf2394);
+    *(float2*)buf2395 = trunc(*(float2*)buf2396);
+    *(float3*)buf2397 = trunc(*(float3*)buf2398);
+    *(float4*)buf2399 = trunc(*(float4*)buf2400);
 }
diff --git a/tests/P_all_api_16/all16.rs b/tests/P_all_api_16/all16.rs
index 92adb63..565bca1 100644
--- a/tests/P_all_api_16/all16.rs
+++ b/tests/P_all_api_16/all16.rs
@@ -2497,6 +2497,24 @@
 char buf2472[200];
 char buf2473[200];
 char buf2474[200];
+char buf2475[200];
+char buf2476[200];
+char buf2477[200];
+char buf2478[200];
+char buf2479[200];
+char buf2480[200];
+char buf2481[200];
+char buf2482[200];
+char buf2483[200];
+char buf2484[200];
+char buf2485[200];
+char buf2486[200];
+char buf2487[200];
+char buf2488[200];
+char buf2489[200];
+char buf2490[200];
+char buf2491[200];
+char buf2492[200];
 
 void root(const int* in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -2896,645 +2914,651 @@
     *(float2*)buf886 = max(*(float2*)buf887, *(float2*)buf888);
     *(float3*)buf889 = max(*(float3*)buf890, *(float3*)buf891);
     *(float4*)buf892 = max(*(float4*)buf893, *(float4*)buf894);
-    *(char*)buf895 = max(*(char*)buf896, *(char*)buf897);
-    *(uchar*)buf898 = max(*(uchar*)buf899, *(uchar*)buf900);
-    *(short*)buf901 = max(*(short*)buf902, *(short*)buf903);
-    *(ushort*)buf904 = max(*(ushort*)buf905, *(ushort*)buf906);
-    *(int*)buf907 = max(*(int*)buf908, *(int*)buf909);
-    *(uint*)buf910 = max(*(uint*)buf911, *(uint*)buf912);
-    *(char2*)buf913 = max(*(char2*)buf914, *(char2*)buf915);
-    *(uchar2*)buf916 = max(*(uchar2*)buf917, *(uchar2*)buf918);
-    *(short2*)buf919 = max(*(short2*)buf920, *(short2*)buf921);
-    *(ushort2*)buf922 = max(*(ushort2*)buf923, *(ushort2*)buf924);
-    *(int2*)buf925 = max(*(int2*)buf926, *(int2*)buf927);
-    *(uint2*)buf928 = max(*(uint2*)buf929, *(uint2*)buf930);
-    *(char3*)buf931 = max(*(char3*)buf932, *(char3*)buf933);
-    *(uchar3*)buf934 = max(*(uchar3*)buf935, *(uchar3*)buf936);
-    *(short3*)buf937 = max(*(short3*)buf938, *(short3*)buf939);
-    *(ushort3*)buf940 = max(*(ushort3*)buf941, *(ushort3*)buf942);
-    *(int3*)buf943 = max(*(int3*)buf944, *(int3*)buf945);
-    *(uint3*)buf946 = max(*(uint3*)buf947, *(uint3*)buf948);
-    *(char4*)buf949 = max(*(char4*)buf950, *(char4*)buf951);
-    *(uchar4*)buf952 = max(*(uchar4*)buf953, *(uchar4*)buf954);
-    *(short4*)buf955 = max(*(short4*)buf956, *(short4*)buf957);
-    *(ushort4*)buf958 = max(*(ushort4*)buf959, *(ushort4*)buf960);
-    *(int4*)buf961 = max(*(int4*)buf962, *(int4*)buf963);
-    *(uint4*)buf964 = max(*(uint4*)buf965, *(uint4*)buf966);
-    *(float*)buf967 = min(*(float*)buf968, *(float*)buf969);
-    *(float2*)buf970 = min(*(float2*)buf971, *(float2*)buf972);
-    *(float3*)buf973 = min(*(float3*)buf974, *(float3*)buf975);
-    *(float4*)buf976 = min(*(float4*)buf977, *(float4*)buf978);
-    *(char*)buf979 = min(*(char*)buf980, *(char*)buf981);
-    *(uchar*)buf982 = min(*(uchar*)buf983, *(uchar*)buf984);
-    *(short*)buf985 = min(*(short*)buf986, *(short*)buf987);
-    *(ushort*)buf988 = min(*(ushort*)buf989, *(ushort*)buf990);
-    *(int*)buf991 = min(*(int*)buf992, *(int*)buf993);
-    *(uint*)buf994 = min(*(uint*)buf995, *(uint*)buf996);
-    *(char2*)buf997 = min(*(char2*)buf998, *(char2*)buf999);
-    *(uchar2*)buf1000 = min(*(uchar2*)buf1001, *(uchar2*)buf1002);
-    *(short2*)buf1003 = min(*(short2*)buf1004, *(short2*)buf1005);
-    *(ushort2*)buf1006 = min(*(ushort2*)buf1007, *(ushort2*)buf1008);
-    *(int2*)buf1009 = min(*(int2*)buf1010, *(int2*)buf1011);
-    *(uint2*)buf1012 = min(*(uint2*)buf1013, *(uint2*)buf1014);
-    *(char3*)buf1015 = min(*(char3*)buf1016, *(char3*)buf1017);
-    *(uchar3*)buf1018 = min(*(uchar3*)buf1019, *(uchar3*)buf1020);
-    *(short3*)buf1021 = min(*(short3*)buf1022, *(short3*)buf1023);
-    *(ushort3*)buf1024 = min(*(ushort3*)buf1025, *(ushort3*)buf1026);
-    *(int3*)buf1027 = min(*(int3*)buf1028, *(int3*)buf1029);
-    *(uint3*)buf1030 = min(*(uint3*)buf1031, *(uint3*)buf1032);
-    *(char4*)buf1033 = min(*(char4*)buf1034, *(char4*)buf1035);
-    *(uchar4*)buf1036 = min(*(uchar4*)buf1037, *(uchar4*)buf1038);
-    *(short4*)buf1039 = min(*(short4*)buf1040, *(short4*)buf1041);
-    *(ushort4*)buf1042 = min(*(ushort4*)buf1043, *(ushort4*)buf1044);
-    *(int4*)buf1045 = min(*(int4*)buf1046, *(int4*)buf1047);
-    *(uint4*)buf1048 = min(*(uint4*)buf1049, *(uint4*)buf1050);
-    *(float*)buf1051 = mix(*(float*)buf1052, *(float*)buf1053, *(float*)buf1054);
-    *(float2*)buf1055 = mix(*(float2*)buf1056, *(float2*)buf1057, *(float2*)buf1058);
-    *(float3*)buf1059 = mix(*(float3*)buf1060, *(float3*)buf1061, *(float3*)buf1062);
-    *(float4*)buf1063 = mix(*(float4*)buf1064, *(float4*)buf1065, *(float4*)buf1066);
-    *(float2*)buf1067 = mix(*(float2*)buf1068, *(float2*)buf1069, *(float*)buf1070);
-    *(float3*)buf1071 = mix(*(float3*)buf1072, *(float3*)buf1073, *(float*)buf1074);
-    *(float4*)buf1075 = mix(*(float4*)buf1076, *(float4*)buf1077, *(float*)buf1078);
-    *(float*)buf1079 = modf(*(float*)buf1080, (float*) buf1081);
-    *(float2*)buf1082 = modf(*(float2*)buf1083, (float2*) buf1084);
-    *(float3*)buf1085 = modf(*(float3*)buf1086, (float3*) buf1087);
-    *(float4*)buf1088 = modf(*(float4*)buf1089, (float4*) buf1090);
-    *(float*)buf1091 = nan(*(uint*)buf1092);
-    *(float*)buf1093 = nextafter(*(float*)buf1094, *(float*)buf1095);
-    *(float2*)buf1096 = nextafter(*(float2*)buf1097, *(float2*)buf1098);
-    *(float3*)buf1099 = nextafter(*(float3*)buf1100, *(float3*)buf1101);
-    *(float4*)buf1102 = nextafter(*(float4*)buf1103, *(float4*)buf1104);
-    *(float*)buf1105 = normalize(*(float*)buf1106);
-    *(float2*)buf1107 = normalize(*(float2*)buf1108);
-    *(float3*)buf1109 = normalize(*(float3*)buf1110);
-    *(float4*)buf1111 = normalize(*(float4*)buf1112);
-    *(float*)buf1113 = pow(*(float*)buf1114, *(float*)buf1115);
-    *(float2*)buf1116 = pow(*(float2*)buf1117, *(float2*)buf1118);
-    *(float3*)buf1119 = pow(*(float3*)buf1120, *(float3*)buf1121);
-    *(float4*)buf1122 = pow(*(float4*)buf1123, *(float4*)buf1124);
-    *(float*)buf1125 = pown(*(float*)buf1126, *(int*)buf1127);
-    *(float2*)buf1128 = pown(*(float2*)buf1129, *(int2*)buf1130);
-    *(float3*)buf1131 = pown(*(float3*)buf1132, *(int3*)buf1133);
-    *(float4*)buf1134 = pown(*(float4*)buf1135, *(int4*)buf1136);
-    *(float*)buf1137 = powr(*(float*)buf1138, *(float*)buf1139);
-    *(float2*)buf1140 = powr(*(float2*)buf1141, *(float2*)buf1142);
-    *(float3*)buf1143 = powr(*(float3*)buf1144, *(float3*)buf1145);
-    *(float4*)buf1146 = powr(*(float4*)buf1147, *(float4*)buf1148);
-    *(float*)buf1149 = radians(*(float*)buf1150);
-    *(float2*)buf1151 = radians(*(float2*)buf1152);
-    *(float3*)buf1153 = radians(*(float3*)buf1154);
-    *(float4*)buf1155 = radians(*(float4*)buf1156);
-    *(float*)buf1157 = remainder(*(float*)buf1158, *(float*)buf1159);
-    *(float2*)buf1160 = remainder(*(float2*)buf1161, *(float2*)buf1162);
-    *(float3*)buf1163 = remainder(*(float3*)buf1164, *(float3*)buf1165);
-    *(float4*)buf1166 = remainder(*(float4*)buf1167, *(float4*)buf1168);
-    *(float*)buf1169 = remquo(*(float*)buf1170, *(float*)buf1171, (int*) buf1172);
-    *(float2*)buf1173 = remquo(*(float2*)buf1174, *(float2*)buf1175, (int2*) buf1176);
-    *(float3*)buf1177 = remquo(*(float3*)buf1178, *(float3*)buf1179, (int3*) buf1180);
-    *(float4*)buf1181 = remquo(*(float4*)buf1182, *(float4*)buf1183, (int4*) buf1184);
-    *(float*)buf1185 = rint(*(float*)buf1186);
-    *(float2*)buf1187 = rint(*(float2*)buf1188);
-    *(float3*)buf1189 = rint(*(float3*)buf1190);
-    *(float4*)buf1191 = rint(*(float4*)buf1192);
-    *(float*)buf1193 = rootn(*(float*)buf1194, *(int*)buf1195);
-    *(float2*)buf1196 = rootn(*(float2*)buf1197, *(int2*)buf1198);
-    *(float3*)buf1199 = rootn(*(float3*)buf1200, *(int3*)buf1201);
-    *(float4*)buf1202 = rootn(*(float4*)buf1203, *(int4*)buf1204);
-    *(float*)buf1205 = round(*(float*)buf1206);
-    *(float2*)buf1207 = round(*(float2*)buf1208);
-    *(float3*)buf1209 = round(*(float3*)buf1210);
-    *(float4*)buf1211 = round(*(float4*)buf1212);
-    rsAllocationCopy1DRange(*(rs_allocation*)buf1213, *(uint32_t*)buf1214, *(uint32_t*)buf1215, *(uint32_t*)buf1216, *(rs_allocation*)buf1217, *(uint32_t*)buf1218, *(uint32_t*)buf1219);
-    rsAllocationCopy2DRange(*(rs_allocation*)buf1220, *(uint32_t*)buf1221, *(uint32_t*)buf1222, *(uint32_t*)buf1223, *(rs_allocation_cubemap_face*)buf1224, *(uint32_t*)buf1225, *(uint32_t*)buf1226, *(rs_allocation*)buf1227, *(uint32_t*)buf1228, *(uint32_t*)buf1229, *(uint32_t*)buf1230, *(rs_allocation_cubemap_face*)buf1231);
-    *(uint32_t*)buf1232 = rsAllocationGetDimFaces(*(rs_allocation*)buf1233);
-    *(uint32_t*)buf1234 = rsAllocationGetDimLOD(*(rs_allocation*)buf1235);
-    *(uint32_t*)buf1236 = rsAllocationGetDimX(*(rs_allocation*)buf1237);
-    *(uint32_t*)buf1238 = rsAllocationGetDimY(*(rs_allocation*)buf1239);
-    *(uint32_t*)buf1240 = rsAllocationGetDimZ(*(rs_allocation*)buf1241);
-    *(rs_element*)buf1242 = rsAllocationGetElement(*(rs_allocation*)buf1243);
-    rsAllocationIoReceive(*(rs_allocation*)buf1244);
-    rsAllocationIoSend(*(rs_allocation*)buf1245);
-    *(int32_t*)buf1246 = rsAtomicAdd((volatile int32_t*) buf1247, *(int32_t*)buf1248);
-    *(int32_t*)buf1249 = rsAtomicAnd((volatile int32_t*) buf1250, *(int32_t*)buf1251);
-    *(int32_t*)buf1252 = rsAtomicCas((volatile int32_t*) buf1253, *(int32_t*)buf1254, *(int32_t*)buf1255);
-    *(uint32_t*)buf1256 = rsAtomicCas((volatile uint32_t*) buf1257, *(uint32_t*)buf1258, *(uint32_t*)buf1259);
-    *(int32_t*)buf1260 = rsAtomicDec((volatile int32_t*) buf1261);
-    *(int32_t*)buf1262 = rsAtomicInc((volatile int32_t*) buf1263);
-    *(uint32_t*)buf1264 = rsAtomicMax((volatile uint32_t*) buf1265, *(uint32_t*)buf1266);
-    *(int32_t*)buf1267 = rsAtomicMax((volatile int32_t*) buf1268, *(int32_t*)buf1269);
-    *(uint32_t*)buf1270 = rsAtomicMin((volatile uint32_t*) buf1271, *(uint32_t*)buf1272);
-    *(int32_t*)buf1273 = rsAtomicMin((volatile int32_t*) buf1274, *(int32_t*)buf1275);
-    *(int32_t*)buf1276 = rsAtomicOr((volatile int32_t*) buf1277, *(int32_t*)buf1278);
-    *(int32_t*)buf1279 = rsAtomicSub((volatile int32_t*) buf1280, *(int32_t*)buf1281);
-    *(int32_t*)buf1282 = rsAtomicXor((volatile int32_t*) buf1283, *(int32_t*)buf1284);
-    *(char*)buf1285 = rsClamp(*(char*)buf1286, *(char*)buf1287, *(char*)buf1288);
-    *(uchar*)buf1289 = rsClamp(*(uchar*)buf1290, *(uchar*)buf1291, *(uchar*)buf1292);
-    *(short*)buf1293 = rsClamp(*(short*)buf1294, *(short*)buf1295, *(short*)buf1296);
-    *(ushort*)buf1297 = rsClamp(*(ushort*)buf1298, *(ushort*)buf1299, *(ushort*)buf1300);
-    *(int*)buf1301 = rsClamp(*(int*)buf1302, *(int*)buf1303, *(int*)buf1304);
-    *(uint*)buf1305 = rsClamp(*(uint*)buf1306, *(uint*)buf1307, *(uint*)buf1308);
-    rsClearObject((rs_element*) buf1309);
-    rsClearObject((rs_type*) buf1310);
-    rsClearObject((rs_allocation*) buf1311);
-    rsClearObject((rs_sampler*) buf1312);
-    rsClearObject((rs_script*) buf1313);
+    *(float2*)buf895 = max(*(float2*)buf896, *(float*)buf897);
+    *(float3*)buf898 = max(*(float3*)buf899, *(float*)buf900);
+    *(float4*)buf901 = max(*(float4*)buf902, *(float*)buf903);
+    *(char*)buf904 = max(*(char*)buf905, *(char*)buf906);
+    *(uchar*)buf907 = max(*(uchar*)buf908, *(uchar*)buf909);
+    *(short*)buf910 = max(*(short*)buf911, *(short*)buf912);
+    *(ushort*)buf913 = max(*(ushort*)buf914, *(ushort*)buf915);
+    *(int*)buf916 = max(*(int*)buf917, *(int*)buf918);
+    *(uint*)buf919 = max(*(uint*)buf920, *(uint*)buf921);
+    *(char2*)buf922 = max(*(char2*)buf923, *(char2*)buf924);
+    *(uchar2*)buf925 = max(*(uchar2*)buf926, *(uchar2*)buf927);
+    *(short2*)buf928 = max(*(short2*)buf929, *(short2*)buf930);
+    *(ushort2*)buf931 = max(*(ushort2*)buf932, *(ushort2*)buf933);
+    *(int2*)buf934 = max(*(int2*)buf935, *(int2*)buf936);
+    *(uint2*)buf937 = max(*(uint2*)buf938, *(uint2*)buf939);
+    *(char3*)buf940 = max(*(char3*)buf941, *(char3*)buf942);
+    *(uchar3*)buf943 = max(*(uchar3*)buf944, *(uchar3*)buf945);
+    *(short3*)buf946 = max(*(short3*)buf947, *(short3*)buf948);
+    *(ushort3*)buf949 = max(*(ushort3*)buf950, *(ushort3*)buf951);
+    *(int3*)buf952 = max(*(int3*)buf953, *(int3*)buf954);
+    *(uint3*)buf955 = max(*(uint3*)buf956, *(uint3*)buf957);
+    *(char4*)buf958 = max(*(char4*)buf959, *(char4*)buf960);
+    *(uchar4*)buf961 = max(*(uchar4*)buf962, *(uchar4*)buf963);
+    *(short4*)buf964 = max(*(short4*)buf965, *(short4*)buf966);
+    *(ushort4*)buf967 = max(*(ushort4*)buf968, *(ushort4*)buf969);
+    *(int4*)buf970 = max(*(int4*)buf971, *(int4*)buf972);
+    *(uint4*)buf973 = max(*(uint4*)buf974, *(uint4*)buf975);
+    *(float*)buf976 = min(*(float*)buf977, *(float*)buf978);
+    *(float2*)buf979 = min(*(float2*)buf980, *(float2*)buf981);
+    *(float3*)buf982 = min(*(float3*)buf983, *(float3*)buf984);
+    *(float4*)buf985 = min(*(float4*)buf986, *(float4*)buf987);
+    *(float2*)buf988 = min(*(float2*)buf989, *(float*)buf990);
+    *(float3*)buf991 = min(*(float3*)buf992, *(float*)buf993);
+    *(float4*)buf994 = min(*(float4*)buf995, *(float*)buf996);
+    *(char*)buf997 = min(*(char*)buf998, *(char*)buf999);
+    *(uchar*)buf1000 = min(*(uchar*)buf1001, *(uchar*)buf1002);
+    *(short*)buf1003 = min(*(short*)buf1004, *(short*)buf1005);
+    *(ushort*)buf1006 = min(*(ushort*)buf1007, *(ushort*)buf1008);
+    *(int*)buf1009 = min(*(int*)buf1010, *(int*)buf1011);
+    *(uint*)buf1012 = min(*(uint*)buf1013, *(uint*)buf1014);
+    *(char2*)buf1015 = min(*(char2*)buf1016, *(char2*)buf1017);
+    *(uchar2*)buf1018 = min(*(uchar2*)buf1019, *(uchar2*)buf1020);
+    *(short2*)buf1021 = min(*(short2*)buf1022, *(short2*)buf1023);
+    *(ushort2*)buf1024 = min(*(ushort2*)buf1025, *(ushort2*)buf1026);
+    *(int2*)buf1027 = min(*(int2*)buf1028, *(int2*)buf1029);
+    *(uint2*)buf1030 = min(*(uint2*)buf1031, *(uint2*)buf1032);
+    *(char3*)buf1033 = min(*(char3*)buf1034, *(char3*)buf1035);
+    *(uchar3*)buf1036 = min(*(uchar3*)buf1037, *(uchar3*)buf1038);
+    *(short3*)buf1039 = min(*(short3*)buf1040, *(short3*)buf1041);
+    *(ushort3*)buf1042 = min(*(ushort3*)buf1043, *(ushort3*)buf1044);
+    *(int3*)buf1045 = min(*(int3*)buf1046, *(int3*)buf1047);
+    *(uint3*)buf1048 = min(*(uint3*)buf1049, *(uint3*)buf1050);
+    *(char4*)buf1051 = min(*(char4*)buf1052, *(char4*)buf1053);
+    *(uchar4*)buf1054 = min(*(uchar4*)buf1055, *(uchar4*)buf1056);
+    *(short4*)buf1057 = min(*(short4*)buf1058, *(short4*)buf1059);
+    *(ushort4*)buf1060 = min(*(ushort4*)buf1061, *(ushort4*)buf1062);
+    *(int4*)buf1063 = min(*(int4*)buf1064, *(int4*)buf1065);
+    *(uint4*)buf1066 = min(*(uint4*)buf1067, *(uint4*)buf1068);
+    *(float*)buf1069 = mix(*(float*)buf1070, *(float*)buf1071, *(float*)buf1072);
+    *(float2*)buf1073 = mix(*(float2*)buf1074, *(float2*)buf1075, *(float2*)buf1076);
+    *(float3*)buf1077 = mix(*(float3*)buf1078, *(float3*)buf1079, *(float3*)buf1080);
+    *(float4*)buf1081 = mix(*(float4*)buf1082, *(float4*)buf1083, *(float4*)buf1084);
+    *(float2*)buf1085 = mix(*(float2*)buf1086, *(float2*)buf1087, *(float*)buf1088);
+    *(float3*)buf1089 = mix(*(float3*)buf1090, *(float3*)buf1091, *(float*)buf1092);
+    *(float4*)buf1093 = mix(*(float4*)buf1094, *(float4*)buf1095, *(float*)buf1096);
+    *(float*)buf1097 = modf(*(float*)buf1098, (float*) buf1099);
+    *(float2*)buf1100 = modf(*(float2*)buf1101, (float2*) buf1102);
+    *(float3*)buf1103 = modf(*(float3*)buf1104, (float3*) buf1105);
+    *(float4*)buf1106 = modf(*(float4*)buf1107, (float4*) buf1108);
+    *(float*)buf1109 = nan(*(uint*)buf1110);
+    *(float*)buf1111 = nextafter(*(float*)buf1112, *(float*)buf1113);
+    *(float2*)buf1114 = nextafter(*(float2*)buf1115, *(float2*)buf1116);
+    *(float3*)buf1117 = nextafter(*(float3*)buf1118, *(float3*)buf1119);
+    *(float4*)buf1120 = nextafter(*(float4*)buf1121, *(float4*)buf1122);
+    *(float*)buf1123 = normalize(*(float*)buf1124);
+    *(float2*)buf1125 = normalize(*(float2*)buf1126);
+    *(float3*)buf1127 = normalize(*(float3*)buf1128);
+    *(float4*)buf1129 = normalize(*(float4*)buf1130);
+    *(float*)buf1131 = pow(*(float*)buf1132, *(float*)buf1133);
+    *(float2*)buf1134 = pow(*(float2*)buf1135, *(float2*)buf1136);
+    *(float3*)buf1137 = pow(*(float3*)buf1138, *(float3*)buf1139);
+    *(float4*)buf1140 = pow(*(float4*)buf1141, *(float4*)buf1142);
+    *(float*)buf1143 = pown(*(float*)buf1144, *(int*)buf1145);
+    *(float2*)buf1146 = pown(*(float2*)buf1147, *(int2*)buf1148);
+    *(float3*)buf1149 = pown(*(float3*)buf1150, *(int3*)buf1151);
+    *(float4*)buf1152 = pown(*(float4*)buf1153, *(int4*)buf1154);
+    *(float*)buf1155 = powr(*(float*)buf1156, *(float*)buf1157);
+    *(float2*)buf1158 = powr(*(float2*)buf1159, *(float2*)buf1160);
+    *(float3*)buf1161 = powr(*(float3*)buf1162, *(float3*)buf1163);
+    *(float4*)buf1164 = powr(*(float4*)buf1165, *(float4*)buf1166);
+    *(float*)buf1167 = radians(*(float*)buf1168);
+    *(float2*)buf1169 = radians(*(float2*)buf1170);
+    *(float3*)buf1171 = radians(*(float3*)buf1172);
+    *(float4*)buf1173 = radians(*(float4*)buf1174);
+    *(float*)buf1175 = remainder(*(float*)buf1176, *(float*)buf1177);
+    *(float2*)buf1178 = remainder(*(float2*)buf1179, *(float2*)buf1180);
+    *(float3*)buf1181 = remainder(*(float3*)buf1182, *(float3*)buf1183);
+    *(float4*)buf1184 = remainder(*(float4*)buf1185, *(float4*)buf1186);
+    *(float*)buf1187 = remquo(*(float*)buf1188, *(float*)buf1189, (int*) buf1190);
+    *(float2*)buf1191 = remquo(*(float2*)buf1192, *(float2*)buf1193, (int2*) buf1194);
+    *(float3*)buf1195 = remquo(*(float3*)buf1196, *(float3*)buf1197, (int3*) buf1198);
+    *(float4*)buf1199 = remquo(*(float4*)buf1200, *(float4*)buf1201, (int4*) buf1202);
+    *(float*)buf1203 = rint(*(float*)buf1204);
+    *(float2*)buf1205 = rint(*(float2*)buf1206);
+    *(float3*)buf1207 = rint(*(float3*)buf1208);
+    *(float4*)buf1209 = rint(*(float4*)buf1210);
+    *(float*)buf1211 = rootn(*(float*)buf1212, *(int*)buf1213);
+    *(float2*)buf1214 = rootn(*(float2*)buf1215, *(int2*)buf1216);
+    *(float3*)buf1217 = rootn(*(float3*)buf1218, *(int3*)buf1219);
+    *(float4*)buf1220 = rootn(*(float4*)buf1221, *(int4*)buf1222);
+    *(float*)buf1223 = round(*(float*)buf1224);
+    *(float2*)buf1225 = round(*(float2*)buf1226);
+    *(float3*)buf1227 = round(*(float3*)buf1228);
+    *(float4*)buf1229 = round(*(float4*)buf1230);
+    rsAllocationCopy1DRange(*(rs_allocation*)buf1231, *(uint32_t*)buf1232, *(uint32_t*)buf1233, *(uint32_t*)buf1234, *(rs_allocation*)buf1235, *(uint32_t*)buf1236, *(uint32_t*)buf1237);
+    rsAllocationCopy2DRange(*(rs_allocation*)buf1238, *(uint32_t*)buf1239, *(uint32_t*)buf1240, *(uint32_t*)buf1241, *(rs_allocation_cubemap_face*)buf1242, *(uint32_t*)buf1243, *(uint32_t*)buf1244, *(rs_allocation*)buf1245, *(uint32_t*)buf1246, *(uint32_t*)buf1247, *(uint32_t*)buf1248, *(rs_allocation_cubemap_face*)buf1249);
+    *(uint32_t*)buf1250 = rsAllocationGetDimFaces(*(rs_allocation*)buf1251);
+    *(uint32_t*)buf1252 = rsAllocationGetDimLOD(*(rs_allocation*)buf1253);
+    *(uint32_t*)buf1254 = rsAllocationGetDimX(*(rs_allocation*)buf1255);
+    *(uint32_t*)buf1256 = rsAllocationGetDimY(*(rs_allocation*)buf1257);
+    *(uint32_t*)buf1258 = rsAllocationGetDimZ(*(rs_allocation*)buf1259);
+    *(rs_element*)buf1260 = rsAllocationGetElement(*(rs_allocation*)buf1261);
+    rsAllocationIoReceive(*(rs_allocation*)buf1262);
+    rsAllocationIoSend(*(rs_allocation*)buf1263);
+    *(int32_t*)buf1264 = rsAtomicAdd((volatile int32_t*) buf1265, *(int32_t*)buf1266);
+    *(int32_t*)buf1267 = rsAtomicAnd((volatile int32_t*) buf1268, *(int32_t*)buf1269);
+    *(int32_t*)buf1270 = rsAtomicCas((volatile int32_t*) buf1271, *(int32_t*)buf1272, *(int32_t*)buf1273);
+    *(uint32_t*)buf1274 = rsAtomicCas((volatile uint32_t*) buf1275, *(uint32_t*)buf1276, *(uint32_t*)buf1277);
+    *(int32_t*)buf1278 = rsAtomicDec((volatile int32_t*) buf1279);
+    *(int32_t*)buf1280 = rsAtomicInc((volatile int32_t*) buf1281);
+    *(uint32_t*)buf1282 = rsAtomicMax((volatile uint32_t*) buf1283, *(uint32_t*)buf1284);
+    *(int32_t*)buf1285 = rsAtomicMax((volatile int32_t*) buf1286, *(int32_t*)buf1287);
+    *(uint32_t*)buf1288 = rsAtomicMin((volatile uint32_t*) buf1289, *(uint32_t*)buf1290);
+    *(int32_t*)buf1291 = rsAtomicMin((volatile int32_t*) buf1292, *(int32_t*)buf1293);
+    *(int32_t*)buf1294 = rsAtomicOr((volatile int32_t*) buf1295, *(int32_t*)buf1296);
+    *(int32_t*)buf1297 = rsAtomicSub((volatile int32_t*) buf1298, *(int32_t*)buf1299);
+    *(int32_t*)buf1300 = rsAtomicXor((volatile int32_t*) buf1301, *(int32_t*)buf1302);
+    *(char*)buf1303 = rsClamp(*(char*)buf1304, *(char*)buf1305, *(char*)buf1306);
+    *(uchar*)buf1307 = rsClamp(*(uchar*)buf1308, *(uchar*)buf1309, *(uchar*)buf1310);
+    *(short*)buf1311 = rsClamp(*(short*)buf1312, *(short*)buf1313, *(short*)buf1314);
+    *(ushort*)buf1315 = rsClamp(*(ushort*)buf1316, *(ushort*)buf1317, *(ushort*)buf1318);
+    *(int*)buf1319 = rsClamp(*(int*)buf1320, *(int*)buf1321, *(int*)buf1322);
+    *(uint*)buf1323 = rsClamp(*(uint*)buf1324, *(uint*)buf1325, *(uint*)buf1326);
+    rsClearObject((rs_element*) buf1327);
+    rsClearObject((rs_type*) buf1328);
+    rsClearObject((rs_allocation*) buf1329);
+    rsClearObject((rs_sampler*) buf1330);
+    rsClearObject((rs_script*) buf1331);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf1314);
-    rsClearObject((rs_program_fragment*) buf1315);
-    rsClearObject((rs_program_vertex*) buf1316);
-    rsClearObject((rs_program_raster*) buf1317);
-    rsClearObject((rs_program_store*) buf1318);
-    rsClearObject((rs_font*) buf1319);
+    rsClearObject((rs_mesh*) buf1332);
+    rsClearObject((rs_program_fragment*) buf1333);
+    rsClearObject((rs_program_vertex*) buf1334);
+    rsClearObject((rs_program_raster*) buf1335);
+    rsClearObject((rs_program_store*) buf1336);
+    rsClearObject((rs_font*) buf1337);
 #endif
-    rsDebug((const char*) buf1320, *(double*)buf1321);
-    rsDebug((const char*) buf1322, *(int*)buf1323);
-    rsDebug((const char*) buf1324, *(uint*)buf1325);
-    rsDebug((const char*) buf1326, *(long*)buf1327);
-    rsDebug((const char*) buf1328, *(ulong*)buf1329);
-    rsDebug((const char*) buf1330, *(float*)buf1331);
-    rsDebug((const char*) buf1332, *(float2*)buf1333);
-    rsDebug((const char*) buf1334, *(float3*)buf1335);
-    rsDebug((const char*) buf1336, *(float4*)buf1337);
-    rsDebug((const char*) buf1338, *(float*)buf1339, *(float*)buf1340);
-    rsDebug((const char*) buf1341, *(float*)buf1342, *(float*)buf1343, *(float*)buf1344);
-    rsDebug((const char*) buf1345, *(float*)buf1346, *(float*)buf1347, *(float*)buf1348, *(float*)buf1349);
-    rsDebug((const char*) buf1350, *(long long*)buf1351);
-    rsDebug((const char*) buf1352, *(unsigned long long*)buf1353);
-    rsDebug((const char*) buf1354, (const void*) buf1355);
-    rsDebug((const char*) buf1356, (const rs_matrix4x4*) buf1357);
-    rsDebug((const char*) buf1358, (const rs_matrix3x3*) buf1359);
-    rsDebug((const char*) buf1360, (const rs_matrix2x2*) buf1361);
-    *(uint32_t*)buf1362 = rsElementGetBytesSize(*(rs_element*)buf1363);
-    *(rs_data_kind*)buf1364 = rsElementGetDataKind(*(rs_element*)buf1365);
-    *(rs_data_type*)buf1366 = rsElementGetDataType(*(rs_element*)buf1367);
-    *(rs_element*)buf1368 = rsElementGetSubElement(*(rs_element*)buf1369, *(uint32_t*)buf1370);
-    *(uint32_t*)buf1371 = rsElementGetSubElementArraySize(*(rs_element*)buf1372, *(uint32_t*)buf1373);
-    *(uint32_t*)buf1374 = rsElementGetSubElementCount(*(rs_element*)buf1375);
-    *(uint32_t*)buf1376 = rsElementGetSubElementName(*(rs_element*)buf1377, *(uint32_t*)buf1378, (char*) buf1379, *(uint32_t*)buf1380);
-    *(uint32_t*)buf1381 = rsElementGetSubElementNameLength(*(rs_element*)buf1382, *(uint32_t*)buf1383);
-    *(uint32_t*)buf1384 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf1385, *(uint32_t*)buf1386);
-    *(uint32_t*)buf1387 = rsElementGetVectorSize(*(rs_element*)buf1388);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1389, (float4*) buf1390, (float4*) buf1391, (float4*) buf1392, (float4*) buf1393, (float4*) buf1394, (float4*) buf1395);
-    rsForEach(*(rs_script*)buf1396, *(rs_allocation*)buf1397, *(rs_allocation*)buf1398, (const void*) buf1399, *(size_t*)buf1400, (const rs_script_call_t*) buf1401);
-    rsForEach(*(rs_script*)buf1402, *(rs_allocation*)buf1403, *(rs_allocation*)buf1404, (const void*) buf1405, *(size_t*)buf1406);
-    rsForEach(*(rs_script*)buf1407, *(rs_allocation*)buf1408, *(rs_allocation*)buf1409);
-    *(float*)buf1410 = rsFrac(*(float*)buf1411);
-    *(rs_allocation*)buf1412 = rsGetAllocation((const void*) buf1413);
-    *(float*)buf1414 = rsGetDt();
-    *(const void**)buf1415 = rsGetElementAt(*(rs_allocation*)buf1416, *(uint32_t*)buf1417);
-    *(const void**)buf1418 = rsGetElementAt(*(rs_allocation*)buf1419, *(uint32_t*)buf1420, *(uint32_t*)buf1421);
-    *(const void**)buf1422 = rsGetElementAt(*(rs_allocation*)buf1423, *(uint32_t*)buf1424, *(uint32_t*)buf1425, *(uint32_t*)buf1426);
-    *(float*)buf1427 = rsGetElementAt_float(*(rs_allocation*)buf1428, *(uint32_t*)buf1429);
-    *(float2*)buf1430 = rsGetElementAt_float2(*(rs_allocation*)buf1431, *(uint32_t*)buf1432);
-    *(float3*)buf1433 = rsGetElementAt_float3(*(rs_allocation*)buf1434, *(uint32_t*)buf1435);
-    *(float4*)buf1436 = rsGetElementAt_float4(*(rs_allocation*)buf1437, *(uint32_t*)buf1438);
-    *(double*)buf1439 = rsGetElementAt_double(*(rs_allocation*)buf1440, *(uint32_t*)buf1441);
-    *(double2*)buf1442 = rsGetElementAt_double2(*(rs_allocation*)buf1443, *(uint32_t*)buf1444);
-    *(double3*)buf1445 = rsGetElementAt_double3(*(rs_allocation*)buf1446, *(uint32_t*)buf1447);
-    *(double4*)buf1448 = rsGetElementAt_double4(*(rs_allocation*)buf1449, *(uint32_t*)buf1450);
-    *(char*)buf1451 = rsGetElementAt_char(*(rs_allocation*)buf1452, *(uint32_t*)buf1453);
-    *(char2*)buf1454 = rsGetElementAt_char2(*(rs_allocation*)buf1455, *(uint32_t*)buf1456);
-    *(char3*)buf1457 = rsGetElementAt_char3(*(rs_allocation*)buf1458, *(uint32_t*)buf1459);
-    *(char4*)buf1460 = rsGetElementAt_char4(*(rs_allocation*)buf1461, *(uint32_t*)buf1462);
-    *(uchar*)buf1463 = rsGetElementAt_uchar(*(rs_allocation*)buf1464, *(uint32_t*)buf1465);
-    *(uchar2*)buf1466 = rsGetElementAt_uchar2(*(rs_allocation*)buf1467, *(uint32_t*)buf1468);
-    *(uchar3*)buf1469 = rsGetElementAt_uchar3(*(rs_allocation*)buf1470, *(uint32_t*)buf1471);
-    *(uchar4*)buf1472 = rsGetElementAt_uchar4(*(rs_allocation*)buf1473, *(uint32_t*)buf1474);
-    *(short*)buf1475 = rsGetElementAt_short(*(rs_allocation*)buf1476, *(uint32_t*)buf1477);
-    *(short2*)buf1478 = rsGetElementAt_short2(*(rs_allocation*)buf1479, *(uint32_t*)buf1480);
-    *(short3*)buf1481 = rsGetElementAt_short3(*(rs_allocation*)buf1482, *(uint32_t*)buf1483);
-    *(short4*)buf1484 = rsGetElementAt_short4(*(rs_allocation*)buf1485, *(uint32_t*)buf1486);
-    *(ushort*)buf1487 = rsGetElementAt_ushort(*(rs_allocation*)buf1488, *(uint32_t*)buf1489);
-    *(ushort2*)buf1490 = rsGetElementAt_ushort2(*(rs_allocation*)buf1491, *(uint32_t*)buf1492);
-    *(ushort3*)buf1493 = rsGetElementAt_ushort3(*(rs_allocation*)buf1494, *(uint32_t*)buf1495);
-    *(ushort4*)buf1496 = rsGetElementAt_ushort4(*(rs_allocation*)buf1497, *(uint32_t*)buf1498);
-    *(int*)buf1499 = rsGetElementAt_int(*(rs_allocation*)buf1500, *(uint32_t*)buf1501);
-    *(int2*)buf1502 = rsGetElementAt_int2(*(rs_allocation*)buf1503, *(uint32_t*)buf1504);
-    *(int3*)buf1505 = rsGetElementAt_int3(*(rs_allocation*)buf1506, *(uint32_t*)buf1507);
-    *(int4*)buf1508 = rsGetElementAt_int4(*(rs_allocation*)buf1509, *(uint32_t*)buf1510);
-    *(uint*)buf1511 = rsGetElementAt_uint(*(rs_allocation*)buf1512, *(uint32_t*)buf1513);
-    *(uint2*)buf1514 = rsGetElementAt_uint2(*(rs_allocation*)buf1515, *(uint32_t*)buf1516);
-    *(uint3*)buf1517 = rsGetElementAt_uint3(*(rs_allocation*)buf1518, *(uint32_t*)buf1519);
-    *(uint4*)buf1520 = rsGetElementAt_uint4(*(rs_allocation*)buf1521, *(uint32_t*)buf1522);
-    *(long*)buf1523 = rsGetElementAt_long(*(rs_allocation*)buf1524, *(uint32_t*)buf1525);
-    *(long2*)buf1526 = rsGetElementAt_long2(*(rs_allocation*)buf1527, *(uint32_t*)buf1528);
-    *(long3*)buf1529 = rsGetElementAt_long3(*(rs_allocation*)buf1530, *(uint32_t*)buf1531);
-    *(long4*)buf1532 = rsGetElementAt_long4(*(rs_allocation*)buf1533, *(uint32_t*)buf1534);
-    *(ulong*)buf1535 = rsGetElementAt_ulong(*(rs_allocation*)buf1536, *(uint32_t*)buf1537);
-    *(ulong2*)buf1538 = rsGetElementAt_ulong2(*(rs_allocation*)buf1539, *(uint32_t*)buf1540);
-    *(ulong3*)buf1541 = rsGetElementAt_ulong3(*(rs_allocation*)buf1542, *(uint32_t*)buf1543);
-    *(ulong4*)buf1544 = rsGetElementAt_ulong4(*(rs_allocation*)buf1545, *(uint32_t*)buf1546);
-    *(float*)buf1547 = rsGetElementAt_float(*(rs_allocation*)buf1548, *(uint32_t*)buf1549, *(uint32_t*)buf1550);
-    *(float2*)buf1551 = rsGetElementAt_float2(*(rs_allocation*)buf1552, *(uint32_t*)buf1553, *(uint32_t*)buf1554);
-    *(float3*)buf1555 = rsGetElementAt_float3(*(rs_allocation*)buf1556, *(uint32_t*)buf1557, *(uint32_t*)buf1558);
-    *(float4*)buf1559 = rsGetElementAt_float4(*(rs_allocation*)buf1560, *(uint32_t*)buf1561, *(uint32_t*)buf1562);
-    *(double*)buf1563 = rsGetElementAt_double(*(rs_allocation*)buf1564, *(uint32_t*)buf1565, *(uint32_t*)buf1566);
-    *(double2*)buf1567 = rsGetElementAt_double2(*(rs_allocation*)buf1568, *(uint32_t*)buf1569, *(uint32_t*)buf1570);
-    *(double3*)buf1571 = rsGetElementAt_double3(*(rs_allocation*)buf1572, *(uint32_t*)buf1573, *(uint32_t*)buf1574);
-    *(double4*)buf1575 = rsGetElementAt_double4(*(rs_allocation*)buf1576, *(uint32_t*)buf1577, *(uint32_t*)buf1578);
-    *(char*)buf1579 = rsGetElementAt_char(*(rs_allocation*)buf1580, *(uint32_t*)buf1581, *(uint32_t*)buf1582);
-    *(char2*)buf1583 = rsGetElementAt_char2(*(rs_allocation*)buf1584, *(uint32_t*)buf1585, *(uint32_t*)buf1586);
-    *(char3*)buf1587 = rsGetElementAt_char3(*(rs_allocation*)buf1588, *(uint32_t*)buf1589, *(uint32_t*)buf1590);
-    *(char4*)buf1591 = rsGetElementAt_char4(*(rs_allocation*)buf1592, *(uint32_t*)buf1593, *(uint32_t*)buf1594);
-    *(uchar*)buf1595 = rsGetElementAt_uchar(*(rs_allocation*)buf1596, *(uint32_t*)buf1597, *(uint32_t*)buf1598);
-    *(uchar2*)buf1599 = rsGetElementAt_uchar2(*(rs_allocation*)buf1600, *(uint32_t*)buf1601, *(uint32_t*)buf1602);
-    *(uchar3*)buf1603 = rsGetElementAt_uchar3(*(rs_allocation*)buf1604, *(uint32_t*)buf1605, *(uint32_t*)buf1606);
-    *(uchar4*)buf1607 = rsGetElementAt_uchar4(*(rs_allocation*)buf1608, *(uint32_t*)buf1609, *(uint32_t*)buf1610);
-    *(short*)buf1611 = rsGetElementAt_short(*(rs_allocation*)buf1612, *(uint32_t*)buf1613, *(uint32_t*)buf1614);
-    *(short2*)buf1615 = rsGetElementAt_short2(*(rs_allocation*)buf1616, *(uint32_t*)buf1617, *(uint32_t*)buf1618);
-    *(short3*)buf1619 = rsGetElementAt_short3(*(rs_allocation*)buf1620, *(uint32_t*)buf1621, *(uint32_t*)buf1622);
-    *(short4*)buf1623 = rsGetElementAt_short4(*(rs_allocation*)buf1624, *(uint32_t*)buf1625, *(uint32_t*)buf1626);
-    *(ushort*)buf1627 = rsGetElementAt_ushort(*(rs_allocation*)buf1628, *(uint32_t*)buf1629, *(uint32_t*)buf1630);
-    *(ushort2*)buf1631 = rsGetElementAt_ushort2(*(rs_allocation*)buf1632, *(uint32_t*)buf1633, *(uint32_t*)buf1634);
-    *(ushort3*)buf1635 = rsGetElementAt_ushort3(*(rs_allocation*)buf1636, *(uint32_t*)buf1637, *(uint32_t*)buf1638);
-    *(ushort4*)buf1639 = rsGetElementAt_ushort4(*(rs_allocation*)buf1640, *(uint32_t*)buf1641, *(uint32_t*)buf1642);
-    *(int*)buf1643 = rsGetElementAt_int(*(rs_allocation*)buf1644, *(uint32_t*)buf1645, *(uint32_t*)buf1646);
-    *(int2*)buf1647 = rsGetElementAt_int2(*(rs_allocation*)buf1648, *(uint32_t*)buf1649, *(uint32_t*)buf1650);
-    *(int3*)buf1651 = rsGetElementAt_int3(*(rs_allocation*)buf1652, *(uint32_t*)buf1653, *(uint32_t*)buf1654);
-    *(int4*)buf1655 = rsGetElementAt_int4(*(rs_allocation*)buf1656, *(uint32_t*)buf1657, *(uint32_t*)buf1658);
-    *(uint*)buf1659 = rsGetElementAt_uint(*(rs_allocation*)buf1660, *(uint32_t*)buf1661, *(uint32_t*)buf1662);
-    *(uint2*)buf1663 = rsGetElementAt_uint2(*(rs_allocation*)buf1664, *(uint32_t*)buf1665, *(uint32_t*)buf1666);
-    *(uint3*)buf1667 = rsGetElementAt_uint3(*(rs_allocation*)buf1668, *(uint32_t*)buf1669, *(uint32_t*)buf1670);
-    *(uint4*)buf1671 = rsGetElementAt_uint4(*(rs_allocation*)buf1672, *(uint32_t*)buf1673, *(uint32_t*)buf1674);
-    *(long*)buf1675 = rsGetElementAt_long(*(rs_allocation*)buf1676, *(uint32_t*)buf1677, *(uint32_t*)buf1678);
-    *(long2*)buf1679 = rsGetElementAt_long2(*(rs_allocation*)buf1680, *(uint32_t*)buf1681, *(uint32_t*)buf1682);
-    *(long3*)buf1683 = rsGetElementAt_long3(*(rs_allocation*)buf1684, *(uint32_t*)buf1685, *(uint32_t*)buf1686);
-    *(long4*)buf1687 = rsGetElementAt_long4(*(rs_allocation*)buf1688, *(uint32_t*)buf1689, *(uint32_t*)buf1690);
-    *(ulong*)buf1691 = rsGetElementAt_ulong(*(rs_allocation*)buf1692, *(uint32_t*)buf1693, *(uint32_t*)buf1694);
-    *(ulong2*)buf1695 = rsGetElementAt_ulong2(*(rs_allocation*)buf1696, *(uint32_t*)buf1697, *(uint32_t*)buf1698);
-    *(ulong3*)buf1699 = rsGetElementAt_ulong3(*(rs_allocation*)buf1700, *(uint32_t*)buf1701, *(uint32_t*)buf1702);
-    *(ulong4*)buf1703 = rsGetElementAt_ulong4(*(rs_allocation*)buf1704, *(uint32_t*)buf1705, *(uint32_t*)buf1706);
-    *(float*)buf1707 = rsGetElementAt_float(*(rs_allocation*)buf1708, *(uint32_t*)buf1709, *(uint32_t*)buf1710, *(uint32_t*)buf1711);
-    *(float2*)buf1712 = rsGetElementAt_float2(*(rs_allocation*)buf1713, *(uint32_t*)buf1714, *(uint32_t*)buf1715, *(uint32_t*)buf1716);
-    *(float3*)buf1717 = rsGetElementAt_float3(*(rs_allocation*)buf1718, *(uint32_t*)buf1719, *(uint32_t*)buf1720, *(uint32_t*)buf1721);
-    *(float4*)buf1722 = rsGetElementAt_float4(*(rs_allocation*)buf1723, *(uint32_t*)buf1724, *(uint32_t*)buf1725, *(uint32_t*)buf1726);
-    *(double*)buf1727 = rsGetElementAt_double(*(rs_allocation*)buf1728, *(uint32_t*)buf1729, *(uint32_t*)buf1730, *(uint32_t*)buf1731);
-    *(double2*)buf1732 = rsGetElementAt_double2(*(rs_allocation*)buf1733, *(uint32_t*)buf1734, *(uint32_t*)buf1735, *(uint32_t*)buf1736);
-    *(double3*)buf1737 = rsGetElementAt_double3(*(rs_allocation*)buf1738, *(uint32_t*)buf1739, *(uint32_t*)buf1740, *(uint32_t*)buf1741);
-    *(double4*)buf1742 = rsGetElementAt_double4(*(rs_allocation*)buf1743, *(uint32_t*)buf1744, *(uint32_t*)buf1745, *(uint32_t*)buf1746);
-    *(char*)buf1747 = rsGetElementAt_char(*(rs_allocation*)buf1748, *(uint32_t*)buf1749, *(uint32_t*)buf1750, *(uint32_t*)buf1751);
-    *(char2*)buf1752 = rsGetElementAt_char2(*(rs_allocation*)buf1753, *(uint32_t*)buf1754, *(uint32_t*)buf1755, *(uint32_t*)buf1756);
-    *(char3*)buf1757 = rsGetElementAt_char3(*(rs_allocation*)buf1758, *(uint32_t*)buf1759, *(uint32_t*)buf1760, *(uint32_t*)buf1761);
-    *(char4*)buf1762 = rsGetElementAt_char4(*(rs_allocation*)buf1763, *(uint32_t*)buf1764, *(uint32_t*)buf1765, *(uint32_t*)buf1766);
-    *(uchar*)buf1767 = rsGetElementAt_uchar(*(rs_allocation*)buf1768, *(uint32_t*)buf1769, *(uint32_t*)buf1770, *(uint32_t*)buf1771);
-    *(uchar2*)buf1772 = rsGetElementAt_uchar2(*(rs_allocation*)buf1773, *(uint32_t*)buf1774, *(uint32_t*)buf1775, *(uint32_t*)buf1776);
-    *(uchar3*)buf1777 = rsGetElementAt_uchar3(*(rs_allocation*)buf1778, *(uint32_t*)buf1779, *(uint32_t*)buf1780, *(uint32_t*)buf1781);
-    *(uchar4*)buf1782 = rsGetElementAt_uchar4(*(rs_allocation*)buf1783, *(uint32_t*)buf1784, *(uint32_t*)buf1785, *(uint32_t*)buf1786);
-    *(short*)buf1787 = rsGetElementAt_short(*(rs_allocation*)buf1788, *(uint32_t*)buf1789, *(uint32_t*)buf1790, *(uint32_t*)buf1791);
-    *(short2*)buf1792 = rsGetElementAt_short2(*(rs_allocation*)buf1793, *(uint32_t*)buf1794, *(uint32_t*)buf1795, *(uint32_t*)buf1796);
-    *(short3*)buf1797 = rsGetElementAt_short3(*(rs_allocation*)buf1798, *(uint32_t*)buf1799, *(uint32_t*)buf1800, *(uint32_t*)buf1801);
-    *(short4*)buf1802 = rsGetElementAt_short4(*(rs_allocation*)buf1803, *(uint32_t*)buf1804, *(uint32_t*)buf1805, *(uint32_t*)buf1806);
-    *(ushort*)buf1807 = rsGetElementAt_ushort(*(rs_allocation*)buf1808, *(uint32_t*)buf1809, *(uint32_t*)buf1810, *(uint32_t*)buf1811);
-    *(ushort2*)buf1812 = rsGetElementAt_ushort2(*(rs_allocation*)buf1813, *(uint32_t*)buf1814, *(uint32_t*)buf1815, *(uint32_t*)buf1816);
-    *(ushort3*)buf1817 = rsGetElementAt_ushort3(*(rs_allocation*)buf1818, *(uint32_t*)buf1819, *(uint32_t*)buf1820, *(uint32_t*)buf1821);
-    *(ushort4*)buf1822 = rsGetElementAt_ushort4(*(rs_allocation*)buf1823, *(uint32_t*)buf1824, *(uint32_t*)buf1825, *(uint32_t*)buf1826);
-    *(int*)buf1827 = rsGetElementAt_int(*(rs_allocation*)buf1828, *(uint32_t*)buf1829, *(uint32_t*)buf1830, *(uint32_t*)buf1831);
-    *(int2*)buf1832 = rsGetElementAt_int2(*(rs_allocation*)buf1833, *(uint32_t*)buf1834, *(uint32_t*)buf1835, *(uint32_t*)buf1836);
-    *(int3*)buf1837 = rsGetElementAt_int3(*(rs_allocation*)buf1838, *(uint32_t*)buf1839, *(uint32_t*)buf1840, *(uint32_t*)buf1841);
-    *(int4*)buf1842 = rsGetElementAt_int4(*(rs_allocation*)buf1843, *(uint32_t*)buf1844, *(uint32_t*)buf1845, *(uint32_t*)buf1846);
-    *(uint*)buf1847 = rsGetElementAt_uint(*(rs_allocation*)buf1848, *(uint32_t*)buf1849, *(uint32_t*)buf1850, *(uint32_t*)buf1851);
-    *(uint2*)buf1852 = rsGetElementAt_uint2(*(rs_allocation*)buf1853, *(uint32_t*)buf1854, *(uint32_t*)buf1855, *(uint32_t*)buf1856);
-    *(uint3*)buf1857 = rsGetElementAt_uint3(*(rs_allocation*)buf1858, *(uint32_t*)buf1859, *(uint32_t*)buf1860, *(uint32_t*)buf1861);
-    *(uint4*)buf1862 = rsGetElementAt_uint4(*(rs_allocation*)buf1863, *(uint32_t*)buf1864, *(uint32_t*)buf1865, *(uint32_t*)buf1866);
-    *(long*)buf1867 = rsGetElementAt_long(*(rs_allocation*)buf1868, *(uint32_t*)buf1869, *(uint32_t*)buf1870, *(uint32_t*)buf1871);
-    *(long2*)buf1872 = rsGetElementAt_long2(*(rs_allocation*)buf1873, *(uint32_t*)buf1874, *(uint32_t*)buf1875, *(uint32_t*)buf1876);
-    *(long3*)buf1877 = rsGetElementAt_long3(*(rs_allocation*)buf1878, *(uint32_t*)buf1879, *(uint32_t*)buf1880, *(uint32_t*)buf1881);
-    *(long4*)buf1882 = rsGetElementAt_long4(*(rs_allocation*)buf1883, *(uint32_t*)buf1884, *(uint32_t*)buf1885, *(uint32_t*)buf1886);
-    *(ulong*)buf1887 = rsGetElementAt_ulong(*(rs_allocation*)buf1888, *(uint32_t*)buf1889, *(uint32_t*)buf1890, *(uint32_t*)buf1891);
-    *(ulong2*)buf1892 = rsGetElementAt_ulong2(*(rs_allocation*)buf1893, *(uint32_t*)buf1894, *(uint32_t*)buf1895, *(uint32_t*)buf1896);
-    *(ulong3*)buf1897 = rsGetElementAt_ulong3(*(rs_allocation*)buf1898, *(uint32_t*)buf1899, *(uint32_t*)buf1900, *(uint32_t*)buf1901);
-    *(ulong4*)buf1902 = rsGetElementAt_ulong4(*(rs_allocation*)buf1903, *(uint32_t*)buf1904, *(uint32_t*)buf1905, *(uint32_t*)buf1906);
-    *(bool*)buf1907 = rsIsObject(*(rs_element*)buf1908);
-    *(bool*)buf1909 = rsIsObject(*(rs_type*)buf1910);
-    *(bool*)buf1911 = rsIsObject(*(rs_allocation*)buf1912);
-    *(bool*)buf1913 = rsIsObject(*(rs_sampler*)buf1914);
-    *(bool*)buf1915 = rsIsObject(*(rs_script*)buf1916);
+    rsDebug((const char*) buf1338, *(double*)buf1339);
+    rsDebug((const char*) buf1340, *(int*)buf1341);
+    rsDebug((const char*) buf1342, *(uint*)buf1343);
+    rsDebug((const char*) buf1344, *(long*)buf1345);
+    rsDebug((const char*) buf1346, *(ulong*)buf1347);
+    rsDebug((const char*) buf1348, *(float*)buf1349);
+    rsDebug((const char*) buf1350, *(float2*)buf1351);
+    rsDebug((const char*) buf1352, *(float3*)buf1353);
+    rsDebug((const char*) buf1354, *(float4*)buf1355);
+    rsDebug((const char*) buf1356, *(float*)buf1357, *(float*)buf1358);
+    rsDebug((const char*) buf1359, *(float*)buf1360, *(float*)buf1361, *(float*)buf1362);
+    rsDebug((const char*) buf1363, *(float*)buf1364, *(float*)buf1365, *(float*)buf1366, *(float*)buf1367);
+    rsDebug((const char*) buf1368, *(long long*)buf1369);
+    rsDebug((const char*) buf1370, *(unsigned long long*)buf1371);
+    rsDebug((const char*) buf1372, (const void*) buf1373);
+    rsDebug((const char*) buf1374, (const rs_matrix4x4*) buf1375);
+    rsDebug((const char*) buf1376, (const rs_matrix3x3*) buf1377);
+    rsDebug((const char*) buf1378, (const rs_matrix2x2*) buf1379);
+    *(uint32_t*)buf1380 = rsElementGetBytesSize(*(rs_element*)buf1381);
+    *(rs_data_kind*)buf1382 = rsElementGetDataKind(*(rs_element*)buf1383);
+    *(rs_data_type*)buf1384 = rsElementGetDataType(*(rs_element*)buf1385);
+    *(rs_element*)buf1386 = rsElementGetSubElement(*(rs_element*)buf1387, *(uint32_t*)buf1388);
+    *(uint32_t*)buf1389 = rsElementGetSubElementArraySize(*(rs_element*)buf1390, *(uint32_t*)buf1391);
+    *(uint32_t*)buf1392 = rsElementGetSubElementCount(*(rs_element*)buf1393);
+    *(uint32_t*)buf1394 = rsElementGetSubElementName(*(rs_element*)buf1395, *(uint32_t*)buf1396, (char*) buf1397, *(uint32_t*)buf1398);
+    *(uint32_t*)buf1399 = rsElementGetSubElementNameLength(*(rs_element*)buf1400, *(uint32_t*)buf1401);
+    *(uint32_t*)buf1402 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf1403, *(uint32_t*)buf1404);
+    *(uint32_t*)buf1405 = rsElementGetVectorSize(*(rs_element*)buf1406);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1407, (float4*) buf1408, (float4*) buf1409, (float4*) buf1410, (float4*) buf1411, (float4*) buf1412, (float4*) buf1413);
+    rsForEach(*(rs_script*)buf1414, *(rs_allocation*)buf1415, *(rs_allocation*)buf1416, (const void*) buf1417, *(size_t*)buf1418, (const rs_script_call_t*) buf1419);
+    rsForEach(*(rs_script*)buf1420, *(rs_allocation*)buf1421, *(rs_allocation*)buf1422, (const void*) buf1423, *(size_t*)buf1424);
+    rsForEach(*(rs_script*)buf1425, *(rs_allocation*)buf1426, *(rs_allocation*)buf1427);
+    *(float*)buf1428 = rsFrac(*(float*)buf1429);
+    *(rs_allocation*)buf1430 = rsGetAllocation((const void*) buf1431);
+    *(float*)buf1432 = rsGetDt();
+    *(const void**)buf1433 = rsGetElementAt(*(rs_allocation*)buf1434, *(uint32_t*)buf1435);
+    *(const void**)buf1436 = rsGetElementAt(*(rs_allocation*)buf1437, *(uint32_t*)buf1438, *(uint32_t*)buf1439);
+    *(const void**)buf1440 = rsGetElementAt(*(rs_allocation*)buf1441, *(uint32_t*)buf1442, *(uint32_t*)buf1443, *(uint32_t*)buf1444);
+    *(float*)buf1445 = rsGetElementAt_float(*(rs_allocation*)buf1446, *(uint32_t*)buf1447);
+    *(float2*)buf1448 = rsGetElementAt_float2(*(rs_allocation*)buf1449, *(uint32_t*)buf1450);
+    *(float3*)buf1451 = rsGetElementAt_float3(*(rs_allocation*)buf1452, *(uint32_t*)buf1453);
+    *(float4*)buf1454 = rsGetElementAt_float4(*(rs_allocation*)buf1455, *(uint32_t*)buf1456);
+    *(double*)buf1457 = rsGetElementAt_double(*(rs_allocation*)buf1458, *(uint32_t*)buf1459);
+    *(double2*)buf1460 = rsGetElementAt_double2(*(rs_allocation*)buf1461, *(uint32_t*)buf1462);
+    *(double3*)buf1463 = rsGetElementAt_double3(*(rs_allocation*)buf1464, *(uint32_t*)buf1465);
+    *(double4*)buf1466 = rsGetElementAt_double4(*(rs_allocation*)buf1467, *(uint32_t*)buf1468);
+    *(char*)buf1469 = rsGetElementAt_char(*(rs_allocation*)buf1470, *(uint32_t*)buf1471);
+    *(char2*)buf1472 = rsGetElementAt_char2(*(rs_allocation*)buf1473, *(uint32_t*)buf1474);
+    *(char3*)buf1475 = rsGetElementAt_char3(*(rs_allocation*)buf1476, *(uint32_t*)buf1477);
+    *(char4*)buf1478 = rsGetElementAt_char4(*(rs_allocation*)buf1479, *(uint32_t*)buf1480);
+    *(uchar*)buf1481 = rsGetElementAt_uchar(*(rs_allocation*)buf1482, *(uint32_t*)buf1483);
+    *(uchar2*)buf1484 = rsGetElementAt_uchar2(*(rs_allocation*)buf1485, *(uint32_t*)buf1486);
+    *(uchar3*)buf1487 = rsGetElementAt_uchar3(*(rs_allocation*)buf1488, *(uint32_t*)buf1489);
+    *(uchar4*)buf1490 = rsGetElementAt_uchar4(*(rs_allocation*)buf1491, *(uint32_t*)buf1492);
+    *(short*)buf1493 = rsGetElementAt_short(*(rs_allocation*)buf1494, *(uint32_t*)buf1495);
+    *(short2*)buf1496 = rsGetElementAt_short2(*(rs_allocation*)buf1497, *(uint32_t*)buf1498);
+    *(short3*)buf1499 = rsGetElementAt_short3(*(rs_allocation*)buf1500, *(uint32_t*)buf1501);
+    *(short4*)buf1502 = rsGetElementAt_short4(*(rs_allocation*)buf1503, *(uint32_t*)buf1504);
+    *(ushort*)buf1505 = rsGetElementAt_ushort(*(rs_allocation*)buf1506, *(uint32_t*)buf1507);
+    *(ushort2*)buf1508 = rsGetElementAt_ushort2(*(rs_allocation*)buf1509, *(uint32_t*)buf1510);
+    *(ushort3*)buf1511 = rsGetElementAt_ushort3(*(rs_allocation*)buf1512, *(uint32_t*)buf1513);
+    *(ushort4*)buf1514 = rsGetElementAt_ushort4(*(rs_allocation*)buf1515, *(uint32_t*)buf1516);
+    *(int*)buf1517 = rsGetElementAt_int(*(rs_allocation*)buf1518, *(uint32_t*)buf1519);
+    *(int2*)buf1520 = rsGetElementAt_int2(*(rs_allocation*)buf1521, *(uint32_t*)buf1522);
+    *(int3*)buf1523 = rsGetElementAt_int3(*(rs_allocation*)buf1524, *(uint32_t*)buf1525);
+    *(int4*)buf1526 = rsGetElementAt_int4(*(rs_allocation*)buf1527, *(uint32_t*)buf1528);
+    *(uint*)buf1529 = rsGetElementAt_uint(*(rs_allocation*)buf1530, *(uint32_t*)buf1531);
+    *(uint2*)buf1532 = rsGetElementAt_uint2(*(rs_allocation*)buf1533, *(uint32_t*)buf1534);
+    *(uint3*)buf1535 = rsGetElementAt_uint3(*(rs_allocation*)buf1536, *(uint32_t*)buf1537);
+    *(uint4*)buf1538 = rsGetElementAt_uint4(*(rs_allocation*)buf1539, *(uint32_t*)buf1540);
+    *(long*)buf1541 = rsGetElementAt_long(*(rs_allocation*)buf1542, *(uint32_t*)buf1543);
+    *(long2*)buf1544 = rsGetElementAt_long2(*(rs_allocation*)buf1545, *(uint32_t*)buf1546);
+    *(long3*)buf1547 = rsGetElementAt_long3(*(rs_allocation*)buf1548, *(uint32_t*)buf1549);
+    *(long4*)buf1550 = rsGetElementAt_long4(*(rs_allocation*)buf1551, *(uint32_t*)buf1552);
+    *(ulong*)buf1553 = rsGetElementAt_ulong(*(rs_allocation*)buf1554, *(uint32_t*)buf1555);
+    *(ulong2*)buf1556 = rsGetElementAt_ulong2(*(rs_allocation*)buf1557, *(uint32_t*)buf1558);
+    *(ulong3*)buf1559 = rsGetElementAt_ulong3(*(rs_allocation*)buf1560, *(uint32_t*)buf1561);
+    *(ulong4*)buf1562 = rsGetElementAt_ulong4(*(rs_allocation*)buf1563, *(uint32_t*)buf1564);
+    *(float*)buf1565 = rsGetElementAt_float(*(rs_allocation*)buf1566, *(uint32_t*)buf1567, *(uint32_t*)buf1568);
+    *(float2*)buf1569 = rsGetElementAt_float2(*(rs_allocation*)buf1570, *(uint32_t*)buf1571, *(uint32_t*)buf1572);
+    *(float3*)buf1573 = rsGetElementAt_float3(*(rs_allocation*)buf1574, *(uint32_t*)buf1575, *(uint32_t*)buf1576);
+    *(float4*)buf1577 = rsGetElementAt_float4(*(rs_allocation*)buf1578, *(uint32_t*)buf1579, *(uint32_t*)buf1580);
+    *(double*)buf1581 = rsGetElementAt_double(*(rs_allocation*)buf1582, *(uint32_t*)buf1583, *(uint32_t*)buf1584);
+    *(double2*)buf1585 = rsGetElementAt_double2(*(rs_allocation*)buf1586, *(uint32_t*)buf1587, *(uint32_t*)buf1588);
+    *(double3*)buf1589 = rsGetElementAt_double3(*(rs_allocation*)buf1590, *(uint32_t*)buf1591, *(uint32_t*)buf1592);
+    *(double4*)buf1593 = rsGetElementAt_double4(*(rs_allocation*)buf1594, *(uint32_t*)buf1595, *(uint32_t*)buf1596);
+    *(char*)buf1597 = rsGetElementAt_char(*(rs_allocation*)buf1598, *(uint32_t*)buf1599, *(uint32_t*)buf1600);
+    *(char2*)buf1601 = rsGetElementAt_char2(*(rs_allocation*)buf1602, *(uint32_t*)buf1603, *(uint32_t*)buf1604);
+    *(char3*)buf1605 = rsGetElementAt_char3(*(rs_allocation*)buf1606, *(uint32_t*)buf1607, *(uint32_t*)buf1608);
+    *(char4*)buf1609 = rsGetElementAt_char4(*(rs_allocation*)buf1610, *(uint32_t*)buf1611, *(uint32_t*)buf1612);
+    *(uchar*)buf1613 = rsGetElementAt_uchar(*(rs_allocation*)buf1614, *(uint32_t*)buf1615, *(uint32_t*)buf1616);
+    *(uchar2*)buf1617 = rsGetElementAt_uchar2(*(rs_allocation*)buf1618, *(uint32_t*)buf1619, *(uint32_t*)buf1620);
+    *(uchar3*)buf1621 = rsGetElementAt_uchar3(*(rs_allocation*)buf1622, *(uint32_t*)buf1623, *(uint32_t*)buf1624);
+    *(uchar4*)buf1625 = rsGetElementAt_uchar4(*(rs_allocation*)buf1626, *(uint32_t*)buf1627, *(uint32_t*)buf1628);
+    *(short*)buf1629 = rsGetElementAt_short(*(rs_allocation*)buf1630, *(uint32_t*)buf1631, *(uint32_t*)buf1632);
+    *(short2*)buf1633 = rsGetElementAt_short2(*(rs_allocation*)buf1634, *(uint32_t*)buf1635, *(uint32_t*)buf1636);
+    *(short3*)buf1637 = rsGetElementAt_short3(*(rs_allocation*)buf1638, *(uint32_t*)buf1639, *(uint32_t*)buf1640);
+    *(short4*)buf1641 = rsGetElementAt_short4(*(rs_allocation*)buf1642, *(uint32_t*)buf1643, *(uint32_t*)buf1644);
+    *(ushort*)buf1645 = rsGetElementAt_ushort(*(rs_allocation*)buf1646, *(uint32_t*)buf1647, *(uint32_t*)buf1648);
+    *(ushort2*)buf1649 = rsGetElementAt_ushort2(*(rs_allocation*)buf1650, *(uint32_t*)buf1651, *(uint32_t*)buf1652);
+    *(ushort3*)buf1653 = rsGetElementAt_ushort3(*(rs_allocation*)buf1654, *(uint32_t*)buf1655, *(uint32_t*)buf1656);
+    *(ushort4*)buf1657 = rsGetElementAt_ushort4(*(rs_allocation*)buf1658, *(uint32_t*)buf1659, *(uint32_t*)buf1660);
+    *(int*)buf1661 = rsGetElementAt_int(*(rs_allocation*)buf1662, *(uint32_t*)buf1663, *(uint32_t*)buf1664);
+    *(int2*)buf1665 = rsGetElementAt_int2(*(rs_allocation*)buf1666, *(uint32_t*)buf1667, *(uint32_t*)buf1668);
+    *(int3*)buf1669 = rsGetElementAt_int3(*(rs_allocation*)buf1670, *(uint32_t*)buf1671, *(uint32_t*)buf1672);
+    *(int4*)buf1673 = rsGetElementAt_int4(*(rs_allocation*)buf1674, *(uint32_t*)buf1675, *(uint32_t*)buf1676);
+    *(uint*)buf1677 = rsGetElementAt_uint(*(rs_allocation*)buf1678, *(uint32_t*)buf1679, *(uint32_t*)buf1680);
+    *(uint2*)buf1681 = rsGetElementAt_uint2(*(rs_allocation*)buf1682, *(uint32_t*)buf1683, *(uint32_t*)buf1684);
+    *(uint3*)buf1685 = rsGetElementAt_uint3(*(rs_allocation*)buf1686, *(uint32_t*)buf1687, *(uint32_t*)buf1688);
+    *(uint4*)buf1689 = rsGetElementAt_uint4(*(rs_allocation*)buf1690, *(uint32_t*)buf1691, *(uint32_t*)buf1692);
+    *(long*)buf1693 = rsGetElementAt_long(*(rs_allocation*)buf1694, *(uint32_t*)buf1695, *(uint32_t*)buf1696);
+    *(long2*)buf1697 = rsGetElementAt_long2(*(rs_allocation*)buf1698, *(uint32_t*)buf1699, *(uint32_t*)buf1700);
+    *(long3*)buf1701 = rsGetElementAt_long3(*(rs_allocation*)buf1702, *(uint32_t*)buf1703, *(uint32_t*)buf1704);
+    *(long4*)buf1705 = rsGetElementAt_long4(*(rs_allocation*)buf1706, *(uint32_t*)buf1707, *(uint32_t*)buf1708);
+    *(ulong*)buf1709 = rsGetElementAt_ulong(*(rs_allocation*)buf1710, *(uint32_t*)buf1711, *(uint32_t*)buf1712);
+    *(ulong2*)buf1713 = rsGetElementAt_ulong2(*(rs_allocation*)buf1714, *(uint32_t*)buf1715, *(uint32_t*)buf1716);
+    *(ulong3*)buf1717 = rsGetElementAt_ulong3(*(rs_allocation*)buf1718, *(uint32_t*)buf1719, *(uint32_t*)buf1720);
+    *(ulong4*)buf1721 = rsGetElementAt_ulong4(*(rs_allocation*)buf1722, *(uint32_t*)buf1723, *(uint32_t*)buf1724);
+    *(float*)buf1725 = rsGetElementAt_float(*(rs_allocation*)buf1726, *(uint32_t*)buf1727, *(uint32_t*)buf1728, *(uint32_t*)buf1729);
+    *(float2*)buf1730 = rsGetElementAt_float2(*(rs_allocation*)buf1731, *(uint32_t*)buf1732, *(uint32_t*)buf1733, *(uint32_t*)buf1734);
+    *(float3*)buf1735 = rsGetElementAt_float3(*(rs_allocation*)buf1736, *(uint32_t*)buf1737, *(uint32_t*)buf1738, *(uint32_t*)buf1739);
+    *(float4*)buf1740 = rsGetElementAt_float4(*(rs_allocation*)buf1741, *(uint32_t*)buf1742, *(uint32_t*)buf1743, *(uint32_t*)buf1744);
+    *(double*)buf1745 = rsGetElementAt_double(*(rs_allocation*)buf1746, *(uint32_t*)buf1747, *(uint32_t*)buf1748, *(uint32_t*)buf1749);
+    *(double2*)buf1750 = rsGetElementAt_double2(*(rs_allocation*)buf1751, *(uint32_t*)buf1752, *(uint32_t*)buf1753, *(uint32_t*)buf1754);
+    *(double3*)buf1755 = rsGetElementAt_double3(*(rs_allocation*)buf1756, *(uint32_t*)buf1757, *(uint32_t*)buf1758, *(uint32_t*)buf1759);
+    *(double4*)buf1760 = rsGetElementAt_double4(*(rs_allocation*)buf1761, *(uint32_t*)buf1762, *(uint32_t*)buf1763, *(uint32_t*)buf1764);
+    *(char*)buf1765 = rsGetElementAt_char(*(rs_allocation*)buf1766, *(uint32_t*)buf1767, *(uint32_t*)buf1768, *(uint32_t*)buf1769);
+    *(char2*)buf1770 = rsGetElementAt_char2(*(rs_allocation*)buf1771, *(uint32_t*)buf1772, *(uint32_t*)buf1773, *(uint32_t*)buf1774);
+    *(char3*)buf1775 = rsGetElementAt_char3(*(rs_allocation*)buf1776, *(uint32_t*)buf1777, *(uint32_t*)buf1778, *(uint32_t*)buf1779);
+    *(char4*)buf1780 = rsGetElementAt_char4(*(rs_allocation*)buf1781, *(uint32_t*)buf1782, *(uint32_t*)buf1783, *(uint32_t*)buf1784);
+    *(uchar*)buf1785 = rsGetElementAt_uchar(*(rs_allocation*)buf1786, *(uint32_t*)buf1787, *(uint32_t*)buf1788, *(uint32_t*)buf1789);
+    *(uchar2*)buf1790 = rsGetElementAt_uchar2(*(rs_allocation*)buf1791, *(uint32_t*)buf1792, *(uint32_t*)buf1793, *(uint32_t*)buf1794);
+    *(uchar3*)buf1795 = rsGetElementAt_uchar3(*(rs_allocation*)buf1796, *(uint32_t*)buf1797, *(uint32_t*)buf1798, *(uint32_t*)buf1799);
+    *(uchar4*)buf1800 = rsGetElementAt_uchar4(*(rs_allocation*)buf1801, *(uint32_t*)buf1802, *(uint32_t*)buf1803, *(uint32_t*)buf1804);
+    *(short*)buf1805 = rsGetElementAt_short(*(rs_allocation*)buf1806, *(uint32_t*)buf1807, *(uint32_t*)buf1808, *(uint32_t*)buf1809);
+    *(short2*)buf1810 = rsGetElementAt_short2(*(rs_allocation*)buf1811, *(uint32_t*)buf1812, *(uint32_t*)buf1813, *(uint32_t*)buf1814);
+    *(short3*)buf1815 = rsGetElementAt_short3(*(rs_allocation*)buf1816, *(uint32_t*)buf1817, *(uint32_t*)buf1818, *(uint32_t*)buf1819);
+    *(short4*)buf1820 = rsGetElementAt_short4(*(rs_allocation*)buf1821, *(uint32_t*)buf1822, *(uint32_t*)buf1823, *(uint32_t*)buf1824);
+    *(ushort*)buf1825 = rsGetElementAt_ushort(*(rs_allocation*)buf1826, *(uint32_t*)buf1827, *(uint32_t*)buf1828, *(uint32_t*)buf1829);
+    *(ushort2*)buf1830 = rsGetElementAt_ushort2(*(rs_allocation*)buf1831, *(uint32_t*)buf1832, *(uint32_t*)buf1833, *(uint32_t*)buf1834);
+    *(ushort3*)buf1835 = rsGetElementAt_ushort3(*(rs_allocation*)buf1836, *(uint32_t*)buf1837, *(uint32_t*)buf1838, *(uint32_t*)buf1839);
+    *(ushort4*)buf1840 = rsGetElementAt_ushort4(*(rs_allocation*)buf1841, *(uint32_t*)buf1842, *(uint32_t*)buf1843, *(uint32_t*)buf1844);
+    *(int*)buf1845 = rsGetElementAt_int(*(rs_allocation*)buf1846, *(uint32_t*)buf1847, *(uint32_t*)buf1848, *(uint32_t*)buf1849);
+    *(int2*)buf1850 = rsGetElementAt_int2(*(rs_allocation*)buf1851, *(uint32_t*)buf1852, *(uint32_t*)buf1853, *(uint32_t*)buf1854);
+    *(int3*)buf1855 = rsGetElementAt_int3(*(rs_allocation*)buf1856, *(uint32_t*)buf1857, *(uint32_t*)buf1858, *(uint32_t*)buf1859);
+    *(int4*)buf1860 = rsGetElementAt_int4(*(rs_allocation*)buf1861, *(uint32_t*)buf1862, *(uint32_t*)buf1863, *(uint32_t*)buf1864);
+    *(uint*)buf1865 = rsGetElementAt_uint(*(rs_allocation*)buf1866, *(uint32_t*)buf1867, *(uint32_t*)buf1868, *(uint32_t*)buf1869);
+    *(uint2*)buf1870 = rsGetElementAt_uint2(*(rs_allocation*)buf1871, *(uint32_t*)buf1872, *(uint32_t*)buf1873, *(uint32_t*)buf1874);
+    *(uint3*)buf1875 = rsGetElementAt_uint3(*(rs_allocation*)buf1876, *(uint32_t*)buf1877, *(uint32_t*)buf1878, *(uint32_t*)buf1879);
+    *(uint4*)buf1880 = rsGetElementAt_uint4(*(rs_allocation*)buf1881, *(uint32_t*)buf1882, *(uint32_t*)buf1883, *(uint32_t*)buf1884);
+    *(long*)buf1885 = rsGetElementAt_long(*(rs_allocation*)buf1886, *(uint32_t*)buf1887, *(uint32_t*)buf1888, *(uint32_t*)buf1889);
+    *(long2*)buf1890 = rsGetElementAt_long2(*(rs_allocation*)buf1891, *(uint32_t*)buf1892, *(uint32_t*)buf1893, *(uint32_t*)buf1894);
+    *(long3*)buf1895 = rsGetElementAt_long3(*(rs_allocation*)buf1896, *(uint32_t*)buf1897, *(uint32_t*)buf1898, *(uint32_t*)buf1899);
+    *(long4*)buf1900 = rsGetElementAt_long4(*(rs_allocation*)buf1901, *(uint32_t*)buf1902, *(uint32_t*)buf1903, *(uint32_t*)buf1904);
+    *(ulong*)buf1905 = rsGetElementAt_ulong(*(rs_allocation*)buf1906, *(uint32_t*)buf1907, *(uint32_t*)buf1908, *(uint32_t*)buf1909);
+    *(ulong2*)buf1910 = rsGetElementAt_ulong2(*(rs_allocation*)buf1911, *(uint32_t*)buf1912, *(uint32_t*)buf1913, *(uint32_t*)buf1914);
+    *(ulong3*)buf1915 = rsGetElementAt_ulong3(*(rs_allocation*)buf1916, *(uint32_t*)buf1917, *(uint32_t*)buf1918, *(uint32_t*)buf1919);
+    *(ulong4*)buf1920 = rsGetElementAt_ulong4(*(rs_allocation*)buf1921, *(uint32_t*)buf1922, *(uint32_t*)buf1923, *(uint32_t*)buf1924);
+    *(bool*)buf1925 = rsIsObject(*(rs_element*)buf1926);
+    *(bool*)buf1927 = rsIsObject(*(rs_type*)buf1928);
+    *(bool*)buf1929 = rsIsObject(*(rs_allocation*)buf1930);
+    *(bool*)buf1931 = rsIsObject(*(rs_sampler*)buf1932);
+    *(bool*)buf1933 = rsIsObject(*(rs_script*)buf1934);
 #ifndef __LP64__
-    *(bool*)buf1917 = rsIsObject(*(rs_mesh*)buf1918);
-    *(bool*)buf1919 = rsIsObject(*(rs_program_fragment*)buf1920);
-    *(bool*)buf1921 = rsIsObject(*(rs_program_vertex*)buf1922);
-    *(bool*)buf1923 = rsIsObject(*(rs_program_raster*)buf1924);
-    *(bool*)buf1925 = rsIsObject(*(rs_program_store*)buf1926);
-    *(bool*)buf1927 = rsIsObject(*(rs_font*)buf1928);
+    *(bool*)buf1935 = rsIsObject(*(rs_mesh*)buf1936);
+    *(bool*)buf1937 = rsIsObject(*(rs_program_fragment*)buf1938);
+    *(bool*)buf1939 = rsIsObject(*(rs_program_vertex*)buf1940);
+    *(bool*)buf1941 = rsIsObject(*(rs_program_raster*)buf1942);
+    *(bool*)buf1943 = rsIsObject(*(rs_program_store*)buf1944);
+    *(bool*)buf1945 = rsIsObject(*(rs_font*)buf1946);
 #endif
-    *(bool*)buf1929 = rsIsSphereInFrustum((float4*) buf1930, (float4*) buf1931, (float4*) buf1932, (float4*) buf1933, (float4*) buf1934, (float4*) buf1935, (float4*) buf1936);
-    *(rs_tm**)buf1937 = rsLocaltime((rs_tm*) buf1938, (const rs_time_t*) buf1939);
-    *(float*)buf1940 = rsMatrixGet((const rs_matrix4x4*) buf1941, *(uint32_t*)buf1942, *(uint32_t*)buf1943);
-    *(float*)buf1944 = rsMatrixGet((const rs_matrix3x3*) buf1945, *(uint32_t*)buf1946, *(uint32_t*)buf1947);
-    *(float*)buf1948 = rsMatrixGet((const rs_matrix2x2*) buf1949, *(uint32_t*)buf1950, *(uint32_t*)buf1951);
-    *(bool*)buf1952 = rsMatrixInverse((rs_matrix4x4*) buf1953);
-    *(bool*)buf1954 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1955);
-    rsMatrixLoad((rs_matrix4x4*) buf1956, (const float*) buf1957);
-    rsMatrixLoad((rs_matrix3x3*) buf1958, (const float*) buf1959);
-    rsMatrixLoad((rs_matrix2x2*) buf1960, (const float*) buf1961);
-    rsMatrixLoad((rs_matrix4x4*) buf1962, (const rs_matrix4x4*) buf1963);
-    rsMatrixLoad((rs_matrix3x3*) buf1964, (const rs_matrix3x3*) buf1965);
-    rsMatrixLoad((rs_matrix2x2*) buf1966, (const rs_matrix2x2*) buf1967);
-    rsMatrixLoad((rs_matrix4x4*) buf1968, (const rs_matrix3x3*) buf1969);
-    rsMatrixLoad((rs_matrix4x4*) buf1970, (const rs_matrix2x2*) buf1971);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf1972, *(float*)buf1973, *(float*)buf1974, *(float*)buf1975, *(float*)buf1976, *(float*)buf1977, *(float*)buf1978);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf1979);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf1980);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf1981);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf1982, (const rs_matrix4x4*) buf1983, (const rs_matrix4x4*) buf1984);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf1985, (const rs_matrix3x3*) buf1986, (const rs_matrix3x3*) buf1987);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf1988, (const rs_matrix2x2*) buf1989, (const rs_matrix2x2*) buf1990);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf1991, *(float*)buf1992, *(float*)buf1993, *(float*)buf1994, *(float*)buf1995, *(float*)buf1996, *(float*)buf1997);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf1998, *(float*)buf1999, *(float*)buf2000, *(float*)buf2001, *(float*)buf2002);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf2003, *(float*)buf2004, *(float*)buf2005, *(float*)buf2006, *(float*)buf2007);
-    rsMatrixLoadScale((rs_matrix4x4*) buf2008, *(float*)buf2009, *(float*)buf2010, *(float*)buf2011);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf2012, *(float*)buf2013, *(float*)buf2014, *(float*)buf2015);
-    rsMatrixMultiply((rs_matrix4x4*) buf2016, (const rs_matrix4x4*) buf2017);
-    rsMatrixMultiply((rs_matrix3x3*) buf2018, (const rs_matrix3x3*) buf2019);
-    rsMatrixMultiply((rs_matrix2x2*) buf2020, (const rs_matrix2x2*) buf2021);
-    *(float4*)buf2022 = rsMatrixMultiply((const rs_matrix4x4*) buf2023, *(float4*)buf2024);
-    *(float4*)buf2025 = rsMatrixMultiply((const rs_matrix4x4*) buf2026, *(float3*)buf2027);
-    *(float4*)buf2028 = rsMatrixMultiply((const rs_matrix4x4*) buf2029, *(float2*)buf2030);
-    *(float3*)buf2031 = rsMatrixMultiply((const rs_matrix3x3*) buf2032, *(float3*)buf2033);
-    *(float3*)buf2034 = rsMatrixMultiply((const rs_matrix3x3*) buf2035, *(float2*)buf2036);
-    *(float2*)buf2037 = rsMatrixMultiply((const rs_matrix2x2*) buf2038, *(float2*)buf2039);
-    rsMatrixRotate((rs_matrix4x4*) buf2040, *(float*)buf2041, *(float*)buf2042, *(float*)buf2043, *(float*)buf2044);
-    rsMatrixScale((rs_matrix4x4*) buf2045, *(float*)buf2046, *(float*)buf2047, *(float*)buf2048);
-    rsMatrixSet((rs_matrix4x4*) buf2049, *(uint32_t*)buf2050, *(uint32_t*)buf2051, *(float*)buf2052);
-    rsMatrixSet((rs_matrix3x3*) buf2053, *(uint32_t*)buf2054, *(uint32_t*)buf2055, *(float*)buf2056);
-    rsMatrixSet((rs_matrix2x2*) buf2057, *(uint32_t*)buf2058, *(uint32_t*)buf2059, *(float*)buf2060);
-    rsMatrixTranslate((rs_matrix4x4*) buf2061, *(float*)buf2062, *(float*)buf2063, *(float*)buf2064);
-    rsMatrixTranspose((rs_matrix4x4*) buf2065);
-    rsMatrixTranspose((rs_matrix3x3*) buf2066);
-    rsMatrixTranspose((rs_matrix2x2*) buf2067);
-    *(uchar4*)buf2068 = rsPackColorTo8888(*(float*)buf2069, *(float*)buf2070, *(float*)buf2071);
-    *(uchar4*)buf2072 = rsPackColorTo8888(*(float*)buf2073, *(float*)buf2074, *(float*)buf2075, *(float*)buf2076);
-    *(uchar4*)buf2077 = rsPackColorTo8888(*(float3*)buf2078);
-    *(uchar4*)buf2079 = rsPackColorTo8888(*(float4*)buf2080);
-    rsQuaternionAdd((rs_quaternion*) buf2081, (const rs_quaternion*) buf2082);
-    rsQuaternionConjugate((rs_quaternion*) buf2083);
-    *(float*)buf2084 = rsQuaternionDot((const rs_quaternion*) buf2085, (const rs_quaternion*) buf2086);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2087, (const rs_quaternion*) buf2088);
-    rsQuaternionLoadRotate((rs_quaternion*) buf2089, *(float*)buf2090, *(float*)buf2091, *(float*)buf2092, *(float*)buf2093);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2094, *(float*)buf2095, *(float*)buf2096, *(float*)buf2097, *(float*)buf2098);
-    rsQuaternionMultiply((rs_quaternion*) buf2099, *(float*)buf2100);
-    rsQuaternionMultiply((rs_quaternion*) buf2101, (const rs_quaternion*) buf2102);
-    rsQuaternionNormalize((rs_quaternion*) buf2103);
-    rsQuaternionSet((rs_quaternion*) buf2104, *(float*)buf2105, *(float*)buf2106, *(float*)buf2107, *(float*)buf2108);
-    rsQuaternionSet((rs_quaternion*) buf2109, (const rs_quaternion*) buf2110);
-    rsQuaternionSlerp((rs_quaternion*) buf2111, (const rs_quaternion*) buf2112, (const rs_quaternion*) buf2113, *(float*)buf2114);
-    *(int*)buf2115 = rsRand(*(int*)buf2116);
-    *(int*)buf2117 = rsRand(*(int*)buf2118, *(int*)buf2119);
-    *(float*)buf2120 = rsRand(*(float*)buf2121);
-    *(float*)buf2122 = rsRand(*(float*)buf2123, *(float*)buf2124);
-    *(float4*)buf2125 = rsSample(*(rs_allocation*)buf2126, *(rs_sampler*)buf2127, *(float*)buf2128);
-    *(float4*)buf2129 = rsSample(*(rs_allocation*)buf2130, *(rs_sampler*)buf2131, *(float*)buf2132, *(float*)buf2133);
-    *(float4*)buf2134 = rsSample(*(rs_allocation*)buf2135, *(rs_sampler*)buf2136, *(float2*)buf2137);
-    *(float4*)buf2138 = rsSample(*(rs_allocation*)buf2139, *(rs_sampler*)buf2140, *(float2*)buf2141, *(float*)buf2142);
-    *(float*)buf2143 = rsSamplerGetAnisotropy(*(rs_sampler*)buf2144);
-    *(rs_sampler_value*)buf2145 = rsSamplerGetMagnification(*(rs_sampler*)buf2146);
-    *(rs_sampler_value*)buf2147 = rsSamplerGetMinification(*(rs_sampler*)buf2148);
-    *(rs_sampler_value*)buf2149 = rsSamplerGetWrapS(*(rs_sampler*)buf2150);
-    *(rs_sampler_value*)buf2151 = rsSamplerGetWrapT(*(rs_sampler*)buf2152);
-    *(bool*)buf2153 = rsSendToClient(*(int*)buf2154);
-    *(bool*)buf2155 = rsSendToClient(*(int*)buf2156, (const void*) buf2157, *(uint*)buf2158);
-    rsSendToClientBlocking(*(int*)buf2159);
-    rsSendToClientBlocking(*(int*)buf2160, (const void*) buf2161, *(uint*)buf2162);
-    rsSetObject((rs_element*) buf2163, *(rs_element*)buf2164);
-    rsSetObject((rs_type*) buf2165, *(rs_type*)buf2166);
-    rsSetObject((rs_allocation*) buf2167, *(rs_allocation*)buf2168);
-    rsSetObject((rs_sampler*) buf2169, *(rs_sampler*)buf2170);
-    rsSetObject((rs_script*) buf2171, *(rs_script*)buf2172);
+    *(bool*)buf1947 = rsIsSphereInFrustum((float4*) buf1948, (float4*) buf1949, (float4*) buf1950, (float4*) buf1951, (float4*) buf1952, (float4*) buf1953, (float4*) buf1954);
+    *(rs_tm**)buf1955 = rsLocaltime((rs_tm*) buf1956, (const rs_time_t*) buf1957);
+    *(float*)buf1958 = rsMatrixGet((const rs_matrix4x4*) buf1959, *(uint32_t*)buf1960, *(uint32_t*)buf1961);
+    *(float*)buf1962 = rsMatrixGet((const rs_matrix3x3*) buf1963, *(uint32_t*)buf1964, *(uint32_t*)buf1965);
+    *(float*)buf1966 = rsMatrixGet((const rs_matrix2x2*) buf1967, *(uint32_t*)buf1968, *(uint32_t*)buf1969);
+    *(bool*)buf1970 = rsMatrixInverse((rs_matrix4x4*) buf1971);
+    *(bool*)buf1972 = rsMatrixInverseTranspose((rs_matrix4x4*) buf1973);
+    rsMatrixLoad((rs_matrix4x4*) buf1974, (const float*) buf1975);
+    rsMatrixLoad((rs_matrix3x3*) buf1976, (const float*) buf1977);
+    rsMatrixLoad((rs_matrix2x2*) buf1978, (const float*) buf1979);
+    rsMatrixLoad((rs_matrix4x4*) buf1980, (const rs_matrix4x4*) buf1981);
+    rsMatrixLoad((rs_matrix3x3*) buf1982, (const rs_matrix3x3*) buf1983);
+    rsMatrixLoad((rs_matrix2x2*) buf1984, (const rs_matrix2x2*) buf1985);
+    rsMatrixLoad((rs_matrix4x4*) buf1986, (const rs_matrix3x3*) buf1987);
+    rsMatrixLoad((rs_matrix4x4*) buf1988, (const rs_matrix2x2*) buf1989);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf1990, *(float*)buf1991, *(float*)buf1992, *(float*)buf1993, *(float*)buf1994, *(float*)buf1995, *(float*)buf1996);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf1997);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf1998);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf1999);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf2000, (const rs_matrix4x4*) buf2001, (const rs_matrix4x4*) buf2002);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf2003, (const rs_matrix3x3*) buf2004, (const rs_matrix3x3*) buf2005);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf2006, (const rs_matrix2x2*) buf2007, (const rs_matrix2x2*) buf2008);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf2009, *(float*)buf2010, *(float*)buf2011, *(float*)buf2012, *(float*)buf2013, *(float*)buf2014, *(float*)buf2015);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf2016, *(float*)buf2017, *(float*)buf2018, *(float*)buf2019, *(float*)buf2020);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf2021, *(float*)buf2022, *(float*)buf2023, *(float*)buf2024, *(float*)buf2025);
+    rsMatrixLoadScale((rs_matrix4x4*) buf2026, *(float*)buf2027, *(float*)buf2028, *(float*)buf2029);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf2030, *(float*)buf2031, *(float*)buf2032, *(float*)buf2033);
+    rsMatrixMultiply((rs_matrix4x4*) buf2034, (const rs_matrix4x4*) buf2035);
+    rsMatrixMultiply((rs_matrix3x3*) buf2036, (const rs_matrix3x3*) buf2037);
+    rsMatrixMultiply((rs_matrix2x2*) buf2038, (const rs_matrix2x2*) buf2039);
+    *(float4*)buf2040 = rsMatrixMultiply((const rs_matrix4x4*) buf2041, *(float4*)buf2042);
+    *(float4*)buf2043 = rsMatrixMultiply((const rs_matrix4x4*) buf2044, *(float3*)buf2045);
+    *(float4*)buf2046 = rsMatrixMultiply((const rs_matrix4x4*) buf2047, *(float2*)buf2048);
+    *(float3*)buf2049 = rsMatrixMultiply((const rs_matrix3x3*) buf2050, *(float3*)buf2051);
+    *(float3*)buf2052 = rsMatrixMultiply((const rs_matrix3x3*) buf2053, *(float2*)buf2054);
+    *(float2*)buf2055 = rsMatrixMultiply((const rs_matrix2x2*) buf2056, *(float2*)buf2057);
+    rsMatrixRotate((rs_matrix4x4*) buf2058, *(float*)buf2059, *(float*)buf2060, *(float*)buf2061, *(float*)buf2062);
+    rsMatrixScale((rs_matrix4x4*) buf2063, *(float*)buf2064, *(float*)buf2065, *(float*)buf2066);
+    rsMatrixSet((rs_matrix4x4*) buf2067, *(uint32_t*)buf2068, *(uint32_t*)buf2069, *(float*)buf2070);
+    rsMatrixSet((rs_matrix3x3*) buf2071, *(uint32_t*)buf2072, *(uint32_t*)buf2073, *(float*)buf2074);
+    rsMatrixSet((rs_matrix2x2*) buf2075, *(uint32_t*)buf2076, *(uint32_t*)buf2077, *(float*)buf2078);
+    rsMatrixTranslate((rs_matrix4x4*) buf2079, *(float*)buf2080, *(float*)buf2081, *(float*)buf2082);
+    rsMatrixTranspose((rs_matrix4x4*) buf2083);
+    rsMatrixTranspose((rs_matrix3x3*) buf2084);
+    rsMatrixTranspose((rs_matrix2x2*) buf2085);
+    *(uchar4*)buf2086 = rsPackColorTo8888(*(float*)buf2087, *(float*)buf2088, *(float*)buf2089);
+    *(uchar4*)buf2090 = rsPackColorTo8888(*(float*)buf2091, *(float*)buf2092, *(float*)buf2093, *(float*)buf2094);
+    *(uchar4*)buf2095 = rsPackColorTo8888(*(float3*)buf2096);
+    *(uchar4*)buf2097 = rsPackColorTo8888(*(float4*)buf2098);
+    rsQuaternionAdd((rs_quaternion*) buf2099, (const rs_quaternion*) buf2100);
+    rsQuaternionConjugate((rs_quaternion*) buf2101);
+    *(float*)buf2102 = rsQuaternionDot((const rs_quaternion*) buf2103, (const rs_quaternion*) buf2104);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2105, (const rs_quaternion*) buf2106);
+    rsQuaternionLoadRotate((rs_quaternion*) buf2107, *(float*)buf2108, *(float*)buf2109, *(float*)buf2110, *(float*)buf2111);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2112, *(float*)buf2113, *(float*)buf2114, *(float*)buf2115, *(float*)buf2116);
+    rsQuaternionMultiply((rs_quaternion*) buf2117, *(float*)buf2118);
+    rsQuaternionMultiply((rs_quaternion*) buf2119, (const rs_quaternion*) buf2120);
+    rsQuaternionNormalize((rs_quaternion*) buf2121);
+    rsQuaternionSet((rs_quaternion*) buf2122, *(float*)buf2123, *(float*)buf2124, *(float*)buf2125, *(float*)buf2126);
+    rsQuaternionSet((rs_quaternion*) buf2127, (const rs_quaternion*) buf2128);
+    rsQuaternionSlerp((rs_quaternion*) buf2129, (const rs_quaternion*) buf2130, (const rs_quaternion*) buf2131, *(float*)buf2132);
+    *(int*)buf2133 = rsRand(*(int*)buf2134);
+    *(int*)buf2135 = rsRand(*(int*)buf2136, *(int*)buf2137);
+    *(float*)buf2138 = rsRand(*(float*)buf2139);
+    *(float*)buf2140 = rsRand(*(float*)buf2141, *(float*)buf2142);
+    *(float4*)buf2143 = rsSample(*(rs_allocation*)buf2144, *(rs_sampler*)buf2145, *(float*)buf2146);
+    *(float4*)buf2147 = rsSample(*(rs_allocation*)buf2148, *(rs_sampler*)buf2149, *(float*)buf2150, *(float*)buf2151);
+    *(float4*)buf2152 = rsSample(*(rs_allocation*)buf2153, *(rs_sampler*)buf2154, *(float2*)buf2155);
+    *(float4*)buf2156 = rsSample(*(rs_allocation*)buf2157, *(rs_sampler*)buf2158, *(float2*)buf2159, *(float*)buf2160);
+    *(float*)buf2161 = rsSamplerGetAnisotropy(*(rs_sampler*)buf2162);
+    *(rs_sampler_value*)buf2163 = rsSamplerGetMagnification(*(rs_sampler*)buf2164);
+    *(rs_sampler_value*)buf2165 = rsSamplerGetMinification(*(rs_sampler*)buf2166);
+    *(rs_sampler_value*)buf2167 = rsSamplerGetWrapS(*(rs_sampler*)buf2168);
+    *(rs_sampler_value*)buf2169 = rsSamplerGetWrapT(*(rs_sampler*)buf2170);
+    *(bool*)buf2171 = rsSendToClient(*(int*)buf2172);
+    *(bool*)buf2173 = rsSendToClient(*(int*)buf2174, (const void*) buf2175, *(uint*)buf2176);
+    rsSendToClientBlocking(*(int*)buf2177);
+    rsSendToClientBlocking(*(int*)buf2178, (const void*) buf2179, *(uint*)buf2180);
+    rsSetObject((rs_element*) buf2181, *(rs_element*)buf2182);
+    rsSetObject((rs_type*) buf2183, *(rs_type*)buf2184);
+    rsSetObject((rs_allocation*) buf2185, *(rs_allocation*)buf2186);
+    rsSetObject((rs_sampler*) buf2187, *(rs_sampler*)buf2188);
+    rsSetObject((rs_script*) buf2189, *(rs_script*)buf2190);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf2173, *(rs_mesh*)buf2174);
-    rsSetObject((rs_program_fragment*) buf2175, *(rs_program_fragment*)buf2176);
-    rsSetObject((rs_program_vertex*) buf2177, *(rs_program_vertex*)buf2178);
-    rsSetObject((rs_program_raster*) buf2179, *(rs_program_raster*)buf2180);
-    rsSetObject((rs_program_store*) buf2181, *(rs_program_store*)buf2182);
-    rsSetObject((rs_font*) buf2183, *(rs_font*)buf2184);
+    rsSetObject((rs_mesh*) buf2191, *(rs_mesh*)buf2192);
+    rsSetObject((rs_program_fragment*) buf2193, *(rs_program_fragment*)buf2194);
+    rsSetObject((rs_program_vertex*) buf2195, *(rs_program_vertex*)buf2196);
+    rsSetObject((rs_program_raster*) buf2197, *(rs_program_raster*)buf2198);
+    rsSetObject((rs_program_store*) buf2199, *(rs_program_store*)buf2200);
+    rsSetObject((rs_font*) buf2201, *(rs_font*)buf2202);
 #endif
-    *(rs_time_t*)buf2185 = rsTime((rs_time_t*) buf2186);
-    *(float4*)buf2187 = rsUnpackColor8888(*(uchar4*)buf2188);
-    *(int64_t*)buf2189 = rsUptimeMillis();
-    *(int64_t*)buf2190 = rsUptimeNanos();
-    *(float4*)buf2191 = rsYuvToRGBA_float4(*(uchar*)buf2192, *(uchar*)buf2193, *(uchar*)buf2194);
-    *(uchar4*)buf2195 = rsYuvToRGBA_uchar4(*(uchar*)buf2196, *(uchar*)buf2197, *(uchar*)buf2198);
+    *(rs_time_t*)buf2203 = rsTime((rs_time_t*) buf2204);
+    *(float4*)buf2205 = rsUnpackColor8888(*(uchar4*)buf2206);
+    *(int64_t*)buf2207 = rsUptimeMillis();
+    *(int64_t*)buf2208 = rsUptimeNanos();
+    *(float4*)buf2209 = rsYuvToRGBA_float4(*(uchar*)buf2210, *(uchar*)buf2211, *(uchar*)buf2212);
+    *(uchar4*)buf2213 = rsYuvToRGBA_uchar4(*(uchar*)buf2214, *(uchar*)buf2215, *(uchar*)buf2216);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2199);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2217);
 #endif
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2200, *(rs_allocation_usage_type*)buf2201);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2218, *(rs_allocation_usage_type*)buf2219);
 #endif
 #ifndef __LP64__
-    rsgBindColorTarget(*(rs_allocation*)buf2202, *(uint*)buf2203);
+    rsgBindColorTarget(*(rs_allocation*)buf2220, *(uint*)buf2221);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf2204, *(uint*)buf2205, *(rs_allocation*)buf2206);
+    rsgBindConstant(*(rs_program_fragment*)buf2222, *(uint*)buf2223, *(rs_allocation*)buf2224);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf2207, *(uint*)buf2208, *(rs_allocation*)buf2209);
+    rsgBindConstant(*(rs_program_vertex*)buf2225, *(uint*)buf2226, *(rs_allocation*)buf2227);
 #endif
 #ifndef __LP64__
-    rsgBindDepthTarget(*(rs_allocation*)buf2210);
+    rsgBindDepthTarget(*(rs_allocation*)buf2228);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf2211);
+    rsgBindFont(*(rs_font*)buf2229);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf2212);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf2230);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf2213);
+    rsgBindProgramRaster(*(rs_program_raster*)buf2231);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf2214);
+    rsgBindProgramStore(*(rs_program_store*)buf2232);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf2215);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf2233);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf2216, *(uint*)buf2217, *(rs_sampler*)buf2218);
+    rsgBindSampler(*(rs_program_fragment*)buf2234, *(uint*)buf2235, *(rs_sampler*)buf2236);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf2219, *(uint*)buf2220, *(rs_allocation*)buf2221);
+    rsgBindTexture(*(rs_program_fragment*)buf2237, *(uint*)buf2238, *(rs_allocation*)buf2239);
 #endif
 #ifndef __LP64__
     rsgClearAllRenderTargets();
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf2222, *(float*)buf2223, *(float*)buf2224, *(float*)buf2225);
+    rsgClearColor(*(float*)buf2240, *(float*)buf2241, *(float*)buf2242, *(float*)buf2243);
 #endif
 #ifndef __LP64__
-    rsgClearColorTarget(*(uint*)buf2226);
+    rsgClearColorTarget(*(uint*)buf2244);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf2227);
+    rsgClearDepth(*(float*)buf2245);
 #endif
 #ifndef __LP64__
     rsgClearDepthTarget();
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2228);
+    rsgDrawMesh(*(rs_mesh*)buf2246);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2229, *(uint*)buf2230);
+    rsgDrawMesh(*(rs_mesh*)buf2247, *(uint*)buf2248);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2231, *(uint*)buf2232, *(uint*)buf2233, *(uint*)buf2234);
+    rsgDrawMesh(*(rs_mesh*)buf2249, *(uint*)buf2250, *(uint*)buf2251, *(uint*)buf2252);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf2235, *(float*)buf2236, *(float*)buf2237, *(float*)buf2238, *(float*)buf2239, *(float*)buf2240, *(float*)buf2241, *(float*)buf2242, *(float*)buf2243, *(float*)buf2244, *(float*)buf2245, *(float*)buf2246);
+    rsgDrawQuad(*(float*)buf2253, *(float*)buf2254, *(float*)buf2255, *(float*)buf2256, *(float*)buf2257, *(float*)buf2258, *(float*)buf2259, *(float*)buf2260, *(float*)buf2261, *(float*)buf2262, *(float*)buf2263, *(float*)buf2264);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf2247, *(float*)buf2248, *(float*)buf2249, *(float*)buf2250, *(float*)buf2251, *(float*)buf2252, *(float*)buf2253, *(float*)buf2254, *(float*)buf2255, *(float*)buf2256, *(float*)buf2257, *(float*)buf2258, *(float*)buf2259, *(float*)buf2260, *(float*)buf2261, *(float*)buf2262, *(float*)buf2263, *(float*)buf2264, *(float*)buf2265, *(float*)buf2266);
+    rsgDrawQuadTexCoords(*(float*)buf2265, *(float*)buf2266, *(float*)buf2267, *(float*)buf2268, *(float*)buf2269, *(float*)buf2270, *(float*)buf2271, *(float*)buf2272, *(float*)buf2273, *(float*)buf2274, *(float*)buf2275, *(float*)buf2276, *(float*)buf2277, *(float*)buf2278, *(float*)buf2279, *(float*)buf2280, *(float*)buf2281, *(float*)buf2282, *(float*)buf2283, *(float*)buf2284);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf2267, *(float*)buf2268, *(float*)buf2269, *(float*)buf2270, *(float*)buf2271);
+    rsgDrawRect(*(float*)buf2285, *(float*)buf2286, *(float*)buf2287, *(float*)buf2288, *(float*)buf2289);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf2272, *(float*)buf2273, *(float*)buf2274, *(float*)buf2275, *(float*)buf2276);
+    rsgDrawSpriteScreenspace(*(float*)buf2290, *(float*)buf2291, *(float*)buf2292, *(float*)buf2293, *(float*)buf2294);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf2277, *(int*)buf2278, *(int*)buf2279);
+    rsgDrawText((const char*) buf2295, *(int*)buf2296, *(int*)buf2297);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf2280, *(int*)buf2281, *(int*)buf2282);
+    rsgDrawText(*(rs_allocation*)buf2298, *(int*)buf2299, *(int*)buf2300);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2283 = rsgFinish();
+    *(uint*)buf2301 = rsgFinish();
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf2284, *(float*)buf2285, *(float*)buf2286, *(float*)buf2287);
+    rsgFontColor(*(float*)buf2302, *(float*)buf2303, *(float*)buf2304, *(float*)buf2305);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2288 = rsgGetHeight();
+    *(uint*)buf2306 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf2289 = rsgGetWidth();
+    *(uint*)buf2307 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf2290, (int*) buf2291, (int*) buf2292, (int*) buf2293, (int*) buf2294);
+    rsgMeasureText((const char*) buf2308, (int*) buf2309, (int*) buf2310, (int*) buf2311, (int*) buf2312);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf2295, (int*) buf2296, (int*) buf2297, (int*) buf2298, (int*) buf2299);
+    rsgMeasureText(*(rs_allocation*)buf2313, (int*) buf2314, (int*) buf2315, (int*) buf2316, (int*) buf2317);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2300, (float*) buf2301, (float*) buf2302, (float*) buf2303, (float*) buf2304, (float*) buf2305, (float*) buf2306);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2318, (float*) buf2319, (float*) buf2320, (float*) buf2321, (float*) buf2322, (float*) buf2323, (float*) buf2324);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2307, (float3*) buf2308, (float3*) buf2309);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2325, (float3*) buf2326, (float3*) buf2327);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf2310 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf2311, *(uint32_t*)buf2312);
+    *(rs_allocation*)buf2328 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf2329, *(uint32_t*)buf2330);
 #endif
 #ifndef __LP64__
-    *(rs_primitive*)buf2313 = rsgMeshGetPrimitive(*(rs_mesh*)buf2314, *(uint32_t*)buf2315);
+    *(rs_primitive*)buf2331 = rsgMeshGetPrimitive(*(rs_mesh*)buf2332, *(uint32_t*)buf2333);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf2316 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf2317);
+    *(uint32_t*)buf2334 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf2335);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf2318 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf2319, *(uint32_t*)buf2320);
+    *(rs_allocation*)buf2336 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf2337, *(uint32_t*)buf2338);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf2321 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf2322);
+    *(uint32_t*)buf2339 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf2340);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2323, *(float*)buf2324, *(float*)buf2325, *(float*)buf2326, *(float*)buf2327);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2341, *(float*)buf2342, *(float*)buf2343, *(float*)buf2344, *(float*)buf2345);
 #endif
 #ifndef __LP64__
-    *(rs_cull_mode*)buf2328 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf2329);
+    *(rs_cull_mode*)buf2346 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf2347);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2330 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf2331);
+    *(bool*)buf2348 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf2349);
 #endif
 #ifndef __LP64__
-    *(rs_blend_dst_func*)buf2332 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf2333);
+    *(rs_blend_dst_func*)buf2350 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf2351);
 #endif
 #ifndef __LP64__
-    *(rs_blend_src_func*)buf2334 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf2335);
+    *(rs_blend_src_func*)buf2352 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf2353);
 #endif
 #ifndef __LP64__
-    *(rs_depth_func*)buf2336 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf2337);
+    *(rs_depth_func*)buf2354 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf2355);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2338 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf2339);
+    *(bool*)buf2356 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf2357);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2340 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf2341);
+    *(bool*)buf2358 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf2359);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2342 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf2343);
+    *(bool*)buf2360 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf2361);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2344 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf2345);
+    *(bool*)buf2362 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf2363);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2346 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf2347);
+    *(bool*)buf2364 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf2365);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2348 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf2349);
+    *(bool*)buf2366 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf2367);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2350);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2368);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2351);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2369);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2352);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2370);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2353);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2371);
 #endif
-    *(float*)buf2354 = rsqrt(*(float*)buf2355);
-    *(float2*)buf2356 = rsqrt(*(float2*)buf2357);
-    *(float3*)buf2358 = rsqrt(*(float3*)buf2359);
-    *(float4*)buf2360 = rsqrt(*(float4*)buf2361);
-    *(float*)buf2362 = sign(*(float*)buf2363);
-    *(float2*)buf2364 = sign(*(float2*)buf2365);
-    *(float3*)buf2366 = sign(*(float3*)buf2367);
-    *(float4*)buf2368 = sign(*(float4*)buf2369);
-    *(float*)buf2370 = sin(*(float*)buf2371);
-    *(float2*)buf2372 = sin(*(float2*)buf2373);
-    *(float3*)buf2374 = sin(*(float3*)buf2375);
-    *(float4*)buf2376 = sin(*(float4*)buf2377);
-    *(float*)buf2378 = sincos(*(float*)buf2379, (float*) buf2380);
-    *(float2*)buf2381 = sincos(*(float2*)buf2382, (float2*) buf2383);
-    *(float3*)buf2384 = sincos(*(float3*)buf2385, (float3*) buf2386);
-    *(float4*)buf2387 = sincos(*(float4*)buf2388, (float4*) buf2389);
-    *(float*)buf2390 = sinh(*(float*)buf2391);
-    *(float2*)buf2392 = sinh(*(float2*)buf2393);
-    *(float3*)buf2394 = sinh(*(float3*)buf2395);
-    *(float4*)buf2396 = sinh(*(float4*)buf2397);
-    *(float*)buf2398 = sinpi(*(float*)buf2399);
-    *(float2*)buf2400 = sinpi(*(float2*)buf2401);
-    *(float3*)buf2402 = sinpi(*(float3*)buf2403);
-    *(float4*)buf2404 = sinpi(*(float4*)buf2405);
-    *(float*)buf2406 = sqrt(*(float*)buf2407);
-    *(float2*)buf2408 = sqrt(*(float2*)buf2409);
-    *(float3*)buf2410 = sqrt(*(float3*)buf2411);
-    *(float4*)buf2412 = sqrt(*(float4*)buf2413);
-    *(float*)buf2414 = step(*(float*)buf2415, *(float*)buf2416);
-    *(float2*)buf2417 = step(*(float2*)buf2418, *(float2*)buf2419);
-    *(float3*)buf2420 = step(*(float3*)buf2421, *(float3*)buf2422);
-    *(float4*)buf2423 = step(*(float4*)buf2424, *(float4*)buf2425);
-    *(float2*)buf2426 = step(*(float2*)buf2427, *(float*)buf2428);
-    *(float3*)buf2429 = step(*(float3*)buf2430, *(float*)buf2431);
-    *(float4*)buf2432 = step(*(float4*)buf2433, *(float*)buf2434);
-    *(float*)buf2435 = tan(*(float*)buf2436);
-    *(float2*)buf2437 = tan(*(float2*)buf2438);
-    *(float3*)buf2439 = tan(*(float3*)buf2440);
-    *(float4*)buf2441 = tan(*(float4*)buf2442);
-    *(float*)buf2443 = tanh(*(float*)buf2444);
-    *(float2*)buf2445 = tanh(*(float2*)buf2446);
-    *(float3*)buf2447 = tanh(*(float3*)buf2448);
-    *(float4*)buf2449 = tanh(*(float4*)buf2450);
-    *(float*)buf2451 = tanpi(*(float*)buf2452);
-    *(float2*)buf2453 = tanpi(*(float2*)buf2454);
-    *(float3*)buf2455 = tanpi(*(float3*)buf2456);
-    *(float4*)buf2457 = tanpi(*(float4*)buf2458);
-    *(float*)buf2459 = tgamma(*(float*)buf2460);
-    *(float2*)buf2461 = tgamma(*(float2*)buf2462);
-    *(float3*)buf2463 = tgamma(*(float3*)buf2464);
-    *(float4*)buf2465 = tgamma(*(float4*)buf2466);
-    *(float*)buf2467 = trunc(*(float*)buf2468);
-    *(float2*)buf2469 = trunc(*(float2*)buf2470);
-    *(float3*)buf2471 = trunc(*(float3*)buf2472);
-    *(float4*)buf2473 = trunc(*(float4*)buf2474);
+    *(float*)buf2372 = rsqrt(*(float*)buf2373);
+    *(float2*)buf2374 = rsqrt(*(float2*)buf2375);
+    *(float3*)buf2376 = rsqrt(*(float3*)buf2377);
+    *(float4*)buf2378 = rsqrt(*(float4*)buf2379);
+    *(float*)buf2380 = sign(*(float*)buf2381);
+    *(float2*)buf2382 = sign(*(float2*)buf2383);
+    *(float3*)buf2384 = sign(*(float3*)buf2385);
+    *(float4*)buf2386 = sign(*(float4*)buf2387);
+    *(float*)buf2388 = sin(*(float*)buf2389);
+    *(float2*)buf2390 = sin(*(float2*)buf2391);
+    *(float3*)buf2392 = sin(*(float3*)buf2393);
+    *(float4*)buf2394 = sin(*(float4*)buf2395);
+    *(float*)buf2396 = sincos(*(float*)buf2397, (float*) buf2398);
+    *(float2*)buf2399 = sincos(*(float2*)buf2400, (float2*) buf2401);
+    *(float3*)buf2402 = sincos(*(float3*)buf2403, (float3*) buf2404);
+    *(float4*)buf2405 = sincos(*(float4*)buf2406, (float4*) buf2407);
+    *(float*)buf2408 = sinh(*(float*)buf2409);
+    *(float2*)buf2410 = sinh(*(float2*)buf2411);
+    *(float3*)buf2412 = sinh(*(float3*)buf2413);
+    *(float4*)buf2414 = sinh(*(float4*)buf2415);
+    *(float*)buf2416 = sinpi(*(float*)buf2417);
+    *(float2*)buf2418 = sinpi(*(float2*)buf2419);
+    *(float3*)buf2420 = sinpi(*(float3*)buf2421);
+    *(float4*)buf2422 = sinpi(*(float4*)buf2423);
+    *(float*)buf2424 = sqrt(*(float*)buf2425);
+    *(float2*)buf2426 = sqrt(*(float2*)buf2427);
+    *(float3*)buf2428 = sqrt(*(float3*)buf2429);
+    *(float4*)buf2430 = sqrt(*(float4*)buf2431);
+    *(float*)buf2432 = step(*(float*)buf2433, *(float*)buf2434);
+    *(float2*)buf2435 = step(*(float2*)buf2436, *(float2*)buf2437);
+    *(float3*)buf2438 = step(*(float3*)buf2439, *(float3*)buf2440);
+    *(float4*)buf2441 = step(*(float4*)buf2442, *(float4*)buf2443);
+    *(float2*)buf2444 = step(*(float2*)buf2445, *(float*)buf2446);
+    *(float3*)buf2447 = step(*(float3*)buf2448, *(float*)buf2449);
+    *(float4*)buf2450 = step(*(float4*)buf2451, *(float*)buf2452);
+    *(float*)buf2453 = tan(*(float*)buf2454);
+    *(float2*)buf2455 = tan(*(float2*)buf2456);
+    *(float3*)buf2457 = tan(*(float3*)buf2458);
+    *(float4*)buf2459 = tan(*(float4*)buf2460);
+    *(float*)buf2461 = tanh(*(float*)buf2462);
+    *(float2*)buf2463 = tanh(*(float2*)buf2464);
+    *(float3*)buf2465 = tanh(*(float3*)buf2466);
+    *(float4*)buf2467 = tanh(*(float4*)buf2468);
+    *(float*)buf2469 = tanpi(*(float*)buf2470);
+    *(float2*)buf2471 = tanpi(*(float2*)buf2472);
+    *(float3*)buf2473 = tanpi(*(float3*)buf2474);
+    *(float4*)buf2475 = tanpi(*(float4*)buf2476);
+    *(float*)buf2477 = tgamma(*(float*)buf2478);
+    *(float2*)buf2479 = tgamma(*(float2*)buf2480);
+    *(float3*)buf2481 = tgamma(*(float3*)buf2482);
+    *(float4*)buf2483 = tgamma(*(float4*)buf2484);
+    *(float*)buf2485 = trunc(*(float*)buf2486);
+    *(float2*)buf2487 = trunc(*(float2*)buf2488);
+    *(float3*)buf2489 = trunc(*(float3*)buf2490);
+    *(float4*)buf2491 = trunc(*(float4*)buf2492);
 }
diff --git a/tests/P_all_api_17/all17.rs b/tests/P_all_api_17/all17.rs
index 3217729..0dfad94 100644
--- a/tests/P_all_api_17/all17.rs
+++ b/tests/P_all_api_17/all17.rs
@@ -2605,6 +2605,24 @@
 char buf2580[200];
 char buf2581[200];
 char buf2582[200];
+char buf2583[200];
+char buf2584[200];
+char buf2585[200];
+char buf2586[200];
+char buf2587[200];
+char buf2588[200];
+char buf2589[200];
+char buf2590[200];
+char buf2591[200];
+char buf2592[200];
+char buf2593[200];
+char buf2594[200];
+char buf2595[200];
+char buf2596[200];
+char buf2597[200];
+char buf2598[200];
+char buf2599[200];
+char buf2600[200];
 
 void RS_KERNEL test(int in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -3028,673 +3046,679 @@
     *(float2*)buf938 = max(*(float2*)buf939, *(float2*)buf940);
     *(float3*)buf941 = max(*(float3*)buf942, *(float3*)buf943);
     *(float4*)buf944 = max(*(float4*)buf945, *(float4*)buf946);
-    *(char*)buf947 = max(*(char*)buf948, *(char*)buf949);
-    *(uchar*)buf950 = max(*(uchar*)buf951, *(uchar*)buf952);
-    *(short*)buf953 = max(*(short*)buf954, *(short*)buf955);
-    *(ushort*)buf956 = max(*(ushort*)buf957, *(ushort*)buf958);
-    *(int*)buf959 = max(*(int*)buf960, *(int*)buf961);
-    *(uint*)buf962 = max(*(uint*)buf963, *(uint*)buf964);
-    *(char2*)buf965 = max(*(char2*)buf966, *(char2*)buf967);
-    *(uchar2*)buf968 = max(*(uchar2*)buf969, *(uchar2*)buf970);
-    *(short2*)buf971 = max(*(short2*)buf972, *(short2*)buf973);
-    *(ushort2*)buf974 = max(*(ushort2*)buf975, *(ushort2*)buf976);
-    *(int2*)buf977 = max(*(int2*)buf978, *(int2*)buf979);
-    *(uint2*)buf980 = max(*(uint2*)buf981, *(uint2*)buf982);
-    *(char3*)buf983 = max(*(char3*)buf984, *(char3*)buf985);
-    *(uchar3*)buf986 = max(*(uchar3*)buf987, *(uchar3*)buf988);
-    *(short3*)buf989 = max(*(short3*)buf990, *(short3*)buf991);
-    *(ushort3*)buf992 = max(*(ushort3*)buf993, *(ushort3*)buf994);
-    *(int3*)buf995 = max(*(int3*)buf996, *(int3*)buf997);
-    *(uint3*)buf998 = max(*(uint3*)buf999, *(uint3*)buf1000);
-    *(char4*)buf1001 = max(*(char4*)buf1002, *(char4*)buf1003);
-    *(uchar4*)buf1004 = max(*(uchar4*)buf1005, *(uchar4*)buf1006);
-    *(short4*)buf1007 = max(*(short4*)buf1008, *(short4*)buf1009);
-    *(ushort4*)buf1010 = max(*(ushort4*)buf1011, *(ushort4*)buf1012);
-    *(int4*)buf1013 = max(*(int4*)buf1014, *(int4*)buf1015);
-    *(uint4*)buf1016 = max(*(uint4*)buf1017, *(uint4*)buf1018);
-    *(float*)buf1019 = min(*(float*)buf1020, *(float*)buf1021);
-    *(float2*)buf1022 = min(*(float2*)buf1023, *(float2*)buf1024);
-    *(float3*)buf1025 = min(*(float3*)buf1026, *(float3*)buf1027);
-    *(float4*)buf1028 = min(*(float4*)buf1029, *(float4*)buf1030);
-    *(char*)buf1031 = min(*(char*)buf1032, *(char*)buf1033);
-    *(uchar*)buf1034 = min(*(uchar*)buf1035, *(uchar*)buf1036);
-    *(short*)buf1037 = min(*(short*)buf1038, *(short*)buf1039);
-    *(ushort*)buf1040 = min(*(ushort*)buf1041, *(ushort*)buf1042);
-    *(int*)buf1043 = min(*(int*)buf1044, *(int*)buf1045);
-    *(uint*)buf1046 = min(*(uint*)buf1047, *(uint*)buf1048);
-    *(char2*)buf1049 = min(*(char2*)buf1050, *(char2*)buf1051);
-    *(uchar2*)buf1052 = min(*(uchar2*)buf1053, *(uchar2*)buf1054);
-    *(short2*)buf1055 = min(*(short2*)buf1056, *(short2*)buf1057);
-    *(ushort2*)buf1058 = min(*(ushort2*)buf1059, *(ushort2*)buf1060);
-    *(int2*)buf1061 = min(*(int2*)buf1062, *(int2*)buf1063);
-    *(uint2*)buf1064 = min(*(uint2*)buf1065, *(uint2*)buf1066);
-    *(char3*)buf1067 = min(*(char3*)buf1068, *(char3*)buf1069);
-    *(uchar3*)buf1070 = min(*(uchar3*)buf1071, *(uchar3*)buf1072);
-    *(short3*)buf1073 = min(*(short3*)buf1074, *(short3*)buf1075);
-    *(ushort3*)buf1076 = min(*(ushort3*)buf1077, *(ushort3*)buf1078);
-    *(int3*)buf1079 = min(*(int3*)buf1080, *(int3*)buf1081);
-    *(uint3*)buf1082 = min(*(uint3*)buf1083, *(uint3*)buf1084);
-    *(char4*)buf1085 = min(*(char4*)buf1086, *(char4*)buf1087);
-    *(uchar4*)buf1088 = min(*(uchar4*)buf1089, *(uchar4*)buf1090);
-    *(short4*)buf1091 = min(*(short4*)buf1092, *(short4*)buf1093);
-    *(ushort4*)buf1094 = min(*(ushort4*)buf1095, *(ushort4*)buf1096);
-    *(int4*)buf1097 = min(*(int4*)buf1098, *(int4*)buf1099);
-    *(uint4*)buf1100 = min(*(uint4*)buf1101, *(uint4*)buf1102);
-    *(float*)buf1103 = mix(*(float*)buf1104, *(float*)buf1105, *(float*)buf1106);
-    *(float2*)buf1107 = mix(*(float2*)buf1108, *(float2*)buf1109, *(float2*)buf1110);
-    *(float3*)buf1111 = mix(*(float3*)buf1112, *(float3*)buf1113, *(float3*)buf1114);
-    *(float4*)buf1115 = mix(*(float4*)buf1116, *(float4*)buf1117, *(float4*)buf1118);
-    *(float2*)buf1119 = mix(*(float2*)buf1120, *(float2*)buf1121, *(float*)buf1122);
-    *(float3*)buf1123 = mix(*(float3*)buf1124, *(float3*)buf1125, *(float*)buf1126);
-    *(float4*)buf1127 = mix(*(float4*)buf1128, *(float4*)buf1129, *(float*)buf1130);
-    *(float*)buf1131 = modf(*(float*)buf1132, (float*) buf1133);
-    *(float2*)buf1134 = modf(*(float2*)buf1135, (float2*) buf1136);
-    *(float3*)buf1137 = modf(*(float3*)buf1138, (float3*) buf1139);
-    *(float4*)buf1140 = modf(*(float4*)buf1141, (float4*) buf1142);
-    *(float*)buf1143 = nan(*(uint*)buf1144);
-    *(float*)buf1145 = nextafter(*(float*)buf1146, *(float*)buf1147);
-    *(float2*)buf1148 = nextafter(*(float2*)buf1149, *(float2*)buf1150);
-    *(float3*)buf1151 = nextafter(*(float3*)buf1152, *(float3*)buf1153);
-    *(float4*)buf1154 = nextafter(*(float4*)buf1155, *(float4*)buf1156);
-    *(float*)buf1157 = normalize(*(float*)buf1158);
-    *(float2*)buf1159 = normalize(*(float2*)buf1160);
-    *(float3*)buf1161 = normalize(*(float3*)buf1162);
-    *(float4*)buf1163 = normalize(*(float4*)buf1164);
-    *(float*)buf1165 = pow(*(float*)buf1166, *(float*)buf1167);
-    *(float2*)buf1168 = pow(*(float2*)buf1169, *(float2*)buf1170);
-    *(float3*)buf1171 = pow(*(float3*)buf1172, *(float3*)buf1173);
-    *(float4*)buf1174 = pow(*(float4*)buf1175, *(float4*)buf1176);
-    *(float*)buf1177 = pown(*(float*)buf1178, *(int*)buf1179);
-    *(float2*)buf1180 = pown(*(float2*)buf1181, *(int2*)buf1182);
-    *(float3*)buf1183 = pown(*(float3*)buf1184, *(int3*)buf1185);
-    *(float4*)buf1186 = pown(*(float4*)buf1187, *(int4*)buf1188);
-    *(float*)buf1189 = powr(*(float*)buf1190, *(float*)buf1191);
-    *(float2*)buf1192 = powr(*(float2*)buf1193, *(float2*)buf1194);
-    *(float3*)buf1195 = powr(*(float3*)buf1196, *(float3*)buf1197);
-    *(float4*)buf1198 = powr(*(float4*)buf1199, *(float4*)buf1200);
-    *(float*)buf1201 = radians(*(float*)buf1202);
-    *(float2*)buf1203 = radians(*(float2*)buf1204);
-    *(float3*)buf1205 = radians(*(float3*)buf1206);
-    *(float4*)buf1207 = radians(*(float4*)buf1208);
-    *(float*)buf1209 = remainder(*(float*)buf1210, *(float*)buf1211);
-    *(float2*)buf1212 = remainder(*(float2*)buf1213, *(float2*)buf1214);
-    *(float3*)buf1215 = remainder(*(float3*)buf1216, *(float3*)buf1217);
-    *(float4*)buf1218 = remainder(*(float4*)buf1219, *(float4*)buf1220);
-    *(float*)buf1221 = remquo(*(float*)buf1222, *(float*)buf1223, (int*) buf1224);
-    *(float2*)buf1225 = remquo(*(float2*)buf1226, *(float2*)buf1227, (int2*) buf1228);
-    *(float3*)buf1229 = remquo(*(float3*)buf1230, *(float3*)buf1231, (int3*) buf1232);
-    *(float4*)buf1233 = remquo(*(float4*)buf1234, *(float4*)buf1235, (int4*) buf1236);
-    *(float*)buf1237 = rint(*(float*)buf1238);
-    *(float2*)buf1239 = rint(*(float2*)buf1240);
-    *(float3*)buf1241 = rint(*(float3*)buf1242);
-    *(float4*)buf1243 = rint(*(float4*)buf1244);
-    *(float*)buf1245 = rootn(*(float*)buf1246, *(int*)buf1247);
-    *(float2*)buf1248 = rootn(*(float2*)buf1249, *(int2*)buf1250);
-    *(float3*)buf1251 = rootn(*(float3*)buf1252, *(int3*)buf1253);
-    *(float4*)buf1254 = rootn(*(float4*)buf1255, *(int4*)buf1256);
-    *(float*)buf1257 = round(*(float*)buf1258);
-    *(float2*)buf1259 = round(*(float2*)buf1260);
-    *(float3*)buf1261 = round(*(float3*)buf1262);
-    *(float4*)buf1263 = round(*(float4*)buf1264);
-    rsAllocationCopy1DRange(*(rs_allocation*)buf1265, *(uint32_t*)buf1266, *(uint32_t*)buf1267, *(uint32_t*)buf1268, *(rs_allocation*)buf1269, *(uint32_t*)buf1270, *(uint32_t*)buf1271);
-    rsAllocationCopy2DRange(*(rs_allocation*)buf1272, *(uint32_t*)buf1273, *(uint32_t*)buf1274, *(uint32_t*)buf1275, *(rs_allocation_cubemap_face*)buf1276, *(uint32_t*)buf1277, *(uint32_t*)buf1278, *(rs_allocation*)buf1279, *(uint32_t*)buf1280, *(uint32_t*)buf1281, *(uint32_t*)buf1282, *(rs_allocation_cubemap_face*)buf1283);
-    *(uint32_t*)buf1284 = rsAllocationGetDimFaces(*(rs_allocation*)buf1285);
-    *(uint32_t*)buf1286 = rsAllocationGetDimLOD(*(rs_allocation*)buf1287);
-    *(uint32_t*)buf1288 = rsAllocationGetDimX(*(rs_allocation*)buf1289);
-    *(uint32_t*)buf1290 = rsAllocationGetDimY(*(rs_allocation*)buf1291);
-    *(uint32_t*)buf1292 = rsAllocationGetDimZ(*(rs_allocation*)buf1293);
-    *(rs_element*)buf1294 = rsAllocationGetElement(*(rs_allocation*)buf1295);
-    rsAllocationIoReceive(*(rs_allocation*)buf1296);
-    rsAllocationIoSend(*(rs_allocation*)buf1297);
-    *(int32_t*)buf1298 = rsAtomicAdd((volatile int32_t*) buf1299, *(int32_t*)buf1300);
-    *(int32_t*)buf1301 = rsAtomicAnd((volatile int32_t*) buf1302, *(int32_t*)buf1303);
-    *(int32_t*)buf1304 = rsAtomicCas((volatile int32_t*) buf1305, *(int32_t*)buf1306, *(int32_t*)buf1307);
-    *(uint32_t*)buf1308 = rsAtomicCas((volatile uint32_t*) buf1309, *(uint32_t*)buf1310, *(uint32_t*)buf1311);
-    *(int32_t*)buf1312 = rsAtomicDec((volatile int32_t*) buf1313);
-    *(int32_t*)buf1314 = rsAtomicInc((volatile int32_t*) buf1315);
-    *(uint32_t*)buf1316 = rsAtomicMax((volatile uint32_t*) buf1317, *(uint32_t*)buf1318);
-    *(int32_t*)buf1319 = rsAtomicMax((volatile int32_t*) buf1320, *(int32_t*)buf1321);
-    *(uint32_t*)buf1322 = rsAtomicMin((volatile uint32_t*) buf1323, *(uint32_t*)buf1324);
-    *(int32_t*)buf1325 = rsAtomicMin((volatile int32_t*) buf1326, *(int32_t*)buf1327);
-    *(int32_t*)buf1328 = rsAtomicOr((volatile int32_t*) buf1329, *(int32_t*)buf1330);
-    *(int32_t*)buf1331 = rsAtomicSub((volatile int32_t*) buf1332, *(int32_t*)buf1333);
-    *(int32_t*)buf1334 = rsAtomicXor((volatile int32_t*) buf1335, *(int32_t*)buf1336);
-    *(char*)buf1337 = rsClamp(*(char*)buf1338, *(char*)buf1339, *(char*)buf1340);
-    *(uchar*)buf1341 = rsClamp(*(uchar*)buf1342, *(uchar*)buf1343, *(uchar*)buf1344);
-    *(short*)buf1345 = rsClamp(*(short*)buf1346, *(short*)buf1347, *(short*)buf1348);
-    *(ushort*)buf1349 = rsClamp(*(ushort*)buf1350, *(ushort*)buf1351, *(ushort*)buf1352);
-    *(int*)buf1353 = rsClamp(*(int*)buf1354, *(int*)buf1355, *(int*)buf1356);
-    *(uint*)buf1357 = rsClamp(*(uint*)buf1358, *(uint*)buf1359, *(uint*)buf1360);
-    rsClearObject((rs_element*) buf1361);
-    rsClearObject((rs_type*) buf1362);
-    rsClearObject((rs_allocation*) buf1363);
-    rsClearObject((rs_sampler*) buf1364);
-    rsClearObject((rs_script*) buf1365);
+    *(float2*)buf947 = max(*(float2*)buf948, *(float*)buf949);
+    *(float3*)buf950 = max(*(float3*)buf951, *(float*)buf952);
+    *(float4*)buf953 = max(*(float4*)buf954, *(float*)buf955);
+    *(char*)buf956 = max(*(char*)buf957, *(char*)buf958);
+    *(uchar*)buf959 = max(*(uchar*)buf960, *(uchar*)buf961);
+    *(short*)buf962 = max(*(short*)buf963, *(short*)buf964);
+    *(ushort*)buf965 = max(*(ushort*)buf966, *(ushort*)buf967);
+    *(int*)buf968 = max(*(int*)buf969, *(int*)buf970);
+    *(uint*)buf971 = max(*(uint*)buf972, *(uint*)buf973);
+    *(char2*)buf974 = max(*(char2*)buf975, *(char2*)buf976);
+    *(uchar2*)buf977 = max(*(uchar2*)buf978, *(uchar2*)buf979);
+    *(short2*)buf980 = max(*(short2*)buf981, *(short2*)buf982);
+    *(ushort2*)buf983 = max(*(ushort2*)buf984, *(ushort2*)buf985);
+    *(int2*)buf986 = max(*(int2*)buf987, *(int2*)buf988);
+    *(uint2*)buf989 = max(*(uint2*)buf990, *(uint2*)buf991);
+    *(char3*)buf992 = max(*(char3*)buf993, *(char3*)buf994);
+    *(uchar3*)buf995 = max(*(uchar3*)buf996, *(uchar3*)buf997);
+    *(short3*)buf998 = max(*(short3*)buf999, *(short3*)buf1000);
+    *(ushort3*)buf1001 = max(*(ushort3*)buf1002, *(ushort3*)buf1003);
+    *(int3*)buf1004 = max(*(int3*)buf1005, *(int3*)buf1006);
+    *(uint3*)buf1007 = max(*(uint3*)buf1008, *(uint3*)buf1009);
+    *(char4*)buf1010 = max(*(char4*)buf1011, *(char4*)buf1012);
+    *(uchar4*)buf1013 = max(*(uchar4*)buf1014, *(uchar4*)buf1015);
+    *(short4*)buf1016 = max(*(short4*)buf1017, *(short4*)buf1018);
+    *(ushort4*)buf1019 = max(*(ushort4*)buf1020, *(ushort4*)buf1021);
+    *(int4*)buf1022 = max(*(int4*)buf1023, *(int4*)buf1024);
+    *(uint4*)buf1025 = max(*(uint4*)buf1026, *(uint4*)buf1027);
+    *(float*)buf1028 = min(*(float*)buf1029, *(float*)buf1030);
+    *(float2*)buf1031 = min(*(float2*)buf1032, *(float2*)buf1033);
+    *(float3*)buf1034 = min(*(float3*)buf1035, *(float3*)buf1036);
+    *(float4*)buf1037 = min(*(float4*)buf1038, *(float4*)buf1039);
+    *(float2*)buf1040 = min(*(float2*)buf1041, *(float*)buf1042);
+    *(float3*)buf1043 = min(*(float3*)buf1044, *(float*)buf1045);
+    *(float4*)buf1046 = min(*(float4*)buf1047, *(float*)buf1048);
+    *(char*)buf1049 = min(*(char*)buf1050, *(char*)buf1051);
+    *(uchar*)buf1052 = min(*(uchar*)buf1053, *(uchar*)buf1054);
+    *(short*)buf1055 = min(*(short*)buf1056, *(short*)buf1057);
+    *(ushort*)buf1058 = min(*(ushort*)buf1059, *(ushort*)buf1060);
+    *(int*)buf1061 = min(*(int*)buf1062, *(int*)buf1063);
+    *(uint*)buf1064 = min(*(uint*)buf1065, *(uint*)buf1066);
+    *(char2*)buf1067 = min(*(char2*)buf1068, *(char2*)buf1069);
+    *(uchar2*)buf1070 = min(*(uchar2*)buf1071, *(uchar2*)buf1072);
+    *(short2*)buf1073 = min(*(short2*)buf1074, *(short2*)buf1075);
+    *(ushort2*)buf1076 = min(*(ushort2*)buf1077, *(ushort2*)buf1078);
+    *(int2*)buf1079 = min(*(int2*)buf1080, *(int2*)buf1081);
+    *(uint2*)buf1082 = min(*(uint2*)buf1083, *(uint2*)buf1084);
+    *(char3*)buf1085 = min(*(char3*)buf1086, *(char3*)buf1087);
+    *(uchar3*)buf1088 = min(*(uchar3*)buf1089, *(uchar3*)buf1090);
+    *(short3*)buf1091 = min(*(short3*)buf1092, *(short3*)buf1093);
+    *(ushort3*)buf1094 = min(*(ushort3*)buf1095, *(ushort3*)buf1096);
+    *(int3*)buf1097 = min(*(int3*)buf1098, *(int3*)buf1099);
+    *(uint3*)buf1100 = min(*(uint3*)buf1101, *(uint3*)buf1102);
+    *(char4*)buf1103 = min(*(char4*)buf1104, *(char4*)buf1105);
+    *(uchar4*)buf1106 = min(*(uchar4*)buf1107, *(uchar4*)buf1108);
+    *(short4*)buf1109 = min(*(short4*)buf1110, *(short4*)buf1111);
+    *(ushort4*)buf1112 = min(*(ushort4*)buf1113, *(ushort4*)buf1114);
+    *(int4*)buf1115 = min(*(int4*)buf1116, *(int4*)buf1117);
+    *(uint4*)buf1118 = min(*(uint4*)buf1119, *(uint4*)buf1120);
+    *(float*)buf1121 = mix(*(float*)buf1122, *(float*)buf1123, *(float*)buf1124);
+    *(float2*)buf1125 = mix(*(float2*)buf1126, *(float2*)buf1127, *(float2*)buf1128);
+    *(float3*)buf1129 = mix(*(float3*)buf1130, *(float3*)buf1131, *(float3*)buf1132);
+    *(float4*)buf1133 = mix(*(float4*)buf1134, *(float4*)buf1135, *(float4*)buf1136);
+    *(float2*)buf1137 = mix(*(float2*)buf1138, *(float2*)buf1139, *(float*)buf1140);
+    *(float3*)buf1141 = mix(*(float3*)buf1142, *(float3*)buf1143, *(float*)buf1144);
+    *(float4*)buf1145 = mix(*(float4*)buf1146, *(float4*)buf1147, *(float*)buf1148);
+    *(float*)buf1149 = modf(*(float*)buf1150, (float*) buf1151);
+    *(float2*)buf1152 = modf(*(float2*)buf1153, (float2*) buf1154);
+    *(float3*)buf1155 = modf(*(float3*)buf1156, (float3*) buf1157);
+    *(float4*)buf1158 = modf(*(float4*)buf1159, (float4*) buf1160);
+    *(float*)buf1161 = nan(*(uint*)buf1162);
+    *(float*)buf1163 = nextafter(*(float*)buf1164, *(float*)buf1165);
+    *(float2*)buf1166 = nextafter(*(float2*)buf1167, *(float2*)buf1168);
+    *(float3*)buf1169 = nextafter(*(float3*)buf1170, *(float3*)buf1171);
+    *(float4*)buf1172 = nextafter(*(float4*)buf1173, *(float4*)buf1174);
+    *(float*)buf1175 = normalize(*(float*)buf1176);
+    *(float2*)buf1177 = normalize(*(float2*)buf1178);
+    *(float3*)buf1179 = normalize(*(float3*)buf1180);
+    *(float4*)buf1181 = normalize(*(float4*)buf1182);
+    *(float*)buf1183 = pow(*(float*)buf1184, *(float*)buf1185);
+    *(float2*)buf1186 = pow(*(float2*)buf1187, *(float2*)buf1188);
+    *(float3*)buf1189 = pow(*(float3*)buf1190, *(float3*)buf1191);
+    *(float4*)buf1192 = pow(*(float4*)buf1193, *(float4*)buf1194);
+    *(float*)buf1195 = pown(*(float*)buf1196, *(int*)buf1197);
+    *(float2*)buf1198 = pown(*(float2*)buf1199, *(int2*)buf1200);
+    *(float3*)buf1201 = pown(*(float3*)buf1202, *(int3*)buf1203);
+    *(float4*)buf1204 = pown(*(float4*)buf1205, *(int4*)buf1206);
+    *(float*)buf1207 = powr(*(float*)buf1208, *(float*)buf1209);
+    *(float2*)buf1210 = powr(*(float2*)buf1211, *(float2*)buf1212);
+    *(float3*)buf1213 = powr(*(float3*)buf1214, *(float3*)buf1215);
+    *(float4*)buf1216 = powr(*(float4*)buf1217, *(float4*)buf1218);
+    *(float*)buf1219 = radians(*(float*)buf1220);
+    *(float2*)buf1221 = radians(*(float2*)buf1222);
+    *(float3*)buf1223 = radians(*(float3*)buf1224);
+    *(float4*)buf1225 = radians(*(float4*)buf1226);
+    *(float*)buf1227 = remainder(*(float*)buf1228, *(float*)buf1229);
+    *(float2*)buf1230 = remainder(*(float2*)buf1231, *(float2*)buf1232);
+    *(float3*)buf1233 = remainder(*(float3*)buf1234, *(float3*)buf1235);
+    *(float4*)buf1236 = remainder(*(float4*)buf1237, *(float4*)buf1238);
+    *(float*)buf1239 = remquo(*(float*)buf1240, *(float*)buf1241, (int*) buf1242);
+    *(float2*)buf1243 = remquo(*(float2*)buf1244, *(float2*)buf1245, (int2*) buf1246);
+    *(float3*)buf1247 = remquo(*(float3*)buf1248, *(float3*)buf1249, (int3*) buf1250);
+    *(float4*)buf1251 = remquo(*(float4*)buf1252, *(float4*)buf1253, (int4*) buf1254);
+    *(float*)buf1255 = rint(*(float*)buf1256);
+    *(float2*)buf1257 = rint(*(float2*)buf1258);
+    *(float3*)buf1259 = rint(*(float3*)buf1260);
+    *(float4*)buf1261 = rint(*(float4*)buf1262);
+    *(float*)buf1263 = rootn(*(float*)buf1264, *(int*)buf1265);
+    *(float2*)buf1266 = rootn(*(float2*)buf1267, *(int2*)buf1268);
+    *(float3*)buf1269 = rootn(*(float3*)buf1270, *(int3*)buf1271);
+    *(float4*)buf1272 = rootn(*(float4*)buf1273, *(int4*)buf1274);
+    *(float*)buf1275 = round(*(float*)buf1276);
+    *(float2*)buf1277 = round(*(float2*)buf1278);
+    *(float3*)buf1279 = round(*(float3*)buf1280);
+    *(float4*)buf1281 = round(*(float4*)buf1282);
+    rsAllocationCopy1DRange(*(rs_allocation*)buf1283, *(uint32_t*)buf1284, *(uint32_t*)buf1285, *(uint32_t*)buf1286, *(rs_allocation*)buf1287, *(uint32_t*)buf1288, *(uint32_t*)buf1289);
+    rsAllocationCopy2DRange(*(rs_allocation*)buf1290, *(uint32_t*)buf1291, *(uint32_t*)buf1292, *(uint32_t*)buf1293, *(rs_allocation_cubemap_face*)buf1294, *(uint32_t*)buf1295, *(uint32_t*)buf1296, *(rs_allocation*)buf1297, *(uint32_t*)buf1298, *(uint32_t*)buf1299, *(uint32_t*)buf1300, *(rs_allocation_cubemap_face*)buf1301);
+    *(uint32_t*)buf1302 = rsAllocationGetDimFaces(*(rs_allocation*)buf1303);
+    *(uint32_t*)buf1304 = rsAllocationGetDimLOD(*(rs_allocation*)buf1305);
+    *(uint32_t*)buf1306 = rsAllocationGetDimX(*(rs_allocation*)buf1307);
+    *(uint32_t*)buf1308 = rsAllocationGetDimY(*(rs_allocation*)buf1309);
+    *(uint32_t*)buf1310 = rsAllocationGetDimZ(*(rs_allocation*)buf1311);
+    *(rs_element*)buf1312 = rsAllocationGetElement(*(rs_allocation*)buf1313);
+    rsAllocationIoReceive(*(rs_allocation*)buf1314);
+    rsAllocationIoSend(*(rs_allocation*)buf1315);
+    *(int32_t*)buf1316 = rsAtomicAdd((volatile int32_t*) buf1317, *(int32_t*)buf1318);
+    *(int32_t*)buf1319 = rsAtomicAnd((volatile int32_t*) buf1320, *(int32_t*)buf1321);
+    *(int32_t*)buf1322 = rsAtomicCas((volatile int32_t*) buf1323, *(int32_t*)buf1324, *(int32_t*)buf1325);
+    *(uint32_t*)buf1326 = rsAtomicCas((volatile uint32_t*) buf1327, *(uint32_t*)buf1328, *(uint32_t*)buf1329);
+    *(int32_t*)buf1330 = rsAtomicDec((volatile int32_t*) buf1331);
+    *(int32_t*)buf1332 = rsAtomicInc((volatile int32_t*) buf1333);
+    *(uint32_t*)buf1334 = rsAtomicMax((volatile uint32_t*) buf1335, *(uint32_t*)buf1336);
+    *(int32_t*)buf1337 = rsAtomicMax((volatile int32_t*) buf1338, *(int32_t*)buf1339);
+    *(uint32_t*)buf1340 = rsAtomicMin((volatile uint32_t*) buf1341, *(uint32_t*)buf1342);
+    *(int32_t*)buf1343 = rsAtomicMin((volatile int32_t*) buf1344, *(int32_t*)buf1345);
+    *(int32_t*)buf1346 = rsAtomicOr((volatile int32_t*) buf1347, *(int32_t*)buf1348);
+    *(int32_t*)buf1349 = rsAtomicSub((volatile int32_t*) buf1350, *(int32_t*)buf1351);
+    *(int32_t*)buf1352 = rsAtomicXor((volatile int32_t*) buf1353, *(int32_t*)buf1354);
+    *(char*)buf1355 = rsClamp(*(char*)buf1356, *(char*)buf1357, *(char*)buf1358);
+    *(uchar*)buf1359 = rsClamp(*(uchar*)buf1360, *(uchar*)buf1361, *(uchar*)buf1362);
+    *(short*)buf1363 = rsClamp(*(short*)buf1364, *(short*)buf1365, *(short*)buf1366);
+    *(ushort*)buf1367 = rsClamp(*(ushort*)buf1368, *(ushort*)buf1369, *(ushort*)buf1370);
+    *(int*)buf1371 = rsClamp(*(int*)buf1372, *(int*)buf1373, *(int*)buf1374);
+    *(uint*)buf1375 = rsClamp(*(uint*)buf1376, *(uint*)buf1377, *(uint*)buf1378);
+    rsClearObject((rs_element*) buf1379);
+    rsClearObject((rs_type*) buf1380);
+    rsClearObject((rs_allocation*) buf1381);
+    rsClearObject((rs_sampler*) buf1382);
+    rsClearObject((rs_script*) buf1383);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf1366);
-    rsClearObject((rs_program_fragment*) buf1367);
-    rsClearObject((rs_program_vertex*) buf1368);
-    rsClearObject((rs_program_raster*) buf1369);
-    rsClearObject((rs_program_store*) buf1370);
-    rsClearObject((rs_font*) buf1371);
+    rsClearObject((rs_mesh*) buf1384);
+    rsClearObject((rs_program_fragment*) buf1385);
+    rsClearObject((rs_program_vertex*) buf1386);
+    rsClearObject((rs_program_raster*) buf1387);
+    rsClearObject((rs_program_store*) buf1388);
+    rsClearObject((rs_font*) buf1389);
 #endif
-    rsDebug((const char*) buf1372, *(double*)buf1373);
-    rsDebug((const char*) buf1374, *(int*)buf1375);
-    rsDebug((const char*) buf1376, *(uint*)buf1377);
-    rsDebug((const char*) buf1378, *(long*)buf1379);
-    rsDebug((const char*) buf1380, *(ulong*)buf1381);
-    rsDebug((const char*) buf1382, *(int2*)buf1383);
-    rsDebug((const char*) buf1384, *(int3*)buf1385);
-    rsDebug((const char*) buf1386, *(int4*)buf1387);
-    rsDebug((const char*) buf1388, *(uint2*)buf1389);
-    rsDebug((const char*) buf1390, *(uint3*)buf1391);
-    rsDebug((const char*) buf1392, *(uint4*)buf1393);
-    rsDebug((const char*) buf1394, *(long2*)buf1395);
-    rsDebug((const char*) buf1396, *(long3*)buf1397);
-    rsDebug((const char*) buf1398, *(long4*)buf1399);
-    rsDebug((const char*) buf1400, *(ulong2*)buf1401);
-    rsDebug((const char*) buf1402, *(ulong3*)buf1403);
-    rsDebug((const char*) buf1404, *(ulong4*)buf1405);
-    rsDebug((const char*) buf1406, *(float*)buf1407);
-    rsDebug((const char*) buf1408, *(float2*)buf1409);
-    rsDebug((const char*) buf1410, *(float3*)buf1411);
-    rsDebug((const char*) buf1412, *(float4*)buf1413);
-    rsDebug((const char*) buf1414, *(char*)buf1415);
-    rsDebug((const char*) buf1416, *(char2*)buf1417);
-    rsDebug((const char*) buf1418, *(char3*)buf1419);
-    rsDebug((const char*) buf1420, *(char4*)buf1421);
-    rsDebug((const char*) buf1422, *(uchar*)buf1423);
-    rsDebug((const char*) buf1424, *(uchar2*)buf1425);
-    rsDebug((const char*) buf1426, *(uchar3*)buf1427);
-    rsDebug((const char*) buf1428, *(uchar4*)buf1429);
-    rsDebug((const char*) buf1430, *(short*)buf1431);
-    rsDebug((const char*) buf1432, *(short2*)buf1433);
-    rsDebug((const char*) buf1434, *(short3*)buf1435);
-    rsDebug((const char*) buf1436, *(short4*)buf1437);
-    rsDebug((const char*) buf1438, *(ushort*)buf1439);
-    rsDebug((const char*) buf1440, *(ushort2*)buf1441);
-    rsDebug((const char*) buf1442, *(ushort3*)buf1443);
-    rsDebug((const char*) buf1444, *(ushort4*)buf1445);
-    rsDebug((const char*) buf1446, *(float*)buf1447, *(float*)buf1448);
-    rsDebug((const char*) buf1449, *(float*)buf1450, *(float*)buf1451, *(float*)buf1452);
-    rsDebug((const char*) buf1453, *(float*)buf1454, *(float*)buf1455, *(float*)buf1456, *(float*)buf1457);
-    rsDebug((const char*) buf1458, *(long long*)buf1459);
-    rsDebug((const char*) buf1460, *(unsigned long long*)buf1461);
-    rsDebug((const char*) buf1462, (const void*) buf1463);
-    rsDebug((const char*) buf1464, (const rs_matrix4x4*) buf1465);
-    rsDebug((const char*) buf1466, (const rs_matrix3x3*) buf1467);
-    rsDebug((const char*) buf1468, (const rs_matrix2x2*) buf1469);
-    *(uint32_t*)buf1470 = rsElementGetBytesSize(*(rs_element*)buf1471);
-    *(rs_data_kind*)buf1472 = rsElementGetDataKind(*(rs_element*)buf1473);
-    *(rs_data_type*)buf1474 = rsElementGetDataType(*(rs_element*)buf1475);
-    *(rs_element*)buf1476 = rsElementGetSubElement(*(rs_element*)buf1477, *(uint32_t*)buf1478);
-    *(uint32_t*)buf1479 = rsElementGetSubElementArraySize(*(rs_element*)buf1480, *(uint32_t*)buf1481);
-    *(uint32_t*)buf1482 = rsElementGetSubElementCount(*(rs_element*)buf1483);
-    *(uint32_t*)buf1484 = rsElementGetSubElementName(*(rs_element*)buf1485, *(uint32_t*)buf1486, (char*) buf1487, *(uint32_t*)buf1488);
-    *(uint32_t*)buf1489 = rsElementGetSubElementNameLength(*(rs_element*)buf1490, *(uint32_t*)buf1491);
-    *(uint32_t*)buf1492 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf1493, *(uint32_t*)buf1494);
-    *(uint32_t*)buf1495 = rsElementGetVectorSize(*(rs_element*)buf1496);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1497, (float4*) buf1498, (float4*) buf1499, (float4*) buf1500, (float4*) buf1501, (float4*) buf1502, (float4*) buf1503);
-    rsForEach(*(rs_script*)buf1504, *(rs_allocation*)buf1505, *(rs_allocation*)buf1506, (const void*) buf1507, *(size_t*)buf1508, (const rs_script_call_t*) buf1509);
-    rsForEach(*(rs_script*)buf1510, *(rs_allocation*)buf1511, *(rs_allocation*)buf1512, (const void*) buf1513, *(size_t*)buf1514);
-    rsForEach(*(rs_script*)buf1515, *(rs_allocation*)buf1516, *(rs_allocation*)buf1517);
-    *(float*)buf1518 = rsFrac(*(float*)buf1519);
-    *(rs_allocation*)buf1520 = rsGetAllocation((const void*) buf1521);
-    *(float*)buf1522 = rsGetDt();
-    *(const void**)buf1523 = rsGetElementAt(*(rs_allocation*)buf1524, *(uint32_t*)buf1525);
-    *(const void**)buf1526 = rsGetElementAt(*(rs_allocation*)buf1527, *(uint32_t*)buf1528, *(uint32_t*)buf1529);
-    *(const void**)buf1530 = rsGetElementAt(*(rs_allocation*)buf1531, *(uint32_t*)buf1532, *(uint32_t*)buf1533, *(uint32_t*)buf1534);
-    *(float*)buf1535 = rsGetElementAt_float(*(rs_allocation*)buf1536, *(uint32_t*)buf1537);
-    *(float2*)buf1538 = rsGetElementAt_float2(*(rs_allocation*)buf1539, *(uint32_t*)buf1540);
-    *(float3*)buf1541 = rsGetElementAt_float3(*(rs_allocation*)buf1542, *(uint32_t*)buf1543);
-    *(float4*)buf1544 = rsGetElementAt_float4(*(rs_allocation*)buf1545, *(uint32_t*)buf1546);
-    *(double*)buf1547 = rsGetElementAt_double(*(rs_allocation*)buf1548, *(uint32_t*)buf1549);
-    *(double2*)buf1550 = rsGetElementAt_double2(*(rs_allocation*)buf1551, *(uint32_t*)buf1552);
-    *(double3*)buf1553 = rsGetElementAt_double3(*(rs_allocation*)buf1554, *(uint32_t*)buf1555);
-    *(double4*)buf1556 = rsGetElementAt_double4(*(rs_allocation*)buf1557, *(uint32_t*)buf1558);
-    *(char*)buf1559 = rsGetElementAt_char(*(rs_allocation*)buf1560, *(uint32_t*)buf1561);
-    *(char2*)buf1562 = rsGetElementAt_char2(*(rs_allocation*)buf1563, *(uint32_t*)buf1564);
-    *(char3*)buf1565 = rsGetElementAt_char3(*(rs_allocation*)buf1566, *(uint32_t*)buf1567);
-    *(char4*)buf1568 = rsGetElementAt_char4(*(rs_allocation*)buf1569, *(uint32_t*)buf1570);
-    *(uchar*)buf1571 = rsGetElementAt_uchar(*(rs_allocation*)buf1572, *(uint32_t*)buf1573);
-    *(uchar2*)buf1574 = rsGetElementAt_uchar2(*(rs_allocation*)buf1575, *(uint32_t*)buf1576);
-    *(uchar3*)buf1577 = rsGetElementAt_uchar3(*(rs_allocation*)buf1578, *(uint32_t*)buf1579);
-    *(uchar4*)buf1580 = rsGetElementAt_uchar4(*(rs_allocation*)buf1581, *(uint32_t*)buf1582);
-    *(short*)buf1583 = rsGetElementAt_short(*(rs_allocation*)buf1584, *(uint32_t*)buf1585);
-    *(short2*)buf1586 = rsGetElementAt_short2(*(rs_allocation*)buf1587, *(uint32_t*)buf1588);
-    *(short3*)buf1589 = rsGetElementAt_short3(*(rs_allocation*)buf1590, *(uint32_t*)buf1591);
-    *(short4*)buf1592 = rsGetElementAt_short4(*(rs_allocation*)buf1593, *(uint32_t*)buf1594);
-    *(ushort*)buf1595 = rsGetElementAt_ushort(*(rs_allocation*)buf1596, *(uint32_t*)buf1597);
-    *(ushort2*)buf1598 = rsGetElementAt_ushort2(*(rs_allocation*)buf1599, *(uint32_t*)buf1600);
-    *(ushort3*)buf1601 = rsGetElementAt_ushort3(*(rs_allocation*)buf1602, *(uint32_t*)buf1603);
-    *(ushort4*)buf1604 = rsGetElementAt_ushort4(*(rs_allocation*)buf1605, *(uint32_t*)buf1606);
-    *(int*)buf1607 = rsGetElementAt_int(*(rs_allocation*)buf1608, *(uint32_t*)buf1609);
-    *(int2*)buf1610 = rsGetElementAt_int2(*(rs_allocation*)buf1611, *(uint32_t*)buf1612);
-    *(int3*)buf1613 = rsGetElementAt_int3(*(rs_allocation*)buf1614, *(uint32_t*)buf1615);
-    *(int4*)buf1616 = rsGetElementAt_int4(*(rs_allocation*)buf1617, *(uint32_t*)buf1618);
-    *(uint*)buf1619 = rsGetElementAt_uint(*(rs_allocation*)buf1620, *(uint32_t*)buf1621);
-    *(uint2*)buf1622 = rsGetElementAt_uint2(*(rs_allocation*)buf1623, *(uint32_t*)buf1624);
-    *(uint3*)buf1625 = rsGetElementAt_uint3(*(rs_allocation*)buf1626, *(uint32_t*)buf1627);
-    *(uint4*)buf1628 = rsGetElementAt_uint4(*(rs_allocation*)buf1629, *(uint32_t*)buf1630);
-    *(long*)buf1631 = rsGetElementAt_long(*(rs_allocation*)buf1632, *(uint32_t*)buf1633);
-    *(long2*)buf1634 = rsGetElementAt_long2(*(rs_allocation*)buf1635, *(uint32_t*)buf1636);
-    *(long3*)buf1637 = rsGetElementAt_long3(*(rs_allocation*)buf1638, *(uint32_t*)buf1639);
-    *(long4*)buf1640 = rsGetElementAt_long4(*(rs_allocation*)buf1641, *(uint32_t*)buf1642);
-    *(ulong*)buf1643 = rsGetElementAt_ulong(*(rs_allocation*)buf1644, *(uint32_t*)buf1645);
-    *(ulong2*)buf1646 = rsGetElementAt_ulong2(*(rs_allocation*)buf1647, *(uint32_t*)buf1648);
-    *(ulong3*)buf1649 = rsGetElementAt_ulong3(*(rs_allocation*)buf1650, *(uint32_t*)buf1651);
-    *(ulong4*)buf1652 = rsGetElementAt_ulong4(*(rs_allocation*)buf1653, *(uint32_t*)buf1654);
-    *(float*)buf1655 = rsGetElementAt_float(*(rs_allocation*)buf1656, *(uint32_t*)buf1657, *(uint32_t*)buf1658);
-    *(float2*)buf1659 = rsGetElementAt_float2(*(rs_allocation*)buf1660, *(uint32_t*)buf1661, *(uint32_t*)buf1662);
-    *(float3*)buf1663 = rsGetElementAt_float3(*(rs_allocation*)buf1664, *(uint32_t*)buf1665, *(uint32_t*)buf1666);
-    *(float4*)buf1667 = rsGetElementAt_float4(*(rs_allocation*)buf1668, *(uint32_t*)buf1669, *(uint32_t*)buf1670);
-    *(double*)buf1671 = rsGetElementAt_double(*(rs_allocation*)buf1672, *(uint32_t*)buf1673, *(uint32_t*)buf1674);
-    *(double2*)buf1675 = rsGetElementAt_double2(*(rs_allocation*)buf1676, *(uint32_t*)buf1677, *(uint32_t*)buf1678);
-    *(double3*)buf1679 = rsGetElementAt_double3(*(rs_allocation*)buf1680, *(uint32_t*)buf1681, *(uint32_t*)buf1682);
-    *(double4*)buf1683 = rsGetElementAt_double4(*(rs_allocation*)buf1684, *(uint32_t*)buf1685, *(uint32_t*)buf1686);
-    *(char*)buf1687 = rsGetElementAt_char(*(rs_allocation*)buf1688, *(uint32_t*)buf1689, *(uint32_t*)buf1690);
-    *(char2*)buf1691 = rsGetElementAt_char2(*(rs_allocation*)buf1692, *(uint32_t*)buf1693, *(uint32_t*)buf1694);
-    *(char3*)buf1695 = rsGetElementAt_char3(*(rs_allocation*)buf1696, *(uint32_t*)buf1697, *(uint32_t*)buf1698);
-    *(char4*)buf1699 = rsGetElementAt_char4(*(rs_allocation*)buf1700, *(uint32_t*)buf1701, *(uint32_t*)buf1702);
-    *(uchar*)buf1703 = rsGetElementAt_uchar(*(rs_allocation*)buf1704, *(uint32_t*)buf1705, *(uint32_t*)buf1706);
-    *(uchar2*)buf1707 = rsGetElementAt_uchar2(*(rs_allocation*)buf1708, *(uint32_t*)buf1709, *(uint32_t*)buf1710);
-    *(uchar3*)buf1711 = rsGetElementAt_uchar3(*(rs_allocation*)buf1712, *(uint32_t*)buf1713, *(uint32_t*)buf1714);
-    *(uchar4*)buf1715 = rsGetElementAt_uchar4(*(rs_allocation*)buf1716, *(uint32_t*)buf1717, *(uint32_t*)buf1718);
-    *(short*)buf1719 = rsGetElementAt_short(*(rs_allocation*)buf1720, *(uint32_t*)buf1721, *(uint32_t*)buf1722);
-    *(short2*)buf1723 = rsGetElementAt_short2(*(rs_allocation*)buf1724, *(uint32_t*)buf1725, *(uint32_t*)buf1726);
-    *(short3*)buf1727 = rsGetElementAt_short3(*(rs_allocation*)buf1728, *(uint32_t*)buf1729, *(uint32_t*)buf1730);
-    *(short4*)buf1731 = rsGetElementAt_short4(*(rs_allocation*)buf1732, *(uint32_t*)buf1733, *(uint32_t*)buf1734);
-    *(ushort*)buf1735 = rsGetElementAt_ushort(*(rs_allocation*)buf1736, *(uint32_t*)buf1737, *(uint32_t*)buf1738);
-    *(ushort2*)buf1739 = rsGetElementAt_ushort2(*(rs_allocation*)buf1740, *(uint32_t*)buf1741, *(uint32_t*)buf1742);
-    *(ushort3*)buf1743 = rsGetElementAt_ushort3(*(rs_allocation*)buf1744, *(uint32_t*)buf1745, *(uint32_t*)buf1746);
-    *(ushort4*)buf1747 = rsGetElementAt_ushort4(*(rs_allocation*)buf1748, *(uint32_t*)buf1749, *(uint32_t*)buf1750);
-    *(int*)buf1751 = rsGetElementAt_int(*(rs_allocation*)buf1752, *(uint32_t*)buf1753, *(uint32_t*)buf1754);
-    *(int2*)buf1755 = rsGetElementAt_int2(*(rs_allocation*)buf1756, *(uint32_t*)buf1757, *(uint32_t*)buf1758);
-    *(int3*)buf1759 = rsGetElementAt_int3(*(rs_allocation*)buf1760, *(uint32_t*)buf1761, *(uint32_t*)buf1762);
-    *(int4*)buf1763 = rsGetElementAt_int4(*(rs_allocation*)buf1764, *(uint32_t*)buf1765, *(uint32_t*)buf1766);
-    *(uint*)buf1767 = rsGetElementAt_uint(*(rs_allocation*)buf1768, *(uint32_t*)buf1769, *(uint32_t*)buf1770);
-    *(uint2*)buf1771 = rsGetElementAt_uint2(*(rs_allocation*)buf1772, *(uint32_t*)buf1773, *(uint32_t*)buf1774);
-    *(uint3*)buf1775 = rsGetElementAt_uint3(*(rs_allocation*)buf1776, *(uint32_t*)buf1777, *(uint32_t*)buf1778);
-    *(uint4*)buf1779 = rsGetElementAt_uint4(*(rs_allocation*)buf1780, *(uint32_t*)buf1781, *(uint32_t*)buf1782);
-    *(long*)buf1783 = rsGetElementAt_long(*(rs_allocation*)buf1784, *(uint32_t*)buf1785, *(uint32_t*)buf1786);
-    *(long2*)buf1787 = rsGetElementAt_long2(*(rs_allocation*)buf1788, *(uint32_t*)buf1789, *(uint32_t*)buf1790);
-    *(long3*)buf1791 = rsGetElementAt_long3(*(rs_allocation*)buf1792, *(uint32_t*)buf1793, *(uint32_t*)buf1794);
-    *(long4*)buf1795 = rsGetElementAt_long4(*(rs_allocation*)buf1796, *(uint32_t*)buf1797, *(uint32_t*)buf1798);
-    *(ulong*)buf1799 = rsGetElementAt_ulong(*(rs_allocation*)buf1800, *(uint32_t*)buf1801, *(uint32_t*)buf1802);
-    *(ulong2*)buf1803 = rsGetElementAt_ulong2(*(rs_allocation*)buf1804, *(uint32_t*)buf1805, *(uint32_t*)buf1806);
-    *(ulong3*)buf1807 = rsGetElementAt_ulong3(*(rs_allocation*)buf1808, *(uint32_t*)buf1809, *(uint32_t*)buf1810);
-    *(ulong4*)buf1811 = rsGetElementAt_ulong4(*(rs_allocation*)buf1812, *(uint32_t*)buf1813, *(uint32_t*)buf1814);
-    *(float*)buf1815 = rsGetElementAt_float(*(rs_allocation*)buf1816, *(uint32_t*)buf1817, *(uint32_t*)buf1818, *(uint32_t*)buf1819);
-    *(float2*)buf1820 = rsGetElementAt_float2(*(rs_allocation*)buf1821, *(uint32_t*)buf1822, *(uint32_t*)buf1823, *(uint32_t*)buf1824);
-    *(float3*)buf1825 = rsGetElementAt_float3(*(rs_allocation*)buf1826, *(uint32_t*)buf1827, *(uint32_t*)buf1828, *(uint32_t*)buf1829);
-    *(float4*)buf1830 = rsGetElementAt_float4(*(rs_allocation*)buf1831, *(uint32_t*)buf1832, *(uint32_t*)buf1833, *(uint32_t*)buf1834);
-    *(double*)buf1835 = rsGetElementAt_double(*(rs_allocation*)buf1836, *(uint32_t*)buf1837, *(uint32_t*)buf1838, *(uint32_t*)buf1839);
-    *(double2*)buf1840 = rsGetElementAt_double2(*(rs_allocation*)buf1841, *(uint32_t*)buf1842, *(uint32_t*)buf1843, *(uint32_t*)buf1844);
-    *(double3*)buf1845 = rsGetElementAt_double3(*(rs_allocation*)buf1846, *(uint32_t*)buf1847, *(uint32_t*)buf1848, *(uint32_t*)buf1849);
-    *(double4*)buf1850 = rsGetElementAt_double4(*(rs_allocation*)buf1851, *(uint32_t*)buf1852, *(uint32_t*)buf1853, *(uint32_t*)buf1854);
-    *(char*)buf1855 = rsGetElementAt_char(*(rs_allocation*)buf1856, *(uint32_t*)buf1857, *(uint32_t*)buf1858, *(uint32_t*)buf1859);
-    *(char2*)buf1860 = rsGetElementAt_char2(*(rs_allocation*)buf1861, *(uint32_t*)buf1862, *(uint32_t*)buf1863, *(uint32_t*)buf1864);
-    *(char3*)buf1865 = rsGetElementAt_char3(*(rs_allocation*)buf1866, *(uint32_t*)buf1867, *(uint32_t*)buf1868, *(uint32_t*)buf1869);
-    *(char4*)buf1870 = rsGetElementAt_char4(*(rs_allocation*)buf1871, *(uint32_t*)buf1872, *(uint32_t*)buf1873, *(uint32_t*)buf1874);
-    *(uchar*)buf1875 = rsGetElementAt_uchar(*(rs_allocation*)buf1876, *(uint32_t*)buf1877, *(uint32_t*)buf1878, *(uint32_t*)buf1879);
-    *(uchar2*)buf1880 = rsGetElementAt_uchar2(*(rs_allocation*)buf1881, *(uint32_t*)buf1882, *(uint32_t*)buf1883, *(uint32_t*)buf1884);
-    *(uchar3*)buf1885 = rsGetElementAt_uchar3(*(rs_allocation*)buf1886, *(uint32_t*)buf1887, *(uint32_t*)buf1888, *(uint32_t*)buf1889);
-    *(uchar4*)buf1890 = rsGetElementAt_uchar4(*(rs_allocation*)buf1891, *(uint32_t*)buf1892, *(uint32_t*)buf1893, *(uint32_t*)buf1894);
-    *(short*)buf1895 = rsGetElementAt_short(*(rs_allocation*)buf1896, *(uint32_t*)buf1897, *(uint32_t*)buf1898, *(uint32_t*)buf1899);
-    *(short2*)buf1900 = rsGetElementAt_short2(*(rs_allocation*)buf1901, *(uint32_t*)buf1902, *(uint32_t*)buf1903, *(uint32_t*)buf1904);
-    *(short3*)buf1905 = rsGetElementAt_short3(*(rs_allocation*)buf1906, *(uint32_t*)buf1907, *(uint32_t*)buf1908, *(uint32_t*)buf1909);
-    *(short4*)buf1910 = rsGetElementAt_short4(*(rs_allocation*)buf1911, *(uint32_t*)buf1912, *(uint32_t*)buf1913, *(uint32_t*)buf1914);
-    *(ushort*)buf1915 = rsGetElementAt_ushort(*(rs_allocation*)buf1916, *(uint32_t*)buf1917, *(uint32_t*)buf1918, *(uint32_t*)buf1919);
-    *(ushort2*)buf1920 = rsGetElementAt_ushort2(*(rs_allocation*)buf1921, *(uint32_t*)buf1922, *(uint32_t*)buf1923, *(uint32_t*)buf1924);
-    *(ushort3*)buf1925 = rsGetElementAt_ushort3(*(rs_allocation*)buf1926, *(uint32_t*)buf1927, *(uint32_t*)buf1928, *(uint32_t*)buf1929);
-    *(ushort4*)buf1930 = rsGetElementAt_ushort4(*(rs_allocation*)buf1931, *(uint32_t*)buf1932, *(uint32_t*)buf1933, *(uint32_t*)buf1934);
-    *(int*)buf1935 = rsGetElementAt_int(*(rs_allocation*)buf1936, *(uint32_t*)buf1937, *(uint32_t*)buf1938, *(uint32_t*)buf1939);
-    *(int2*)buf1940 = rsGetElementAt_int2(*(rs_allocation*)buf1941, *(uint32_t*)buf1942, *(uint32_t*)buf1943, *(uint32_t*)buf1944);
-    *(int3*)buf1945 = rsGetElementAt_int3(*(rs_allocation*)buf1946, *(uint32_t*)buf1947, *(uint32_t*)buf1948, *(uint32_t*)buf1949);
-    *(int4*)buf1950 = rsGetElementAt_int4(*(rs_allocation*)buf1951, *(uint32_t*)buf1952, *(uint32_t*)buf1953, *(uint32_t*)buf1954);
-    *(uint*)buf1955 = rsGetElementAt_uint(*(rs_allocation*)buf1956, *(uint32_t*)buf1957, *(uint32_t*)buf1958, *(uint32_t*)buf1959);
-    *(uint2*)buf1960 = rsGetElementAt_uint2(*(rs_allocation*)buf1961, *(uint32_t*)buf1962, *(uint32_t*)buf1963, *(uint32_t*)buf1964);
-    *(uint3*)buf1965 = rsGetElementAt_uint3(*(rs_allocation*)buf1966, *(uint32_t*)buf1967, *(uint32_t*)buf1968, *(uint32_t*)buf1969);
-    *(uint4*)buf1970 = rsGetElementAt_uint4(*(rs_allocation*)buf1971, *(uint32_t*)buf1972, *(uint32_t*)buf1973, *(uint32_t*)buf1974);
-    *(long*)buf1975 = rsGetElementAt_long(*(rs_allocation*)buf1976, *(uint32_t*)buf1977, *(uint32_t*)buf1978, *(uint32_t*)buf1979);
-    *(long2*)buf1980 = rsGetElementAt_long2(*(rs_allocation*)buf1981, *(uint32_t*)buf1982, *(uint32_t*)buf1983, *(uint32_t*)buf1984);
-    *(long3*)buf1985 = rsGetElementAt_long3(*(rs_allocation*)buf1986, *(uint32_t*)buf1987, *(uint32_t*)buf1988, *(uint32_t*)buf1989);
-    *(long4*)buf1990 = rsGetElementAt_long4(*(rs_allocation*)buf1991, *(uint32_t*)buf1992, *(uint32_t*)buf1993, *(uint32_t*)buf1994);
-    *(ulong*)buf1995 = rsGetElementAt_ulong(*(rs_allocation*)buf1996, *(uint32_t*)buf1997, *(uint32_t*)buf1998, *(uint32_t*)buf1999);
-    *(ulong2*)buf2000 = rsGetElementAt_ulong2(*(rs_allocation*)buf2001, *(uint32_t*)buf2002, *(uint32_t*)buf2003, *(uint32_t*)buf2004);
-    *(ulong3*)buf2005 = rsGetElementAt_ulong3(*(rs_allocation*)buf2006, *(uint32_t*)buf2007, *(uint32_t*)buf2008, *(uint32_t*)buf2009);
-    *(ulong4*)buf2010 = rsGetElementAt_ulong4(*(rs_allocation*)buf2011, *(uint32_t*)buf2012, *(uint32_t*)buf2013, *(uint32_t*)buf2014);
-    *(bool*)buf2015 = rsIsObject(*(rs_element*)buf2016);
-    *(bool*)buf2017 = rsIsObject(*(rs_type*)buf2018);
-    *(bool*)buf2019 = rsIsObject(*(rs_allocation*)buf2020);
-    *(bool*)buf2021 = rsIsObject(*(rs_sampler*)buf2022);
-    *(bool*)buf2023 = rsIsObject(*(rs_script*)buf2024);
+    rsDebug((const char*) buf1390, *(double*)buf1391);
+    rsDebug((const char*) buf1392, *(int*)buf1393);
+    rsDebug((const char*) buf1394, *(uint*)buf1395);
+    rsDebug((const char*) buf1396, *(long*)buf1397);
+    rsDebug((const char*) buf1398, *(ulong*)buf1399);
+    rsDebug((const char*) buf1400, *(int2*)buf1401);
+    rsDebug((const char*) buf1402, *(int3*)buf1403);
+    rsDebug((const char*) buf1404, *(int4*)buf1405);
+    rsDebug((const char*) buf1406, *(uint2*)buf1407);
+    rsDebug((const char*) buf1408, *(uint3*)buf1409);
+    rsDebug((const char*) buf1410, *(uint4*)buf1411);
+    rsDebug((const char*) buf1412, *(long2*)buf1413);
+    rsDebug((const char*) buf1414, *(long3*)buf1415);
+    rsDebug((const char*) buf1416, *(long4*)buf1417);
+    rsDebug((const char*) buf1418, *(ulong2*)buf1419);
+    rsDebug((const char*) buf1420, *(ulong3*)buf1421);
+    rsDebug((const char*) buf1422, *(ulong4*)buf1423);
+    rsDebug((const char*) buf1424, *(float*)buf1425);
+    rsDebug((const char*) buf1426, *(float2*)buf1427);
+    rsDebug((const char*) buf1428, *(float3*)buf1429);
+    rsDebug((const char*) buf1430, *(float4*)buf1431);
+    rsDebug((const char*) buf1432, *(char*)buf1433);
+    rsDebug((const char*) buf1434, *(char2*)buf1435);
+    rsDebug((const char*) buf1436, *(char3*)buf1437);
+    rsDebug((const char*) buf1438, *(char4*)buf1439);
+    rsDebug((const char*) buf1440, *(uchar*)buf1441);
+    rsDebug((const char*) buf1442, *(uchar2*)buf1443);
+    rsDebug((const char*) buf1444, *(uchar3*)buf1445);
+    rsDebug((const char*) buf1446, *(uchar4*)buf1447);
+    rsDebug((const char*) buf1448, *(short*)buf1449);
+    rsDebug((const char*) buf1450, *(short2*)buf1451);
+    rsDebug((const char*) buf1452, *(short3*)buf1453);
+    rsDebug((const char*) buf1454, *(short4*)buf1455);
+    rsDebug((const char*) buf1456, *(ushort*)buf1457);
+    rsDebug((const char*) buf1458, *(ushort2*)buf1459);
+    rsDebug((const char*) buf1460, *(ushort3*)buf1461);
+    rsDebug((const char*) buf1462, *(ushort4*)buf1463);
+    rsDebug((const char*) buf1464, *(float*)buf1465, *(float*)buf1466);
+    rsDebug((const char*) buf1467, *(float*)buf1468, *(float*)buf1469, *(float*)buf1470);
+    rsDebug((const char*) buf1471, *(float*)buf1472, *(float*)buf1473, *(float*)buf1474, *(float*)buf1475);
+    rsDebug((const char*) buf1476, *(long long*)buf1477);
+    rsDebug((const char*) buf1478, *(unsigned long long*)buf1479);
+    rsDebug((const char*) buf1480, (const void*) buf1481);
+    rsDebug((const char*) buf1482, (const rs_matrix4x4*) buf1483);
+    rsDebug((const char*) buf1484, (const rs_matrix3x3*) buf1485);
+    rsDebug((const char*) buf1486, (const rs_matrix2x2*) buf1487);
+    *(uint32_t*)buf1488 = rsElementGetBytesSize(*(rs_element*)buf1489);
+    *(rs_data_kind*)buf1490 = rsElementGetDataKind(*(rs_element*)buf1491);
+    *(rs_data_type*)buf1492 = rsElementGetDataType(*(rs_element*)buf1493);
+    *(rs_element*)buf1494 = rsElementGetSubElement(*(rs_element*)buf1495, *(uint32_t*)buf1496);
+    *(uint32_t*)buf1497 = rsElementGetSubElementArraySize(*(rs_element*)buf1498, *(uint32_t*)buf1499);
+    *(uint32_t*)buf1500 = rsElementGetSubElementCount(*(rs_element*)buf1501);
+    *(uint32_t*)buf1502 = rsElementGetSubElementName(*(rs_element*)buf1503, *(uint32_t*)buf1504, (char*) buf1505, *(uint32_t*)buf1506);
+    *(uint32_t*)buf1507 = rsElementGetSubElementNameLength(*(rs_element*)buf1508, *(uint32_t*)buf1509);
+    *(uint32_t*)buf1510 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf1511, *(uint32_t*)buf1512);
+    *(uint32_t*)buf1513 = rsElementGetVectorSize(*(rs_element*)buf1514);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1515, (float4*) buf1516, (float4*) buf1517, (float4*) buf1518, (float4*) buf1519, (float4*) buf1520, (float4*) buf1521);
+    rsForEach(*(rs_script*)buf1522, *(rs_allocation*)buf1523, *(rs_allocation*)buf1524, (const void*) buf1525, *(size_t*)buf1526, (const rs_script_call_t*) buf1527);
+    rsForEach(*(rs_script*)buf1528, *(rs_allocation*)buf1529, *(rs_allocation*)buf1530, (const void*) buf1531, *(size_t*)buf1532);
+    rsForEach(*(rs_script*)buf1533, *(rs_allocation*)buf1534, *(rs_allocation*)buf1535);
+    *(float*)buf1536 = rsFrac(*(float*)buf1537);
+    *(rs_allocation*)buf1538 = rsGetAllocation((const void*) buf1539);
+    *(float*)buf1540 = rsGetDt();
+    *(const void**)buf1541 = rsGetElementAt(*(rs_allocation*)buf1542, *(uint32_t*)buf1543);
+    *(const void**)buf1544 = rsGetElementAt(*(rs_allocation*)buf1545, *(uint32_t*)buf1546, *(uint32_t*)buf1547);
+    *(const void**)buf1548 = rsGetElementAt(*(rs_allocation*)buf1549, *(uint32_t*)buf1550, *(uint32_t*)buf1551, *(uint32_t*)buf1552);
+    *(float*)buf1553 = rsGetElementAt_float(*(rs_allocation*)buf1554, *(uint32_t*)buf1555);
+    *(float2*)buf1556 = rsGetElementAt_float2(*(rs_allocation*)buf1557, *(uint32_t*)buf1558);
+    *(float3*)buf1559 = rsGetElementAt_float3(*(rs_allocation*)buf1560, *(uint32_t*)buf1561);
+    *(float4*)buf1562 = rsGetElementAt_float4(*(rs_allocation*)buf1563, *(uint32_t*)buf1564);
+    *(double*)buf1565 = rsGetElementAt_double(*(rs_allocation*)buf1566, *(uint32_t*)buf1567);
+    *(double2*)buf1568 = rsGetElementAt_double2(*(rs_allocation*)buf1569, *(uint32_t*)buf1570);
+    *(double3*)buf1571 = rsGetElementAt_double3(*(rs_allocation*)buf1572, *(uint32_t*)buf1573);
+    *(double4*)buf1574 = rsGetElementAt_double4(*(rs_allocation*)buf1575, *(uint32_t*)buf1576);
+    *(char*)buf1577 = rsGetElementAt_char(*(rs_allocation*)buf1578, *(uint32_t*)buf1579);
+    *(char2*)buf1580 = rsGetElementAt_char2(*(rs_allocation*)buf1581, *(uint32_t*)buf1582);
+    *(char3*)buf1583 = rsGetElementAt_char3(*(rs_allocation*)buf1584, *(uint32_t*)buf1585);
+    *(char4*)buf1586 = rsGetElementAt_char4(*(rs_allocation*)buf1587, *(uint32_t*)buf1588);
+    *(uchar*)buf1589 = rsGetElementAt_uchar(*(rs_allocation*)buf1590, *(uint32_t*)buf1591);
+    *(uchar2*)buf1592 = rsGetElementAt_uchar2(*(rs_allocation*)buf1593, *(uint32_t*)buf1594);
+    *(uchar3*)buf1595 = rsGetElementAt_uchar3(*(rs_allocation*)buf1596, *(uint32_t*)buf1597);
+    *(uchar4*)buf1598 = rsGetElementAt_uchar4(*(rs_allocation*)buf1599, *(uint32_t*)buf1600);
+    *(short*)buf1601 = rsGetElementAt_short(*(rs_allocation*)buf1602, *(uint32_t*)buf1603);
+    *(short2*)buf1604 = rsGetElementAt_short2(*(rs_allocation*)buf1605, *(uint32_t*)buf1606);
+    *(short3*)buf1607 = rsGetElementAt_short3(*(rs_allocation*)buf1608, *(uint32_t*)buf1609);
+    *(short4*)buf1610 = rsGetElementAt_short4(*(rs_allocation*)buf1611, *(uint32_t*)buf1612);
+    *(ushort*)buf1613 = rsGetElementAt_ushort(*(rs_allocation*)buf1614, *(uint32_t*)buf1615);
+    *(ushort2*)buf1616 = rsGetElementAt_ushort2(*(rs_allocation*)buf1617, *(uint32_t*)buf1618);
+    *(ushort3*)buf1619 = rsGetElementAt_ushort3(*(rs_allocation*)buf1620, *(uint32_t*)buf1621);
+    *(ushort4*)buf1622 = rsGetElementAt_ushort4(*(rs_allocation*)buf1623, *(uint32_t*)buf1624);
+    *(int*)buf1625 = rsGetElementAt_int(*(rs_allocation*)buf1626, *(uint32_t*)buf1627);
+    *(int2*)buf1628 = rsGetElementAt_int2(*(rs_allocation*)buf1629, *(uint32_t*)buf1630);
+    *(int3*)buf1631 = rsGetElementAt_int3(*(rs_allocation*)buf1632, *(uint32_t*)buf1633);
+    *(int4*)buf1634 = rsGetElementAt_int4(*(rs_allocation*)buf1635, *(uint32_t*)buf1636);
+    *(uint*)buf1637 = rsGetElementAt_uint(*(rs_allocation*)buf1638, *(uint32_t*)buf1639);
+    *(uint2*)buf1640 = rsGetElementAt_uint2(*(rs_allocation*)buf1641, *(uint32_t*)buf1642);
+    *(uint3*)buf1643 = rsGetElementAt_uint3(*(rs_allocation*)buf1644, *(uint32_t*)buf1645);
+    *(uint4*)buf1646 = rsGetElementAt_uint4(*(rs_allocation*)buf1647, *(uint32_t*)buf1648);
+    *(long*)buf1649 = rsGetElementAt_long(*(rs_allocation*)buf1650, *(uint32_t*)buf1651);
+    *(long2*)buf1652 = rsGetElementAt_long2(*(rs_allocation*)buf1653, *(uint32_t*)buf1654);
+    *(long3*)buf1655 = rsGetElementAt_long3(*(rs_allocation*)buf1656, *(uint32_t*)buf1657);
+    *(long4*)buf1658 = rsGetElementAt_long4(*(rs_allocation*)buf1659, *(uint32_t*)buf1660);
+    *(ulong*)buf1661 = rsGetElementAt_ulong(*(rs_allocation*)buf1662, *(uint32_t*)buf1663);
+    *(ulong2*)buf1664 = rsGetElementAt_ulong2(*(rs_allocation*)buf1665, *(uint32_t*)buf1666);
+    *(ulong3*)buf1667 = rsGetElementAt_ulong3(*(rs_allocation*)buf1668, *(uint32_t*)buf1669);
+    *(ulong4*)buf1670 = rsGetElementAt_ulong4(*(rs_allocation*)buf1671, *(uint32_t*)buf1672);
+    *(float*)buf1673 = rsGetElementAt_float(*(rs_allocation*)buf1674, *(uint32_t*)buf1675, *(uint32_t*)buf1676);
+    *(float2*)buf1677 = rsGetElementAt_float2(*(rs_allocation*)buf1678, *(uint32_t*)buf1679, *(uint32_t*)buf1680);
+    *(float3*)buf1681 = rsGetElementAt_float3(*(rs_allocation*)buf1682, *(uint32_t*)buf1683, *(uint32_t*)buf1684);
+    *(float4*)buf1685 = rsGetElementAt_float4(*(rs_allocation*)buf1686, *(uint32_t*)buf1687, *(uint32_t*)buf1688);
+    *(double*)buf1689 = rsGetElementAt_double(*(rs_allocation*)buf1690, *(uint32_t*)buf1691, *(uint32_t*)buf1692);
+    *(double2*)buf1693 = rsGetElementAt_double2(*(rs_allocation*)buf1694, *(uint32_t*)buf1695, *(uint32_t*)buf1696);
+    *(double3*)buf1697 = rsGetElementAt_double3(*(rs_allocation*)buf1698, *(uint32_t*)buf1699, *(uint32_t*)buf1700);
+    *(double4*)buf1701 = rsGetElementAt_double4(*(rs_allocation*)buf1702, *(uint32_t*)buf1703, *(uint32_t*)buf1704);
+    *(char*)buf1705 = rsGetElementAt_char(*(rs_allocation*)buf1706, *(uint32_t*)buf1707, *(uint32_t*)buf1708);
+    *(char2*)buf1709 = rsGetElementAt_char2(*(rs_allocation*)buf1710, *(uint32_t*)buf1711, *(uint32_t*)buf1712);
+    *(char3*)buf1713 = rsGetElementAt_char3(*(rs_allocation*)buf1714, *(uint32_t*)buf1715, *(uint32_t*)buf1716);
+    *(char4*)buf1717 = rsGetElementAt_char4(*(rs_allocation*)buf1718, *(uint32_t*)buf1719, *(uint32_t*)buf1720);
+    *(uchar*)buf1721 = rsGetElementAt_uchar(*(rs_allocation*)buf1722, *(uint32_t*)buf1723, *(uint32_t*)buf1724);
+    *(uchar2*)buf1725 = rsGetElementAt_uchar2(*(rs_allocation*)buf1726, *(uint32_t*)buf1727, *(uint32_t*)buf1728);
+    *(uchar3*)buf1729 = rsGetElementAt_uchar3(*(rs_allocation*)buf1730, *(uint32_t*)buf1731, *(uint32_t*)buf1732);
+    *(uchar4*)buf1733 = rsGetElementAt_uchar4(*(rs_allocation*)buf1734, *(uint32_t*)buf1735, *(uint32_t*)buf1736);
+    *(short*)buf1737 = rsGetElementAt_short(*(rs_allocation*)buf1738, *(uint32_t*)buf1739, *(uint32_t*)buf1740);
+    *(short2*)buf1741 = rsGetElementAt_short2(*(rs_allocation*)buf1742, *(uint32_t*)buf1743, *(uint32_t*)buf1744);
+    *(short3*)buf1745 = rsGetElementAt_short3(*(rs_allocation*)buf1746, *(uint32_t*)buf1747, *(uint32_t*)buf1748);
+    *(short4*)buf1749 = rsGetElementAt_short4(*(rs_allocation*)buf1750, *(uint32_t*)buf1751, *(uint32_t*)buf1752);
+    *(ushort*)buf1753 = rsGetElementAt_ushort(*(rs_allocation*)buf1754, *(uint32_t*)buf1755, *(uint32_t*)buf1756);
+    *(ushort2*)buf1757 = rsGetElementAt_ushort2(*(rs_allocation*)buf1758, *(uint32_t*)buf1759, *(uint32_t*)buf1760);
+    *(ushort3*)buf1761 = rsGetElementAt_ushort3(*(rs_allocation*)buf1762, *(uint32_t*)buf1763, *(uint32_t*)buf1764);
+    *(ushort4*)buf1765 = rsGetElementAt_ushort4(*(rs_allocation*)buf1766, *(uint32_t*)buf1767, *(uint32_t*)buf1768);
+    *(int*)buf1769 = rsGetElementAt_int(*(rs_allocation*)buf1770, *(uint32_t*)buf1771, *(uint32_t*)buf1772);
+    *(int2*)buf1773 = rsGetElementAt_int2(*(rs_allocation*)buf1774, *(uint32_t*)buf1775, *(uint32_t*)buf1776);
+    *(int3*)buf1777 = rsGetElementAt_int3(*(rs_allocation*)buf1778, *(uint32_t*)buf1779, *(uint32_t*)buf1780);
+    *(int4*)buf1781 = rsGetElementAt_int4(*(rs_allocation*)buf1782, *(uint32_t*)buf1783, *(uint32_t*)buf1784);
+    *(uint*)buf1785 = rsGetElementAt_uint(*(rs_allocation*)buf1786, *(uint32_t*)buf1787, *(uint32_t*)buf1788);
+    *(uint2*)buf1789 = rsGetElementAt_uint2(*(rs_allocation*)buf1790, *(uint32_t*)buf1791, *(uint32_t*)buf1792);
+    *(uint3*)buf1793 = rsGetElementAt_uint3(*(rs_allocation*)buf1794, *(uint32_t*)buf1795, *(uint32_t*)buf1796);
+    *(uint4*)buf1797 = rsGetElementAt_uint4(*(rs_allocation*)buf1798, *(uint32_t*)buf1799, *(uint32_t*)buf1800);
+    *(long*)buf1801 = rsGetElementAt_long(*(rs_allocation*)buf1802, *(uint32_t*)buf1803, *(uint32_t*)buf1804);
+    *(long2*)buf1805 = rsGetElementAt_long2(*(rs_allocation*)buf1806, *(uint32_t*)buf1807, *(uint32_t*)buf1808);
+    *(long3*)buf1809 = rsGetElementAt_long3(*(rs_allocation*)buf1810, *(uint32_t*)buf1811, *(uint32_t*)buf1812);
+    *(long4*)buf1813 = rsGetElementAt_long4(*(rs_allocation*)buf1814, *(uint32_t*)buf1815, *(uint32_t*)buf1816);
+    *(ulong*)buf1817 = rsGetElementAt_ulong(*(rs_allocation*)buf1818, *(uint32_t*)buf1819, *(uint32_t*)buf1820);
+    *(ulong2*)buf1821 = rsGetElementAt_ulong2(*(rs_allocation*)buf1822, *(uint32_t*)buf1823, *(uint32_t*)buf1824);
+    *(ulong3*)buf1825 = rsGetElementAt_ulong3(*(rs_allocation*)buf1826, *(uint32_t*)buf1827, *(uint32_t*)buf1828);
+    *(ulong4*)buf1829 = rsGetElementAt_ulong4(*(rs_allocation*)buf1830, *(uint32_t*)buf1831, *(uint32_t*)buf1832);
+    *(float*)buf1833 = rsGetElementAt_float(*(rs_allocation*)buf1834, *(uint32_t*)buf1835, *(uint32_t*)buf1836, *(uint32_t*)buf1837);
+    *(float2*)buf1838 = rsGetElementAt_float2(*(rs_allocation*)buf1839, *(uint32_t*)buf1840, *(uint32_t*)buf1841, *(uint32_t*)buf1842);
+    *(float3*)buf1843 = rsGetElementAt_float3(*(rs_allocation*)buf1844, *(uint32_t*)buf1845, *(uint32_t*)buf1846, *(uint32_t*)buf1847);
+    *(float4*)buf1848 = rsGetElementAt_float4(*(rs_allocation*)buf1849, *(uint32_t*)buf1850, *(uint32_t*)buf1851, *(uint32_t*)buf1852);
+    *(double*)buf1853 = rsGetElementAt_double(*(rs_allocation*)buf1854, *(uint32_t*)buf1855, *(uint32_t*)buf1856, *(uint32_t*)buf1857);
+    *(double2*)buf1858 = rsGetElementAt_double2(*(rs_allocation*)buf1859, *(uint32_t*)buf1860, *(uint32_t*)buf1861, *(uint32_t*)buf1862);
+    *(double3*)buf1863 = rsGetElementAt_double3(*(rs_allocation*)buf1864, *(uint32_t*)buf1865, *(uint32_t*)buf1866, *(uint32_t*)buf1867);
+    *(double4*)buf1868 = rsGetElementAt_double4(*(rs_allocation*)buf1869, *(uint32_t*)buf1870, *(uint32_t*)buf1871, *(uint32_t*)buf1872);
+    *(char*)buf1873 = rsGetElementAt_char(*(rs_allocation*)buf1874, *(uint32_t*)buf1875, *(uint32_t*)buf1876, *(uint32_t*)buf1877);
+    *(char2*)buf1878 = rsGetElementAt_char2(*(rs_allocation*)buf1879, *(uint32_t*)buf1880, *(uint32_t*)buf1881, *(uint32_t*)buf1882);
+    *(char3*)buf1883 = rsGetElementAt_char3(*(rs_allocation*)buf1884, *(uint32_t*)buf1885, *(uint32_t*)buf1886, *(uint32_t*)buf1887);
+    *(char4*)buf1888 = rsGetElementAt_char4(*(rs_allocation*)buf1889, *(uint32_t*)buf1890, *(uint32_t*)buf1891, *(uint32_t*)buf1892);
+    *(uchar*)buf1893 = rsGetElementAt_uchar(*(rs_allocation*)buf1894, *(uint32_t*)buf1895, *(uint32_t*)buf1896, *(uint32_t*)buf1897);
+    *(uchar2*)buf1898 = rsGetElementAt_uchar2(*(rs_allocation*)buf1899, *(uint32_t*)buf1900, *(uint32_t*)buf1901, *(uint32_t*)buf1902);
+    *(uchar3*)buf1903 = rsGetElementAt_uchar3(*(rs_allocation*)buf1904, *(uint32_t*)buf1905, *(uint32_t*)buf1906, *(uint32_t*)buf1907);
+    *(uchar4*)buf1908 = rsGetElementAt_uchar4(*(rs_allocation*)buf1909, *(uint32_t*)buf1910, *(uint32_t*)buf1911, *(uint32_t*)buf1912);
+    *(short*)buf1913 = rsGetElementAt_short(*(rs_allocation*)buf1914, *(uint32_t*)buf1915, *(uint32_t*)buf1916, *(uint32_t*)buf1917);
+    *(short2*)buf1918 = rsGetElementAt_short2(*(rs_allocation*)buf1919, *(uint32_t*)buf1920, *(uint32_t*)buf1921, *(uint32_t*)buf1922);
+    *(short3*)buf1923 = rsGetElementAt_short3(*(rs_allocation*)buf1924, *(uint32_t*)buf1925, *(uint32_t*)buf1926, *(uint32_t*)buf1927);
+    *(short4*)buf1928 = rsGetElementAt_short4(*(rs_allocation*)buf1929, *(uint32_t*)buf1930, *(uint32_t*)buf1931, *(uint32_t*)buf1932);
+    *(ushort*)buf1933 = rsGetElementAt_ushort(*(rs_allocation*)buf1934, *(uint32_t*)buf1935, *(uint32_t*)buf1936, *(uint32_t*)buf1937);
+    *(ushort2*)buf1938 = rsGetElementAt_ushort2(*(rs_allocation*)buf1939, *(uint32_t*)buf1940, *(uint32_t*)buf1941, *(uint32_t*)buf1942);
+    *(ushort3*)buf1943 = rsGetElementAt_ushort3(*(rs_allocation*)buf1944, *(uint32_t*)buf1945, *(uint32_t*)buf1946, *(uint32_t*)buf1947);
+    *(ushort4*)buf1948 = rsGetElementAt_ushort4(*(rs_allocation*)buf1949, *(uint32_t*)buf1950, *(uint32_t*)buf1951, *(uint32_t*)buf1952);
+    *(int*)buf1953 = rsGetElementAt_int(*(rs_allocation*)buf1954, *(uint32_t*)buf1955, *(uint32_t*)buf1956, *(uint32_t*)buf1957);
+    *(int2*)buf1958 = rsGetElementAt_int2(*(rs_allocation*)buf1959, *(uint32_t*)buf1960, *(uint32_t*)buf1961, *(uint32_t*)buf1962);
+    *(int3*)buf1963 = rsGetElementAt_int3(*(rs_allocation*)buf1964, *(uint32_t*)buf1965, *(uint32_t*)buf1966, *(uint32_t*)buf1967);
+    *(int4*)buf1968 = rsGetElementAt_int4(*(rs_allocation*)buf1969, *(uint32_t*)buf1970, *(uint32_t*)buf1971, *(uint32_t*)buf1972);
+    *(uint*)buf1973 = rsGetElementAt_uint(*(rs_allocation*)buf1974, *(uint32_t*)buf1975, *(uint32_t*)buf1976, *(uint32_t*)buf1977);
+    *(uint2*)buf1978 = rsGetElementAt_uint2(*(rs_allocation*)buf1979, *(uint32_t*)buf1980, *(uint32_t*)buf1981, *(uint32_t*)buf1982);
+    *(uint3*)buf1983 = rsGetElementAt_uint3(*(rs_allocation*)buf1984, *(uint32_t*)buf1985, *(uint32_t*)buf1986, *(uint32_t*)buf1987);
+    *(uint4*)buf1988 = rsGetElementAt_uint4(*(rs_allocation*)buf1989, *(uint32_t*)buf1990, *(uint32_t*)buf1991, *(uint32_t*)buf1992);
+    *(long*)buf1993 = rsGetElementAt_long(*(rs_allocation*)buf1994, *(uint32_t*)buf1995, *(uint32_t*)buf1996, *(uint32_t*)buf1997);
+    *(long2*)buf1998 = rsGetElementAt_long2(*(rs_allocation*)buf1999, *(uint32_t*)buf2000, *(uint32_t*)buf2001, *(uint32_t*)buf2002);
+    *(long3*)buf2003 = rsGetElementAt_long3(*(rs_allocation*)buf2004, *(uint32_t*)buf2005, *(uint32_t*)buf2006, *(uint32_t*)buf2007);
+    *(long4*)buf2008 = rsGetElementAt_long4(*(rs_allocation*)buf2009, *(uint32_t*)buf2010, *(uint32_t*)buf2011, *(uint32_t*)buf2012);
+    *(ulong*)buf2013 = rsGetElementAt_ulong(*(rs_allocation*)buf2014, *(uint32_t*)buf2015, *(uint32_t*)buf2016, *(uint32_t*)buf2017);
+    *(ulong2*)buf2018 = rsGetElementAt_ulong2(*(rs_allocation*)buf2019, *(uint32_t*)buf2020, *(uint32_t*)buf2021, *(uint32_t*)buf2022);
+    *(ulong3*)buf2023 = rsGetElementAt_ulong3(*(rs_allocation*)buf2024, *(uint32_t*)buf2025, *(uint32_t*)buf2026, *(uint32_t*)buf2027);
+    *(ulong4*)buf2028 = rsGetElementAt_ulong4(*(rs_allocation*)buf2029, *(uint32_t*)buf2030, *(uint32_t*)buf2031, *(uint32_t*)buf2032);
+    *(bool*)buf2033 = rsIsObject(*(rs_element*)buf2034);
+    *(bool*)buf2035 = rsIsObject(*(rs_type*)buf2036);
+    *(bool*)buf2037 = rsIsObject(*(rs_allocation*)buf2038);
+    *(bool*)buf2039 = rsIsObject(*(rs_sampler*)buf2040);
+    *(bool*)buf2041 = rsIsObject(*(rs_script*)buf2042);
 #ifndef __LP64__
-    *(bool*)buf2025 = rsIsObject(*(rs_mesh*)buf2026);
-    *(bool*)buf2027 = rsIsObject(*(rs_program_fragment*)buf2028);
-    *(bool*)buf2029 = rsIsObject(*(rs_program_vertex*)buf2030);
-    *(bool*)buf2031 = rsIsObject(*(rs_program_raster*)buf2032);
-    *(bool*)buf2033 = rsIsObject(*(rs_program_store*)buf2034);
-    *(bool*)buf2035 = rsIsObject(*(rs_font*)buf2036);
+    *(bool*)buf2043 = rsIsObject(*(rs_mesh*)buf2044);
+    *(bool*)buf2045 = rsIsObject(*(rs_program_fragment*)buf2046);
+    *(bool*)buf2047 = rsIsObject(*(rs_program_vertex*)buf2048);
+    *(bool*)buf2049 = rsIsObject(*(rs_program_raster*)buf2050);
+    *(bool*)buf2051 = rsIsObject(*(rs_program_store*)buf2052);
+    *(bool*)buf2053 = rsIsObject(*(rs_font*)buf2054);
 #endif
-    *(bool*)buf2037 = rsIsSphereInFrustum((float4*) buf2038, (float4*) buf2039, (float4*) buf2040, (float4*) buf2041, (float4*) buf2042, (float4*) buf2043, (float4*) buf2044);
-    *(rs_tm**)buf2045 = rsLocaltime((rs_tm*) buf2046, (const rs_time_t*) buf2047);
-    *(float*)buf2048 = rsMatrixGet((const rs_matrix4x4*) buf2049, *(uint32_t*)buf2050, *(uint32_t*)buf2051);
-    *(float*)buf2052 = rsMatrixGet((const rs_matrix3x3*) buf2053, *(uint32_t*)buf2054, *(uint32_t*)buf2055);
-    *(float*)buf2056 = rsMatrixGet((const rs_matrix2x2*) buf2057, *(uint32_t*)buf2058, *(uint32_t*)buf2059);
-    *(bool*)buf2060 = rsMatrixInverse((rs_matrix4x4*) buf2061);
-    *(bool*)buf2062 = rsMatrixInverseTranspose((rs_matrix4x4*) buf2063);
-    rsMatrixLoad((rs_matrix4x4*) buf2064, (const float*) buf2065);
-    rsMatrixLoad((rs_matrix3x3*) buf2066, (const float*) buf2067);
-    rsMatrixLoad((rs_matrix2x2*) buf2068, (const float*) buf2069);
-    rsMatrixLoad((rs_matrix4x4*) buf2070, (const rs_matrix4x4*) buf2071);
-    rsMatrixLoad((rs_matrix3x3*) buf2072, (const rs_matrix3x3*) buf2073);
-    rsMatrixLoad((rs_matrix2x2*) buf2074, (const rs_matrix2x2*) buf2075);
-    rsMatrixLoad((rs_matrix4x4*) buf2076, (const rs_matrix3x3*) buf2077);
-    rsMatrixLoad((rs_matrix4x4*) buf2078, (const rs_matrix2x2*) buf2079);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf2080, *(float*)buf2081, *(float*)buf2082, *(float*)buf2083, *(float*)buf2084, *(float*)buf2085, *(float*)buf2086);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf2087);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf2088);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf2089);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf2090, (const rs_matrix4x4*) buf2091, (const rs_matrix4x4*) buf2092);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf2093, (const rs_matrix3x3*) buf2094, (const rs_matrix3x3*) buf2095);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf2096, (const rs_matrix2x2*) buf2097, (const rs_matrix2x2*) buf2098);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf2099, *(float*)buf2100, *(float*)buf2101, *(float*)buf2102, *(float*)buf2103, *(float*)buf2104, *(float*)buf2105);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf2106, *(float*)buf2107, *(float*)buf2108, *(float*)buf2109, *(float*)buf2110);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf2111, *(float*)buf2112, *(float*)buf2113, *(float*)buf2114, *(float*)buf2115);
-    rsMatrixLoadScale((rs_matrix4x4*) buf2116, *(float*)buf2117, *(float*)buf2118, *(float*)buf2119);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf2120, *(float*)buf2121, *(float*)buf2122, *(float*)buf2123);
-    rsMatrixMultiply((rs_matrix4x4*) buf2124, (const rs_matrix4x4*) buf2125);
-    rsMatrixMultiply((rs_matrix3x3*) buf2126, (const rs_matrix3x3*) buf2127);
-    rsMatrixMultiply((rs_matrix2x2*) buf2128, (const rs_matrix2x2*) buf2129);
-    *(float4*)buf2130 = rsMatrixMultiply((const rs_matrix4x4*) buf2131, *(float4*)buf2132);
-    *(float4*)buf2133 = rsMatrixMultiply((const rs_matrix4x4*) buf2134, *(float3*)buf2135);
-    *(float4*)buf2136 = rsMatrixMultiply((const rs_matrix4x4*) buf2137, *(float2*)buf2138);
-    *(float3*)buf2139 = rsMatrixMultiply((const rs_matrix3x3*) buf2140, *(float3*)buf2141);
-    *(float3*)buf2142 = rsMatrixMultiply((const rs_matrix3x3*) buf2143, *(float2*)buf2144);
-    *(float2*)buf2145 = rsMatrixMultiply((const rs_matrix2x2*) buf2146, *(float2*)buf2147);
-    rsMatrixRotate((rs_matrix4x4*) buf2148, *(float*)buf2149, *(float*)buf2150, *(float*)buf2151, *(float*)buf2152);
-    rsMatrixScale((rs_matrix4x4*) buf2153, *(float*)buf2154, *(float*)buf2155, *(float*)buf2156);
-    rsMatrixSet((rs_matrix4x4*) buf2157, *(uint32_t*)buf2158, *(uint32_t*)buf2159, *(float*)buf2160);
-    rsMatrixSet((rs_matrix3x3*) buf2161, *(uint32_t*)buf2162, *(uint32_t*)buf2163, *(float*)buf2164);
-    rsMatrixSet((rs_matrix2x2*) buf2165, *(uint32_t*)buf2166, *(uint32_t*)buf2167, *(float*)buf2168);
-    rsMatrixTranslate((rs_matrix4x4*) buf2169, *(float*)buf2170, *(float*)buf2171, *(float*)buf2172);
-    rsMatrixTranspose((rs_matrix4x4*) buf2173);
-    rsMatrixTranspose((rs_matrix3x3*) buf2174);
-    rsMatrixTranspose((rs_matrix2x2*) buf2175);
-    *(uchar4*)buf2176 = rsPackColorTo8888(*(float*)buf2177, *(float*)buf2178, *(float*)buf2179);
-    *(uchar4*)buf2180 = rsPackColorTo8888(*(float*)buf2181, *(float*)buf2182, *(float*)buf2183, *(float*)buf2184);
-    *(uchar4*)buf2185 = rsPackColorTo8888(*(float3*)buf2186);
-    *(uchar4*)buf2187 = rsPackColorTo8888(*(float4*)buf2188);
-    rsQuaternionAdd((rs_quaternion*) buf2189, (const rs_quaternion*) buf2190);
-    rsQuaternionConjugate((rs_quaternion*) buf2191);
-    *(float*)buf2192 = rsQuaternionDot((const rs_quaternion*) buf2193, (const rs_quaternion*) buf2194);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2195, (const rs_quaternion*) buf2196);
-    rsQuaternionLoadRotate((rs_quaternion*) buf2197, *(float*)buf2198, *(float*)buf2199, *(float*)buf2200, *(float*)buf2201);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2202, *(float*)buf2203, *(float*)buf2204, *(float*)buf2205, *(float*)buf2206);
-    rsQuaternionMultiply((rs_quaternion*) buf2207, *(float*)buf2208);
-    rsQuaternionMultiply((rs_quaternion*) buf2209, (const rs_quaternion*) buf2210);
-    rsQuaternionNormalize((rs_quaternion*) buf2211);
-    rsQuaternionSet((rs_quaternion*) buf2212, *(float*)buf2213, *(float*)buf2214, *(float*)buf2215, *(float*)buf2216);
-    rsQuaternionSet((rs_quaternion*) buf2217, (const rs_quaternion*) buf2218);
-    rsQuaternionSlerp((rs_quaternion*) buf2219, (const rs_quaternion*) buf2220, (const rs_quaternion*) buf2221, *(float*)buf2222);
-    *(int*)buf2223 = rsRand(*(int*)buf2224);
-    *(int*)buf2225 = rsRand(*(int*)buf2226, *(int*)buf2227);
-    *(float*)buf2228 = rsRand(*(float*)buf2229);
-    *(float*)buf2230 = rsRand(*(float*)buf2231, *(float*)buf2232);
-    *(float4*)buf2233 = rsSample(*(rs_allocation*)buf2234, *(rs_sampler*)buf2235, *(float*)buf2236);
-    *(float4*)buf2237 = rsSample(*(rs_allocation*)buf2238, *(rs_sampler*)buf2239, *(float*)buf2240, *(float*)buf2241);
-    *(float4*)buf2242 = rsSample(*(rs_allocation*)buf2243, *(rs_sampler*)buf2244, *(float2*)buf2245);
-    *(float4*)buf2246 = rsSample(*(rs_allocation*)buf2247, *(rs_sampler*)buf2248, *(float2*)buf2249, *(float*)buf2250);
-    *(float*)buf2251 = rsSamplerGetAnisotropy(*(rs_sampler*)buf2252);
-    *(rs_sampler_value*)buf2253 = rsSamplerGetMagnification(*(rs_sampler*)buf2254);
-    *(rs_sampler_value*)buf2255 = rsSamplerGetMinification(*(rs_sampler*)buf2256);
-    *(rs_sampler_value*)buf2257 = rsSamplerGetWrapS(*(rs_sampler*)buf2258);
-    *(rs_sampler_value*)buf2259 = rsSamplerGetWrapT(*(rs_sampler*)buf2260);
-    *(bool*)buf2261 = rsSendToClient(*(int*)buf2262);
-    *(bool*)buf2263 = rsSendToClient(*(int*)buf2264, (const void*) buf2265, *(uint*)buf2266);
-    rsSendToClientBlocking(*(int*)buf2267);
-    rsSendToClientBlocking(*(int*)buf2268, (const void*) buf2269, *(uint*)buf2270);
-    rsSetObject((rs_element*) buf2271, *(rs_element*)buf2272);
-    rsSetObject((rs_type*) buf2273, *(rs_type*)buf2274);
-    rsSetObject((rs_allocation*) buf2275, *(rs_allocation*)buf2276);
-    rsSetObject((rs_sampler*) buf2277, *(rs_sampler*)buf2278);
-    rsSetObject((rs_script*) buf2279, *(rs_script*)buf2280);
+    *(bool*)buf2055 = rsIsSphereInFrustum((float4*) buf2056, (float4*) buf2057, (float4*) buf2058, (float4*) buf2059, (float4*) buf2060, (float4*) buf2061, (float4*) buf2062);
+    *(rs_tm**)buf2063 = rsLocaltime((rs_tm*) buf2064, (const rs_time_t*) buf2065);
+    *(float*)buf2066 = rsMatrixGet((const rs_matrix4x4*) buf2067, *(uint32_t*)buf2068, *(uint32_t*)buf2069);
+    *(float*)buf2070 = rsMatrixGet((const rs_matrix3x3*) buf2071, *(uint32_t*)buf2072, *(uint32_t*)buf2073);
+    *(float*)buf2074 = rsMatrixGet((const rs_matrix2x2*) buf2075, *(uint32_t*)buf2076, *(uint32_t*)buf2077);
+    *(bool*)buf2078 = rsMatrixInverse((rs_matrix4x4*) buf2079);
+    *(bool*)buf2080 = rsMatrixInverseTranspose((rs_matrix4x4*) buf2081);
+    rsMatrixLoad((rs_matrix4x4*) buf2082, (const float*) buf2083);
+    rsMatrixLoad((rs_matrix3x3*) buf2084, (const float*) buf2085);
+    rsMatrixLoad((rs_matrix2x2*) buf2086, (const float*) buf2087);
+    rsMatrixLoad((rs_matrix4x4*) buf2088, (const rs_matrix4x4*) buf2089);
+    rsMatrixLoad((rs_matrix3x3*) buf2090, (const rs_matrix3x3*) buf2091);
+    rsMatrixLoad((rs_matrix2x2*) buf2092, (const rs_matrix2x2*) buf2093);
+    rsMatrixLoad((rs_matrix4x4*) buf2094, (const rs_matrix3x3*) buf2095);
+    rsMatrixLoad((rs_matrix4x4*) buf2096, (const rs_matrix2x2*) buf2097);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf2098, *(float*)buf2099, *(float*)buf2100, *(float*)buf2101, *(float*)buf2102, *(float*)buf2103, *(float*)buf2104);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf2105);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf2106);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf2107);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf2108, (const rs_matrix4x4*) buf2109, (const rs_matrix4x4*) buf2110);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf2111, (const rs_matrix3x3*) buf2112, (const rs_matrix3x3*) buf2113);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf2114, (const rs_matrix2x2*) buf2115, (const rs_matrix2x2*) buf2116);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf2117, *(float*)buf2118, *(float*)buf2119, *(float*)buf2120, *(float*)buf2121, *(float*)buf2122, *(float*)buf2123);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf2124, *(float*)buf2125, *(float*)buf2126, *(float*)buf2127, *(float*)buf2128);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf2129, *(float*)buf2130, *(float*)buf2131, *(float*)buf2132, *(float*)buf2133);
+    rsMatrixLoadScale((rs_matrix4x4*) buf2134, *(float*)buf2135, *(float*)buf2136, *(float*)buf2137);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf2138, *(float*)buf2139, *(float*)buf2140, *(float*)buf2141);
+    rsMatrixMultiply((rs_matrix4x4*) buf2142, (const rs_matrix4x4*) buf2143);
+    rsMatrixMultiply((rs_matrix3x3*) buf2144, (const rs_matrix3x3*) buf2145);
+    rsMatrixMultiply((rs_matrix2x2*) buf2146, (const rs_matrix2x2*) buf2147);
+    *(float4*)buf2148 = rsMatrixMultiply((const rs_matrix4x4*) buf2149, *(float4*)buf2150);
+    *(float4*)buf2151 = rsMatrixMultiply((const rs_matrix4x4*) buf2152, *(float3*)buf2153);
+    *(float4*)buf2154 = rsMatrixMultiply((const rs_matrix4x4*) buf2155, *(float2*)buf2156);
+    *(float3*)buf2157 = rsMatrixMultiply((const rs_matrix3x3*) buf2158, *(float3*)buf2159);
+    *(float3*)buf2160 = rsMatrixMultiply((const rs_matrix3x3*) buf2161, *(float2*)buf2162);
+    *(float2*)buf2163 = rsMatrixMultiply((const rs_matrix2x2*) buf2164, *(float2*)buf2165);
+    rsMatrixRotate((rs_matrix4x4*) buf2166, *(float*)buf2167, *(float*)buf2168, *(float*)buf2169, *(float*)buf2170);
+    rsMatrixScale((rs_matrix4x4*) buf2171, *(float*)buf2172, *(float*)buf2173, *(float*)buf2174);
+    rsMatrixSet((rs_matrix4x4*) buf2175, *(uint32_t*)buf2176, *(uint32_t*)buf2177, *(float*)buf2178);
+    rsMatrixSet((rs_matrix3x3*) buf2179, *(uint32_t*)buf2180, *(uint32_t*)buf2181, *(float*)buf2182);
+    rsMatrixSet((rs_matrix2x2*) buf2183, *(uint32_t*)buf2184, *(uint32_t*)buf2185, *(float*)buf2186);
+    rsMatrixTranslate((rs_matrix4x4*) buf2187, *(float*)buf2188, *(float*)buf2189, *(float*)buf2190);
+    rsMatrixTranspose((rs_matrix4x4*) buf2191);
+    rsMatrixTranspose((rs_matrix3x3*) buf2192);
+    rsMatrixTranspose((rs_matrix2x2*) buf2193);
+    *(uchar4*)buf2194 = rsPackColorTo8888(*(float*)buf2195, *(float*)buf2196, *(float*)buf2197);
+    *(uchar4*)buf2198 = rsPackColorTo8888(*(float*)buf2199, *(float*)buf2200, *(float*)buf2201, *(float*)buf2202);
+    *(uchar4*)buf2203 = rsPackColorTo8888(*(float3*)buf2204);
+    *(uchar4*)buf2205 = rsPackColorTo8888(*(float4*)buf2206);
+    rsQuaternionAdd((rs_quaternion*) buf2207, (const rs_quaternion*) buf2208);
+    rsQuaternionConjugate((rs_quaternion*) buf2209);
+    *(float*)buf2210 = rsQuaternionDot((const rs_quaternion*) buf2211, (const rs_quaternion*) buf2212);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2213, (const rs_quaternion*) buf2214);
+    rsQuaternionLoadRotate((rs_quaternion*) buf2215, *(float*)buf2216, *(float*)buf2217, *(float*)buf2218, *(float*)buf2219);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2220, *(float*)buf2221, *(float*)buf2222, *(float*)buf2223, *(float*)buf2224);
+    rsQuaternionMultiply((rs_quaternion*) buf2225, *(float*)buf2226);
+    rsQuaternionMultiply((rs_quaternion*) buf2227, (const rs_quaternion*) buf2228);
+    rsQuaternionNormalize((rs_quaternion*) buf2229);
+    rsQuaternionSet((rs_quaternion*) buf2230, *(float*)buf2231, *(float*)buf2232, *(float*)buf2233, *(float*)buf2234);
+    rsQuaternionSet((rs_quaternion*) buf2235, (const rs_quaternion*) buf2236);
+    rsQuaternionSlerp((rs_quaternion*) buf2237, (const rs_quaternion*) buf2238, (const rs_quaternion*) buf2239, *(float*)buf2240);
+    *(int*)buf2241 = rsRand(*(int*)buf2242);
+    *(int*)buf2243 = rsRand(*(int*)buf2244, *(int*)buf2245);
+    *(float*)buf2246 = rsRand(*(float*)buf2247);
+    *(float*)buf2248 = rsRand(*(float*)buf2249, *(float*)buf2250);
+    *(float4*)buf2251 = rsSample(*(rs_allocation*)buf2252, *(rs_sampler*)buf2253, *(float*)buf2254);
+    *(float4*)buf2255 = rsSample(*(rs_allocation*)buf2256, *(rs_sampler*)buf2257, *(float*)buf2258, *(float*)buf2259);
+    *(float4*)buf2260 = rsSample(*(rs_allocation*)buf2261, *(rs_sampler*)buf2262, *(float2*)buf2263);
+    *(float4*)buf2264 = rsSample(*(rs_allocation*)buf2265, *(rs_sampler*)buf2266, *(float2*)buf2267, *(float*)buf2268);
+    *(float*)buf2269 = rsSamplerGetAnisotropy(*(rs_sampler*)buf2270);
+    *(rs_sampler_value*)buf2271 = rsSamplerGetMagnification(*(rs_sampler*)buf2272);
+    *(rs_sampler_value*)buf2273 = rsSamplerGetMinification(*(rs_sampler*)buf2274);
+    *(rs_sampler_value*)buf2275 = rsSamplerGetWrapS(*(rs_sampler*)buf2276);
+    *(rs_sampler_value*)buf2277 = rsSamplerGetWrapT(*(rs_sampler*)buf2278);
+    *(bool*)buf2279 = rsSendToClient(*(int*)buf2280);
+    *(bool*)buf2281 = rsSendToClient(*(int*)buf2282, (const void*) buf2283, *(uint*)buf2284);
+    rsSendToClientBlocking(*(int*)buf2285);
+    rsSendToClientBlocking(*(int*)buf2286, (const void*) buf2287, *(uint*)buf2288);
+    rsSetObject((rs_element*) buf2289, *(rs_element*)buf2290);
+    rsSetObject((rs_type*) buf2291, *(rs_type*)buf2292);
+    rsSetObject((rs_allocation*) buf2293, *(rs_allocation*)buf2294);
+    rsSetObject((rs_sampler*) buf2295, *(rs_sampler*)buf2296);
+    rsSetObject((rs_script*) buf2297, *(rs_script*)buf2298);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf2281, *(rs_mesh*)buf2282);
-    rsSetObject((rs_program_fragment*) buf2283, *(rs_program_fragment*)buf2284);
-    rsSetObject((rs_program_vertex*) buf2285, *(rs_program_vertex*)buf2286);
-    rsSetObject((rs_program_raster*) buf2287, *(rs_program_raster*)buf2288);
-    rsSetObject((rs_program_store*) buf2289, *(rs_program_store*)buf2290);
-    rsSetObject((rs_font*) buf2291, *(rs_font*)buf2292);
+    rsSetObject((rs_mesh*) buf2299, *(rs_mesh*)buf2300);
+    rsSetObject((rs_program_fragment*) buf2301, *(rs_program_fragment*)buf2302);
+    rsSetObject((rs_program_vertex*) buf2303, *(rs_program_vertex*)buf2304);
+    rsSetObject((rs_program_raster*) buf2305, *(rs_program_raster*)buf2306);
+    rsSetObject((rs_program_store*) buf2307, *(rs_program_store*)buf2308);
+    rsSetObject((rs_font*) buf2309, *(rs_font*)buf2310);
 #endif
-    *(rs_time_t*)buf2293 = rsTime((rs_time_t*) buf2294);
-    *(float4*)buf2295 = rsUnpackColor8888(*(uchar4*)buf2296);
-    *(int64_t*)buf2297 = rsUptimeMillis();
-    *(int64_t*)buf2298 = rsUptimeNanos();
-    *(float4*)buf2299 = rsYuvToRGBA_float4(*(uchar*)buf2300, *(uchar*)buf2301, *(uchar*)buf2302);
-    *(uchar4*)buf2303 = rsYuvToRGBA_uchar4(*(uchar*)buf2304, *(uchar*)buf2305, *(uchar*)buf2306);
+    *(rs_time_t*)buf2311 = rsTime((rs_time_t*) buf2312);
+    *(float4*)buf2313 = rsUnpackColor8888(*(uchar4*)buf2314);
+    *(int64_t*)buf2315 = rsUptimeMillis();
+    *(int64_t*)buf2316 = rsUptimeNanos();
+    *(float4*)buf2317 = rsYuvToRGBA_float4(*(uchar*)buf2318, *(uchar*)buf2319, *(uchar*)buf2320);
+    *(uchar4*)buf2321 = rsYuvToRGBA_uchar4(*(uchar*)buf2322, *(uchar*)buf2323, *(uchar*)buf2324);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2307);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2325);
 #endif
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2308, *(rs_allocation_usage_type*)buf2309);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2326, *(rs_allocation_usage_type*)buf2327);
 #endif
 #ifndef __LP64__
-    rsgBindColorTarget(*(rs_allocation*)buf2310, *(uint*)buf2311);
+    rsgBindColorTarget(*(rs_allocation*)buf2328, *(uint*)buf2329);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf2312, *(uint*)buf2313, *(rs_allocation*)buf2314);
+    rsgBindConstant(*(rs_program_fragment*)buf2330, *(uint*)buf2331, *(rs_allocation*)buf2332);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf2315, *(uint*)buf2316, *(rs_allocation*)buf2317);
+    rsgBindConstant(*(rs_program_vertex*)buf2333, *(uint*)buf2334, *(rs_allocation*)buf2335);
 #endif
 #ifndef __LP64__
-    rsgBindDepthTarget(*(rs_allocation*)buf2318);
+    rsgBindDepthTarget(*(rs_allocation*)buf2336);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf2319);
+    rsgBindFont(*(rs_font*)buf2337);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf2320);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf2338);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf2321);
+    rsgBindProgramRaster(*(rs_program_raster*)buf2339);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf2322);
+    rsgBindProgramStore(*(rs_program_store*)buf2340);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf2323);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf2341);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf2324, *(uint*)buf2325, *(rs_sampler*)buf2326);
+    rsgBindSampler(*(rs_program_fragment*)buf2342, *(uint*)buf2343, *(rs_sampler*)buf2344);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf2327, *(uint*)buf2328, *(rs_allocation*)buf2329);
+    rsgBindTexture(*(rs_program_fragment*)buf2345, *(uint*)buf2346, *(rs_allocation*)buf2347);
 #endif
 #ifndef __LP64__
     rsgClearAllRenderTargets();
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf2330, *(float*)buf2331, *(float*)buf2332, *(float*)buf2333);
+    rsgClearColor(*(float*)buf2348, *(float*)buf2349, *(float*)buf2350, *(float*)buf2351);
 #endif
 #ifndef __LP64__
-    rsgClearColorTarget(*(uint*)buf2334);
+    rsgClearColorTarget(*(uint*)buf2352);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf2335);
+    rsgClearDepth(*(float*)buf2353);
 #endif
 #ifndef __LP64__
     rsgClearDepthTarget();
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2336);
+    rsgDrawMesh(*(rs_mesh*)buf2354);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2337, *(uint*)buf2338);
+    rsgDrawMesh(*(rs_mesh*)buf2355, *(uint*)buf2356);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2339, *(uint*)buf2340, *(uint*)buf2341, *(uint*)buf2342);
+    rsgDrawMesh(*(rs_mesh*)buf2357, *(uint*)buf2358, *(uint*)buf2359, *(uint*)buf2360);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf2343, *(float*)buf2344, *(float*)buf2345, *(float*)buf2346, *(float*)buf2347, *(float*)buf2348, *(float*)buf2349, *(float*)buf2350, *(float*)buf2351, *(float*)buf2352, *(float*)buf2353, *(float*)buf2354);
+    rsgDrawQuad(*(float*)buf2361, *(float*)buf2362, *(float*)buf2363, *(float*)buf2364, *(float*)buf2365, *(float*)buf2366, *(float*)buf2367, *(float*)buf2368, *(float*)buf2369, *(float*)buf2370, *(float*)buf2371, *(float*)buf2372);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf2355, *(float*)buf2356, *(float*)buf2357, *(float*)buf2358, *(float*)buf2359, *(float*)buf2360, *(float*)buf2361, *(float*)buf2362, *(float*)buf2363, *(float*)buf2364, *(float*)buf2365, *(float*)buf2366, *(float*)buf2367, *(float*)buf2368, *(float*)buf2369, *(float*)buf2370, *(float*)buf2371, *(float*)buf2372, *(float*)buf2373, *(float*)buf2374);
+    rsgDrawQuadTexCoords(*(float*)buf2373, *(float*)buf2374, *(float*)buf2375, *(float*)buf2376, *(float*)buf2377, *(float*)buf2378, *(float*)buf2379, *(float*)buf2380, *(float*)buf2381, *(float*)buf2382, *(float*)buf2383, *(float*)buf2384, *(float*)buf2385, *(float*)buf2386, *(float*)buf2387, *(float*)buf2388, *(float*)buf2389, *(float*)buf2390, *(float*)buf2391, *(float*)buf2392);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf2375, *(float*)buf2376, *(float*)buf2377, *(float*)buf2378, *(float*)buf2379);
+    rsgDrawRect(*(float*)buf2393, *(float*)buf2394, *(float*)buf2395, *(float*)buf2396, *(float*)buf2397);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf2380, *(float*)buf2381, *(float*)buf2382, *(float*)buf2383, *(float*)buf2384);
+    rsgDrawSpriteScreenspace(*(float*)buf2398, *(float*)buf2399, *(float*)buf2400, *(float*)buf2401, *(float*)buf2402);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf2385, *(int*)buf2386, *(int*)buf2387);
+    rsgDrawText((const char*) buf2403, *(int*)buf2404, *(int*)buf2405);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf2388, *(int*)buf2389, *(int*)buf2390);
+    rsgDrawText(*(rs_allocation*)buf2406, *(int*)buf2407, *(int*)buf2408);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2391 = rsgFinish();
+    *(uint*)buf2409 = rsgFinish();
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf2392, *(float*)buf2393, *(float*)buf2394, *(float*)buf2395);
+    rsgFontColor(*(float*)buf2410, *(float*)buf2411, *(float*)buf2412, *(float*)buf2413);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2396 = rsgGetHeight();
+    *(uint*)buf2414 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf2397 = rsgGetWidth();
+    *(uint*)buf2415 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf2398, (int*) buf2399, (int*) buf2400, (int*) buf2401, (int*) buf2402);
+    rsgMeasureText((const char*) buf2416, (int*) buf2417, (int*) buf2418, (int*) buf2419, (int*) buf2420);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf2403, (int*) buf2404, (int*) buf2405, (int*) buf2406, (int*) buf2407);
+    rsgMeasureText(*(rs_allocation*)buf2421, (int*) buf2422, (int*) buf2423, (int*) buf2424, (int*) buf2425);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2408, (float*) buf2409, (float*) buf2410, (float*) buf2411, (float*) buf2412, (float*) buf2413, (float*) buf2414);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2426, (float*) buf2427, (float*) buf2428, (float*) buf2429, (float*) buf2430, (float*) buf2431, (float*) buf2432);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2415, (float3*) buf2416, (float3*) buf2417);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2433, (float3*) buf2434, (float3*) buf2435);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf2418 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf2419, *(uint32_t*)buf2420);
+    *(rs_allocation*)buf2436 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf2437, *(uint32_t*)buf2438);
 #endif
 #ifndef __LP64__
-    *(rs_primitive*)buf2421 = rsgMeshGetPrimitive(*(rs_mesh*)buf2422, *(uint32_t*)buf2423);
+    *(rs_primitive*)buf2439 = rsgMeshGetPrimitive(*(rs_mesh*)buf2440, *(uint32_t*)buf2441);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf2424 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf2425);
+    *(uint32_t*)buf2442 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf2443);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf2426 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf2427, *(uint32_t*)buf2428);
+    *(rs_allocation*)buf2444 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf2445, *(uint32_t*)buf2446);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf2429 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf2430);
+    *(uint32_t*)buf2447 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf2448);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2431, *(float*)buf2432, *(float*)buf2433, *(float*)buf2434, *(float*)buf2435);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2449, *(float*)buf2450, *(float*)buf2451, *(float*)buf2452, *(float*)buf2453);
 #endif
 #ifndef __LP64__
-    *(rs_cull_mode*)buf2436 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf2437);
+    *(rs_cull_mode*)buf2454 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf2455);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2438 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf2439);
+    *(bool*)buf2456 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf2457);
 #endif
 #ifndef __LP64__
-    *(rs_blend_dst_func*)buf2440 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf2441);
+    *(rs_blend_dst_func*)buf2458 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf2459);
 #endif
 #ifndef __LP64__
-    *(rs_blend_src_func*)buf2442 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf2443);
+    *(rs_blend_src_func*)buf2460 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf2461);
 #endif
 #ifndef __LP64__
-    *(rs_depth_func*)buf2444 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf2445);
+    *(rs_depth_func*)buf2462 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf2463);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2446 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf2447);
+    *(bool*)buf2464 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf2465);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2448 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf2449);
+    *(bool*)buf2466 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf2467);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2450 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf2451);
+    *(bool*)buf2468 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf2469);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2452 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf2453);
+    *(bool*)buf2470 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf2471);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2454 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf2455);
+    *(bool*)buf2472 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf2473);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2456 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf2457);
+    *(bool*)buf2474 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf2475);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2458);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf2476);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2459);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf2477);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2460);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf2478);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2461);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf2479);
 #endif
-    *(float*)buf2462 = rsqrt(*(float*)buf2463);
-    *(float2*)buf2464 = rsqrt(*(float2*)buf2465);
-    *(float3*)buf2466 = rsqrt(*(float3*)buf2467);
-    *(float4*)buf2468 = rsqrt(*(float4*)buf2469);
-    *(float*)buf2470 = sign(*(float*)buf2471);
-    *(float2*)buf2472 = sign(*(float2*)buf2473);
-    *(float3*)buf2474 = sign(*(float3*)buf2475);
-    *(float4*)buf2476 = sign(*(float4*)buf2477);
-    *(float*)buf2478 = sin(*(float*)buf2479);
-    *(float2*)buf2480 = sin(*(float2*)buf2481);
-    *(float3*)buf2482 = sin(*(float3*)buf2483);
-    *(float4*)buf2484 = sin(*(float4*)buf2485);
-    *(float*)buf2486 = sincos(*(float*)buf2487, (float*) buf2488);
-    *(float2*)buf2489 = sincos(*(float2*)buf2490, (float2*) buf2491);
-    *(float3*)buf2492 = sincos(*(float3*)buf2493, (float3*) buf2494);
-    *(float4*)buf2495 = sincos(*(float4*)buf2496, (float4*) buf2497);
-    *(float*)buf2498 = sinh(*(float*)buf2499);
-    *(float2*)buf2500 = sinh(*(float2*)buf2501);
-    *(float3*)buf2502 = sinh(*(float3*)buf2503);
-    *(float4*)buf2504 = sinh(*(float4*)buf2505);
-    *(float*)buf2506 = sinpi(*(float*)buf2507);
-    *(float2*)buf2508 = sinpi(*(float2*)buf2509);
-    *(float3*)buf2510 = sinpi(*(float3*)buf2511);
-    *(float4*)buf2512 = sinpi(*(float4*)buf2513);
-    *(float*)buf2514 = sqrt(*(float*)buf2515);
-    *(float2*)buf2516 = sqrt(*(float2*)buf2517);
-    *(float3*)buf2518 = sqrt(*(float3*)buf2519);
-    *(float4*)buf2520 = sqrt(*(float4*)buf2521);
-    *(float*)buf2522 = step(*(float*)buf2523, *(float*)buf2524);
-    *(float2*)buf2525 = step(*(float2*)buf2526, *(float2*)buf2527);
-    *(float3*)buf2528 = step(*(float3*)buf2529, *(float3*)buf2530);
-    *(float4*)buf2531 = step(*(float4*)buf2532, *(float4*)buf2533);
-    *(float2*)buf2534 = step(*(float2*)buf2535, *(float*)buf2536);
-    *(float3*)buf2537 = step(*(float3*)buf2538, *(float*)buf2539);
-    *(float4*)buf2540 = step(*(float4*)buf2541, *(float*)buf2542);
-    *(float*)buf2543 = tan(*(float*)buf2544);
-    *(float2*)buf2545 = tan(*(float2*)buf2546);
-    *(float3*)buf2547 = tan(*(float3*)buf2548);
-    *(float4*)buf2549 = tan(*(float4*)buf2550);
-    *(float*)buf2551 = tanh(*(float*)buf2552);
-    *(float2*)buf2553 = tanh(*(float2*)buf2554);
-    *(float3*)buf2555 = tanh(*(float3*)buf2556);
-    *(float4*)buf2557 = tanh(*(float4*)buf2558);
-    *(float*)buf2559 = tanpi(*(float*)buf2560);
-    *(float2*)buf2561 = tanpi(*(float2*)buf2562);
-    *(float3*)buf2563 = tanpi(*(float3*)buf2564);
-    *(float4*)buf2565 = tanpi(*(float4*)buf2566);
-    *(float*)buf2567 = tgamma(*(float*)buf2568);
-    *(float2*)buf2569 = tgamma(*(float2*)buf2570);
-    *(float3*)buf2571 = tgamma(*(float3*)buf2572);
-    *(float4*)buf2573 = tgamma(*(float4*)buf2574);
-    *(float*)buf2575 = trunc(*(float*)buf2576);
-    *(float2*)buf2577 = trunc(*(float2*)buf2578);
-    *(float3*)buf2579 = trunc(*(float3*)buf2580);
-    *(float4*)buf2581 = trunc(*(float4*)buf2582);
+    *(float*)buf2480 = rsqrt(*(float*)buf2481);
+    *(float2*)buf2482 = rsqrt(*(float2*)buf2483);
+    *(float3*)buf2484 = rsqrt(*(float3*)buf2485);
+    *(float4*)buf2486 = rsqrt(*(float4*)buf2487);
+    *(float*)buf2488 = sign(*(float*)buf2489);
+    *(float2*)buf2490 = sign(*(float2*)buf2491);
+    *(float3*)buf2492 = sign(*(float3*)buf2493);
+    *(float4*)buf2494 = sign(*(float4*)buf2495);
+    *(float*)buf2496 = sin(*(float*)buf2497);
+    *(float2*)buf2498 = sin(*(float2*)buf2499);
+    *(float3*)buf2500 = sin(*(float3*)buf2501);
+    *(float4*)buf2502 = sin(*(float4*)buf2503);
+    *(float*)buf2504 = sincos(*(float*)buf2505, (float*) buf2506);
+    *(float2*)buf2507 = sincos(*(float2*)buf2508, (float2*) buf2509);
+    *(float3*)buf2510 = sincos(*(float3*)buf2511, (float3*) buf2512);
+    *(float4*)buf2513 = sincos(*(float4*)buf2514, (float4*) buf2515);
+    *(float*)buf2516 = sinh(*(float*)buf2517);
+    *(float2*)buf2518 = sinh(*(float2*)buf2519);
+    *(float3*)buf2520 = sinh(*(float3*)buf2521);
+    *(float4*)buf2522 = sinh(*(float4*)buf2523);
+    *(float*)buf2524 = sinpi(*(float*)buf2525);
+    *(float2*)buf2526 = sinpi(*(float2*)buf2527);
+    *(float3*)buf2528 = sinpi(*(float3*)buf2529);
+    *(float4*)buf2530 = sinpi(*(float4*)buf2531);
+    *(float*)buf2532 = sqrt(*(float*)buf2533);
+    *(float2*)buf2534 = sqrt(*(float2*)buf2535);
+    *(float3*)buf2536 = sqrt(*(float3*)buf2537);
+    *(float4*)buf2538 = sqrt(*(float4*)buf2539);
+    *(float*)buf2540 = step(*(float*)buf2541, *(float*)buf2542);
+    *(float2*)buf2543 = step(*(float2*)buf2544, *(float2*)buf2545);
+    *(float3*)buf2546 = step(*(float3*)buf2547, *(float3*)buf2548);
+    *(float4*)buf2549 = step(*(float4*)buf2550, *(float4*)buf2551);
+    *(float2*)buf2552 = step(*(float2*)buf2553, *(float*)buf2554);
+    *(float3*)buf2555 = step(*(float3*)buf2556, *(float*)buf2557);
+    *(float4*)buf2558 = step(*(float4*)buf2559, *(float*)buf2560);
+    *(float*)buf2561 = tan(*(float*)buf2562);
+    *(float2*)buf2563 = tan(*(float2*)buf2564);
+    *(float3*)buf2565 = tan(*(float3*)buf2566);
+    *(float4*)buf2567 = tan(*(float4*)buf2568);
+    *(float*)buf2569 = tanh(*(float*)buf2570);
+    *(float2*)buf2571 = tanh(*(float2*)buf2572);
+    *(float3*)buf2573 = tanh(*(float3*)buf2574);
+    *(float4*)buf2575 = tanh(*(float4*)buf2576);
+    *(float*)buf2577 = tanpi(*(float*)buf2578);
+    *(float2*)buf2579 = tanpi(*(float2*)buf2580);
+    *(float3*)buf2581 = tanpi(*(float3*)buf2582);
+    *(float4*)buf2583 = tanpi(*(float4*)buf2584);
+    *(float*)buf2585 = tgamma(*(float*)buf2586);
+    *(float2*)buf2587 = tgamma(*(float2*)buf2588);
+    *(float3*)buf2589 = tgamma(*(float3*)buf2590);
+    *(float4*)buf2591 = tgamma(*(float4*)buf2592);
+    *(float*)buf2593 = trunc(*(float*)buf2594);
+    *(float2*)buf2595 = trunc(*(float2*)buf2596);
+    *(float3*)buf2597 = trunc(*(float3*)buf2598);
+    *(float4*)buf2599 = trunc(*(float4*)buf2600);
 }
diff --git a/tests/P_all_api_18/all18.rs b/tests/P_all_api_18/all18.rs
index 4d2bcd8..df053c1 100644
--- a/tests/P_all_api_18/all18.rs
+++ b/tests/P_all_api_18/all18.rs
@@ -3164,6 +3164,24 @@
 char buf3139[200];
 char buf3140[200];
 char buf3141[200];
+char buf3142[200];
+char buf3143[200];
+char buf3144[200];
+char buf3145[200];
+char buf3146[200];
+char buf3147[200];
+char buf3148[200];
+char buf3149[200];
+char buf3150[200];
+char buf3151[200];
+char buf3152[200];
+char buf3153[200];
+char buf3154[200];
+char buf3155[200];
+char buf3156[200];
+char buf3157[200];
+char buf3158[200];
+char buf3159[200];
 
 void RS_KERNEL test(int in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -3587,826 +3605,832 @@
     *(float2*)buf938 = max(*(float2*)buf939, *(float2*)buf940);
     *(float3*)buf941 = max(*(float3*)buf942, *(float3*)buf943);
     *(float4*)buf944 = max(*(float4*)buf945, *(float4*)buf946);
-    *(char*)buf947 = max(*(char*)buf948, *(char*)buf949);
-    *(uchar*)buf950 = max(*(uchar*)buf951, *(uchar*)buf952);
-    *(short*)buf953 = max(*(short*)buf954, *(short*)buf955);
-    *(ushort*)buf956 = max(*(ushort*)buf957, *(ushort*)buf958);
-    *(int*)buf959 = max(*(int*)buf960, *(int*)buf961);
-    *(uint*)buf962 = max(*(uint*)buf963, *(uint*)buf964);
-    *(char2*)buf965 = max(*(char2*)buf966, *(char2*)buf967);
-    *(uchar2*)buf968 = max(*(uchar2*)buf969, *(uchar2*)buf970);
-    *(short2*)buf971 = max(*(short2*)buf972, *(short2*)buf973);
-    *(ushort2*)buf974 = max(*(ushort2*)buf975, *(ushort2*)buf976);
-    *(int2*)buf977 = max(*(int2*)buf978, *(int2*)buf979);
-    *(uint2*)buf980 = max(*(uint2*)buf981, *(uint2*)buf982);
-    *(char3*)buf983 = max(*(char3*)buf984, *(char3*)buf985);
-    *(uchar3*)buf986 = max(*(uchar3*)buf987, *(uchar3*)buf988);
-    *(short3*)buf989 = max(*(short3*)buf990, *(short3*)buf991);
-    *(ushort3*)buf992 = max(*(ushort3*)buf993, *(ushort3*)buf994);
-    *(int3*)buf995 = max(*(int3*)buf996, *(int3*)buf997);
-    *(uint3*)buf998 = max(*(uint3*)buf999, *(uint3*)buf1000);
-    *(char4*)buf1001 = max(*(char4*)buf1002, *(char4*)buf1003);
-    *(uchar4*)buf1004 = max(*(uchar4*)buf1005, *(uchar4*)buf1006);
-    *(short4*)buf1007 = max(*(short4*)buf1008, *(short4*)buf1009);
-    *(ushort4*)buf1010 = max(*(ushort4*)buf1011, *(ushort4*)buf1012);
-    *(int4*)buf1013 = max(*(int4*)buf1014, *(int4*)buf1015);
-    *(uint4*)buf1016 = max(*(uint4*)buf1017, *(uint4*)buf1018);
-    *(float*)buf1019 = min(*(float*)buf1020, *(float*)buf1021);
-    *(float2*)buf1022 = min(*(float2*)buf1023, *(float2*)buf1024);
-    *(float3*)buf1025 = min(*(float3*)buf1026, *(float3*)buf1027);
-    *(float4*)buf1028 = min(*(float4*)buf1029, *(float4*)buf1030);
-    *(char*)buf1031 = min(*(char*)buf1032, *(char*)buf1033);
-    *(uchar*)buf1034 = min(*(uchar*)buf1035, *(uchar*)buf1036);
-    *(short*)buf1037 = min(*(short*)buf1038, *(short*)buf1039);
-    *(ushort*)buf1040 = min(*(ushort*)buf1041, *(ushort*)buf1042);
-    *(int*)buf1043 = min(*(int*)buf1044, *(int*)buf1045);
-    *(uint*)buf1046 = min(*(uint*)buf1047, *(uint*)buf1048);
-    *(char2*)buf1049 = min(*(char2*)buf1050, *(char2*)buf1051);
-    *(uchar2*)buf1052 = min(*(uchar2*)buf1053, *(uchar2*)buf1054);
-    *(short2*)buf1055 = min(*(short2*)buf1056, *(short2*)buf1057);
-    *(ushort2*)buf1058 = min(*(ushort2*)buf1059, *(ushort2*)buf1060);
-    *(int2*)buf1061 = min(*(int2*)buf1062, *(int2*)buf1063);
-    *(uint2*)buf1064 = min(*(uint2*)buf1065, *(uint2*)buf1066);
-    *(char3*)buf1067 = min(*(char3*)buf1068, *(char3*)buf1069);
-    *(uchar3*)buf1070 = min(*(uchar3*)buf1071, *(uchar3*)buf1072);
-    *(short3*)buf1073 = min(*(short3*)buf1074, *(short3*)buf1075);
-    *(ushort3*)buf1076 = min(*(ushort3*)buf1077, *(ushort3*)buf1078);
-    *(int3*)buf1079 = min(*(int3*)buf1080, *(int3*)buf1081);
-    *(uint3*)buf1082 = min(*(uint3*)buf1083, *(uint3*)buf1084);
-    *(char4*)buf1085 = min(*(char4*)buf1086, *(char4*)buf1087);
-    *(uchar4*)buf1088 = min(*(uchar4*)buf1089, *(uchar4*)buf1090);
-    *(short4*)buf1091 = min(*(short4*)buf1092, *(short4*)buf1093);
-    *(ushort4*)buf1094 = min(*(ushort4*)buf1095, *(ushort4*)buf1096);
-    *(int4*)buf1097 = min(*(int4*)buf1098, *(int4*)buf1099);
-    *(uint4*)buf1100 = min(*(uint4*)buf1101, *(uint4*)buf1102);
-    *(float*)buf1103 = mix(*(float*)buf1104, *(float*)buf1105, *(float*)buf1106);
-    *(float2*)buf1107 = mix(*(float2*)buf1108, *(float2*)buf1109, *(float2*)buf1110);
-    *(float3*)buf1111 = mix(*(float3*)buf1112, *(float3*)buf1113, *(float3*)buf1114);
-    *(float4*)buf1115 = mix(*(float4*)buf1116, *(float4*)buf1117, *(float4*)buf1118);
-    *(float2*)buf1119 = mix(*(float2*)buf1120, *(float2*)buf1121, *(float*)buf1122);
-    *(float3*)buf1123 = mix(*(float3*)buf1124, *(float3*)buf1125, *(float*)buf1126);
-    *(float4*)buf1127 = mix(*(float4*)buf1128, *(float4*)buf1129, *(float*)buf1130);
-    *(float*)buf1131 = modf(*(float*)buf1132, (float*) buf1133);
-    *(float2*)buf1134 = modf(*(float2*)buf1135, (float2*) buf1136);
-    *(float3*)buf1137 = modf(*(float3*)buf1138, (float3*) buf1139);
-    *(float4*)buf1140 = modf(*(float4*)buf1141, (float4*) buf1142);
-    *(float*)buf1143 = nan(*(uint*)buf1144);
-    *(float*)buf1145 = native_exp(*(float*)buf1146);
-    *(float2*)buf1147 = native_exp(*(float2*)buf1148);
-    *(float3*)buf1149 = native_exp(*(float3*)buf1150);
-    *(float4*)buf1151 = native_exp(*(float4*)buf1152);
-    *(float*)buf1153 = native_exp10(*(float*)buf1154);
-    *(float2*)buf1155 = native_exp10(*(float2*)buf1156);
-    *(float3*)buf1157 = native_exp10(*(float3*)buf1158);
-    *(float4*)buf1159 = native_exp10(*(float4*)buf1160);
-    *(float*)buf1161 = native_exp2(*(float*)buf1162);
-    *(float2*)buf1163 = native_exp2(*(float2*)buf1164);
-    *(float3*)buf1165 = native_exp2(*(float3*)buf1166);
-    *(float4*)buf1167 = native_exp2(*(float4*)buf1168);
-    *(float*)buf1169 = native_log(*(float*)buf1170);
-    *(float2*)buf1171 = native_log(*(float2*)buf1172);
-    *(float3*)buf1173 = native_log(*(float3*)buf1174);
-    *(float4*)buf1175 = native_log(*(float4*)buf1176);
-    *(float*)buf1177 = native_log10(*(float*)buf1178);
-    *(float2*)buf1179 = native_log10(*(float2*)buf1180);
-    *(float3*)buf1181 = native_log10(*(float3*)buf1182);
-    *(float4*)buf1183 = native_log10(*(float4*)buf1184);
-    *(float*)buf1185 = native_log2(*(float*)buf1186);
-    *(float2*)buf1187 = native_log2(*(float2*)buf1188);
-    *(float3*)buf1189 = native_log2(*(float3*)buf1190);
-    *(float4*)buf1191 = native_log2(*(float4*)buf1192);
-    *(float*)buf1193 = native_powr(*(float*)buf1194, *(float*)buf1195);
-    *(float2*)buf1196 = native_powr(*(float2*)buf1197, *(float2*)buf1198);
-    *(float3*)buf1199 = native_powr(*(float3*)buf1200, *(float3*)buf1201);
-    *(float4*)buf1202 = native_powr(*(float4*)buf1203, *(float4*)buf1204);
-    *(float*)buf1205 = nextafter(*(float*)buf1206, *(float*)buf1207);
-    *(float2*)buf1208 = nextafter(*(float2*)buf1209, *(float2*)buf1210);
-    *(float3*)buf1211 = nextafter(*(float3*)buf1212, *(float3*)buf1213);
-    *(float4*)buf1214 = nextafter(*(float4*)buf1215, *(float4*)buf1216);
-    *(float*)buf1217 = normalize(*(float*)buf1218);
-    *(float2*)buf1219 = normalize(*(float2*)buf1220);
-    *(float3*)buf1221 = normalize(*(float3*)buf1222);
-    *(float4*)buf1223 = normalize(*(float4*)buf1224);
-    *(float*)buf1225 = pow(*(float*)buf1226, *(float*)buf1227);
-    *(float2*)buf1228 = pow(*(float2*)buf1229, *(float2*)buf1230);
-    *(float3*)buf1231 = pow(*(float3*)buf1232, *(float3*)buf1233);
-    *(float4*)buf1234 = pow(*(float4*)buf1235, *(float4*)buf1236);
-    *(float*)buf1237 = pown(*(float*)buf1238, *(int*)buf1239);
-    *(float2*)buf1240 = pown(*(float2*)buf1241, *(int2*)buf1242);
-    *(float3*)buf1243 = pown(*(float3*)buf1244, *(int3*)buf1245);
-    *(float4*)buf1246 = pown(*(float4*)buf1247, *(int4*)buf1248);
-    *(float*)buf1249 = powr(*(float*)buf1250, *(float*)buf1251);
-    *(float2*)buf1252 = powr(*(float2*)buf1253, *(float2*)buf1254);
-    *(float3*)buf1255 = powr(*(float3*)buf1256, *(float3*)buf1257);
-    *(float4*)buf1258 = powr(*(float4*)buf1259, *(float4*)buf1260);
-    *(float*)buf1261 = radians(*(float*)buf1262);
-    *(float2*)buf1263 = radians(*(float2*)buf1264);
-    *(float3*)buf1265 = radians(*(float3*)buf1266);
-    *(float4*)buf1267 = radians(*(float4*)buf1268);
-    *(float*)buf1269 = remainder(*(float*)buf1270, *(float*)buf1271);
-    *(float2*)buf1272 = remainder(*(float2*)buf1273, *(float2*)buf1274);
-    *(float3*)buf1275 = remainder(*(float3*)buf1276, *(float3*)buf1277);
-    *(float4*)buf1278 = remainder(*(float4*)buf1279, *(float4*)buf1280);
-    *(float*)buf1281 = remquo(*(float*)buf1282, *(float*)buf1283, (int*) buf1284);
-    *(float2*)buf1285 = remquo(*(float2*)buf1286, *(float2*)buf1287, (int2*) buf1288);
-    *(float3*)buf1289 = remquo(*(float3*)buf1290, *(float3*)buf1291, (int3*) buf1292);
-    *(float4*)buf1293 = remquo(*(float4*)buf1294, *(float4*)buf1295, (int4*) buf1296);
-    *(float*)buf1297 = rint(*(float*)buf1298);
-    *(float2*)buf1299 = rint(*(float2*)buf1300);
-    *(float3*)buf1301 = rint(*(float3*)buf1302);
-    *(float4*)buf1303 = rint(*(float4*)buf1304);
-    *(float*)buf1305 = rootn(*(float*)buf1306, *(int*)buf1307);
-    *(float2*)buf1308 = rootn(*(float2*)buf1309, *(int2*)buf1310);
-    *(float3*)buf1311 = rootn(*(float3*)buf1312, *(int3*)buf1313);
-    *(float4*)buf1314 = rootn(*(float4*)buf1315, *(int4*)buf1316);
-    *(float*)buf1317 = round(*(float*)buf1318);
-    *(float2*)buf1319 = round(*(float2*)buf1320);
-    *(float3*)buf1321 = round(*(float3*)buf1322);
-    *(float4*)buf1323 = round(*(float4*)buf1324);
-    rsAllocationCopy1DRange(*(rs_allocation*)buf1325, *(uint32_t*)buf1326, *(uint32_t*)buf1327, *(uint32_t*)buf1328, *(rs_allocation*)buf1329, *(uint32_t*)buf1330, *(uint32_t*)buf1331);
-    rsAllocationCopy2DRange(*(rs_allocation*)buf1332, *(uint32_t*)buf1333, *(uint32_t*)buf1334, *(uint32_t*)buf1335, *(rs_allocation_cubemap_face*)buf1336, *(uint32_t*)buf1337, *(uint32_t*)buf1338, *(rs_allocation*)buf1339, *(uint32_t*)buf1340, *(uint32_t*)buf1341, *(uint32_t*)buf1342, *(rs_allocation_cubemap_face*)buf1343);
-    *(uint32_t*)buf1344 = rsAllocationGetDimFaces(*(rs_allocation*)buf1345);
-    *(uint32_t*)buf1346 = rsAllocationGetDimLOD(*(rs_allocation*)buf1347);
-    *(uint32_t*)buf1348 = rsAllocationGetDimX(*(rs_allocation*)buf1349);
-    *(uint32_t*)buf1350 = rsAllocationGetDimY(*(rs_allocation*)buf1351);
-    *(uint32_t*)buf1352 = rsAllocationGetDimZ(*(rs_allocation*)buf1353);
-    *(rs_element*)buf1354 = rsAllocationGetElement(*(rs_allocation*)buf1355);
-    rsAllocationIoReceive(*(rs_allocation*)buf1356);
-    rsAllocationIoSend(*(rs_allocation*)buf1357);
-    *(int32_t*)buf1358 = rsAtomicAdd((volatile int32_t*) buf1359, *(int32_t*)buf1360);
-    *(int32_t*)buf1361 = rsAtomicAnd((volatile int32_t*) buf1362, *(int32_t*)buf1363);
-    *(int32_t*)buf1364 = rsAtomicCas((volatile int32_t*) buf1365, *(int32_t*)buf1366, *(int32_t*)buf1367);
-    *(uint32_t*)buf1368 = rsAtomicCas((volatile uint32_t*) buf1369, *(uint32_t*)buf1370, *(uint32_t*)buf1371);
-    *(int32_t*)buf1372 = rsAtomicDec((volatile int32_t*) buf1373);
-    *(int32_t*)buf1374 = rsAtomicInc((volatile int32_t*) buf1375);
-    *(uint32_t*)buf1376 = rsAtomicMax((volatile uint32_t*) buf1377, *(uint32_t*)buf1378);
-    *(int32_t*)buf1379 = rsAtomicMax((volatile int32_t*) buf1380, *(int32_t*)buf1381);
-    *(uint32_t*)buf1382 = rsAtomicMin((volatile uint32_t*) buf1383, *(uint32_t*)buf1384);
-    *(int32_t*)buf1385 = rsAtomicMin((volatile int32_t*) buf1386, *(int32_t*)buf1387);
-    *(int32_t*)buf1388 = rsAtomicOr((volatile int32_t*) buf1389, *(int32_t*)buf1390);
-    *(int32_t*)buf1391 = rsAtomicSub((volatile int32_t*) buf1392, *(int32_t*)buf1393);
-    *(int32_t*)buf1394 = rsAtomicXor((volatile int32_t*) buf1395, *(int32_t*)buf1396);
-    *(char*)buf1397 = rsClamp(*(char*)buf1398, *(char*)buf1399, *(char*)buf1400);
-    *(uchar*)buf1401 = rsClamp(*(uchar*)buf1402, *(uchar*)buf1403, *(uchar*)buf1404);
-    *(short*)buf1405 = rsClamp(*(short*)buf1406, *(short*)buf1407, *(short*)buf1408);
-    *(ushort*)buf1409 = rsClamp(*(ushort*)buf1410, *(ushort*)buf1411, *(ushort*)buf1412);
-    *(int*)buf1413 = rsClamp(*(int*)buf1414, *(int*)buf1415, *(int*)buf1416);
-    *(uint*)buf1417 = rsClamp(*(uint*)buf1418, *(uint*)buf1419, *(uint*)buf1420);
-    rsClearObject((rs_element*) buf1421);
-    rsClearObject((rs_type*) buf1422);
-    rsClearObject((rs_allocation*) buf1423);
-    rsClearObject((rs_sampler*) buf1424);
-    rsClearObject((rs_script*) buf1425);
+    *(float2*)buf947 = max(*(float2*)buf948, *(float*)buf949);
+    *(float3*)buf950 = max(*(float3*)buf951, *(float*)buf952);
+    *(float4*)buf953 = max(*(float4*)buf954, *(float*)buf955);
+    *(char*)buf956 = max(*(char*)buf957, *(char*)buf958);
+    *(uchar*)buf959 = max(*(uchar*)buf960, *(uchar*)buf961);
+    *(short*)buf962 = max(*(short*)buf963, *(short*)buf964);
+    *(ushort*)buf965 = max(*(ushort*)buf966, *(ushort*)buf967);
+    *(int*)buf968 = max(*(int*)buf969, *(int*)buf970);
+    *(uint*)buf971 = max(*(uint*)buf972, *(uint*)buf973);
+    *(char2*)buf974 = max(*(char2*)buf975, *(char2*)buf976);
+    *(uchar2*)buf977 = max(*(uchar2*)buf978, *(uchar2*)buf979);
+    *(short2*)buf980 = max(*(short2*)buf981, *(short2*)buf982);
+    *(ushort2*)buf983 = max(*(ushort2*)buf984, *(ushort2*)buf985);
+    *(int2*)buf986 = max(*(int2*)buf987, *(int2*)buf988);
+    *(uint2*)buf989 = max(*(uint2*)buf990, *(uint2*)buf991);
+    *(char3*)buf992 = max(*(char3*)buf993, *(char3*)buf994);
+    *(uchar3*)buf995 = max(*(uchar3*)buf996, *(uchar3*)buf997);
+    *(short3*)buf998 = max(*(short3*)buf999, *(short3*)buf1000);
+    *(ushort3*)buf1001 = max(*(ushort3*)buf1002, *(ushort3*)buf1003);
+    *(int3*)buf1004 = max(*(int3*)buf1005, *(int3*)buf1006);
+    *(uint3*)buf1007 = max(*(uint3*)buf1008, *(uint3*)buf1009);
+    *(char4*)buf1010 = max(*(char4*)buf1011, *(char4*)buf1012);
+    *(uchar4*)buf1013 = max(*(uchar4*)buf1014, *(uchar4*)buf1015);
+    *(short4*)buf1016 = max(*(short4*)buf1017, *(short4*)buf1018);
+    *(ushort4*)buf1019 = max(*(ushort4*)buf1020, *(ushort4*)buf1021);
+    *(int4*)buf1022 = max(*(int4*)buf1023, *(int4*)buf1024);
+    *(uint4*)buf1025 = max(*(uint4*)buf1026, *(uint4*)buf1027);
+    *(float*)buf1028 = min(*(float*)buf1029, *(float*)buf1030);
+    *(float2*)buf1031 = min(*(float2*)buf1032, *(float2*)buf1033);
+    *(float3*)buf1034 = min(*(float3*)buf1035, *(float3*)buf1036);
+    *(float4*)buf1037 = min(*(float4*)buf1038, *(float4*)buf1039);
+    *(float2*)buf1040 = min(*(float2*)buf1041, *(float*)buf1042);
+    *(float3*)buf1043 = min(*(float3*)buf1044, *(float*)buf1045);
+    *(float4*)buf1046 = min(*(float4*)buf1047, *(float*)buf1048);
+    *(char*)buf1049 = min(*(char*)buf1050, *(char*)buf1051);
+    *(uchar*)buf1052 = min(*(uchar*)buf1053, *(uchar*)buf1054);
+    *(short*)buf1055 = min(*(short*)buf1056, *(short*)buf1057);
+    *(ushort*)buf1058 = min(*(ushort*)buf1059, *(ushort*)buf1060);
+    *(int*)buf1061 = min(*(int*)buf1062, *(int*)buf1063);
+    *(uint*)buf1064 = min(*(uint*)buf1065, *(uint*)buf1066);
+    *(char2*)buf1067 = min(*(char2*)buf1068, *(char2*)buf1069);
+    *(uchar2*)buf1070 = min(*(uchar2*)buf1071, *(uchar2*)buf1072);
+    *(short2*)buf1073 = min(*(short2*)buf1074, *(short2*)buf1075);
+    *(ushort2*)buf1076 = min(*(ushort2*)buf1077, *(ushort2*)buf1078);
+    *(int2*)buf1079 = min(*(int2*)buf1080, *(int2*)buf1081);
+    *(uint2*)buf1082 = min(*(uint2*)buf1083, *(uint2*)buf1084);
+    *(char3*)buf1085 = min(*(char3*)buf1086, *(char3*)buf1087);
+    *(uchar3*)buf1088 = min(*(uchar3*)buf1089, *(uchar3*)buf1090);
+    *(short3*)buf1091 = min(*(short3*)buf1092, *(short3*)buf1093);
+    *(ushort3*)buf1094 = min(*(ushort3*)buf1095, *(ushort3*)buf1096);
+    *(int3*)buf1097 = min(*(int3*)buf1098, *(int3*)buf1099);
+    *(uint3*)buf1100 = min(*(uint3*)buf1101, *(uint3*)buf1102);
+    *(char4*)buf1103 = min(*(char4*)buf1104, *(char4*)buf1105);
+    *(uchar4*)buf1106 = min(*(uchar4*)buf1107, *(uchar4*)buf1108);
+    *(short4*)buf1109 = min(*(short4*)buf1110, *(short4*)buf1111);
+    *(ushort4*)buf1112 = min(*(ushort4*)buf1113, *(ushort4*)buf1114);
+    *(int4*)buf1115 = min(*(int4*)buf1116, *(int4*)buf1117);
+    *(uint4*)buf1118 = min(*(uint4*)buf1119, *(uint4*)buf1120);
+    *(float*)buf1121 = mix(*(float*)buf1122, *(float*)buf1123, *(float*)buf1124);
+    *(float2*)buf1125 = mix(*(float2*)buf1126, *(float2*)buf1127, *(float2*)buf1128);
+    *(float3*)buf1129 = mix(*(float3*)buf1130, *(float3*)buf1131, *(float3*)buf1132);
+    *(float4*)buf1133 = mix(*(float4*)buf1134, *(float4*)buf1135, *(float4*)buf1136);
+    *(float2*)buf1137 = mix(*(float2*)buf1138, *(float2*)buf1139, *(float*)buf1140);
+    *(float3*)buf1141 = mix(*(float3*)buf1142, *(float3*)buf1143, *(float*)buf1144);
+    *(float4*)buf1145 = mix(*(float4*)buf1146, *(float4*)buf1147, *(float*)buf1148);
+    *(float*)buf1149 = modf(*(float*)buf1150, (float*) buf1151);
+    *(float2*)buf1152 = modf(*(float2*)buf1153, (float2*) buf1154);
+    *(float3*)buf1155 = modf(*(float3*)buf1156, (float3*) buf1157);
+    *(float4*)buf1158 = modf(*(float4*)buf1159, (float4*) buf1160);
+    *(float*)buf1161 = nan(*(uint*)buf1162);
+    *(float*)buf1163 = native_exp(*(float*)buf1164);
+    *(float2*)buf1165 = native_exp(*(float2*)buf1166);
+    *(float3*)buf1167 = native_exp(*(float3*)buf1168);
+    *(float4*)buf1169 = native_exp(*(float4*)buf1170);
+    *(float*)buf1171 = native_exp10(*(float*)buf1172);
+    *(float2*)buf1173 = native_exp10(*(float2*)buf1174);
+    *(float3*)buf1175 = native_exp10(*(float3*)buf1176);
+    *(float4*)buf1177 = native_exp10(*(float4*)buf1178);
+    *(float*)buf1179 = native_exp2(*(float*)buf1180);
+    *(float2*)buf1181 = native_exp2(*(float2*)buf1182);
+    *(float3*)buf1183 = native_exp2(*(float3*)buf1184);
+    *(float4*)buf1185 = native_exp2(*(float4*)buf1186);
+    *(float*)buf1187 = native_log(*(float*)buf1188);
+    *(float2*)buf1189 = native_log(*(float2*)buf1190);
+    *(float3*)buf1191 = native_log(*(float3*)buf1192);
+    *(float4*)buf1193 = native_log(*(float4*)buf1194);
+    *(float*)buf1195 = native_log10(*(float*)buf1196);
+    *(float2*)buf1197 = native_log10(*(float2*)buf1198);
+    *(float3*)buf1199 = native_log10(*(float3*)buf1200);
+    *(float4*)buf1201 = native_log10(*(float4*)buf1202);
+    *(float*)buf1203 = native_log2(*(float*)buf1204);
+    *(float2*)buf1205 = native_log2(*(float2*)buf1206);
+    *(float3*)buf1207 = native_log2(*(float3*)buf1208);
+    *(float4*)buf1209 = native_log2(*(float4*)buf1210);
+    *(float*)buf1211 = native_powr(*(float*)buf1212, *(float*)buf1213);
+    *(float2*)buf1214 = native_powr(*(float2*)buf1215, *(float2*)buf1216);
+    *(float3*)buf1217 = native_powr(*(float3*)buf1218, *(float3*)buf1219);
+    *(float4*)buf1220 = native_powr(*(float4*)buf1221, *(float4*)buf1222);
+    *(float*)buf1223 = nextafter(*(float*)buf1224, *(float*)buf1225);
+    *(float2*)buf1226 = nextafter(*(float2*)buf1227, *(float2*)buf1228);
+    *(float3*)buf1229 = nextafter(*(float3*)buf1230, *(float3*)buf1231);
+    *(float4*)buf1232 = nextafter(*(float4*)buf1233, *(float4*)buf1234);
+    *(float*)buf1235 = normalize(*(float*)buf1236);
+    *(float2*)buf1237 = normalize(*(float2*)buf1238);
+    *(float3*)buf1239 = normalize(*(float3*)buf1240);
+    *(float4*)buf1241 = normalize(*(float4*)buf1242);
+    *(float*)buf1243 = pow(*(float*)buf1244, *(float*)buf1245);
+    *(float2*)buf1246 = pow(*(float2*)buf1247, *(float2*)buf1248);
+    *(float3*)buf1249 = pow(*(float3*)buf1250, *(float3*)buf1251);
+    *(float4*)buf1252 = pow(*(float4*)buf1253, *(float4*)buf1254);
+    *(float*)buf1255 = pown(*(float*)buf1256, *(int*)buf1257);
+    *(float2*)buf1258 = pown(*(float2*)buf1259, *(int2*)buf1260);
+    *(float3*)buf1261 = pown(*(float3*)buf1262, *(int3*)buf1263);
+    *(float4*)buf1264 = pown(*(float4*)buf1265, *(int4*)buf1266);
+    *(float*)buf1267 = powr(*(float*)buf1268, *(float*)buf1269);
+    *(float2*)buf1270 = powr(*(float2*)buf1271, *(float2*)buf1272);
+    *(float3*)buf1273 = powr(*(float3*)buf1274, *(float3*)buf1275);
+    *(float4*)buf1276 = powr(*(float4*)buf1277, *(float4*)buf1278);
+    *(float*)buf1279 = radians(*(float*)buf1280);
+    *(float2*)buf1281 = radians(*(float2*)buf1282);
+    *(float3*)buf1283 = radians(*(float3*)buf1284);
+    *(float4*)buf1285 = radians(*(float4*)buf1286);
+    *(float*)buf1287 = remainder(*(float*)buf1288, *(float*)buf1289);
+    *(float2*)buf1290 = remainder(*(float2*)buf1291, *(float2*)buf1292);
+    *(float3*)buf1293 = remainder(*(float3*)buf1294, *(float3*)buf1295);
+    *(float4*)buf1296 = remainder(*(float4*)buf1297, *(float4*)buf1298);
+    *(float*)buf1299 = remquo(*(float*)buf1300, *(float*)buf1301, (int*) buf1302);
+    *(float2*)buf1303 = remquo(*(float2*)buf1304, *(float2*)buf1305, (int2*) buf1306);
+    *(float3*)buf1307 = remquo(*(float3*)buf1308, *(float3*)buf1309, (int3*) buf1310);
+    *(float4*)buf1311 = remquo(*(float4*)buf1312, *(float4*)buf1313, (int4*) buf1314);
+    *(float*)buf1315 = rint(*(float*)buf1316);
+    *(float2*)buf1317 = rint(*(float2*)buf1318);
+    *(float3*)buf1319 = rint(*(float3*)buf1320);
+    *(float4*)buf1321 = rint(*(float4*)buf1322);
+    *(float*)buf1323 = rootn(*(float*)buf1324, *(int*)buf1325);
+    *(float2*)buf1326 = rootn(*(float2*)buf1327, *(int2*)buf1328);
+    *(float3*)buf1329 = rootn(*(float3*)buf1330, *(int3*)buf1331);
+    *(float4*)buf1332 = rootn(*(float4*)buf1333, *(int4*)buf1334);
+    *(float*)buf1335 = round(*(float*)buf1336);
+    *(float2*)buf1337 = round(*(float2*)buf1338);
+    *(float3*)buf1339 = round(*(float3*)buf1340);
+    *(float4*)buf1341 = round(*(float4*)buf1342);
+    rsAllocationCopy1DRange(*(rs_allocation*)buf1343, *(uint32_t*)buf1344, *(uint32_t*)buf1345, *(uint32_t*)buf1346, *(rs_allocation*)buf1347, *(uint32_t*)buf1348, *(uint32_t*)buf1349);
+    rsAllocationCopy2DRange(*(rs_allocation*)buf1350, *(uint32_t*)buf1351, *(uint32_t*)buf1352, *(uint32_t*)buf1353, *(rs_allocation_cubemap_face*)buf1354, *(uint32_t*)buf1355, *(uint32_t*)buf1356, *(rs_allocation*)buf1357, *(uint32_t*)buf1358, *(uint32_t*)buf1359, *(uint32_t*)buf1360, *(rs_allocation_cubemap_face*)buf1361);
+    *(uint32_t*)buf1362 = rsAllocationGetDimFaces(*(rs_allocation*)buf1363);
+    *(uint32_t*)buf1364 = rsAllocationGetDimLOD(*(rs_allocation*)buf1365);
+    *(uint32_t*)buf1366 = rsAllocationGetDimX(*(rs_allocation*)buf1367);
+    *(uint32_t*)buf1368 = rsAllocationGetDimY(*(rs_allocation*)buf1369);
+    *(uint32_t*)buf1370 = rsAllocationGetDimZ(*(rs_allocation*)buf1371);
+    *(rs_element*)buf1372 = rsAllocationGetElement(*(rs_allocation*)buf1373);
+    rsAllocationIoReceive(*(rs_allocation*)buf1374);
+    rsAllocationIoSend(*(rs_allocation*)buf1375);
+    *(int32_t*)buf1376 = rsAtomicAdd((volatile int32_t*) buf1377, *(int32_t*)buf1378);
+    *(int32_t*)buf1379 = rsAtomicAnd((volatile int32_t*) buf1380, *(int32_t*)buf1381);
+    *(int32_t*)buf1382 = rsAtomicCas((volatile int32_t*) buf1383, *(int32_t*)buf1384, *(int32_t*)buf1385);
+    *(uint32_t*)buf1386 = rsAtomicCas((volatile uint32_t*) buf1387, *(uint32_t*)buf1388, *(uint32_t*)buf1389);
+    *(int32_t*)buf1390 = rsAtomicDec((volatile int32_t*) buf1391);
+    *(int32_t*)buf1392 = rsAtomicInc((volatile int32_t*) buf1393);
+    *(uint32_t*)buf1394 = rsAtomicMax((volatile uint32_t*) buf1395, *(uint32_t*)buf1396);
+    *(int32_t*)buf1397 = rsAtomicMax((volatile int32_t*) buf1398, *(int32_t*)buf1399);
+    *(uint32_t*)buf1400 = rsAtomicMin((volatile uint32_t*) buf1401, *(uint32_t*)buf1402);
+    *(int32_t*)buf1403 = rsAtomicMin((volatile int32_t*) buf1404, *(int32_t*)buf1405);
+    *(int32_t*)buf1406 = rsAtomicOr((volatile int32_t*) buf1407, *(int32_t*)buf1408);
+    *(int32_t*)buf1409 = rsAtomicSub((volatile int32_t*) buf1410, *(int32_t*)buf1411);
+    *(int32_t*)buf1412 = rsAtomicXor((volatile int32_t*) buf1413, *(int32_t*)buf1414);
+    *(char*)buf1415 = rsClamp(*(char*)buf1416, *(char*)buf1417, *(char*)buf1418);
+    *(uchar*)buf1419 = rsClamp(*(uchar*)buf1420, *(uchar*)buf1421, *(uchar*)buf1422);
+    *(short*)buf1423 = rsClamp(*(short*)buf1424, *(short*)buf1425, *(short*)buf1426);
+    *(ushort*)buf1427 = rsClamp(*(ushort*)buf1428, *(ushort*)buf1429, *(ushort*)buf1430);
+    *(int*)buf1431 = rsClamp(*(int*)buf1432, *(int*)buf1433, *(int*)buf1434);
+    *(uint*)buf1435 = rsClamp(*(uint*)buf1436, *(uint*)buf1437, *(uint*)buf1438);
+    rsClearObject((rs_element*) buf1439);
+    rsClearObject((rs_type*) buf1440);
+    rsClearObject((rs_allocation*) buf1441);
+    rsClearObject((rs_sampler*) buf1442);
+    rsClearObject((rs_script*) buf1443);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf1426);
-    rsClearObject((rs_program_fragment*) buf1427);
-    rsClearObject((rs_program_vertex*) buf1428);
-    rsClearObject((rs_program_raster*) buf1429);
-    rsClearObject((rs_program_store*) buf1430);
-    rsClearObject((rs_font*) buf1431);
+    rsClearObject((rs_mesh*) buf1444);
+    rsClearObject((rs_program_fragment*) buf1445);
+    rsClearObject((rs_program_vertex*) buf1446);
+    rsClearObject((rs_program_raster*) buf1447);
+    rsClearObject((rs_program_store*) buf1448);
+    rsClearObject((rs_font*) buf1449);
 #endif
-    rsDebug((const char*) buf1432, *(double*)buf1433);
-    rsDebug((const char*) buf1434, *(int*)buf1435);
-    rsDebug((const char*) buf1436, *(uint*)buf1437);
-    rsDebug((const char*) buf1438, *(long*)buf1439);
-    rsDebug((const char*) buf1440, *(ulong*)buf1441);
-    rsDebug((const char*) buf1442, *(int2*)buf1443);
-    rsDebug((const char*) buf1444, *(int3*)buf1445);
-    rsDebug((const char*) buf1446, *(int4*)buf1447);
-    rsDebug((const char*) buf1448, *(uint2*)buf1449);
-    rsDebug((const char*) buf1450, *(uint3*)buf1451);
-    rsDebug((const char*) buf1452, *(uint4*)buf1453);
-    rsDebug((const char*) buf1454, *(long2*)buf1455);
-    rsDebug((const char*) buf1456, *(long3*)buf1457);
-    rsDebug((const char*) buf1458, *(long4*)buf1459);
-    rsDebug((const char*) buf1460, *(ulong2*)buf1461);
-    rsDebug((const char*) buf1462, *(ulong3*)buf1463);
-    rsDebug((const char*) buf1464, *(ulong4*)buf1465);
-    rsDebug((const char*) buf1466, *(float*)buf1467);
-    rsDebug((const char*) buf1468, *(float2*)buf1469);
-    rsDebug((const char*) buf1470, *(float3*)buf1471);
-    rsDebug((const char*) buf1472, *(float4*)buf1473);
-    rsDebug((const char*) buf1474, *(char*)buf1475);
-    rsDebug((const char*) buf1476, *(char2*)buf1477);
-    rsDebug((const char*) buf1478, *(char3*)buf1479);
-    rsDebug((const char*) buf1480, *(char4*)buf1481);
-    rsDebug((const char*) buf1482, *(uchar*)buf1483);
-    rsDebug((const char*) buf1484, *(uchar2*)buf1485);
-    rsDebug((const char*) buf1486, *(uchar3*)buf1487);
-    rsDebug((const char*) buf1488, *(uchar4*)buf1489);
-    rsDebug((const char*) buf1490, *(short*)buf1491);
-    rsDebug((const char*) buf1492, *(short2*)buf1493);
-    rsDebug((const char*) buf1494, *(short3*)buf1495);
-    rsDebug((const char*) buf1496, *(short4*)buf1497);
-    rsDebug((const char*) buf1498, *(ushort*)buf1499);
-    rsDebug((const char*) buf1500, *(ushort2*)buf1501);
-    rsDebug((const char*) buf1502, *(ushort3*)buf1503);
-    rsDebug((const char*) buf1504, *(ushort4*)buf1505);
-    rsDebug((const char*) buf1506, *(float*)buf1507, *(float*)buf1508);
-    rsDebug((const char*) buf1509, *(float*)buf1510, *(float*)buf1511, *(float*)buf1512);
-    rsDebug((const char*) buf1513, *(float*)buf1514, *(float*)buf1515, *(float*)buf1516, *(float*)buf1517);
-    rsDebug((const char*) buf1518, *(long long*)buf1519);
-    rsDebug((const char*) buf1520, *(unsigned long long*)buf1521);
-    rsDebug((const char*) buf1522, (const void*) buf1523);
-    rsDebug((const char*) buf1524, (const rs_matrix4x4*) buf1525);
-    rsDebug((const char*) buf1526, (const rs_matrix3x3*) buf1527);
-    rsDebug((const char*) buf1528, (const rs_matrix2x2*) buf1529);
-    *(uint32_t*)buf1530 = rsElementGetBytesSize(*(rs_element*)buf1531);
-    *(rs_data_kind*)buf1532 = rsElementGetDataKind(*(rs_element*)buf1533);
-    *(rs_data_type*)buf1534 = rsElementGetDataType(*(rs_element*)buf1535);
-    *(rs_element*)buf1536 = rsElementGetSubElement(*(rs_element*)buf1537, *(uint32_t*)buf1538);
-    *(uint32_t*)buf1539 = rsElementGetSubElementArraySize(*(rs_element*)buf1540, *(uint32_t*)buf1541);
-    *(uint32_t*)buf1542 = rsElementGetSubElementCount(*(rs_element*)buf1543);
-    *(uint32_t*)buf1544 = rsElementGetSubElementName(*(rs_element*)buf1545, *(uint32_t*)buf1546, (char*) buf1547, *(uint32_t*)buf1548);
-    *(uint32_t*)buf1549 = rsElementGetSubElementNameLength(*(rs_element*)buf1550, *(uint32_t*)buf1551);
-    *(uint32_t*)buf1552 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf1553, *(uint32_t*)buf1554);
-    *(uint32_t*)buf1555 = rsElementGetVectorSize(*(rs_element*)buf1556);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1557, (float4*) buf1558, (float4*) buf1559, (float4*) buf1560, (float4*) buf1561, (float4*) buf1562, (float4*) buf1563);
-    rsForEach(*(rs_script*)buf1564, *(rs_allocation*)buf1565, *(rs_allocation*)buf1566, (const void*) buf1567, *(size_t*)buf1568, (const rs_script_call_t*) buf1569);
-    rsForEach(*(rs_script*)buf1570, *(rs_allocation*)buf1571, *(rs_allocation*)buf1572, (const void*) buf1573, *(size_t*)buf1574);
-    rsForEach(*(rs_script*)buf1575, *(rs_allocation*)buf1576, *(rs_allocation*)buf1577);
-    *(float*)buf1578 = rsFrac(*(float*)buf1579);
-    *(rs_allocation*)buf1580 = rsGetAllocation((const void*) buf1581);
-    *(float*)buf1582 = rsGetDt();
-    *(const void**)buf1583 = rsGetElementAt(*(rs_allocation*)buf1584, *(uint32_t*)buf1585);
-    *(const void**)buf1586 = rsGetElementAt(*(rs_allocation*)buf1587, *(uint32_t*)buf1588, *(uint32_t*)buf1589);
-    *(const void**)buf1590 = rsGetElementAt(*(rs_allocation*)buf1591, *(uint32_t*)buf1592, *(uint32_t*)buf1593, *(uint32_t*)buf1594);
-    *(float*)buf1595 = rsGetElementAt_float(*(rs_allocation*)buf1596, *(uint32_t*)buf1597);
-    *(float2*)buf1598 = rsGetElementAt_float2(*(rs_allocation*)buf1599, *(uint32_t*)buf1600);
-    *(float3*)buf1601 = rsGetElementAt_float3(*(rs_allocation*)buf1602, *(uint32_t*)buf1603);
-    *(float4*)buf1604 = rsGetElementAt_float4(*(rs_allocation*)buf1605, *(uint32_t*)buf1606);
-    *(double*)buf1607 = rsGetElementAt_double(*(rs_allocation*)buf1608, *(uint32_t*)buf1609);
-    *(double2*)buf1610 = rsGetElementAt_double2(*(rs_allocation*)buf1611, *(uint32_t*)buf1612);
-    *(double3*)buf1613 = rsGetElementAt_double3(*(rs_allocation*)buf1614, *(uint32_t*)buf1615);
-    *(double4*)buf1616 = rsGetElementAt_double4(*(rs_allocation*)buf1617, *(uint32_t*)buf1618);
-    *(char*)buf1619 = rsGetElementAt_char(*(rs_allocation*)buf1620, *(uint32_t*)buf1621);
-    *(char2*)buf1622 = rsGetElementAt_char2(*(rs_allocation*)buf1623, *(uint32_t*)buf1624);
-    *(char3*)buf1625 = rsGetElementAt_char3(*(rs_allocation*)buf1626, *(uint32_t*)buf1627);
-    *(char4*)buf1628 = rsGetElementAt_char4(*(rs_allocation*)buf1629, *(uint32_t*)buf1630);
-    *(uchar*)buf1631 = rsGetElementAt_uchar(*(rs_allocation*)buf1632, *(uint32_t*)buf1633);
-    *(uchar2*)buf1634 = rsGetElementAt_uchar2(*(rs_allocation*)buf1635, *(uint32_t*)buf1636);
-    *(uchar3*)buf1637 = rsGetElementAt_uchar3(*(rs_allocation*)buf1638, *(uint32_t*)buf1639);
-    *(uchar4*)buf1640 = rsGetElementAt_uchar4(*(rs_allocation*)buf1641, *(uint32_t*)buf1642);
-    *(short*)buf1643 = rsGetElementAt_short(*(rs_allocation*)buf1644, *(uint32_t*)buf1645);
-    *(short2*)buf1646 = rsGetElementAt_short2(*(rs_allocation*)buf1647, *(uint32_t*)buf1648);
-    *(short3*)buf1649 = rsGetElementAt_short3(*(rs_allocation*)buf1650, *(uint32_t*)buf1651);
-    *(short4*)buf1652 = rsGetElementAt_short4(*(rs_allocation*)buf1653, *(uint32_t*)buf1654);
-    *(ushort*)buf1655 = rsGetElementAt_ushort(*(rs_allocation*)buf1656, *(uint32_t*)buf1657);
-    *(ushort2*)buf1658 = rsGetElementAt_ushort2(*(rs_allocation*)buf1659, *(uint32_t*)buf1660);
-    *(ushort3*)buf1661 = rsGetElementAt_ushort3(*(rs_allocation*)buf1662, *(uint32_t*)buf1663);
-    *(ushort4*)buf1664 = rsGetElementAt_ushort4(*(rs_allocation*)buf1665, *(uint32_t*)buf1666);
-    *(int*)buf1667 = rsGetElementAt_int(*(rs_allocation*)buf1668, *(uint32_t*)buf1669);
-    *(int2*)buf1670 = rsGetElementAt_int2(*(rs_allocation*)buf1671, *(uint32_t*)buf1672);
-    *(int3*)buf1673 = rsGetElementAt_int3(*(rs_allocation*)buf1674, *(uint32_t*)buf1675);
-    *(int4*)buf1676 = rsGetElementAt_int4(*(rs_allocation*)buf1677, *(uint32_t*)buf1678);
-    *(uint*)buf1679 = rsGetElementAt_uint(*(rs_allocation*)buf1680, *(uint32_t*)buf1681);
-    *(uint2*)buf1682 = rsGetElementAt_uint2(*(rs_allocation*)buf1683, *(uint32_t*)buf1684);
-    *(uint3*)buf1685 = rsGetElementAt_uint3(*(rs_allocation*)buf1686, *(uint32_t*)buf1687);
-    *(uint4*)buf1688 = rsGetElementAt_uint4(*(rs_allocation*)buf1689, *(uint32_t*)buf1690);
-    *(long*)buf1691 = rsGetElementAt_long(*(rs_allocation*)buf1692, *(uint32_t*)buf1693);
-    *(long2*)buf1694 = rsGetElementAt_long2(*(rs_allocation*)buf1695, *(uint32_t*)buf1696);
-    *(long3*)buf1697 = rsGetElementAt_long3(*(rs_allocation*)buf1698, *(uint32_t*)buf1699);
-    *(long4*)buf1700 = rsGetElementAt_long4(*(rs_allocation*)buf1701, *(uint32_t*)buf1702);
-    *(ulong*)buf1703 = rsGetElementAt_ulong(*(rs_allocation*)buf1704, *(uint32_t*)buf1705);
-    *(ulong2*)buf1706 = rsGetElementAt_ulong2(*(rs_allocation*)buf1707, *(uint32_t*)buf1708);
-    *(ulong3*)buf1709 = rsGetElementAt_ulong3(*(rs_allocation*)buf1710, *(uint32_t*)buf1711);
-    *(ulong4*)buf1712 = rsGetElementAt_ulong4(*(rs_allocation*)buf1713, *(uint32_t*)buf1714);
-    *(float*)buf1715 = rsGetElementAt_float(*(rs_allocation*)buf1716, *(uint32_t*)buf1717, *(uint32_t*)buf1718);
-    *(float2*)buf1719 = rsGetElementAt_float2(*(rs_allocation*)buf1720, *(uint32_t*)buf1721, *(uint32_t*)buf1722);
-    *(float3*)buf1723 = rsGetElementAt_float3(*(rs_allocation*)buf1724, *(uint32_t*)buf1725, *(uint32_t*)buf1726);
-    *(float4*)buf1727 = rsGetElementAt_float4(*(rs_allocation*)buf1728, *(uint32_t*)buf1729, *(uint32_t*)buf1730);
-    *(double*)buf1731 = rsGetElementAt_double(*(rs_allocation*)buf1732, *(uint32_t*)buf1733, *(uint32_t*)buf1734);
-    *(double2*)buf1735 = rsGetElementAt_double2(*(rs_allocation*)buf1736, *(uint32_t*)buf1737, *(uint32_t*)buf1738);
-    *(double3*)buf1739 = rsGetElementAt_double3(*(rs_allocation*)buf1740, *(uint32_t*)buf1741, *(uint32_t*)buf1742);
-    *(double4*)buf1743 = rsGetElementAt_double4(*(rs_allocation*)buf1744, *(uint32_t*)buf1745, *(uint32_t*)buf1746);
-    *(char*)buf1747 = rsGetElementAt_char(*(rs_allocation*)buf1748, *(uint32_t*)buf1749, *(uint32_t*)buf1750);
-    *(char2*)buf1751 = rsGetElementAt_char2(*(rs_allocation*)buf1752, *(uint32_t*)buf1753, *(uint32_t*)buf1754);
-    *(char3*)buf1755 = rsGetElementAt_char3(*(rs_allocation*)buf1756, *(uint32_t*)buf1757, *(uint32_t*)buf1758);
-    *(char4*)buf1759 = rsGetElementAt_char4(*(rs_allocation*)buf1760, *(uint32_t*)buf1761, *(uint32_t*)buf1762);
-    *(uchar*)buf1763 = rsGetElementAt_uchar(*(rs_allocation*)buf1764, *(uint32_t*)buf1765, *(uint32_t*)buf1766);
-    *(uchar2*)buf1767 = rsGetElementAt_uchar2(*(rs_allocation*)buf1768, *(uint32_t*)buf1769, *(uint32_t*)buf1770);
-    *(uchar3*)buf1771 = rsGetElementAt_uchar3(*(rs_allocation*)buf1772, *(uint32_t*)buf1773, *(uint32_t*)buf1774);
-    *(uchar4*)buf1775 = rsGetElementAt_uchar4(*(rs_allocation*)buf1776, *(uint32_t*)buf1777, *(uint32_t*)buf1778);
-    *(short*)buf1779 = rsGetElementAt_short(*(rs_allocation*)buf1780, *(uint32_t*)buf1781, *(uint32_t*)buf1782);
-    *(short2*)buf1783 = rsGetElementAt_short2(*(rs_allocation*)buf1784, *(uint32_t*)buf1785, *(uint32_t*)buf1786);
-    *(short3*)buf1787 = rsGetElementAt_short3(*(rs_allocation*)buf1788, *(uint32_t*)buf1789, *(uint32_t*)buf1790);
-    *(short4*)buf1791 = rsGetElementAt_short4(*(rs_allocation*)buf1792, *(uint32_t*)buf1793, *(uint32_t*)buf1794);
-    *(ushort*)buf1795 = rsGetElementAt_ushort(*(rs_allocation*)buf1796, *(uint32_t*)buf1797, *(uint32_t*)buf1798);
-    *(ushort2*)buf1799 = rsGetElementAt_ushort2(*(rs_allocation*)buf1800, *(uint32_t*)buf1801, *(uint32_t*)buf1802);
-    *(ushort3*)buf1803 = rsGetElementAt_ushort3(*(rs_allocation*)buf1804, *(uint32_t*)buf1805, *(uint32_t*)buf1806);
-    *(ushort4*)buf1807 = rsGetElementAt_ushort4(*(rs_allocation*)buf1808, *(uint32_t*)buf1809, *(uint32_t*)buf1810);
-    *(int*)buf1811 = rsGetElementAt_int(*(rs_allocation*)buf1812, *(uint32_t*)buf1813, *(uint32_t*)buf1814);
-    *(int2*)buf1815 = rsGetElementAt_int2(*(rs_allocation*)buf1816, *(uint32_t*)buf1817, *(uint32_t*)buf1818);
-    *(int3*)buf1819 = rsGetElementAt_int3(*(rs_allocation*)buf1820, *(uint32_t*)buf1821, *(uint32_t*)buf1822);
-    *(int4*)buf1823 = rsGetElementAt_int4(*(rs_allocation*)buf1824, *(uint32_t*)buf1825, *(uint32_t*)buf1826);
-    *(uint*)buf1827 = rsGetElementAt_uint(*(rs_allocation*)buf1828, *(uint32_t*)buf1829, *(uint32_t*)buf1830);
-    *(uint2*)buf1831 = rsGetElementAt_uint2(*(rs_allocation*)buf1832, *(uint32_t*)buf1833, *(uint32_t*)buf1834);
-    *(uint3*)buf1835 = rsGetElementAt_uint3(*(rs_allocation*)buf1836, *(uint32_t*)buf1837, *(uint32_t*)buf1838);
-    *(uint4*)buf1839 = rsGetElementAt_uint4(*(rs_allocation*)buf1840, *(uint32_t*)buf1841, *(uint32_t*)buf1842);
-    *(long*)buf1843 = rsGetElementAt_long(*(rs_allocation*)buf1844, *(uint32_t*)buf1845, *(uint32_t*)buf1846);
-    *(long2*)buf1847 = rsGetElementAt_long2(*(rs_allocation*)buf1848, *(uint32_t*)buf1849, *(uint32_t*)buf1850);
-    *(long3*)buf1851 = rsGetElementAt_long3(*(rs_allocation*)buf1852, *(uint32_t*)buf1853, *(uint32_t*)buf1854);
-    *(long4*)buf1855 = rsGetElementAt_long4(*(rs_allocation*)buf1856, *(uint32_t*)buf1857, *(uint32_t*)buf1858);
-    *(ulong*)buf1859 = rsGetElementAt_ulong(*(rs_allocation*)buf1860, *(uint32_t*)buf1861, *(uint32_t*)buf1862);
-    *(ulong2*)buf1863 = rsGetElementAt_ulong2(*(rs_allocation*)buf1864, *(uint32_t*)buf1865, *(uint32_t*)buf1866);
-    *(ulong3*)buf1867 = rsGetElementAt_ulong3(*(rs_allocation*)buf1868, *(uint32_t*)buf1869, *(uint32_t*)buf1870);
-    *(ulong4*)buf1871 = rsGetElementAt_ulong4(*(rs_allocation*)buf1872, *(uint32_t*)buf1873, *(uint32_t*)buf1874);
-    *(float*)buf1875 = rsGetElementAt_float(*(rs_allocation*)buf1876, *(uint32_t*)buf1877, *(uint32_t*)buf1878, *(uint32_t*)buf1879);
-    *(float2*)buf1880 = rsGetElementAt_float2(*(rs_allocation*)buf1881, *(uint32_t*)buf1882, *(uint32_t*)buf1883, *(uint32_t*)buf1884);
-    *(float3*)buf1885 = rsGetElementAt_float3(*(rs_allocation*)buf1886, *(uint32_t*)buf1887, *(uint32_t*)buf1888, *(uint32_t*)buf1889);
-    *(float4*)buf1890 = rsGetElementAt_float4(*(rs_allocation*)buf1891, *(uint32_t*)buf1892, *(uint32_t*)buf1893, *(uint32_t*)buf1894);
-    *(double*)buf1895 = rsGetElementAt_double(*(rs_allocation*)buf1896, *(uint32_t*)buf1897, *(uint32_t*)buf1898, *(uint32_t*)buf1899);
-    *(double2*)buf1900 = rsGetElementAt_double2(*(rs_allocation*)buf1901, *(uint32_t*)buf1902, *(uint32_t*)buf1903, *(uint32_t*)buf1904);
-    *(double3*)buf1905 = rsGetElementAt_double3(*(rs_allocation*)buf1906, *(uint32_t*)buf1907, *(uint32_t*)buf1908, *(uint32_t*)buf1909);
-    *(double4*)buf1910 = rsGetElementAt_double4(*(rs_allocation*)buf1911, *(uint32_t*)buf1912, *(uint32_t*)buf1913, *(uint32_t*)buf1914);
-    *(char*)buf1915 = rsGetElementAt_char(*(rs_allocation*)buf1916, *(uint32_t*)buf1917, *(uint32_t*)buf1918, *(uint32_t*)buf1919);
-    *(char2*)buf1920 = rsGetElementAt_char2(*(rs_allocation*)buf1921, *(uint32_t*)buf1922, *(uint32_t*)buf1923, *(uint32_t*)buf1924);
-    *(char3*)buf1925 = rsGetElementAt_char3(*(rs_allocation*)buf1926, *(uint32_t*)buf1927, *(uint32_t*)buf1928, *(uint32_t*)buf1929);
-    *(char4*)buf1930 = rsGetElementAt_char4(*(rs_allocation*)buf1931, *(uint32_t*)buf1932, *(uint32_t*)buf1933, *(uint32_t*)buf1934);
-    *(uchar*)buf1935 = rsGetElementAt_uchar(*(rs_allocation*)buf1936, *(uint32_t*)buf1937, *(uint32_t*)buf1938, *(uint32_t*)buf1939);
-    *(uchar2*)buf1940 = rsGetElementAt_uchar2(*(rs_allocation*)buf1941, *(uint32_t*)buf1942, *(uint32_t*)buf1943, *(uint32_t*)buf1944);
-    *(uchar3*)buf1945 = rsGetElementAt_uchar3(*(rs_allocation*)buf1946, *(uint32_t*)buf1947, *(uint32_t*)buf1948, *(uint32_t*)buf1949);
-    *(uchar4*)buf1950 = rsGetElementAt_uchar4(*(rs_allocation*)buf1951, *(uint32_t*)buf1952, *(uint32_t*)buf1953, *(uint32_t*)buf1954);
-    *(short*)buf1955 = rsGetElementAt_short(*(rs_allocation*)buf1956, *(uint32_t*)buf1957, *(uint32_t*)buf1958, *(uint32_t*)buf1959);
-    *(short2*)buf1960 = rsGetElementAt_short2(*(rs_allocation*)buf1961, *(uint32_t*)buf1962, *(uint32_t*)buf1963, *(uint32_t*)buf1964);
-    *(short3*)buf1965 = rsGetElementAt_short3(*(rs_allocation*)buf1966, *(uint32_t*)buf1967, *(uint32_t*)buf1968, *(uint32_t*)buf1969);
-    *(short4*)buf1970 = rsGetElementAt_short4(*(rs_allocation*)buf1971, *(uint32_t*)buf1972, *(uint32_t*)buf1973, *(uint32_t*)buf1974);
-    *(ushort*)buf1975 = rsGetElementAt_ushort(*(rs_allocation*)buf1976, *(uint32_t*)buf1977, *(uint32_t*)buf1978, *(uint32_t*)buf1979);
-    *(ushort2*)buf1980 = rsGetElementAt_ushort2(*(rs_allocation*)buf1981, *(uint32_t*)buf1982, *(uint32_t*)buf1983, *(uint32_t*)buf1984);
-    *(ushort3*)buf1985 = rsGetElementAt_ushort3(*(rs_allocation*)buf1986, *(uint32_t*)buf1987, *(uint32_t*)buf1988, *(uint32_t*)buf1989);
-    *(ushort4*)buf1990 = rsGetElementAt_ushort4(*(rs_allocation*)buf1991, *(uint32_t*)buf1992, *(uint32_t*)buf1993, *(uint32_t*)buf1994);
-    *(int*)buf1995 = rsGetElementAt_int(*(rs_allocation*)buf1996, *(uint32_t*)buf1997, *(uint32_t*)buf1998, *(uint32_t*)buf1999);
-    *(int2*)buf2000 = rsGetElementAt_int2(*(rs_allocation*)buf2001, *(uint32_t*)buf2002, *(uint32_t*)buf2003, *(uint32_t*)buf2004);
-    *(int3*)buf2005 = rsGetElementAt_int3(*(rs_allocation*)buf2006, *(uint32_t*)buf2007, *(uint32_t*)buf2008, *(uint32_t*)buf2009);
-    *(int4*)buf2010 = rsGetElementAt_int4(*(rs_allocation*)buf2011, *(uint32_t*)buf2012, *(uint32_t*)buf2013, *(uint32_t*)buf2014);
-    *(uint*)buf2015 = rsGetElementAt_uint(*(rs_allocation*)buf2016, *(uint32_t*)buf2017, *(uint32_t*)buf2018, *(uint32_t*)buf2019);
-    *(uint2*)buf2020 = rsGetElementAt_uint2(*(rs_allocation*)buf2021, *(uint32_t*)buf2022, *(uint32_t*)buf2023, *(uint32_t*)buf2024);
-    *(uint3*)buf2025 = rsGetElementAt_uint3(*(rs_allocation*)buf2026, *(uint32_t*)buf2027, *(uint32_t*)buf2028, *(uint32_t*)buf2029);
-    *(uint4*)buf2030 = rsGetElementAt_uint4(*(rs_allocation*)buf2031, *(uint32_t*)buf2032, *(uint32_t*)buf2033, *(uint32_t*)buf2034);
-    *(long*)buf2035 = rsGetElementAt_long(*(rs_allocation*)buf2036, *(uint32_t*)buf2037, *(uint32_t*)buf2038, *(uint32_t*)buf2039);
-    *(long2*)buf2040 = rsGetElementAt_long2(*(rs_allocation*)buf2041, *(uint32_t*)buf2042, *(uint32_t*)buf2043, *(uint32_t*)buf2044);
-    *(long3*)buf2045 = rsGetElementAt_long3(*(rs_allocation*)buf2046, *(uint32_t*)buf2047, *(uint32_t*)buf2048, *(uint32_t*)buf2049);
-    *(long4*)buf2050 = rsGetElementAt_long4(*(rs_allocation*)buf2051, *(uint32_t*)buf2052, *(uint32_t*)buf2053, *(uint32_t*)buf2054);
-    *(ulong*)buf2055 = rsGetElementAt_ulong(*(rs_allocation*)buf2056, *(uint32_t*)buf2057, *(uint32_t*)buf2058, *(uint32_t*)buf2059);
-    *(ulong2*)buf2060 = rsGetElementAt_ulong2(*(rs_allocation*)buf2061, *(uint32_t*)buf2062, *(uint32_t*)buf2063, *(uint32_t*)buf2064);
-    *(ulong3*)buf2065 = rsGetElementAt_ulong3(*(rs_allocation*)buf2066, *(uint32_t*)buf2067, *(uint32_t*)buf2068, *(uint32_t*)buf2069);
-    *(ulong4*)buf2070 = rsGetElementAt_ulong4(*(rs_allocation*)buf2071, *(uint32_t*)buf2072, *(uint32_t*)buf2073, *(uint32_t*)buf2074);
-    *(uchar*)buf2075 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf2076, *(uint32_t*)buf2077, *(uint32_t*)buf2078);
-    *(uchar*)buf2079 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf2080, *(uint32_t*)buf2081, *(uint32_t*)buf2082);
-    *(uchar*)buf2083 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf2084, *(uint32_t*)buf2085, *(uint32_t*)buf2086);
-    *(bool*)buf2087 = rsIsObject(*(rs_element*)buf2088);
-    *(bool*)buf2089 = rsIsObject(*(rs_type*)buf2090);
-    *(bool*)buf2091 = rsIsObject(*(rs_allocation*)buf2092);
-    *(bool*)buf2093 = rsIsObject(*(rs_sampler*)buf2094);
-    *(bool*)buf2095 = rsIsObject(*(rs_script*)buf2096);
+    rsDebug((const char*) buf1450, *(double*)buf1451);
+    rsDebug((const char*) buf1452, *(int*)buf1453);
+    rsDebug((const char*) buf1454, *(uint*)buf1455);
+    rsDebug((const char*) buf1456, *(long*)buf1457);
+    rsDebug((const char*) buf1458, *(ulong*)buf1459);
+    rsDebug((const char*) buf1460, *(int2*)buf1461);
+    rsDebug((const char*) buf1462, *(int3*)buf1463);
+    rsDebug((const char*) buf1464, *(int4*)buf1465);
+    rsDebug((const char*) buf1466, *(uint2*)buf1467);
+    rsDebug((const char*) buf1468, *(uint3*)buf1469);
+    rsDebug((const char*) buf1470, *(uint4*)buf1471);
+    rsDebug((const char*) buf1472, *(long2*)buf1473);
+    rsDebug((const char*) buf1474, *(long3*)buf1475);
+    rsDebug((const char*) buf1476, *(long4*)buf1477);
+    rsDebug((const char*) buf1478, *(ulong2*)buf1479);
+    rsDebug((const char*) buf1480, *(ulong3*)buf1481);
+    rsDebug((const char*) buf1482, *(ulong4*)buf1483);
+    rsDebug((const char*) buf1484, *(float*)buf1485);
+    rsDebug((const char*) buf1486, *(float2*)buf1487);
+    rsDebug((const char*) buf1488, *(float3*)buf1489);
+    rsDebug((const char*) buf1490, *(float4*)buf1491);
+    rsDebug((const char*) buf1492, *(char*)buf1493);
+    rsDebug((const char*) buf1494, *(char2*)buf1495);
+    rsDebug((const char*) buf1496, *(char3*)buf1497);
+    rsDebug((const char*) buf1498, *(char4*)buf1499);
+    rsDebug((const char*) buf1500, *(uchar*)buf1501);
+    rsDebug((const char*) buf1502, *(uchar2*)buf1503);
+    rsDebug((const char*) buf1504, *(uchar3*)buf1505);
+    rsDebug((const char*) buf1506, *(uchar4*)buf1507);
+    rsDebug((const char*) buf1508, *(short*)buf1509);
+    rsDebug((const char*) buf1510, *(short2*)buf1511);
+    rsDebug((const char*) buf1512, *(short3*)buf1513);
+    rsDebug((const char*) buf1514, *(short4*)buf1515);
+    rsDebug((const char*) buf1516, *(ushort*)buf1517);
+    rsDebug((const char*) buf1518, *(ushort2*)buf1519);
+    rsDebug((const char*) buf1520, *(ushort3*)buf1521);
+    rsDebug((const char*) buf1522, *(ushort4*)buf1523);
+    rsDebug((const char*) buf1524, *(float*)buf1525, *(float*)buf1526);
+    rsDebug((const char*) buf1527, *(float*)buf1528, *(float*)buf1529, *(float*)buf1530);
+    rsDebug((const char*) buf1531, *(float*)buf1532, *(float*)buf1533, *(float*)buf1534, *(float*)buf1535);
+    rsDebug((const char*) buf1536, *(long long*)buf1537);
+    rsDebug((const char*) buf1538, *(unsigned long long*)buf1539);
+    rsDebug((const char*) buf1540, (const void*) buf1541);
+    rsDebug((const char*) buf1542, (const rs_matrix4x4*) buf1543);
+    rsDebug((const char*) buf1544, (const rs_matrix3x3*) buf1545);
+    rsDebug((const char*) buf1546, (const rs_matrix2x2*) buf1547);
+    *(uint32_t*)buf1548 = rsElementGetBytesSize(*(rs_element*)buf1549);
+    *(rs_data_kind*)buf1550 = rsElementGetDataKind(*(rs_element*)buf1551);
+    *(rs_data_type*)buf1552 = rsElementGetDataType(*(rs_element*)buf1553);
+    *(rs_element*)buf1554 = rsElementGetSubElement(*(rs_element*)buf1555, *(uint32_t*)buf1556);
+    *(uint32_t*)buf1557 = rsElementGetSubElementArraySize(*(rs_element*)buf1558, *(uint32_t*)buf1559);
+    *(uint32_t*)buf1560 = rsElementGetSubElementCount(*(rs_element*)buf1561);
+    *(uint32_t*)buf1562 = rsElementGetSubElementName(*(rs_element*)buf1563, *(uint32_t*)buf1564, (char*) buf1565, *(uint32_t*)buf1566);
+    *(uint32_t*)buf1567 = rsElementGetSubElementNameLength(*(rs_element*)buf1568, *(uint32_t*)buf1569);
+    *(uint32_t*)buf1570 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf1571, *(uint32_t*)buf1572);
+    *(uint32_t*)buf1573 = rsElementGetVectorSize(*(rs_element*)buf1574);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1575, (float4*) buf1576, (float4*) buf1577, (float4*) buf1578, (float4*) buf1579, (float4*) buf1580, (float4*) buf1581);
+    rsForEach(*(rs_script*)buf1582, *(rs_allocation*)buf1583, *(rs_allocation*)buf1584, (const void*) buf1585, *(size_t*)buf1586, (const rs_script_call_t*) buf1587);
+    rsForEach(*(rs_script*)buf1588, *(rs_allocation*)buf1589, *(rs_allocation*)buf1590, (const void*) buf1591, *(size_t*)buf1592);
+    rsForEach(*(rs_script*)buf1593, *(rs_allocation*)buf1594, *(rs_allocation*)buf1595);
+    *(float*)buf1596 = rsFrac(*(float*)buf1597);
+    *(rs_allocation*)buf1598 = rsGetAllocation((const void*) buf1599);
+    *(float*)buf1600 = rsGetDt();
+    *(const void**)buf1601 = rsGetElementAt(*(rs_allocation*)buf1602, *(uint32_t*)buf1603);
+    *(const void**)buf1604 = rsGetElementAt(*(rs_allocation*)buf1605, *(uint32_t*)buf1606, *(uint32_t*)buf1607);
+    *(const void**)buf1608 = rsGetElementAt(*(rs_allocation*)buf1609, *(uint32_t*)buf1610, *(uint32_t*)buf1611, *(uint32_t*)buf1612);
+    *(float*)buf1613 = rsGetElementAt_float(*(rs_allocation*)buf1614, *(uint32_t*)buf1615);
+    *(float2*)buf1616 = rsGetElementAt_float2(*(rs_allocation*)buf1617, *(uint32_t*)buf1618);
+    *(float3*)buf1619 = rsGetElementAt_float3(*(rs_allocation*)buf1620, *(uint32_t*)buf1621);
+    *(float4*)buf1622 = rsGetElementAt_float4(*(rs_allocation*)buf1623, *(uint32_t*)buf1624);
+    *(double*)buf1625 = rsGetElementAt_double(*(rs_allocation*)buf1626, *(uint32_t*)buf1627);
+    *(double2*)buf1628 = rsGetElementAt_double2(*(rs_allocation*)buf1629, *(uint32_t*)buf1630);
+    *(double3*)buf1631 = rsGetElementAt_double3(*(rs_allocation*)buf1632, *(uint32_t*)buf1633);
+    *(double4*)buf1634 = rsGetElementAt_double4(*(rs_allocation*)buf1635, *(uint32_t*)buf1636);
+    *(char*)buf1637 = rsGetElementAt_char(*(rs_allocation*)buf1638, *(uint32_t*)buf1639);
+    *(char2*)buf1640 = rsGetElementAt_char2(*(rs_allocation*)buf1641, *(uint32_t*)buf1642);
+    *(char3*)buf1643 = rsGetElementAt_char3(*(rs_allocation*)buf1644, *(uint32_t*)buf1645);
+    *(char4*)buf1646 = rsGetElementAt_char4(*(rs_allocation*)buf1647, *(uint32_t*)buf1648);
+    *(uchar*)buf1649 = rsGetElementAt_uchar(*(rs_allocation*)buf1650, *(uint32_t*)buf1651);
+    *(uchar2*)buf1652 = rsGetElementAt_uchar2(*(rs_allocation*)buf1653, *(uint32_t*)buf1654);
+    *(uchar3*)buf1655 = rsGetElementAt_uchar3(*(rs_allocation*)buf1656, *(uint32_t*)buf1657);
+    *(uchar4*)buf1658 = rsGetElementAt_uchar4(*(rs_allocation*)buf1659, *(uint32_t*)buf1660);
+    *(short*)buf1661 = rsGetElementAt_short(*(rs_allocation*)buf1662, *(uint32_t*)buf1663);
+    *(short2*)buf1664 = rsGetElementAt_short2(*(rs_allocation*)buf1665, *(uint32_t*)buf1666);
+    *(short3*)buf1667 = rsGetElementAt_short3(*(rs_allocation*)buf1668, *(uint32_t*)buf1669);
+    *(short4*)buf1670 = rsGetElementAt_short4(*(rs_allocation*)buf1671, *(uint32_t*)buf1672);
+    *(ushort*)buf1673 = rsGetElementAt_ushort(*(rs_allocation*)buf1674, *(uint32_t*)buf1675);
+    *(ushort2*)buf1676 = rsGetElementAt_ushort2(*(rs_allocation*)buf1677, *(uint32_t*)buf1678);
+    *(ushort3*)buf1679 = rsGetElementAt_ushort3(*(rs_allocation*)buf1680, *(uint32_t*)buf1681);
+    *(ushort4*)buf1682 = rsGetElementAt_ushort4(*(rs_allocation*)buf1683, *(uint32_t*)buf1684);
+    *(int*)buf1685 = rsGetElementAt_int(*(rs_allocation*)buf1686, *(uint32_t*)buf1687);
+    *(int2*)buf1688 = rsGetElementAt_int2(*(rs_allocation*)buf1689, *(uint32_t*)buf1690);
+    *(int3*)buf1691 = rsGetElementAt_int3(*(rs_allocation*)buf1692, *(uint32_t*)buf1693);
+    *(int4*)buf1694 = rsGetElementAt_int4(*(rs_allocation*)buf1695, *(uint32_t*)buf1696);
+    *(uint*)buf1697 = rsGetElementAt_uint(*(rs_allocation*)buf1698, *(uint32_t*)buf1699);
+    *(uint2*)buf1700 = rsGetElementAt_uint2(*(rs_allocation*)buf1701, *(uint32_t*)buf1702);
+    *(uint3*)buf1703 = rsGetElementAt_uint3(*(rs_allocation*)buf1704, *(uint32_t*)buf1705);
+    *(uint4*)buf1706 = rsGetElementAt_uint4(*(rs_allocation*)buf1707, *(uint32_t*)buf1708);
+    *(long*)buf1709 = rsGetElementAt_long(*(rs_allocation*)buf1710, *(uint32_t*)buf1711);
+    *(long2*)buf1712 = rsGetElementAt_long2(*(rs_allocation*)buf1713, *(uint32_t*)buf1714);
+    *(long3*)buf1715 = rsGetElementAt_long3(*(rs_allocation*)buf1716, *(uint32_t*)buf1717);
+    *(long4*)buf1718 = rsGetElementAt_long4(*(rs_allocation*)buf1719, *(uint32_t*)buf1720);
+    *(ulong*)buf1721 = rsGetElementAt_ulong(*(rs_allocation*)buf1722, *(uint32_t*)buf1723);
+    *(ulong2*)buf1724 = rsGetElementAt_ulong2(*(rs_allocation*)buf1725, *(uint32_t*)buf1726);
+    *(ulong3*)buf1727 = rsGetElementAt_ulong3(*(rs_allocation*)buf1728, *(uint32_t*)buf1729);
+    *(ulong4*)buf1730 = rsGetElementAt_ulong4(*(rs_allocation*)buf1731, *(uint32_t*)buf1732);
+    *(float*)buf1733 = rsGetElementAt_float(*(rs_allocation*)buf1734, *(uint32_t*)buf1735, *(uint32_t*)buf1736);
+    *(float2*)buf1737 = rsGetElementAt_float2(*(rs_allocation*)buf1738, *(uint32_t*)buf1739, *(uint32_t*)buf1740);
+    *(float3*)buf1741 = rsGetElementAt_float3(*(rs_allocation*)buf1742, *(uint32_t*)buf1743, *(uint32_t*)buf1744);
+    *(float4*)buf1745 = rsGetElementAt_float4(*(rs_allocation*)buf1746, *(uint32_t*)buf1747, *(uint32_t*)buf1748);
+    *(double*)buf1749 = rsGetElementAt_double(*(rs_allocation*)buf1750, *(uint32_t*)buf1751, *(uint32_t*)buf1752);
+    *(double2*)buf1753 = rsGetElementAt_double2(*(rs_allocation*)buf1754, *(uint32_t*)buf1755, *(uint32_t*)buf1756);
+    *(double3*)buf1757 = rsGetElementAt_double3(*(rs_allocation*)buf1758, *(uint32_t*)buf1759, *(uint32_t*)buf1760);
+    *(double4*)buf1761 = rsGetElementAt_double4(*(rs_allocation*)buf1762, *(uint32_t*)buf1763, *(uint32_t*)buf1764);
+    *(char*)buf1765 = rsGetElementAt_char(*(rs_allocation*)buf1766, *(uint32_t*)buf1767, *(uint32_t*)buf1768);
+    *(char2*)buf1769 = rsGetElementAt_char2(*(rs_allocation*)buf1770, *(uint32_t*)buf1771, *(uint32_t*)buf1772);
+    *(char3*)buf1773 = rsGetElementAt_char3(*(rs_allocation*)buf1774, *(uint32_t*)buf1775, *(uint32_t*)buf1776);
+    *(char4*)buf1777 = rsGetElementAt_char4(*(rs_allocation*)buf1778, *(uint32_t*)buf1779, *(uint32_t*)buf1780);
+    *(uchar*)buf1781 = rsGetElementAt_uchar(*(rs_allocation*)buf1782, *(uint32_t*)buf1783, *(uint32_t*)buf1784);
+    *(uchar2*)buf1785 = rsGetElementAt_uchar2(*(rs_allocation*)buf1786, *(uint32_t*)buf1787, *(uint32_t*)buf1788);
+    *(uchar3*)buf1789 = rsGetElementAt_uchar3(*(rs_allocation*)buf1790, *(uint32_t*)buf1791, *(uint32_t*)buf1792);
+    *(uchar4*)buf1793 = rsGetElementAt_uchar4(*(rs_allocation*)buf1794, *(uint32_t*)buf1795, *(uint32_t*)buf1796);
+    *(short*)buf1797 = rsGetElementAt_short(*(rs_allocation*)buf1798, *(uint32_t*)buf1799, *(uint32_t*)buf1800);
+    *(short2*)buf1801 = rsGetElementAt_short2(*(rs_allocation*)buf1802, *(uint32_t*)buf1803, *(uint32_t*)buf1804);
+    *(short3*)buf1805 = rsGetElementAt_short3(*(rs_allocation*)buf1806, *(uint32_t*)buf1807, *(uint32_t*)buf1808);
+    *(short4*)buf1809 = rsGetElementAt_short4(*(rs_allocation*)buf1810, *(uint32_t*)buf1811, *(uint32_t*)buf1812);
+    *(ushort*)buf1813 = rsGetElementAt_ushort(*(rs_allocation*)buf1814, *(uint32_t*)buf1815, *(uint32_t*)buf1816);
+    *(ushort2*)buf1817 = rsGetElementAt_ushort2(*(rs_allocation*)buf1818, *(uint32_t*)buf1819, *(uint32_t*)buf1820);
+    *(ushort3*)buf1821 = rsGetElementAt_ushort3(*(rs_allocation*)buf1822, *(uint32_t*)buf1823, *(uint32_t*)buf1824);
+    *(ushort4*)buf1825 = rsGetElementAt_ushort4(*(rs_allocation*)buf1826, *(uint32_t*)buf1827, *(uint32_t*)buf1828);
+    *(int*)buf1829 = rsGetElementAt_int(*(rs_allocation*)buf1830, *(uint32_t*)buf1831, *(uint32_t*)buf1832);
+    *(int2*)buf1833 = rsGetElementAt_int2(*(rs_allocation*)buf1834, *(uint32_t*)buf1835, *(uint32_t*)buf1836);
+    *(int3*)buf1837 = rsGetElementAt_int3(*(rs_allocation*)buf1838, *(uint32_t*)buf1839, *(uint32_t*)buf1840);
+    *(int4*)buf1841 = rsGetElementAt_int4(*(rs_allocation*)buf1842, *(uint32_t*)buf1843, *(uint32_t*)buf1844);
+    *(uint*)buf1845 = rsGetElementAt_uint(*(rs_allocation*)buf1846, *(uint32_t*)buf1847, *(uint32_t*)buf1848);
+    *(uint2*)buf1849 = rsGetElementAt_uint2(*(rs_allocation*)buf1850, *(uint32_t*)buf1851, *(uint32_t*)buf1852);
+    *(uint3*)buf1853 = rsGetElementAt_uint3(*(rs_allocation*)buf1854, *(uint32_t*)buf1855, *(uint32_t*)buf1856);
+    *(uint4*)buf1857 = rsGetElementAt_uint4(*(rs_allocation*)buf1858, *(uint32_t*)buf1859, *(uint32_t*)buf1860);
+    *(long*)buf1861 = rsGetElementAt_long(*(rs_allocation*)buf1862, *(uint32_t*)buf1863, *(uint32_t*)buf1864);
+    *(long2*)buf1865 = rsGetElementAt_long2(*(rs_allocation*)buf1866, *(uint32_t*)buf1867, *(uint32_t*)buf1868);
+    *(long3*)buf1869 = rsGetElementAt_long3(*(rs_allocation*)buf1870, *(uint32_t*)buf1871, *(uint32_t*)buf1872);
+    *(long4*)buf1873 = rsGetElementAt_long4(*(rs_allocation*)buf1874, *(uint32_t*)buf1875, *(uint32_t*)buf1876);
+    *(ulong*)buf1877 = rsGetElementAt_ulong(*(rs_allocation*)buf1878, *(uint32_t*)buf1879, *(uint32_t*)buf1880);
+    *(ulong2*)buf1881 = rsGetElementAt_ulong2(*(rs_allocation*)buf1882, *(uint32_t*)buf1883, *(uint32_t*)buf1884);
+    *(ulong3*)buf1885 = rsGetElementAt_ulong3(*(rs_allocation*)buf1886, *(uint32_t*)buf1887, *(uint32_t*)buf1888);
+    *(ulong4*)buf1889 = rsGetElementAt_ulong4(*(rs_allocation*)buf1890, *(uint32_t*)buf1891, *(uint32_t*)buf1892);
+    *(float*)buf1893 = rsGetElementAt_float(*(rs_allocation*)buf1894, *(uint32_t*)buf1895, *(uint32_t*)buf1896, *(uint32_t*)buf1897);
+    *(float2*)buf1898 = rsGetElementAt_float2(*(rs_allocation*)buf1899, *(uint32_t*)buf1900, *(uint32_t*)buf1901, *(uint32_t*)buf1902);
+    *(float3*)buf1903 = rsGetElementAt_float3(*(rs_allocation*)buf1904, *(uint32_t*)buf1905, *(uint32_t*)buf1906, *(uint32_t*)buf1907);
+    *(float4*)buf1908 = rsGetElementAt_float4(*(rs_allocation*)buf1909, *(uint32_t*)buf1910, *(uint32_t*)buf1911, *(uint32_t*)buf1912);
+    *(double*)buf1913 = rsGetElementAt_double(*(rs_allocation*)buf1914, *(uint32_t*)buf1915, *(uint32_t*)buf1916, *(uint32_t*)buf1917);
+    *(double2*)buf1918 = rsGetElementAt_double2(*(rs_allocation*)buf1919, *(uint32_t*)buf1920, *(uint32_t*)buf1921, *(uint32_t*)buf1922);
+    *(double3*)buf1923 = rsGetElementAt_double3(*(rs_allocation*)buf1924, *(uint32_t*)buf1925, *(uint32_t*)buf1926, *(uint32_t*)buf1927);
+    *(double4*)buf1928 = rsGetElementAt_double4(*(rs_allocation*)buf1929, *(uint32_t*)buf1930, *(uint32_t*)buf1931, *(uint32_t*)buf1932);
+    *(char*)buf1933 = rsGetElementAt_char(*(rs_allocation*)buf1934, *(uint32_t*)buf1935, *(uint32_t*)buf1936, *(uint32_t*)buf1937);
+    *(char2*)buf1938 = rsGetElementAt_char2(*(rs_allocation*)buf1939, *(uint32_t*)buf1940, *(uint32_t*)buf1941, *(uint32_t*)buf1942);
+    *(char3*)buf1943 = rsGetElementAt_char3(*(rs_allocation*)buf1944, *(uint32_t*)buf1945, *(uint32_t*)buf1946, *(uint32_t*)buf1947);
+    *(char4*)buf1948 = rsGetElementAt_char4(*(rs_allocation*)buf1949, *(uint32_t*)buf1950, *(uint32_t*)buf1951, *(uint32_t*)buf1952);
+    *(uchar*)buf1953 = rsGetElementAt_uchar(*(rs_allocation*)buf1954, *(uint32_t*)buf1955, *(uint32_t*)buf1956, *(uint32_t*)buf1957);
+    *(uchar2*)buf1958 = rsGetElementAt_uchar2(*(rs_allocation*)buf1959, *(uint32_t*)buf1960, *(uint32_t*)buf1961, *(uint32_t*)buf1962);
+    *(uchar3*)buf1963 = rsGetElementAt_uchar3(*(rs_allocation*)buf1964, *(uint32_t*)buf1965, *(uint32_t*)buf1966, *(uint32_t*)buf1967);
+    *(uchar4*)buf1968 = rsGetElementAt_uchar4(*(rs_allocation*)buf1969, *(uint32_t*)buf1970, *(uint32_t*)buf1971, *(uint32_t*)buf1972);
+    *(short*)buf1973 = rsGetElementAt_short(*(rs_allocation*)buf1974, *(uint32_t*)buf1975, *(uint32_t*)buf1976, *(uint32_t*)buf1977);
+    *(short2*)buf1978 = rsGetElementAt_short2(*(rs_allocation*)buf1979, *(uint32_t*)buf1980, *(uint32_t*)buf1981, *(uint32_t*)buf1982);
+    *(short3*)buf1983 = rsGetElementAt_short3(*(rs_allocation*)buf1984, *(uint32_t*)buf1985, *(uint32_t*)buf1986, *(uint32_t*)buf1987);
+    *(short4*)buf1988 = rsGetElementAt_short4(*(rs_allocation*)buf1989, *(uint32_t*)buf1990, *(uint32_t*)buf1991, *(uint32_t*)buf1992);
+    *(ushort*)buf1993 = rsGetElementAt_ushort(*(rs_allocation*)buf1994, *(uint32_t*)buf1995, *(uint32_t*)buf1996, *(uint32_t*)buf1997);
+    *(ushort2*)buf1998 = rsGetElementAt_ushort2(*(rs_allocation*)buf1999, *(uint32_t*)buf2000, *(uint32_t*)buf2001, *(uint32_t*)buf2002);
+    *(ushort3*)buf2003 = rsGetElementAt_ushort3(*(rs_allocation*)buf2004, *(uint32_t*)buf2005, *(uint32_t*)buf2006, *(uint32_t*)buf2007);
+    *(ushort4*)buf2008 = rsGetElementAt_ushort4(*(rs_allocation*)buf2009, *(uint32_t*)buf2010, *(uint32_t*)buf2011, *(uint32_t*)buf2012);
+    *(int*)buf2013 = rsGetElementAt_int(*(rs_allocation*)buf2014, *(uint32_t*)buf2015, *(uint32_t*)buf2016, *(uint32_t*)buf2017);
+    *(int2*)buf2018 = rsGetElementAt_int2(*(rs_allocation*)buf2019, *(uint32_t*)buf2020, *(uint32_t*)buf2021, *(uint32_t*)buf2022);
+    *(int3*)buf2023 = rsGetElementAt_int3(*(rs_allocation*)buf2024, *(uint32_t*)buf2025, *(uint32_t*)buf2026, *(uint32_t*)buf2027);
+    *(int4*)buf2028 = rsGetElementAt_int4(*(rs_allocation*)buf2029, *(uint32_t*)buf2030, *(uint32_t*)buf2031, *(uint32_t*)buf2032);
+    *(uint*)buf2033 = rsGetElementAt_uint(*(rs_allocation*)buf2034, *(uint32_t*)buf2035, *(uint32_t*)buf2036, *(uint32_t*)buf2037);
+    *(uint2*)buf2038 = rsGetElementAt_uint2(*(rs_allocation*)buf2039, *(uint32_t*)buf2040, *(uint32_t*)buf2041, *(uint32_t*)buf2042);
+    *(uint3*)buf2043 = rsGetElementAt_uint3(*(rs_allocation*)buf2044, *(uint32_t*)buf2045, *(uint32_t*)buf2046, *(uint32_t*)buf2047);
+    *(uint4*)buf2048 = rsGetElementAt_uint4(*(rs_allocation*)buf2049, *(uint32_t*)buf2050, *(uint32_t*)buf2051, *(uint32_t*)buf2052);
+    *(long*)buf2053 = rsGetElementAt_long(*(rs_allocation*)buf2054, *(uint32_t*)buf2055, *(uint32_t*)buf2056, *(uint32_t*)buf2057);
+    *(long2*)buf2058 = rsGetElementAt_long2(*(rs_allocation*)buf2059, *(uint32_t*)buf2060, *(uint32_t*)buf2061, *(uint32_t*)buf2062);
+    *(long3*)buf2063 = rsGetElementAt_long3(*(rs_allocation*)buf2064, *(uint32_t*)buf2065, *(uint32_t*)buf2066, *(uint32_t*)buf2067);
+    *(long4*)buf2068 = rsGetElementAt_long4(*(rs_allocation*)buf2069, *(uint32_t*)buf2070, *(uint32_t*)buf2071, *(uint32_t*)buf2072);
+    *(ulong*)buf2073 = rsGetElementAt_ulong(*(rs_allocation*)buf2074, *(uint32_t*)buf2075, *(uint32_t*)buf2076, *(uint32_t*)buf2077);
+    *(ulong2*)buf2078 = rsGetElementAt_ulong2(*(rs_allocation*)buf2079, *(uint32_t*)buf2080, *(uint32_t*)buf2081, *(uint32_t*)buf2082);
+    *(ulong3*)buf2083 = rsGetElementAt_ulong3(*(rs_allocation*)buf2084, *(uint32_t*)buf2085, *(uint32_t*)buf2086, *(uint32_t*)buf2087);
+    *(ulong4*)buf2088 = rsGetElementAt_ulong4(*(rs_allocation*)buf2089, *(uint32_t*)buf2090, *(uint32_t*)buf2091, *(uint32_t*)buf2092);
+    *(uchar*)buf2093 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf2094, *(uint32_t*)buf2095, *(uint32_t*)buf2096);
+    *(uchar*)buf2097 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf2098, *(uint32_t*)buf2099, *(uint32_t*)buf2100);
+    *(uchar*)buf2101 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf2102, *(uint32_t*)buf2103, *(uint32_t*)buf2104);
+    *(bool*)buf2105 = rsIsObject(*(rs_element*)buf2106);
+    *(bool*)buf2107 = rsIsObject(*(rs_type*)buf2108);
+    *(bool*)buf2109 = rsIsObject(*(rs_allocation*)buf2110);
+    *(bool*)buf2111 = rsIsObject(*(rs_sampler*)buf2112);
+    *(bool*)buf2113 = rsIsObject(*(rs_script*)buf2114);
 #ifndef __LP64__
-    *(bool*)buf2097 = rsIsObject(*(rs_mesh*)buf2098);
-    *(bool*)buf2099 = rsIsObject(*(rs_program_fragment*)buf2100);
-    *(bool*)buf2101 = rsIsObject(*(rs_program_vertex*)buf2102);
-    *(bool*)buf2103 = rsIsObject(*(rs_program_raster*)buf2104);
-    *(bool*)buf2105 = rsIsObject(*(rs_program_store*)buf2106);
-    *(bool*)buf2107 = rsIsObject(*(rs_font*)buf2108);
+    *(bool*)buf2115 = rsIsObject(*(rs_mesh*)buf2116);
+    *(bool*)buf2117 = rsIsObject(*(rs_program_fragment*)buf2118);
+    *(bool*)buf2119 = rsIsObject(*(rs_program_vertex*)buf2120);
+    *(bool*)buf2121 = rsIsObject(*(rs_program_raster*)buf2122);
+    *(bool*)buf2123 = rsIsObject(*(rs_program_store*)buf2124);
+    *(bool*)buf2125 = rsIsObject(*(rs_font*)buf2126);
 #endif
-    *(bool*)buf2109 = rsIsSphereInFrustum((float4*) buf2110, (float4*) buf2111, (float4*) buf2112, (float4*) buf2113, (float4*) buf2114, (float4*) buf2115, (float4*) buf2116);
-    *(rs_tm**)buf2117 = rsLocaltime((rs_tm*) buf2118, (const rs_time_t*) buf2119);
-    *(float*)buf2120 = rsMatrixGet((const rs_matrix4x4*) buf2121, *(uint32_t*)buf2122, *(uint32_t*)buf2123);
-    *(float*)buf2124 = rsMatrixGet((const rs_matrix3x3*) buf2125, *(uint32_t*)buf2126, *(uint32_t*)buf2127);
-    *(float*)buf2128 = rsMatrixGet((const rs_matrix2x2*) buf2129, *(uint32_t*)buf2130, *(uint32_t*)buf2131);
-    *(bool*)buf2132 = rsMatrixInverse((rs_matrix4x4*) buf2133);
-    *(bool*)buf2134 = rsMatrixInverseTranspose((rs_matrix4x4*) buf2135);
-    rsMatrixLoad((rs_matrix4x4*) buf2136, (const float*) buf2137);
-    rsMatrixLoad((rs_matrix3x3*) buf2138, (const float*) buf2139);
-    rsMatrixLoad((rs_matrix2x2*) buf2140, (const float*) buf2141);
-    rsMatrixLoad((rs_matrix4x4*) buf2142, (const rs_matrix4x4*) buf2143);
-    rsMatrixLoad((rs_matrix3x3*) buf2144, (const rs_matrix3x3*) buf2145);
-    rsMatrixLoad((rs_matrix2x2*) buf2146, (const rs_matrix2x2*) buf2147);
-    rsMatrixLoad((rs_matrix4x4*) buf2148, (const rs_matrix3x3*) buf2149);
-    rsMatrixLoad((rs_matrix4x4*) buf2150, (const rs_matrix2x2*) buf2151);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf2152, *(float*)buf2153, *(float*)buf2154, *(float*)buf2155, *(float*)buf2156, *(float*)buf2157, *(float*)buf2158);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf2159);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf2160);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf2161);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf2162, (const rs_matrix4x4*) buf2163, (const rs_matrix4x4*) buf2164);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf2165, (const rs_matrix3x3*) buf2166, (const rs_matrix3x3*) buf2167);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf2168, (const rs_matrix2x2*) buf2169, (const rs_matrix2x2*) buf2170);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf2171, *(float*)buf2172, *(float*)buf2173, *(float*)buf2174, *(float*)buf2175, *(float*)buf2176, *(float*)buf2177);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf2178, *(float*)buf2179, *(float*)buf2180, *(float*)buf2181, *(float*)buf2182);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf2183, *(float*)buf2184, *(float*)buf2185, *(float*)buf2186, *(float*)buf2187);
-    rsMatrixLoadScale((rs_matrix4x4*) buf2188, *(float*)buf2189, *(float*)buf2190, *(float*)buf2191);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf2192, *(float*)buf2193, *(float*)buf2194, *(float*)buf2195);
-    rsMatrixMultiply((rs_matrix4x4*) buf2196, (const rs_matrix4x4*) buf2197);
-    rsMatrixMultiply((rs_matrix3x3*) buf2198, (const rs_matrix3x3*) buf2199);
-    rsMatrixMultiply((rs_matrix2x2*) buf2200, (const rs_matrix2x2*) buf2201);
-    *(float4*)buf2202 = rsMatrixMultiply((const rs_matrix4x4*) buf2203, *(float4*)buf2204);
-    *(float4*)buf2205 = rsMatrixMultiply((const rs_matrix4x4*) buf2206, *(float3*)buf2207);
-    *(float4*)buf2208 = rsMatrixMultiply((const rs_matrix4x4*) buf2209, *(float2*)buf2210);
-    *(float3*)buf2211 = rsMatrixMultiply((const rs_matrix3x3*) buf2212, *(float3*)buf2213);
-    *(float3*)buf2214 = rsMatrixMultiply((const rs_matrix3x3*) buf2215, *(float2*)buf2216);
-    *(float2*)buf2217 = rsMatrixMultiply((const rs_matrix2x2*) buf2218, *(float2*)buf2219);
-    rsMatrixRotate((rs_matrix4x4*) buf2220, *(float*)buf2221, *(float*)buf2222, *(float*)buf2223, *(float*)buf2224);
-    rsMatrixScale((rs_matrix4x4*) buf2225, *(float*)buf2226, *(float*)buf2227, *(float*)buf2228);
-    rsMatrixSet((rs_matrix4x4*) buf2229, *(uint32_t*)buf2230, *(uint32_t*)buf2231, *(float*)buf2232);
-    rsMatrixSet((rs_matrix3x3*) buf2233, *(uint32_t*)buf2234, *(uint32_t*)buf2235, *(float*)buf2236);
-    rsMatrixSet((rs_matrix2x2*) buf2237, *(uint32_t*)buf2238, *(uint32_t*)buf2239, *(float*)buf2240);
-    rsMatrixTranslate((rs_matrix4x4*) buf2241, *(float*)buf2242, *(float*)buf2243, *(float*)buf2244);
-    rsMatrixTranspose((rs_matrix4x4*) buf2245);
-    rsMatrixTranspose((rs_matrix3x3*) buf2246);
-    rsMatrixTranspose((rs_matrix2x2*) buf2247);
-    *(uchar4*)buf2248 = rsPackColorTo8888(*(float*)buf2249, *(float*)buf2250, *(float*)buf2251);
-    *(uchar4*)buf2252 = rsPackColorTo8888(*(float*)buf2253, *(float*)buf2254, *(float*)buf2255, *(float*)buf2256);
-    *(uchar4*)buf2257 = rsPackColorTo8888(*(float3*)buf2258);
-    *(uchar4*)buf2259 = rsPackColorTo8888(*(float4*)buf2260);
-    rsQuaternionAdd((rs_quaternion*) buf2261, (const rs_quaternion*) buf2262);
-    rsQuaternionConjugate((rs_quaternion*) buf2263);
-    *(float*)buf2264 = rsQuaternionDot((const rs_quaternion*) buf2265, (const rs_quaternion*) buf2266);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2267, (const rs_quaternion*) buf2268);
-    rsQuaternionLoadRotate((rs_quaternion*) buf2269, *(float*)buf2270, *(float*)buf2271, *(float*)buf2272, *(float*)buf2273);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2274, *(float*)buf2275, *(float*)buf2276, *(float*)buf2277, *(float*)buf2278);
-    rsQuaternionMultiply((rs_quaternion*) buf2279, *(float*)buf2280);
-    rsQuaternionMultiply((rs_quaternion*) buf2281, (const rs_quaternion*) buf2282);
-    rsQuaternionNormalize((rs_quaternion*) buf2283);
-    rsQuaternionSet((rs_quaternion*) buf2284, *(float*)buf2285, *(float*)buf2286, *(float*)buf2287, *(float*)buf2288);
-    rsQuaternionSet((rs_quaternion*) buf2289, (const rs_quaternion*) buf2290);
-    rsQuaternionSlerp((rs_quaternion*) buf2291, (const rs_quaternion*) buf2292, (const rs_quaternion*) buf2293, *(float*)buf2294);
-    *(int*)buf2295 = rsRand(*(int*)buf2296);
-    *(int*)buf2297 = rsRand(*(int*)buf2298, *(int*)buf2299);
-    *(float*)buf2300 = rsRand(*(float*)buf2301);
-    *(float*)buf2302 = rsRand(*(float*)buf2303, *(float*)buf2304);
-    *(float4*)buf2305 = rsSample(*(rs_allocation*)buf2306, *(rs_sampler*)buf2307, *(float*)buf2308);
-    *(float4*)buf2309 = rsSample(*(rs_allocation*)buf2310, *(rs_sampler*)buf2311, *(float*)buf2312, *(float*)buf2313);
-    *(float4*)buf2314 = rsSample(*(rs_allocation*)buf2315, *(rs_sampler*)buf2316, *(float2*)buf2317);
-    *(float4*)buf2318 = rsSample(*(rs_allocation*)buf2319, *(rs_sampler*)buf2320, *(float2*)buf2321, *(float*)buf2322);
-    *(float*)buf2323 = rsSamplerGetAnisotropy(*(rs_sampler*)buf2324);
-    *(rs_sampler_value*)buf2325 = rsSamplerGetMagnification(*(rs_sampler*)buf2326);
-    *(rs_sampler_value*)buf2327 = rsSamplerGetMinification(*(rs_sampler*)buf2328);
-    *(rs_sampler_value*)buf2329 = rsSamplerGetWrapS(*(rs_sampler*)buf2330);
-    *(rs_sampler_value*)buf2331 = rsSamplerGetWrapT(*(rs_sampler*)buf2332);
-    *(bool*)buf2333 = rsSendToClient(*(int*)buf2334);
-    *(bool*)buf2335 = rsSendToClient(*(int*)buf2336, (const void*) buf2337, *(uint*)buf2338);
-    rsSendToClientBlocking(*(int*)buf2339);
-    rsSendToClientBlocking(*(int*)buf2340, (const void*) buf2341, *(uint*)buf2342);
-    rsSetElementAt(*(rs_allocation*)buf2343, (void*) buf2344, *(uint32_t*)buf2345);
-    rsSetElementAt(*(rs_allocation*)buf2346, (void*) buf2347, *(uint32_t*)buf2348, *(uint32_t*)buf2349);
-    rsSetElementAt_float(*(rs_allocation*)buf2350, *(float*)buf2351, *(uint32_t*)buf2352);
-    rsSetElementAt_float2(*(rs_allocation*)buf2353, *(float2*)buf2354, *(uint32_t*)buf2355);
-    rsSetElementAt_float3(*(rs_allocation*)buf2356, *(float3*)buf2357, *(uint32_t*)buf2358);
-    rsSetElementAt_float4(*(rs_allocation*)buf2359, *(float4*)buf2360, *(uint32_t*)buf2361);
-    rsSetElementAt_double(*(rs_allocation*)buf2362, *(double*)buf2363, *(uint32_t*)buf2364);
-    rsSetElementAt_double2(*(rs_allocation*)buf2365, *(double2*)buf2366, *(uint32_t*)buf2367);
-    rsSetElementAt_double3(*(rs_allocation*)buf2368, *(double3*)buf2369, *(uint32_t*)buf2370);
-    rsSetElementAt_double4(*(rs_allocation*)buf2371, *(double4*)buf2372, *(uint32_t*)buf2373);
-    rsSetElementAt_char(*(rs_allocation*)buf2374, *(char*)buf2375, *(uint32_t*)buf2376);
-    rsSetElementAt_char2(*(rs_allocation*)buf2377, *(char2*)buf2378, *(uint32_t*)buf2379);
-    rsSetElementAt_char3(*(rs_allocation*)buf2380, *(char3*)buf2381, *(uint32_t*)buf2382);
-    rsSetElementAt_char4(*(rs_allocation*)buf2383, *(char4*)buf2384, *(uint32_t*)buf2385);
-    rsSetElementAt_uchar(*(rs_allocation*)buf2386, *(uchar*)buf2387, *(uint32_t*)buf2388);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf2389, *(uchar2*)buf2390, *(uint32_t*)buf2391);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf2392, *(uchar3*)buf2393, *(uint32_t*)buf2394);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf2395, *(uchar4*)buf2396, *(uint32_t*)buf2397);
-    rsSetElementAt_short(*(rs_allocation*)buf2398, *(short*)buf2399, *(uint32_t*)buf2400);
-    rsSetElementAt_short2(*(rs_allocation*)buf2401, *(short2*)buf2402, *(uint32_t*)buf2403);
-    rsSetElementAt_short3(*(rs_allocation*)buf2404, *(short3*)buf2405, *(uint32_t*)buf2406);
-    rsSetElementAt_short4(*(rs_allocation*)buf2407, *(short4*)buf2408, *(uint32_t*)buf2409);
-    rsSetElementAt_ushort(*(rs_allocation*)buf2410, *(ushort*)buf2411, *(uint32_t*)buf2412);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf2413, *(ushort2*)buf2414, *(uint32_t*)buf2415);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf2416, *(ushort3*)buf2417, *(uint32_t*)buf2418);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf2419, *(ushort4*)buf2420, *(uint32_t*)buf2421);
-    rsSetElementAt_int(*(rs_allocation*)buf2422, *(int*)buf2423, *(uint32_t*)buf2424);
-    rsSetElementAt_int2(*(rs_allocation*)buf2425, *(int2*)buf2426, *(uint32_t*)buf2427);
-    rsSetElementAt_int3(*(rs_allocation*)buf2428, *(int3*)buf2429, *(uint32_t*)buf2430);
-    rsSetElementAt_int4(*(rs_allocation*)buf2431, *(int4*)buf2432, *(uint32_t*)buf2433);
-    rsSetElementAt_uint(*(rs_allocation*)buf2434, *(uint*)buf2435, *(uint32_t*)buf2436);
-    rsSetElementAt_uint2(*(rs_allocation*)buf2437, *(uint2*)buf2438, *(uint32_t*)buf2439);
-    rsSetElementAt_uint3(*(rs_allocation*)buf2440, *(uint3*)buf2441, *(uint32_t*)buf2442);
-    rsSetElementAt_uint4(*(rs_allocation*)buf2443, *(uint4*)buf2444, *(uint32_t*)buf2445);
-    rsSetElementAt_long(*(rs_allocation*)buf2446, *(long*)buf2447, *(uint32_t*)buf2448);
-    rsSetElementAt_long2(*(rs_allocation*)buf2449, *(long2*)buf2450, *(uint32_t*)buf2451);
-    rsSetElementAt_long3(*(rs_allocation*)buf2452, *(long3*)buf2453, *(uint32_t*)buf2454);
-    rsSetElementAt_long4(*(rs_allocation*)buf2455, *(long4*)buf2456, *(uint32_t*)buf2457);
-    rsSetElementAt_ulong(*(rs_allocation*)buf2458, *(ulong*)buf2459, *(uint32_t*)buf2460);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf2461, *(ulong2*)buf2462, *(uint32_t*)buf2463);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf2464, *(ulong3*)buf2465, *(uint32_t*)buf2466);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf2467, *(ulong4*)buf2468, *(uint32_t*)buf2469);
-    rsSetElementAt_float(*(rs_allocation*)buf2470, *(float*)buf2471, *(uint32_t*)buf2472, *(uint32_t*)buf2473);
-    rsSetElementAt_float2(*(rs_allocation*)buf2474, *(float2*)buf2475, *(uint32_t*)buf2476, *(uint32_t*)buf2477);
-    rsSetElementAt_float3(*(rs_allocation*)buf2478, *(float3*)buf2479, *(uint32_t*)buf2480, *(uint32_t*)buf2481);
-    rsSetElementAt_float4(*(rs_allocation*)buf2482, *(float4*)buf2483, *(uint32_t*)buf2484, *(uint32_t*)buf2485);
-    rsSetElementAt_double(*(rs_allocation*)buf2486, *(double*)buf2487, *(uint32_t*)buf2488, *(uint32_t*)buf2489);
-    rsSetElementAt_double2(*(rs_allocation*)buf2490, *(double2*)buf2491, *(uint32_t*)buf2492, *(uint32_t*)buf2493);
-    rsSetElementAt_double3(*(rs_allocation*)buf2494, *(double3*)buf2495, *(uint32_t*)buf2496, *(uint32_t*)buf2497);
-    rsSetElementAt_double4(*(rs_allocation*)buf2498, *(double4*)buf2499, *(uint32_t*)buf2500, *(uint32_t*)buf2501);
-    rsSetElementAt_char(*(rs_allocation*)buf2502, *(char*)buf2503, *(uint32_t*)buf2504, *(uint32_t*)buf2505);
-    rsSetElementAt_char2(*(rs_allocation*)buf2506, *(char2*)buf2507, *(uint32_t*)buf2508, *(uint32_t*)buf2509);
-    rsSetElementAt_char3(*(rs_allocation*)buf2510, *(char3*)buf2511, *(uint32_t*)buf2512, *(uint32_t*)buf2513);
-    rsSetElementAt_char4(*(rs_allocation*)buf2514, *(char4*)buf2515, *(uint32_t*)buf2516, *(uint32_t*)buf2517);
-    rsSetElementAt_uchar(*(rs_allocation*)buf2518, *(uchar*)buf2519, *(uint32_t*)buf2520, *(uint32_t*)buf2521);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf2522, *(uchar2*)buf2523, *(uint32_t*)buf2524, *(uint32_t*)buf2525);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf2526, *(uchar3*)buf2527, *(uint32_t*)buf2528, *(uint32_t*)buf2529);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf2530, *(uchar4*)buf2531, *(uint32_t*)buf2532, *(uint32_t*)buf2533);
-    rsSetElementAt_short(*(rs_allocation*)buf2534, *(short*)buf2535, *(uint32_t*)buf2536, *(uint32_t*)buf2537);
-    rsSetElementAt_short2(*(rs_allocation*)buf2538, *(short2*)buf2539, *(uint32_t*)buf2540, *(uint32_t*)buf2541);
-    rsSetElementAt_short3(*(rs_allocation*)buf2542, *(short3*)buf2543, *(uint32_t*)buf2544, *(uint32_t*)buf2545);
-    rsSetElementAt_short4(*(rs_allocation*)buf2546, *(short4*)buf2547, *(uint32_t*)buf2548, *(uint32_t*)buf2549);
-    rsSetElementAt_ushort(*(rs_allocation*)buf2550, *(ushort*)buf2551, *(uint32_t*)buf2552, *(uint32_t*)buf2553);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf2554, *(ushort2*)buf2555, *(uint32_t*)buf2556, *(uint32_t*)buf2557);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf2558, *(ushort3*)buf2559, *(uint32_t*)buf2560, *(uint32_t*)buf2561);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf2562, *(ushort4*)buf2563, *(uint32_t*)buf2564, *(uint32_t*)buf2565);
-    rsSetElementAt_int(*(rs_allocation*)buf2566, *(int*)buf2567, *(uint32_t*)buf2568, *(uint32_t*)buf2569);
-    rsSetElementAt_int2(*(rs_allocation*)buf2570, *(int2*)buf2571, *(uint32_t*)buf2572, *(uint32_t*)buf2573);
-    rsSetElementAt_int3(*(rs_allocation*)buf2574, *(int3*)buf2575, *(uint32_t*)buf2576, *(uint32_t*)buf2577);
-    rsSetElementAt_int4(*(rs_allocation*)buf2578, *(int4*)buf2579, *(uint32_t*)buf2580, *(uint32_t*)buf2581);
-    rsSetElementAt_uint(*(rs_allocation*)buf2582, *(uint*)buf2583, *(uint32_t*)buf2584, *(uint32_t*)buf2585);
-    rsSetElementAt_uint2(*(rs_allocation*)buf2586, *(uint2*)buf2587, *(uint32_t*)buf2588, *(uint32_t*)buf2589);
-    rsSetElementAt_uint3(*(rs_allocation*)buf2590, *(uint3*)buf2591, *(uint32_t*)buf2592, *(uint32_t*)buf2593);
-    rsSetElementAt_uint4(*(rs_allocation*)buf2594, *(uint4*)buf2595, *(uint32_t*)buf2596, *(uint32_t*)buf2597);
-    rsSetElementAt_long(*(rs_allocation*)buf2598, *(long*)buf2599, *(uint32_t*)buf2600, *(uint32_t*)buf2601);
-    rsSetElementAt_long2(*(rs_allocation*)buf2602, *(long2*)buf2603, *(uint32_t*)buf2604, *(uint32_t*)buf2605);
-    rsSetElementAt_long3(*(rs_allocation*)buf2606, *(long3*)buf2607, *(uint32_t*)buf2608, *(uint32_t*)buf2609);
-    rsSetElementAt_long4(*(rs_allocation*)buf2610, *(long4*)buf2611, *(uint32_t*)buf2612, *(uint32_t*)buf2613);
-    rsSetElementAt_ulong(*(rs_allocation*)buf2614, *(ulong*)buf2615, *(uint32_t*)buf2616, *(uint32_t*)buf2617);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf2618, *(ulong2*)buf2619, *(uint32_t*)buf2620, *(uint32_t*)buf2621);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf2622, *(ulong3*)buf2623, *(uint32_t*)buf2624, *(uint32_t*)buf2625);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf2626, *(ulong4*)buf2627, *(uint32_t*)buf2628, *(uint32_t*)buf2629);
-    rsSetElementAt_float(*(rs_allocation*)buf2630, *(float*)buf2631, *(uint32_t*)buf2632, *(uint32_t*)buf2633, *(uint32_t*)buf2634);
-    rsSetElementAt_float2(*(rs_allocation*)buf2635, *(float2*)buf2636, *(uint32_t*)buf2637, *(uint32_t*)buf2638, *(uint32_t*)buf2639);
-    rsSetElementAt_float3(*(rs_allocation*)buf2640, *(float3*)buf2641, *(uint32_t*)buf2642, *(uint32_t*)buf2643, *(uint32_t*)buf2644);
-    rsSetElementAt_float4(*(rs_allocation*)buf2645, *(float4*)buf2646, *(uint32_t*)buf2647, *(uint32_t*)buf2648, *(uint32_t*)buf2649);
-    rsSetElementAt_double(*(rs_allocation*)buf2650, *(double*)buf2651, *(uint32_t*)buf2652, *(uint32_t*)buf2653, *(uint32_t*)buf2654);
-    rsSetElementAt_double2(*(rs_allocation*)buf2655, *(double2*)buf2656, *(uint32_t*)buf2657, *(uint32_t*)buf2658, *(uint32_t*)buf2659);
-    rsSetElementAt_double3(*(rs_allocation*)buf2660, *(double3*)buf2661, *(uint32_t*)buf2662, *(uint32_t*)buf2663, *(uint32_t*)buf2664);
-    rsSetElementAt_double4(*(rs_allocation*)buf2665, *(double4*)buf2666, *(uint32_t*)buf2667, *(uint32_t*)buf2668, *(uint32_t*)buf2669);
-    rsSetElementAt_char(*(rs_allocation*)buf2670, *(char*)buf2671, *(uint32_t*)buf2672, *(uint32_t*)buf2673, *(uint32_t*)buf2674);
-    rsSetElementAt_char2(*(rs_allocation*)buf2675, *(char2*)buf2676, *(uint32_t*)buf2677, *(uint32_t*)buf2678, *(uint32_t*)buf2679);
-    rsSetElementAt_char3(*(rs_allocation*)buf2680, *(char3*)buf2681, *(uint32_t*)buf2682, *(uint32_t*)buf2683, *(uint32_t*)buf2684);
-    rsSetElementAt_char4(*(rs_allocation*)buf2685, *(char4*)buf2686, *(uint32_t*)buf2687, *(uint32_t*)buf2688, *(uint32_t*)buf2689);
-    rsSetElementAt_uchar(*(rs_allocation*)buf2690, *(uchar*)buf2691, *(uint32_t*)buf2692, *(uint32_t*)buf2693, *(uint32_t*)buf2694);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf2695, *(uchar2*)buf2696, *(uint32_t*)buf2697, *(uint32_t*)buf2698, *(uint32_t*)buf2699);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf2700, *(uchar3*)buf2701, *(uint32_t*)buf2702, *(uint32_t*)buf2703, *(uint32_t*)buf2704);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf2705, *(uchar4*)buf2706, *(uint32_t*)buf2707, *(uint32_t*)buf2708, *(uint32_t*)buf2709);
-    rsSetElementAt_short(*(rs_allocation*)buf2710, *(short*)buf2711, *(uint32_t*)buf2712, *(uint32_t*)buf2713, *(uint32_t*)buf2714);
-    rsSetElementAt_short2(*(rs_allocation*)buf2715, *(short2*)buf2716, *(uint32_t*)buf2717, *(uint32_t*)buf2718, *(uint32_t*)buf2719);
-    rsSetElementAt_short3(*(rs_allocation*)buf2720, *(short3*)buf2721, *(uint32_t*)buf2722, *(uint32_t*)buf2723, *(uint32_t*)buf2724);
-    rsSetElementAt_short4(*(rs_allocation*)buf2725, *(short4*)buf2726, *(uint32_t*)buf2727, *(uint32_t*)buf2728, *(uint32_t*)buf2729);
-    rsSetElementAt_ushort(*(rs_allocation*)buf2730, *(ushort*)buf2731, *(uint32_t*)buf2732, *(uint32_t*)buf2733, *(uint32_t*)buf2734);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf2735, *(ushort2*)buf2736, *(uint32_t*)buf2737, *(uint32_t*)buf2738, *(uint32_t*)buf2739);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf2740, *(ushort3*)buf2741, *(uint32_t*)buf2742, *(uint32_t*)buf2743, *(uint32_t*)buf2744);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf2745, *(ushort4*)buf2746, *(uint32_t*)buf2747, *(uint32_t*)buf2748, *(uint32_t*)buf2749);
-    rsSetElementAt_int(*(rs_allocation*)buf2750, *(int*)buf2751, *(uint32_t*)buf2752, *(uint32_t*)buf2753, *(uint32_t*)buf2754);
-    rsSetElementAt_int2(*(rs_allocation*)buf2755, *(int2*)buf2756, *(uint32_t*)buf2757, *(uint32_t*)buf2758, *(uint32_t*)buf2759);
-    rsSetElementAt_int3(*(rs_allocation*)buf2760, *(int3*)buf2761, *(uint32_t*)buf2762, *(uint32_t*)buf2763, *(uint32_t*)buf2764);
-    rsSetElementAt_int4(*(rs_allocation*)buf2765, *(int4*)buf2766, *(uint32_t*)buf2767, *(uint32_t*)buf2768, *(uint32_t*)buf2769);
-    rsSetElementAt_uint(*(rs_allocation*)buf2770, *(uint*)buf2771, *(uint32_t*)buf2772, *(uint32_t*)buf2773, *(uint32_t*)buf2774);
-    rsSetElementAt_uint2(*(rs_allocation*)buf2775, *(uint2*)buf2776, *(uint32_t*)buf2777, *(uint32_t*)buf2778, *(uint32_t*)buf2779);
-    rsSetElementAt_uint3(*(rs_allocation*)buf2780, *(uint3*)buf2781, *(uint32_t*)buf2782, *(uint32_t*)buf2783, *(uint32_t*)buf2784);
-    rsSetElementAt_uint4(*(rs_allocation*)buf2785, *(uint4*)buf2786, *(uint32_t*)buf2787, *(uint32_t*)buf2788, *(uint32_t*)buf2789);
-    rsSetElementAt_long(*(rs_allocation*)buf2790, *(long*)buf2791, *(uint32_t*)buf2792, *(uint32_t*)buf2793, *(uint32_t*)buf2794);
-    rsSetElementAt_long2(*(rs_allocation*)buf2795, *(long2*)buf2796, *(uint32_t*)buf2797, *(uint32_t*)buf2798, *(uint32_t*)buf2799);
-    rsSetElementAt_long3(*(rs_allocation*)buf2800, *(long3*)buf2801, *(uint32_t*)buf2802, *(uint32_t*)buf2803, *(uint32_t*)buf2804);
-    rsSetElementAt_long4(*(rs_allocation*)buf2805, *(long4*)buf2806, *(uint32_t*)buf2807, *(uint32_t*)buf2808, *(uint32_t*)buf2809);
-    rsSetElementAt_ulong(*(rs_allocation*)buf2810, *(ulong*)buf2811, *(uint32_t*)buf2812, *(uint32_t*)buf2813, *(uint32_t*)buf2814);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf2815, *(ulong2*)buf2816, *(uint32_t*)buf2817, *(uint32_t*)buf2818, *(uint32_t*)buf2819);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf2820, *(ulong3*)buf2821, *(uint32_t*)buf2822, *(uint32_t*)buf2823, *(uint32_t*)buf2824);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf2825, *(ulong4*)buf2826, *(uint32_t*)buf2827, *(uint32_t*)buf2828, *(uint32_t*)buf2829);
-    rsSetObject((rs_element*) buf2830, *(rs_element*)buf2831);
-    rsSetObject((rs_type*) buf2832, *(rs_type*)buf2833);
-    rsSetObject((rs_allocation*) buf2834, *(rs_allocation*)buf2835);
-    rsSetObject((rs_sampler*) buf2836, *(rs_sampler*)buf2837);
-    rsSetObject((rs_script*) buf2838, *(rs_script*)buf2839);
+    *(bool*)buf2127 = rsIsSphereInFrustum((float4*) buf2128, (float4*) buf2129, (float4*) buf2130, (float4*) buf2131, (float4*) buf2132, (float4*) buf2133, (float4*) buf2134);
+    *(rs_tm**)buf2135 = rsLocaltime((rs_tm*) buf2136, (const rs_time_t*) buf2137);
+    *(float*)buf2138 = rsMatrixGet((const rs_matrix4x4*) buf2139, *(uint32_t*)buf2140, *(uint32_t*)buf2141);
+    *(float*)buf2142 = rsMatrixGet((const rs_matrix3x3*) buf2143, *(uint32_t*)buf2144, *(uint32_t*)buf2145);
+    *(float*)buf2146 = rsMatrixGet((const rs_matrix2x2*) buf2147, *(uint32_t*)buf2148, *(uint32_t*)buf2149);
+    *(bool*)buf2150 = rsMatrixInverse((rs_matrix4x4*) buf2151);
+    *(bool*)buf2152 = rsMatrixInverseTranspose((rs_matrix4x4*) buf2153);
+    rsMatrixLoad((rs_matrix4x4*) buf2154, (const float*) buf2155);
+    rsMatrixLoad((rs_matrix3x3*) buf2156, (const float*) buf2157);
+    rsMatrixLoad((rs_matrix2x2*) buf2158, (const float*) buf2159);
+    rsMatrixLoad((rs_matrix4x4*) buf2160, (const rs_matrix4x4*) buf2161);
+    rsMatrixLoad((rs_matrix3x3*) buf2162, (const rs_matrix3x3*) buf2163);
+    rsMatrixLoad((rs_matrix2x2*) buf2164, (const rs_matrix2x2*) buf2165);
+    rsMatrixLoad((rs_matrix4x4*) buf2166, (const rs_matrix3x3*) buf2167);
+    rsMatrixLoad((rs_matrix4x4*) buf2168, (const rs_matrix2x2*) buf2169);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf2170, *(float*)buf2171, *(float*)buf2172, *(float*)buf2173, *(float*)buf2174, *(float*)buf2175, *(float*)buf2176);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf2177);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf2178);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf2179);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf2180, (const rs_matrix4x4*) buf2181, (const rs_matrix4x4*) buf2182);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf2183, (const rs_matrix3x3*) buf2184, (const rs_matrix3x3*) buf2185);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf2186, (const rs_matrix2x2*) buf2187, (const rs_matrix2x2*) buf2188);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf2189, *(float*)buf2190, *(float*)buf2191, *(float*)buf2192, *(float*)buf2193, *(float*)buf2194, *(float*)buf2195);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf2196, *(float*)buf2197, *(float*)buf2198, *(float*)buf2199, *(float*)buf2200);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf2201, *(float*)buf2202, *(float*)buf2203, *(float*)buf2204, *(float*)buf2205);
+    rsMatrixLoadScale((rs_matrix4x4*) buf2206, *(float*)buf2207, *(float*)buf2208, *(float*)buf2209);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf2210, *(float*)buf2211, *(float*)buf2212, *(float*)buf2213);
+    rsMatrixMultiply((rs_matrix4x4*) buf2214, (const rs_matrix4x4*) buf2215);
+    rsMatrixMultiply((rs_matrix3x3*) buf2216, (const rs_matrix3x3*) buf2217);
+    rsMatrixMultiply((rs_matrix2x2*) buf2218, (const rs_matrix2x2*) buf2219);
+    *(float4*)buf2220 = rsMatrixMultiply((const rs_matrix4x4*) buf2221, *(float4*)buf2222);
+    *(float4*)buf2223 = rsMatrixMultiply((const rs_matrix4x4*) buf2224, *(float3*)buf2225);
+    *(float4*)buf2226 = rsMatrixMultiply((const rs_matrix4x4*) buf2227, *(float2*)buf2228);
+    *(float3*)buf2229 = rsMatrixMultiply((const rs_matrix3x3*) buf2230, *(float3*)buf2231);
+    *(float3*)buf2232 = rsMatrixMultiply((const rs_matrix3x3*) buf2233, *(float2*)buf2234);
+    *(float2*)buf2235 = rsMatrixMultiply((const rs_matrix2x2*) buf2236, *(float2*)buf2237);
+    rsMatrixRotate((rs_matrix4x4*) buf2238, *(float*)buf2239, *(float*)buf2240, *(float*)buf2241, *(float*)buf2242);
+    rsMatrixScale((rs_matrix4x4*) buf2243, *(float*)buf2244, *(float*)buf2245, *(float*)buf2246);
+    rsMatrixSet((rs_matrix4x4*) buf2247, *(uint32_t*)buf2248, *(uint32_t*)buf2249, *(float*)buf2250);
+    rsMatrixSet((rs_matrix3x3*) buf2251, *(uint32_t*)buf2252, *(uint32_t*)buf2253, *(float*)buf2254);
+    rsMatrixSet((rs_matrix2x2*) buf2255, *(uint32_t*)buf2256, *(uint32_t*)buf2257, *(float*)buf2258);
+    rsMatrixTranslate((rs_matrix4x4*) buf2259, *(float*)buf2260, *(float*)buf2261, *(float*)buf2262);
+    rsMatrixTranspose((rs_matrix4x4*) buf2263);
+    rsMatrixTranspose((rs_matrix3x3*) buf2264);
+    rsMatrixTranspose((rs_matrix2x2*) buf2265);
+    *(uchar4*)buf2266 = rsPackColorTo8888(*(float*)buf2267, *(float*)buf2268, *(float*)buf2269);
+    *(uchar4*)buf2270 = rsPackColorTo8888(*(float*)buf2271, *(float*)buf2272, *(float*)buf2273, *(float*)buf2274);
+    *(uchar4*)buf2275 = rsPackColorTo8888(*(float3*)buf2276);
+    *(uchar4*)buf2277 = rsPackColorTo8888(*(float4*)buf2278);
+    rsQuaternionAdd((rs_quaternion*) buf2279, (const rs_quaternion*) buf2280);
+    rsQuaternionConjugate((rs_quaternion*) buf2281);
+    *(float*)buf2282 = rsQuaternionDot((const rs_quaternion*) buf2283, (const rs_quaternion*) buf2284);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2285, (const rs_quaternion*) buf2286);
+    rsQuaternionLoadRotate((rs_quaternion*) buf2287, *(float*)buf2288, *(float*)buf2289, *(float*)buf2290, *(float*)buf2291);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2292, *(float*)buf2293, *(float*)buf2294, *(float*)buf2295, *(float*)buf2296);
+    rsQuaternionMultiply((rs_quaternion*) buf2297, *(float*)buf2298);
+    rsQuaternionMultiply((rs_quaternion*) buf2299, (const rs_quaternion*) buf2300);
+    rsQuaternionNormalize((rs_quaternion*) buf2301);
+    rsQuaternionSet((rs_quaternion*) buf2302, *(float*)buf2303, *(float*)buf2304, *(float*)buf2305, *(float*)buf2306);
+    rsQuaternionSet((rs_quaternion*) buf2307, (const rs_quaternion*) buf2308);
+    rsQuaternionSlerp((rs_quaternion*) buf2309, (const rs_quaternion*) buf2310, (const rs_quaternion*) buf2311, *(float*)buf2312);
+    *(int*)buf2313 = rsRand(*(int*)buf2314);
+    *(int*)buf2315 = rsRand(*(int*)buf2316, *(int*)buf2317);
+    *(float*)buf2318 = rsRand(*(float*)buf2319);
+    *(float*)buf2320 = rsRand(*(float*)buf2321, *(float*)buf2322);
+    *(float4*)buf2323 = rsSample(*(rs_allocation*)buf2324, *(rs_sampler*)buf2325, *(float*)buf2326);
+    *(float4*)buf2327 = rsSample(*(rs_allocation*)buf2328, *(rs_sampler*)buf2329, *(float*)buf2330, *(float*)buf2331);
+    *(float4*)buf2332 = rsSample(*(rs_allocation*)buf2333, *(rs_sampler*)buf2334, *(float2*)buf2335);
+    *(float4*)buf2336 = rsSample(*(rs_allocation*)buf2337, *(rs_sampler*)buf2338, *(float2*)buf2339, *(float*)buf2340);
+    *(float*)buf2341 = rsSamplerGetAnisotropy(*(rs_sampler*)buf2342);
+    *(rs_sampler_value*)buf2343 = rsSamplerGetMagnification(*(rs_sampler*)buf2344);
+    *(rs_sampler_value*)buf2345 = rsSamplerGetMinification(*(rs_sampler*)buf2346);
+    *(rs_sampler_value*)buf2347 = rsSamplerGetWrapS(*(rs_sampler*)buf2348);
+    *(rs_sampler_value*)buf2349 = rsSamplerGetWrapT(*(rs_sampler*)buf2350);
+    *(bool*)buf2351 = rsSendToClient(*(int*)buf2352);
+    *(bool*)buf2353 = rsSendToClient(*(int*)buf2354, (const void*) buf2355, *(uint*)buf2356);
+    rsSendToClientBlocking(*(int*)buf2357);
+    rsSendToClientBlocking(*(int*)buf2358, (const void*) buf2359, *(uint*)buf2360);
+    rsSetElementAt(*(rs_allocation*)buf2361, (void*) buf2362, *(uint32_t*)buf2363);
+    rsSetElementAt(*(rs_allocation*)buf2364, (void*) buf2365, *(uint32_t*)buf2366, *(uint32_t*)buf2367);
+    rsSetElementAt_float(*(rs_allocation*)buf2368, *(float*)buf2369, *(uint32_t*)buf2370);
+    rsSetElementAt_float2(*(rs_allocation*)buf2371, *(float2*)buf2372, *(uint32_t*)buf2373);
+    rsSetElementAt_float3(*(rs_allocation*)buf2374, *(float3*)buf2375, *(uint32_t*)buf2376);
+    rsSetElementAt_float4(*(rs_allocation*)buf2377, *(float4*)buf2378, *(uint32_t*)buf2379);
+    rsSetElementAt_double(*(rs_allocation*)buf2380, *(double*)buf2381, *(uint32_t*)buf2382);
+    rsSetElementAt_double2(*(rs_allocation*)buf2383, *(double2*)buf2384, *(uint32_t*)buf2385);
+    rsSetElementAt_double3(*(rs_allocation*)buf2386, *(double3*)buf2387, *(uint32_t*)buf2388);
+    rsSetElementAt_double4(*(rs_allocation*)buf2389, *(double4*)buf2390, *(uint32_t*)buf2391);
+    rsSetElementAt_char(*(rs_allocation*)buf2392, *(char*)buf2393, *(uint32_t*)buf2394);
+    rsSetElementAt_char2(*(rs_allocation*)buf2395, *(char2*)buf2396, *(uint32_t*)buf2397);
+    rsSetElementAt_char3(*(rs_allocation*)buf2398, *(char3*)buf2399, *(uint32_t*)buf2400);
+    rsSetElementAt_char4(*(rs_allocation*)buf2401, *(char4*)buf2402, *(uint32_t*)buf2403);
+    rsSetElementAt_uchar(*(rs_allocation*)buf2404, *(uchar*)buf2405, *(uint32_t*)buf2406);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf2407, *(uchar2*)buf2408, *(uint32_t*)buf2409);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf2410, *(uchar3*)buf2411, *(uint32_t*)buf2412);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf2413, *(uchar4*)buf2414, *(uint32_t*)buf2415);
+    rsSetElementAt_short(*(rs_allocation*)buf2416, *(short*)buf2417, *(uint32_t*)buf2418);
+    rsSetElementAt_short2(*(rs_allocation*)buf2419, *(short2*)buf2420, *(uint32_t*)buf2421);
+    rsSetElementAt_short3(*(rs_allocation*)buf2422, *(short3*)buf2423, *(uint32_t*)buf2424);
+    rsSetElementAt_short4(*(rs_allocation*)buf2425, *(short4*)buf2426, *(uint32_t*)buf2427);
+    rsSetElementAt_ushort(*(rs_allocation*)buf2428, *(ushort*)buf2429, *(uint32_t*)buf2430);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf2431, *(ushort2*)buf2432, *(uint32_t*)buf2433);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf2434, *(ushort3*)buf2435, *(uint32_t*)buf2436);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf2437, *(ushort4*)buf2438, *(uint32_t*)buf2439);
+    rsSetElementAt_int(*(rs_allocation*)buf2440, *(int*)buf2441, *(uint32_t*)buf2442);
+    rsSetElementAt_int2(*(rs_allocation*)buf2443, *(int2*)buf2444, *(uint32_t*)buf2445);
+    rsSetElementAt_int3(*(rs_allocation*)buf2446, *(int3*)buf2447, *(uint32_t*)buf2448);
+    rsSetElementAt_int4(*(rs_allocation*)buf2449, *(int4*)buf2450, *(uint32_t*)buf2451);
+    rsSetElementAt_uint(*(rs_allocation*)buf2452, *(uint*)buf2453, *(uint32_t*)buf2454);
+    rsSetElementAt_uint2(*(rs_allocation*)buf2455, *(uint2*)buf2456, *(uint32_t*)buf2457);
+    rsSetElementAt_uint3(*(rs_allocation*)buf2458, *(uint3*)buf2459, *(uint32_t*)buf2460);
+    rsSetElementAt_uint4(*(rs_allocation*)buf2461, *(uint4*)buf2462, *(uint32_t*)buf2463);
+    rsSetElementAt_long(*(rs_allocation*)buf2464, *(long*)buf2465, *(uint32_t*)buf2466);
+    rsSetElementAt_long2(*(rs_allocation*)buf2467, *(long2*)buf2468, *(uint32_t*)buf2469);
+    rsSetElementAt_long3(*(rs_allocation*)buf2470, *(long3*)buf2471, *(uint32_t*)buf2472);
+    rsSetElementAt_long4(*(rs_allocation*)buf2473, *(long4*)buf2474, *(uint32_t*)buf2475);
+    rsSetElementAt_ulong(*(rs_allocation*)buf2476, *(ulong*)buf2477, *(uint32_t*)buf2478);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf2479, *(ulong2*)buf2480, *(uint32_t*)buf2481);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf2482, *(ulong3*)buf2483, *(uint32_t*)buf2484);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf2485, *(ulong4*)buf2486, *(uint32_t*)buf2487);
+    rsSetElementAt_float(*(rs_allocation*)buf2488, *(float*)buf2489, *(uint32_t*)buf2490, *(uint32_t*)buf2491);
+    rsSetElementAt_float2(*(rs_allocation*)buf2492, *(float2*)buf2493, *(uint32_t*)buf2494, *(uint32_t*)buf2495);
+    rsSetElementAt_float3(*(rs_allocation*)buf2496, *(float3*)buf2497, *(uint32_t*)buf2498, *(uint32_t*)buf2499);
+    rsSetElementAt_float4(*(rs_allocation*)buf2500, *(float4*)buf2501, *(uint32_t*)buf2502, *(uint32_t*)buf2503);
+    rsSetElementAt_double(*(rs_allocation*)buf2504, *(double*)buf2505, *(uint32_t*)buf2506, *(uint32_t*)buf2507);
+    rsSetElementAt_double2(*(rs_allocation*)buf2508, *(double2*)buf2509, *(uint32_t*)buf2510, *(uint32_t*)buf2511);
+    rsSetElementAt_double3(*(rs_allocation*)buf2512, *(double3*)buf2513, *(uint32_t*)buf2514, *(uint32_t*)buf2515);
+    rsSetElementAt_double4(*(rs_allocation*)buf2516, *(double4*)buf2517, *(uint32_t*)buf2518, *(uint32_t*)buf2519);
+    rsSetElementAt_char(*(rs_allocation*)buf2520, *(char*)buf2521, *(uint32_t*)buf2522, *(uint32_t*)buf2523);
+    rsSetElementAt_char2(*(rs_allocation*)buf2524, *(char2*)buf2525, *(uint32_t*)buf2526, *(uint32_t*)buf2527);
+    rsSetElementAt_char3(*(rs_allocation*)buf2528, *(char3*)buf2529, *(uint32_t*)buf2530, *(uint32_t*)buf2531);
+    rsSetElementAt_char4(*(rs_allocation*)buf2532, *(char4*)buf2533, *(uint32_t*)buf2534, *(uint32_t*)buf2535);
+    rsSetElementAt_uchar(*(rs_allocation*)buf2536, *(uchar*)buf2537, *(uint32_t*)buf2538, *(uint32_t*)buf2539);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf2540, *(uchar2*)buf2541, *(uint32_t*)buf2542, *(uint32_t*)buf2543);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf2544, *(uchar3*)buf2545, *(uint32_t*)buf2546, *(uint32_t*)buf2547);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf2548, *(uchar4*)buf2549, *(uint32_t*)buf2550, *(uint32_t*)buf2551);
+    rsSetElementAt_short(*(rs_allocation*)buf2552, *(short*)buf2553, *(uint32_t*)buf2554, *(uint32_t*)buf2555);
+    rsSetElementAt_short2(*(rs_allocation*)buf2556, *(short2*)buf2557, *(uint32_t*)buf2558, *(uint32_t*)buf2559);
+    rsSetElementAt_short3(*(rs_allocation*)buf2560, *(short3*)buf2561, *(uint32_t*)buf2562, *(uint32_t*)buf2563);
+    rsSetElementAt_short4(*(rs_allocation*)buf2564, *(short4*)buf2565, *(uint32_t*)buf2566, *(uint32_t*)buf2567);
+    rsSetElementAt_ushort(*(rs_allocation*)buf2568, *(ushort*)buf2569, *(uint32_t*)buf2570, *(uint32_t*)buf2571);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf2572, *(ushort2*)buf2573, *(uint32_t*)buf2574, *(uint32_t*)buf2575);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf2576, *(ushort3*)buf2577, *(uint32_t*)buf2578, *(uint32_t*)buf2579);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf2580, *(ushort4*)buf2581, *(uint32_t*)buf2582, *(uint32_t*)buf2583);
+    rsSetElementAt_int(*(rs_allocation*)buf2584, *(int*)buf2585, *(uint32_t*)buf2586, *(uint32_t*)buf2587);
+    rsSetElementAt_int2(*(rs_allocation*)buf2588, *(int2*)buf2589, *(uint32_t*)buf2590, *(uint32_t*)buf2591);
+    rsSetElementAt_int3(*(rs_allocation*)buf2592, *(int3*)buf2593, *(uint32_t*)buf2594, *(uint32_t*)buf2595);
+    rsSetElementAt_int4(*(rs_allocation*)buf2596, *(int4*)buf2597, *(uint32_t*)buf2598, *(uint32_t*)buf2599);
+    rsSetElementAt_uint(*(rs_allocation*)buf2600, *(uint*)buf2601, *(uint32_t*)buf2602, *(uint32_t*)buf2603);
+    rsSetElementAt_uint2(*(rs_allocation*)buf2604, *(uint2*)buf2605, *(uint32_t*)buf2606, *(uint32_t*)buf2607);
+    rsSetElementAt_uint3(*(rs_allocation*)buf2608, *(uint3*)buf2609, *(uint32_t*)buf2610, *(uint32_t*)buf2611);
+    rsSetElementAt_uint4(*(rs_allocation*)buf2612, *(uint4*)buf2613, *(uint32_t*)buf2614, *(uint32_t*)buf2615);
+    rsSetElementAt_long(*(rs_allocation*)buf2616, *(long*)buf2617, *(uint32_t*)buf2618, *(uint32_t*)buf2619);
+    rsSetElementAt_long2(*(rs_allocation*)buf2620, *(long2*)buf2621, *(uint32_t*)buf2622, *(uint32_t*)buf2623);
+    rsSetElementAt_long3(*(rs_allocation*)buf2624, *(long3*)buf2625, *(uint32_t*)buf2626, *(uint32_t*)buf2627);
+    rsSetElementAt_long4(*(rs_allocation*)buf2628, *(long4*)buf2629, *(uint32_t*)buf2630, *(uint32_t*)buf2631);
+    rsSetElementAt_ulong(*(rs_allocation*)buf2632, *(ulong*)buf2633, *(uint32_t*)buf2634, *(uint32_t*)buf2635);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf2636, *(ulong2*)buf2637, *(uint32_t*)buf2638, *(uint32_t*)buf2639);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf2640, *(ulong3*)buf2641, *(uint32_t*)buf2642, *(uint32_t*)buf2643);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf2644, *(ulong4*)buf2645, *(uint32_t*)buf2646, *(uint32_t*)buf2647);
+    rsSetElementAt_float(*(rs_allocation*)buf2648, *(float*)buf2649, *(uint32_t*)buf2650, *(uint32_t*)buf2651, *(uint32_t*)buf2652);
+    rsSetElementAt_float2(*(rs_allocation*)buf2653, *(float2*)buf2654, *(uint32_t*)buf2655, *(uint32_t*)buf2656, *(uint32_t*)buf2657);
+    rsSetElementAt_float3(*(rs_allocation*)buf2658, *(float3*)buf2659, *(uint32_t*)buf2660, *(uint32_t*)buf2661, *(uint32_t*)buf2662);
+    rsSetElementAt_float4(*(rs_allocation*)buf2663, *(float4*)buf2664, *(uint32_t*)buf2665, *(uint32_t*)buf2666, *(uint32_t*)buf2667);
+    rsSetElementAt_double(*(rs_allocation*)buf2668, *(double*)buf2669, *(uint32_t*)buf2670, *(uint32_t*)buf2671, *(uint32_t*)buf2672);
+    rsSetElementAt_double2(*(rs_allocation*)buf2673, *(double2*)buf2674, *(uint32_t*)buf2675, *(uint32_t*)buf2676, *(uint32_t*)buf2677);
+    rsSetElementAt_double3(*(rs_allocation*)buf2678, *(double3*)buf2679, *(uint32_t*)buf2680, *(uint32_t*)buf2681, *(uint32_t*)buf2682);
+    rsSetElementAt_double4(*(rs_allocation*)buf2683, *(double4*)buf2684, *(uint32_t*)buf2685, *(uint32_t*)buf2686, *(uint32_t*)buf2687);
+    rsSetElementAt_char(*(rs_allocation*)buf2688, *(char*)buf2689, *(uint32_t*)buf2690, *(uint32_t*)buf2691, *(uint32_t*)buf2692);
+    rsSetElementAt_char2(*(rs_allocation*)buf2693, *(char2*)buf2694, *(uint32_t*)buf2695, *(uint32_t*)buf2696, *(uint32_t*)buf2697);
+    rsSetElementAt_char3(*(rs_allocation*)buf2698, *(char3*)buf2699, *(uint32_t*)buf2700, *(uint32_t*)buf2701, *(uint32_t*)buf2702);
+    rsSetElementAt_char4(*(rs_allocation*)buf2703, *(char4*)buf2704, *(uint32_t*)buf2705, *(uint32_t*)buf2706, *(uint32_t*)buf2707);
+    rsSetElementAt_uchar(*(rs_allocation*)buf2708, *(uchar*)buf2709, *(uint32_t*)buf2710, *(uint32_t*)buf2711, *(uint32_t*)buf2712);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf2713, *(uchar2*)buf2714, *(uint32_t*)buf2715, *(uint32_t*)buf2716, *(uint32_t*)buf2717);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf2718, *(uchar3*)buf2719, *(uint32_t*)buf2720, *(uint32_t*)buf2721, *(uint32_t*)buf2722);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf2723, *(uchar4*)buf2724, *(uint32_t*)buf2725, *(uint32_t*)buf2726, *(uint32_t*)buf2727);
+    rsSetElementAt_short(*(rs_allocation*)buf2728, *(short*)buf2729, *(uint32_t*)buf2730, *(uint32_t*)buf2731, *(uint32_t*)buf2732);
+    rsSetElementAt_short2(*(rs_allocation*)buf2733, *(short2*)buf2734, *(uint32_t*)buf2735, *(uint32_t*)buf2736, *(uint32_t*)buf2737);
+    rsSetElementAt_short3(*(rs_allocation*)buf2738, *(short3*)buf2739, *(uint32_t*)buf2740, *(uint32_t*)buf2741, *(uint32_t*)buf2742);
+    rsSetElementAt_short4(*(rs_allocation*)buf2743, *(short4*)buf2744, *(uint32_t*)buf2745, *(uint32_t*)buf2746, *(uint32_t*)buf2747);
+    rsSetElementAt_ushort(*(rs_allocation*)buf2748, *(ushort*)buf2749, *(uint32_t*)buf2750, *(uint32_t*)buf2751, *(uint32_t*)buf2752);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf2753, *(ushort2*)buf2754, *(uint32_t*)buf2755, *(uint32_t*)buf2756, *(uint32_t*)buf2757);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf2758, *(ushort3*)buf2759, *(uint32_t*)buf2760, *(uint32_t*)buf2761, *(uint32_t*)buf2762);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf2763, *(ushort4*)buf2764, *(uint32_t*)buf2765, *(uint32_t*)buf2766, *(uint32_t*)buf2767);
+    rsSetElementAt_int(*(rs_allocation*)buf2768, *(int*)buf2769, *(uint32_t*)buf2770, *(uint32_t*)buf2771, *(uint32_t*)buf2772);
+    rsSetElementAt_int2(*(rs_allocation*)buf2773, *(int2*)buf2774, *(uint32_t*)buf2775, *(uint32_t*)buf2776, *(uint32_t*)buf2777);
+    rsSetElementAt_int3(*(rs_allocation*)buf2778, *(int3*)buf2779, *(uint32_t*)buf2780, *(uint32_t*)buf2781, *(uint32_t*)buf2782);
+    rsSetElementAt_int4(*(rs_allocation*)buf2783, *(int4*)buf2784, *(uint32_t*)buf2785, *(uint32_t*)buf2786, *(uint32_t*)buf2787);
+    rsSetElementAt_uint(*(rs_allocation*)buf2788, *(uint*)buf2789, *(uint32_t*)buf2790, *(uint32_t*)buf2791, *(uint32_t*)buf2792);
+    rsSetElementAt_uint2(*(rs_allocation*)buf2793, *(uint2*)buf2794, *(uint32_t*)buf2795, *(uint32_t*)buf2796, *(uint32_t*)buf2797);
+    rsSetElementAt_uint3(*(rs_allocation*)buf2798, *(uint3*)buf2799, *(uint32_t*)buf2800, *(uint32_t*)buf2801, *(uint32_t*)buf2802);
+    rsSetElementAt_uint4(*(rs_allocation*)buf2803, *(uint4*)buf2804, *(uint32_t*)buf2805, *(uint32_t*)buf2806, *(uint32_t*)buf2807);
+    rsSetElementAt_long(*(rs_allocation*)buf2808, *(long*)buf2809, *(uint32_t*)buf2810, *(uint32_t*)buf2811, *(uint32_t*)buf2812);
+    rsSetElementAt_long2(*(rs_allocation*)buf2813, *(long2*)buf2814, *(uint32_t*)buf2815, *(uint32_t*)buf2816, *(uint32_t*)buf2817);
+    rsSetElementAt_long3(*(rs_allocation*)buf2818, *(long3*)buf2819, *(uint32_t*)buf2820, *(uint32_t*)buf2821, *(uint32_t*)buf2822);
+    rsSetElementAt_long4(*(rs_allocation*)buf2823, *(long4*)buf2824, *(uint32_t*)buf2825, *(uint32_t*)buf2826, *(uint32_t*)buf2827);
+    rsSetElementAt_ulong(*(rs_allocation*)buf2828, *(ulong*)buf2829, *(uint32_t*)buf2830, *(uint32_t*)buf2831, *(uint32_t*)buf2832);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf2833, *(ulong2*)buf2834, *(uint32_t*)buf2835, *(uint32_t*)buf2836, *(uint32_t*)buf2837);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf2838, *(ulong3*)buf2839, *(uint32_t*)buf2840, *(uint32_t*)buf2841, *(uint32_t*)buf2842);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf2843, *(ulong4*)buf2844, *(uint32_t*)buf2845, *(uint32_t*)buf2846, *(uint32_t*)buf2847);
+    rsSetObject((rs_element*) buf2848, *(rs_element*)buf2849);
+    rsSetObject((rs_type*) buf2850, *(rs_type*)buf2851);
+    rsSetObject((rs_allocation*) buf2852, *(rs_allocation*)buf2853);
+    rsSetObject((rs_sampler*) buf2854, *(rs_sampler*)buf2855);
+    rsSetObject((rs_script*) buf2856, *(rs_script*)buf2857);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf2840, *(rs_mesh*)buf2841);
-    rsSetObject((rs_program_fragment*) buf2842, *(rs_program_fragment*)buf2843);
-    rsSetObject((rs_program_vertex*) buf2844, *(rs_program_vertex*)buf2845);
-    rsSetObject((rs_program_raster*) buf2846, *(rs_program_raster*)buf2847);
-    rsSetObject((rs_program_store*) buf2848, *(rs_program_store*)buf2849);
-    rsSetObject((rs_font*) buf2850, *(rs_font*)buf2851);
+    rsSetObject((rs_mesh*) buf2858, *(rs_mesh*)buf2859);
+    rsSetObject((rs_program_fragment*) buf2860, *(rs_program_fragment*)buf2861);
+    rsSetObject((rs_program_vertex*) buf2862, *(rs_program_vertex*)buf2863);
+    rsSetObject((rs_program_raster*) buf2864, *(rs_program_raster*)buf2865);
+    rsSetObject((rs_program_store*) buf2866, *(rs_program_store*)buf2867);
+    rsSetObject((rs_font*) buf2868, *(rs_font*)buf2869);
 #endif
-    *(rs_time_t*)buf2852 = rsTime((rs_time_t*) buf2853);
-    *(float4*)buf2854 = rsUnpackColor8888(*(uchar4*)buf2855);
-    *(int64_t*)buf2856 = rsUptimeMillis();
-    *(int64_t*)buf2857 = rsUptimeNanos();
-    *(float4*)buf2858 = rsYuvToRGBA_float4(*(uchar*)buf2859, *(uchar*)buf2860, *(uchar*)buf2861);
-    *(uchar4*)buf2862 = rsYuvToRGBA_uchar4(*(uchar*)buf2863, *(uchar*)buf2864, *(uchar*)buf2865);
+    *(rs_time_t*)buf2870 = rsTime((rs_time_t*) buf2871);
+    *(float4*)buf2872 = rsUnpackColor8888(*(uchar4*)buf2873);
+    *(int64_t*)buf2874 = rsUptimeMillis();
+    *(int64_t*)buf2875 = rsUptimeNanos();
+    *(float4*)buf2876 = rsYuvToRGBA_float4(*(uchar*)buf2877, *(uchar*)buf2878, *(uchar*)buf2879);
+    *(uchar4*)buf2880 = rsYuvToRGBA_uchar4(*(uchar*)buf2881, *(uchar*)buf2882, *(uchar*)buf2883);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2866);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2884);
 #endif
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf2867, *(rs_allocation_usage_type*)buf2868);
+    rsgAllocationSyncAll(*(rs_allocation*)buf2885, *(rs_allocation_usage_type*)buf2886);
 #endif
 #ifndef __LP64__
-    rsgBindColorTarget(*(rs_allocation*)buf2869, *(uint*)buf2870);
+    rsgBindColorTarget(*(rs_allocation*)buf2887, *(uint*)buf2888);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf2871, *(uint*)buf2872, *(rs_allocation*)buf2873);
+    rsgBindConstant(*(rs_program_fragment*)buf2889, *(uint*)buf2890, *(rs_allocation*)buf2891);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf2874, *(uint*)buf2875, *(rs_allocation*)buf2876);
+    rsgBindConstant(*(rs_program_vertex*)buf2892, *(uint*)buf2893, *(rs_allocation*)buf2894);
 #endif
 #ifndef __LP64__
-    rsgBindDepthTarget(*(rs_allocation*)buf2877);
+    rsgBindDepthTarget(*(rs_allocation*)buf2895);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf2878);
+    rsgBindFont(*(rs_font*)buf2896);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf2879);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf2897);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf2880);
+    rsgBindProgramRaster(*(rs_program_raster*)buf2898);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf2881);
+    rsgBindProgramStore(*(rs_program_store*)buf2899);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf2882);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf2900);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf2883, *(uint*)buf2884, *(rs_sampler*)buf2885);
+    rsgBindSampler(*(rs_program_fragment*)buf2901, *(uint*)buf2902, *(rs_sampler*)buf2903);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf2886, *(uint*)buf2887, *(rs_allocation*)buf2888);
+    rsgBindTexture(*(rs_program_fragment*)buf2904, *(uint*)buf2905, *(rs_allocation*)buf2906);
 #endif
 #ifndef __LP64__
     rsgClearAllRenderTargets();
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf2889, *(float*)buf2890, *(float*)buf2891, *(float*)buf2892);
+    rsgClearColor(*(float*)buf2907, *(float*)buf2908, *(float*)buf2909, *(float*)buf2910);
 #endif
 #ifndef __LP64__
-    rsgClearColorTarget(*(uint*)buf2893);
+    rsgClearColorTarget(*(uint*)buf2911);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf2894);
+    rsgClearDepth(*(float*)buf2912);
 #endif
 #ifndef __LP64__
     rsgClearDepthTarget();
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2895);
+    rsgDrawMesh(*(rs_mesh*)buf2913);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2896, *(uint*)buf2897);
+    rsgDrawMesh(*(rs_mesh*)buf2914, *(uint*)buf2915);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf2898, *(uint*)buf2899, *(uint*)buf2900, *(uint*)buf2901);
+    rsgDrawMesh(*(rs_mesh*)buf2916, *(uint*)buf2917, *(uint*)buf2918, *(uint*)buf2919);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf2902, *(float*)buf2903, *(float*)buf2904, *(float*)buf2905, *(float*)buf2906, *(float*)buf2907, *(float*)buf2908, *(float*)buf2909, *(float*)buf2910, *(float*)buf2911, *(float*)buf2912, *(float*)buf2913);
+    rsgDrawQuad(*(float*)buf2920, *(float*)buf2921, *(float*)buf2922, *(float*)buf2923, *(float*)buf2924, *(float*)buf2925, *(float*)buf2926, *(float*)buf2927, *(float*)buf2928, *(float*)buf2929, *(float*)buf2930, *(float*)buf2931);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf2914, *(float*)buf2915, *(float*)buf2916, *(float*)buf2917, *(float*)buf2918, *(float*)buf2919, *(float*)buf2920, *(float*)buf2921, *(float*)buf2922, *(float*)buf2923, *(float*)buf2924, *(float*)buf2925, *(float*)buf2926, *(float*)buf2927, *(float*)buf2928, *(float*)buf2929, *(float*)buf2930, *(float*)buf2931, *(float*)buf2932, *(float*)buf2933);
+    rsgDrawQuadTexCoords(*(float*)buf2932, *(float*)buf2933, *(float*)buf2934, *(float*)buf2935, *(float*)buf2936, *(float*)buf2937, *(float*)buf2938, *(float*)buf2939, *(float*)buf2940, *(float*)buf2941, *(float*)buf2942, *(float*)buf2943, *(float*)buf2944, *(float*)buf2945, *(float*)buf2946, *(float*)buf2947, *(float*)buf2948, *(float*)buf2949, *(float*)buf2950, *(float*)buf2951);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf2934, *(float*)buf2935, *(float*)buf2936, *(float*)buf2937, *(float*)buf2938);
+    rsgDrawRect(*(float*)buf2952, *(float*)buf2953, *(float*)buf2954, *(float*)buf2955, *(float*)buf2956);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf2939, *(float*)buf2940, *(float*)buf2941, *(float*)buf2942, *(float*)buf2943);
+    rsgDrawSpriteScreenspace(*(float*)buf2957, *(float*)buf2958, *(float*)buf2959, *(float*)buf2960, *(float*)buf2961);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf2944, *(int*)buf2945, *(int*)buf2946);
+    rsgDrawText((const char*) buf2962, *(int*)buf2963, *(int*)buf2964);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf2947, *(int*)buf2948, *(int*)buf2949);
+    rsgDrawText(*(rs_allocation*)buf2965, *(int*)buf2966, *(int*)buf2967);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2950 = rsgFinish();
+    *(uint*)buf2968 = rsgFinish();
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf2951, *(float*)buf2952, *(float*)buf2953, *(float*)buf2954);
+    rsgFontColor(*(float*)buf2969, *(float*)buf2970, *(float*)buf2971, *(float*)buf2972);
 #endif
 #ifndef __LP64__
-    *(uint*)buf2955 = rsgGetHeight();
+    *(uint*)buf2973 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf2956 = rsgGetWidth();
+    *(uint*)buf2974 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf2957, (int*) buf2958, (int*) buf2959, (int*) buf2960, (int*) buf2961);
+    rsgMeasureText((const char*) buf2975, (int*) buf2976, (int*) buf2977, (int*) buf2978, (int*) buf2979);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf2962, (int*) buf2963, (int*) buf2964, (int*) buf2965, (int*) buf2966);
+    rsgMeasureText(*(rs_allocation*)buf2980, (int*) buf2981, (int*) buf2982, (int*) buf2983, (int*) buf2984);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2967, (float*) buf2968, (float*) buf2969, (float*) buf2970, (float*) buf2971, (float*) buf2972, (float*) buf2973);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2985, (float*) buf2986, (float*) buf2987, (float*) buf2988, (float*) buf2989, (float*) buf2990, (float*) buf2991);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2974, (float3*) buf2975, (float3*) buf2976);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf2992, (float3*) buf2993, (float3*) buf2994);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf2977 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf2978, *(uint32_t*)buf2979);
+    *(rs_allocation*)buf2995 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf2996, *(uint32_t*)buf2997);
 #endif
 #ifndef __LP64__
-    *(rs_primitive*)buf2980 = rsgMeshGetPrimitive(*(rs_mesh*)buf2981, *(uint32_t*)buf2982);
+    *(rs_primitive*)buf2998 = rsgMeshGetPrimitive(*(rs_mesh*)buf2999, *(uint32_t*)buf3000);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf2983 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf2984);
+    *(uint32_t*)buf3001 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf3002);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf2985 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf2986, *(uint32_t*)buf2987);
+    *(rs_allocation*)buf3003 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf3004, *(uint32_t*)buf3005);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf2988 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf2989);
+    *(uint32_t*)buf3006 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf3007);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf2990, *(float*)buf2991, *(float*)buf2992, *(float*)buf2993, *(float*)buf2994);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf3008, *(float*)buf3009, *(float*)buf3010, *(float*)buf3011, *(float*)buf3012);
 #endif
 #ifndef __LP64__
-    *(rs_cull_mode*)buf2995 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf2996);
+    *(rs_cull_mode*)buf3013 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf3014);
 #endif
 #ifndef __LP64__
-    *(bool*)buf2997 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf2998);
+    *(bool*)buf3015 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf3016);
 #endif
 #ifndef __LP64__
-    *(rs_blend_dst_func*)buf2999 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf3000);
+    *(rs_blend_dst_func*)buf3017 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf3018);
 #endif
 #ifndef __LP64__
-    *(rs_blend_src_func*)buf3001 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf3002);
+    *(rs_blend_src_func*)buf3019 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf3020);
 #endif
 #ifndef __LP64__
-    *(rs_depth_func*)buf3003 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf3004);
+    *(rs_depth_func*)buf3021 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf3022);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3005 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf3006);
+    *(bool*)buf3023 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf3024);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3007 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf3008);
+    *(bool*)buf3025 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf3026);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3009 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf3010);
+    *(bool*)buf3027 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf3028);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3011 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf3012);
+    *(bool*)buf3029 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf3030);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3013 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf3014);
+    *(bool*)buf3031 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf3032);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3015 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf3016);
+    *(bool*)buf3033 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf3034);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf3017);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf3035);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf3018);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf3036);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf3019);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf3037);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf3020);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf3038);
 #endif
-    *(float*)buf3021 = rsqrt(*(float*)buf3022);
-    *(float2*)buf3023 = rsqrt(*(float2*)buf3024);
-    *(float3*)buf3025 = rsqrt(*(float3*)buf3026);
-    *(float4*)buf3027 = rsqrt(*(float4*)buf3028);
-    *(float*)buf3029 = sign(*(float*)buf3030);
-    *(float2*)buf3031 = sign(*(float2*)buf3032);
-    *(float3*)buf3033 = sign(*(float3*)buf3034);
-    *(float4*)buf3035 = sign(*(float4*)buf3036);
-    *(float*)buf3037 = sin(*(float*)buf3038);
-    *(float2*)buf3039 = sin(*(float2*)buf3040);
-    *(float3*)buf3041 = sin(*(float3*)buf3042);
-    *(float4*)buf3043 = sin(*(float4*)buf3044);
-    *(float*)buf3045 = sincos(*(float*)buf3046, (float*) buf3047);
-    *(float2*)buf3048 = sincos(*(float2*)buf3049, (float2*) buf3050);
-    *(float3*)buf3051 = sincos(*(float3*)buf3052, (float3*) buf3053);
-    *(float4*)buf3054 = sincos(*(float4*)buf3055, (float4*) buf3056);
-    *(float*)buf3057 = sinh(*(float*)buf3058);
-    *(float2*)buf3059 = sinh(*(float2*)buf3060);
-    *(float3*)buf3061 = sinh(*(float3*)buf3062);
-    *(float4*)buf3063 = sinh(*(float4*)buf3064);
-    *(float*)buf3065 = sinpi(*(float*)buf3066);
-    *(float2*)buf3067 = sinpi(*(float2*)buf3068);
-    *(float3*)buf3069 = sinpi(*(float3*)buf3070);
-    *(float4*)buf3071 = sinpi(*(float4*)buf3072);
-    *(float*)buf3073 = sqrt(*(float*)buf3074);
-    *(float2*)buf3075 = sqrt(*(float2*)buf3076);
-    *(float3*)buf3077 = sqrt(*(float3*)buf3078);
-    *(float4*)buf3079 = sqrt(*(float4*)buf3080);
-    *(float*)buf3081 = step(*(float*)buf3082, *(float*)buf3083);
-    *(float2*)buf3084 = step(*(float2*)buf3085, *(float2*)buf3086);
-    *(float3*)buf3087 = step(*(float3*)buf3088, *(float3*)buf3089);
-    *(float4*)buf3090 = step(*(float4*)buf3091, *(float4*)buf3092);
-    *(float2*)buf3093 = step(*(float2*)buf3094, *(float*)buf3095);
-    *(float3*)buf3096 = step(*(float3*)buf3097, *(float*)buf3098);
-    *(float4*)buf3099 = step(*(float4*)buf3100, *(float*)buf3101);
-    *(float*)buf3102 = tan(*(float*)buf3103);
-    *(float2*)buf3104 = tan(*(float2*)buf3105);
-    *(float3*)buf3106 = tan(*(float3*)buf3107);
-    *(float4*)buf3108 = tan(*(float4*)buf3109);
-    *(float*)buf3110 = tanh(*(float*)buf3111);
-    *(float2*)buf3112 = tanh(*(float2*)buf3113);
-    *(float3*)buf3114 = tanh(*(float3*)buf3115);
-    *(float4*)buf3116 = tanh(*(float4*)buf3117);
-    *(float*)buf3118 = tanpi(*(float*)buf3119);
-    *(float2*)buf3120 = tanpi(*(float2*)buf3121);
-    *(float3*)buf3122 = tanpi(*(float3*)buf3123);
-    *(float4*)buf3124 = tanpi(*(float4*)buf3125);
-    *(float*)buf3126 = tgamma(*(float*)buf3127);
-    *(float2*)buf3128 = tgamma(*(float2*)buf3129);
-    *(float3*)buf3130 = tgamma(*(float3*)buf3131);
-    *(float4*)buf3132 = tgamma(*(float4*)buf3133);
-    *(float*)buf3134 = trunc(*(float*)buf3135);
-    *(float2*)buf3136 = trunc(*(float2*)buf3137);
-    *(float3*)buf3138 = trunc(*(float3*)buf3139);
-    *(float4*)buf3140 = trunc(*(float4*)buf3141);
+    *(float*)buf3039 = rsqrt(*(float*)buf3040);
+    *(float2*)buf3041 = rsqrt(*(float2*)buf3042);
+    *(float3*)buf3043 = rsqrt(*(float3*)buf3044);
+    *(float4*)buf3045 = rsqrt(*(float4*)buf3046);
+    *(float*)buf3047 = sign(*(float*)buf3048);
+    *(float2*)buf3049 = sign(*(float2*)buf3050);
+    *(float3*)buf3051 = sign(*(float3*)buf3052);
+    *(float4*)buf3053 = sign(*(float4*)buf3054);
+    *(float*)buf3055 = sin(*(float*)buf3056);
+    *(float2*)buf3057 = sin(*(float2*)buf3058);
+    *(float3*)buf3059 = sin(*(float3*)buf3060);
+    *(float4*)buf3061 = sin(*(float4*)buf3062);
+    *(float*)buf3063 = sincos(*(float*)buf3064, (float*) buf3065);
+    *(float2*)buf3066 = sincos(*(float2*)buf3067, (float2*) buf3068);
+    *(float3*)buf3069 = sincos(*(float3*)buf3070, (float3*) buf3071);
+    *(float4*)buf3072 = sincos(*(float4*)buf3073, (float4*) buf3074);
+    *(float*)buf3075 = sinh(*(float*)buf3076);
+    *(float2*)buf3077 = sinh(*(float2*)buf3078);
+    *(float3*)buf3079 = sinh(*(float3*)buf3080);
+    *(float4*)buf3081 = sinh(*(float4*)buf3082);
+    *(float*)buf3083 = sinpi(*(float*)buf3084);
+    *(float2*)buf3085 = sinpi(*(float2*)buf3086);
+    *(float3*)buf3087 = sinpi(*(float3*)buf3088);
+    *(float4*)buf3089 = sinpi(*(float4*)buf3090);
+    *(float*)buf3091 = sqrt(*(float*)buf3092);
+    *(float2*)buf3093 = sqrt(*(float2*)buf3094);
+    *(float3*)buf3095 = sqrt(*(float3*)buf3096);
+    *(float4*)buf3097 = sqrt(*(float4*)buf3098);
+    *(float*)buf3099 = step(*(float*)buf3100, *(float*)buf3101);
+    *(float2*)buf3102 = step(*(float2*)buf3103, *(float2*)buf3104);
+    *(float3*)buf3105 = step(*(float3*)buf3106, *(float3*)buf3107);
+    *(float4*)buf3108 = step(*(float4*)buf3109, *(float4*)buf3110);
+    *(float2*)buf3111 = step(*(float2*)buf3112, *(float*)buf3113);
+    *(float3*)buf3114 = step(*(float3*)buf3115, *(float*)buf3116);
+    *(float4*)buf3117 = step(*(float4*)buf3118, *(float*)buf3119);
+    *(float*)buf3120 = tan(*(float*)buf3121);
+    *(float2*)buf3122 = tan(*(float2*)buf3123);
+    *(float3*)buf3124 = tan(*(float3*)buf3125);
+    *(float4*)buf3126 = tan(*(float4*)buf3127);
+    *(float*)buf3128 = tanh(*(float*)buf3129);
+    *(float2*)buf3130 = tanh(*(float2*)buf3131);
+    *(float3*)buf3132 = tanh(*(float3*)buf3133);
+    *(float4*)buf3134 = tanh(*(float4*)buf3135);
+    *(float*)buf3136 = tanpi(*(float*)buf3137);
+    *(float2*)buf3138 = tanpi(*(float2*)buf3139);
+    *(float3*)buf3140 = tanpi(*(float3*)buf3141);
+    *(float4*)buf3142 = tanpi(*(float4*)buf3143);
+    *(float*)buf3144 = tgamma(*(float*)buf3145);
+    *(float2*)buf3146 = tgamma(*(float2*)buf3147);
+    *(float3*)buf3148 = tgamma(*(float3*)buf3149);
+    *(float4*)buf3150 = tgamma(*(float4*)buf3151);
+    *(float*)buf3152 = trunc(*(float*)buf3153);
+    *(float2*)buf3154 = trunc(*(float2*)buf3155);
+    *(float3*)buf3156 = trunc(*(float3*)buf3157);
+    *(float4*)buf3158 = trunc(*(float4*)buf3159);
 }
diff --git a/tests/P_all_api_19/all19.rs b/tests/P_all_api_19/all19.rs
index c10a9a1..009af88 100644
--- a/tests/P_all_api_19/all19.rs
+++ b/tests/P_all_api_19/all19.rs
@@ -3388,6 +3388,24 @@
 char buf3363[200];
 char buf3364[200];
 char buf3365[200];
+char buf3366[200];
+char buf3367[200];
+char buf3368[200];
+char buf3369[200];
+char buf3370[200];
+char buf3371[200];
+char buf3372[200];
+char buf3373[200];
+char buf3374[200];
+char buf3375[200];
+char buf3376[200];
+char buf3377[200];
+char buf3378[200];
+char buf3379[200];
+char buf3380[200];
+char buf3381[200];
+char buf3382[200];
+char buf3383[200];
 
 void RS_KERNEL test(int in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -3867,826 +3885,832 @@
     *(float2*)buf1162 = max(*(float2*)buf1163, *(float2*)buf1164);
     *(float3*)buf1165 = max(*(float3*)buf1166, *(float3*)buf1167);
     *(float4*)buf1168 = max(*(float4*)buf1169, *(float4*)buf1170);
-    *(char*)buf1171 = max(*(char*)buf1172, *(char*)buf1173);
-    *(uchar*)buf1174 = max(*(uchar*)buf1175, *(uchar*)buf1176);
-    *(short*)buf1177 = max(*(short*)buf1178, *(short*)buf1179);
-    *(ushort*)buf1180 = max(*(ushort*)buf1181, *(ushort*)buf1182);
-    *(int*)buf1183 = max(*(int*)buf1184, *(int*)buf1185);
-    *(uint*)buf1186 = max(*(uint*)buf1187, *(uint*)buf1188);
-    *(char2*)buf1189 = max(*(char2*)buf1190, *(char2*)buf1191);
-    *(uchar2*)buf1192 = max(*(uchar2*)buf1193, *(uchar2*)buf1194);
-    *(short2*)buf1195 = max(*(short2*)buf1196, *(short2*)buf1197);
-    *(ushort2*)buf1198 = max(*(ushort2*)buf1199, *(ushort2*)buf1200);
-    *(int2*)buf1201 = max(*(int2*)buf1202, *(int2*)buf1203);
-    *(uint2*)buf1204 = max(*(uint2*)buf1205, *(uint2*)buf1206);
-    *(char3*)buf1207 = max(*(char3*)buf1208, *(char3*)buf1209);
-    *(uchar3*)buf1210 = max(*(uchar3*)buf1211, *(uchar3*)buf1212);
-    *(short3*)buf1213 = max(*(short3*)buf1214, *(short3*)buf1215);
-    *(ushort3*)buf1216 = max(*(ushort3*)buf1217, *(ushort3*)buf1218);
-    *(int3*)buf1219 = max(*(int3*)buf1220, *(int3*)buf1221);
-    *(uint3*)buf1222 = max(*(uint3*)buf1223, *(uint3*)buf1224);
-    *(char4*)buf1225 = max(*(char4*)buf1226, *(char4*)buf1227);
-    *(uchar4*)buf1228 = max(*(uchar4*)buf1229, *(uchar4*)buf1230);
-    *(short4*)buf1231 = max(*(short4*)buf1232, *(short4*)buf1233);
-    *(ushort4*)buf1234 = max(*(ushort4*)buf1235, *(ushort4*)buf1236);
-    *(int4*)buf1237 = max(*(int4*)buf1238, *(int4*)buf1239);
-    *(uint4*)buf1240 = max(*(uint4*)buf1241, *(uint4*)buf1242);
-    *(float*)buf1243 = min(*(float*)buf1244, *(float*)buf1245);
-    *(float2*)buf1246 = min(*(float2*)buf1247, *(float2*)buf1248);
-    *(float3*)buf1249 = min(*(float3*)buf1250, *(float3*)buf1251);
-    *(float4*)buf1252 = min(*(float4*)buf1253, *(float4*)buf1254);
-    *(char*)buf1255 = min(*(char*)buf1256, *(char*)buf1257);
-    *(uchar*)buf1258 = min(*(uchar*)buf1259, *(uchar*)buf1260);
-    *(short*)buf1261 = min(*(short*)buf1262, *(short*)buf1263);
-    *(ushort*)buf1264 = min(*(ushort*)buf1265, *(ushort*)buf1266);
-    *(int*)buf1267 = min(*(int*)buf1268, *(int*)buf1269);
-    *(uint*)buf1270 = min(*(uint*)buf1271, *(uint*)buf1272);
-    *(char2*)buf1273 = min(*(char2*)buf1274, *(char2*)buf1275);
-    *(uchar2*)buf1276 = min(*(uchar2*)buf1277, *(uchar2*)buf1278);
-    *(short2*)buf1279 = min(*(short2*)buf1280, *(short2*)buf1281);
-    *(ushort2*)buf1282 = min(*(ushort2*)buf1283, *(ushort2*)buf1284);
-    *(int2*)buf1285 = min(*(int2*)buf1286, *(int2*)buf1287);
-    *(uint2*)buf1288 = min(*(uint2*)buf1289, *(uint2*)buf1290);
-    *(char3*)buf1291 = min(*(char3*)buf1292, *(char3*)buf1293);
-    *(uchar3*)buf1294 = min(*(uchar3*)buf1295, *(uchar3*)buf1296);
-    *(short3*)buf1297 = min(*(short3*)buf1298, *(short3*)buf1299);
-    *(ushort3*)buf1300 = min(*(ushort3*)buf1301, *(ushort3*)buf1302);
-    *(int3*)buf1303 = min(*(int3*)buf1304, *(int3*)buf1305);
-    *(uint3*)buf1306 = min(*(uint3*)buf1307, *(uint3*)buf1308);
-    *(char4*)buf1309 = min(*(char4*)buf1310, *(char4*)buf1311);
-    *(uchar4*)buf1312 = min(*(uchar4*)buf1313, *(uchar4*)buf1314);
-    *(short4*)buf1315 = min(*(short4*)buf1316, *(short4*)buf1317);
-    *(ushort4*)buf1318 = min(*(ushort4*)buf1319, *(ushort4*)buf1320);
-    *(int4*)buf1321 = min(*(int4*)buf1322, *(int4*)buf1323);
-    *(uint4*)buf1324 = min(*(uint4*)buf1325, *(uint4*)buf1326);
-    *(float*)buf1327 = mix(*(float*)buf1328, *(float*)buf1329, *(float*)buf1330);
-    *(float2*)buf1331 = mix(*(float2*)buf1332, *(float2*)buf1333, *(float2*)buf1334);
-    *(float3*)buf1335 = mix(*(float3*)buf1336, *(float3*)buf1337, *(float3*)buf1338);
-    *(float4*)buf1339 = mix(*(float4*)buf1340, *(float4*)buf1341, *(float4*)buf1342);
-    *(float2*)buf1343 = mix(*(float2*)buf1344, *(float2*)buf1345, *(float*)buf1346);
-    *(float3*)buf1347 = mix(*(float3*)buf1348, *(float3*)buf1349, *(float*)buf1350);
-    *(float4*)buf1351 = mix(*(float4*)buf1352, *(float4*)buf1353, *(float*)buf1354);
-    *(float*)buf1355 = modf(*(float*)buf1356, (float*) buf1357);
-    *(float2*)buf1358 = modf(*(float2*)buf1359, (float2*) buf1360);
-    *(float3*)buf1361 = modf(*(float3*)buf1362, (float3*) buf1363);
-    *(float4*)buf1364 = modf(*(float4*)buf1365, (float4*) buf1366);
-    *(float*)buf1367 = nan(*(uint*)buf1368);
-    *(float*)buf1369 = native_exp(*(float*)buf1370);
-    *(float2*)buf1371 = native_exp(*(float2*)buf1372);
-    *(float3*)buf1373 = native_exp(*(float3*)buf1374);
-    *(float4*)buf1375 = native_exp(*(float4*)buf1376);
-    *(float*)buf1377 = native_exp10(*(float*)buf1378);
-    *(float2*)buf1379 = native_exp10(*(float2*)buf1380);
-    *(float3*)buf1381 = native_exp10(*(float3*)buf1382);
-    *(float4*)buf1383 = native_exp10(*(float4*)buf1384);
-    *(float*)buf1385 = native_exp2(*(float*)buf1386);
-    *(float2*)buf1387 = native_exp2(*(float2*)buf1388);
-    *(float3*)buf1389 = native_exp2(*(float3*)buf1390);
-    *(float4*)buf1391 = native_exp2(*(float4*)buf1392);
-    *(float*)buf1393 = native_log(*(float*)buf1394);
-    *(float2*)buf1395 = native_log(*(float2*)buf1396);
-    *(float3*)buf1397 = native_log(*(float3*)buf1398);
-    *(float4*)buf1399 = native_log(*(float4*)buf1400);
-    *(float*)buf1401 = native_log10(*(float*)buf1402);
-    *(float2*)buf1403 = native_log10(*(float2*)buf1404);
-    *(float3*)buf1405 = native_log10(*(float3*)buf1406);
-    *(float4*)buf1407 = native_log10(*(float4*)buf1408);
-    *(float*)buf1409 = native_log2(*(float*)buf1410);
-    *(float2*)buf1411 = native_log2(*(float2*)buf1412);
-    *(float3*)buf1413 = native_log2(*(float3*)buf1414);
-    *(float4*)buf1415 = native_log2(*(float4*)buf1416);
-    *(float*)buf1417 = native_powr(*(float*)buf1418, *(float*)buf1419);
-    *(float2*)buf1420 = native_powr(*(float2*)buf1421, *(float2*)buf1422);
-    *(float3*)buf1423 = native_powr(*(float3*)buf1424, *(float3*)buf1425);
-    *(float4*)buf1426 = native_powr(*(float4*)buf1427, *(float4*)buf1428);
-    *(float*)buf1429 = nextafter(*(float*)buf1430, *(float*)buf1431);
-    *(float2*)buf1432 = nextafter(*(float2*)buf1433, *(float2*)buf1434);
-    *(float3*)buf1435 = nextafter(*(float3*)buf1436, *(float3*)buf1437);
-    *(float4*)buf1438 = nextafter(*(float4*)buf1439, *(float4*)buf1440);
-    *(float*)buf1441 = normalize(*(float*)buf1442);
-    *(float2*)buf1443 = normalize(*(float2*)buf1444);
-    *(float3*)buf1445 = normalize(*(float3*)buf1446);
-    *(float4*)buf1447 = normalize(*(float4*)buf1448);
-    *(float*)buf1449 = pow(*(float*)buf1450, *(float*)buf1451);
-    *(float2*)buf1452 = pow(*(float2*)buf1453, *(float2*)buf1454);
-    *(float3*)buf1455 = pow(*(float3*)buf1456, *(float3*)buf1457);
-    *(float4*)buf1458 = pow(*(float4*)buf1459, *(float4*)buf1460);
-    *(float*)buf1461 = pown(*(float*)buf1462, *(int*)buf1463);
-    *(float2*)buf1464 = pown(*(float2*)buf1465, *(int2*)buf1466);
-    *(float3*)buf1467 = pown(*(float3*)buf1468, *(int3*)buf1469);
-    *(float4*)buf1470 = pown(*(float4*)buf1471, *(int4*)buf1472);
-    *(float*)buf1473 = powr(*(float*)buf1474, *(float*)buf1475);
-    *(float2*)buf1476 = powr(*(float2*)buf1477, *(float2*)buf1478);
-    *(float3*)buf1479 = powr(*(float3*)buf1480, *(float3*)buf1481);
-    *(float4*)buf1482 = powr(*(float4*)buf1483, *(float4*)buf1484);
-    *(float*)buf1485 = radians(*(float*)buf1486);
-    *(float2*)buf1487 = radians(*(float2*)buf1488);
-    *(float3*)buf1489 = radians(*(float3*)buf1490);
-    *(float4*)buf1491 = radians(*(float4*)buf1492);
-    *(float*)buf1493 = remainder(*(float*)buf1494, *(float*)buf1495);
-    *(float2*)buf1496 = remainder(*(float2*)buf1497, *(float2*)buf1498);
-    *(float3*)buf1499 = remainder(*(float3*)buf1500, *(float3*)buf1501);
-    *(float4*)buf1502 = remainder(*(float4*)buf1503, *(float4*)buf1504);
-    *(float*)buf1505 = remquo(*(float*)buf1506, *(float*)buf1507, (int*) buf1508);
-    *(float2*)buf1509 = remquo(*(float2*)buf1510, *(float2*)buf1511, (int2*) buf1512);
-    *(float3*)buf1513 = remquo(*(float3*)buf1514, *(float3*)buf1515, (int3*) buf1516);
-    *(float4*)buf1517 = remquo(*(float4*)buf1518, *(float4*)buf1519, (int4*) buf1520);
-    *(float*)buf1521 = rint(*(float*)buf1522);
-    *(float2*)buf1523 = rint(*(float2*)buf1524);
-    *(float3*)buf1525 = rint(*(float3*)buf1526);
-    *(float4*)buf1527 = rint(*(float4*)buf1528);
-    *(float*)buf1529 = rootn(*(float*)buf1530, *(int*)buf1531);
-    *(float2*)buf1532 = rootn(*(float2*)buf1533, *(int2*)buf1534);
-    *(float3*)buf1535 = rootn(*(float3*)buf1536, *(int3*)buf1537);
-    *(float4*)buf1538 = rootn(*(float4*)buf1539, *(int4*)buf1540);
-    *(float*)buf1541 = round(*(float*)buf1542);
-    *(float2*)buf1543 = round(*(float2*)buf1544);
-    *(float3*)buf1545 = round(*(float3*)buf1546);
-    *(float4*)buf1547 = round(*(float4*)buf1548);
-    rsAllocationCopy1DRange(*(rs_allocation*)buf1549, *(uint32_t*)buf1550, *(uint32_t*)buf1551, *(uint32_t*)buf1552, *(rs_allocation*)buf1553, *(uint32_t*)buf1554, *(uint32_t*)buf1555);
-    rsAllocationCopy2DRange(*(rs_allocation*)buf1556, *(uint32_t*)buf1557, *(uint32_t*)buf1558, *(uint32_t*)buf1559, *(rs_allocation_cubemap_face*)buf1560, *(uint32_t*)buf1561, *(uint32_t*)buf1562, *(rs_allocation*)buf1563, *(uint32_t*)buf1564, *(uint32_t*)buf1565, *(uint32_t*)buf1566, *(rs_allocation_cubemap_face*)buf1567);
-    *(uint32_t*)buf1568 = rsAllocationGetDimFaces(*(rs_allocation*)buf1569);
-    *(uint32_t*)buf1570 = rsAllocationGetDimLOD(*(rs_allocation*)buf1571);
-    *(uint32_t*)buf1572 = rsAllocationGetDimX(*(rs_allocation*)buf1573);
-    *(uint32_t*)buf1574 = rsAllocationGetDimY(*(rs_allocation*)buf1575);
-    *(uint32_t*)buf1576 = rsAllocationGetDimZ(*(rs_allocation*)buf1577);
-    *(rs_element*)buf1578 = rsAllocationGetElement(*(rs_allocation*)buf1579);
-    rsAllocationIoReceive(*(rs_allocation*)buf1580);
-    rsAllocationIoSend(*(rs_allocation*)buf1581);
-    *(int32_t*)buf1582 = rsAtomicAdd((volatile int32_t*) buf1583, *(int32_t*)buf1584);
-    *(int32_t*)buf1585 = rsAtomicAnd((volatile int32_t*) buf1586, *(int32_t*)buf1587);
-    *(int32_t*)buf1588 = rsAtomicCas((volatile int32_t*) buf1589, *(int32_t*)buf1590, *(int32_t*)buf1591);
-    *(uint32_t*)buf1592 = rsAtomicCas((volatile uint32_t*) buf1593, *(uint32_t*)buf1594, *(uint32_t*)buf1595);
-    *(int32_t*)buf1596 = rsAtomicDec((volatile int32_t*) buf1597);
-    *(int32_t*)buf1598 = rsAtomicInc((volatile int32_t*) buf1599);
-    *(uint32_t*)buf1600 = rsAtomicMax((volatile uint32_t*) buf1601, *(uint32_t*)buf1602);
-    *(int32_t*)buf1603 = rsAtomicMax((volatile int32_t*) buf1604, *(int32_t*)buf1605);
-    *(uint32_t*)buf1606 = rsAtomicMin((volatile uint32_t*) buf1607, *(uint32_t*)buf1608);
-    *(int32_t*)buf1609 = rsAtomicMin((volatile int32_t*) buf1610, *(int32_t*)buf1611);
-    *(int32_t*)buf1612 = rsAtomicOr((volatile int32_t*) buf1613, *(int32_t*)buf1614);
-    *(int32_t*)buf1615 = rsAtomicSub((volatile int32_t*) buf1616, *(int32_t*)buf1617);
-    *(int32_t*)buf1618 = rsAtomicXor((volatile int32_t*) buf1619, *(int32_t*)buf1620);
-    *(char*)buf1621 = rsClamp(*(char*)buf1622, *(char*)buf1623, *(char*)buf1624);
-    *(uchar*)buf1625 = rsClamp(*(uchar*)buf1626, *(uchar*)buf1627, *(uchar*)buf1628);
-    *(short*)buf1629 = rsClamp(*(short*)buf1630, *(short*)buf1631, *(short*)buf1632);
-    *(ushort*)buf1633 = rsClamp(*(ushort*)buf1634, *(ushort*)buf1635, *(ushort*)buf1636);
-    *(int*)buf1637 = rsClamp(*(int*)buf1638, *(int*)buf1639, *(int*)buf1640);
-    *(uint*)buf1641 = rsClamp(*(uint*)buf1642, *(uint*)buf1643, *(uint*)buf1644);
-    rsClearObject((rs_element*) buf1645);
-    rsClearObject((rs_type*) buf1646);
-    rsClearObject((rs_allocation*) buf1647);
-    rsClearObject((rs_sampler*) buf1648);
-    rsClearObject((rs_script*) buf1649);
+    *(float2*)buf1171 = max(*(float2*)buf1172, *(float*)buf1173);
+    *(float3*)buf1174 = max(*(float3*)buf1175, *(float*)buf1176);
+    *(float4*)buf1177 = max(*(float4*)buf1178, *(float*)buf1179);
+    *(char*)buf1180 = max(*(char*)buf1181, *(char*)buf1182);
+    *(uchar*)buf1183 = max(*(uchar*)buf1184, *(uchar*)buf1185);
+    *(short*)buf1186 = max(*(short*)buf1187, *(short*)buf1188);
+    *(ushort*)buf1189 = max(*(ushort*)buf1190, *(ushort*)buf1191);
+    *(int*)buf1192 = max(*(int*)buf1193, *(int*)buf1194);
+    *(uint*)buf1195 = max(*(uint*)buf1196, *(uint*)buf1197);
+    *(char2*)buf1198 = max(*(char2*)buf1199, *(char2*)buf1200);
+    *(uchar2*)buf1201 = max(*(uchar2*)buf1202, *(uchar2*)buf1203);
+    *(short2*)buf1204 = max(*(short2*)buf1205, *(short2*)buf1206);
+    *(ushort2*)buf1207 = max(*(ushort2*)buf1208, *(ushort2*)buf1209);
+    *(int2*)buf1210 = max(*(int2*)buf1211, *(int2*)buf1212);
+    *(uint2*)buf1213 = max(*(uint2*)buf1214, *(uint2*)buf1215);
+    *(char3*)buf1216 = max(*(char3*)buf1217, *(char3*)buf1218);
+    *(uchar3*)buf1219 = max(*(uchar3*)buf1220, *(uchar3*)buf1221);
+    *(short3*)buf1222 = max(*(short3*)buf1223, *(short3*)buf1224);
+    *(ushort3*)buf1225 = max(*(ushort3*)buf1226, *(ushort3*)buf1227);
+    *(int3*)buf1228 = max(*(int3*)buf1229, *(int3*)buf1230);
+    *(uint3*)buf1231 = max(*(uint3*)buf1232, *(uint3*)buf1233);
+    *(char4*)buf1234 = max(*(char4*)buf1235, *(char4*)buf1236);
+    *(uchar4*)buf1237 = max(*(uchar4*)buf1238, *(uchar4*)buf1239);
+    *(short4*)buf1240 = max(*(short4*)buf1241, *(short4*)buf1242);
+    *(ushort4*)buf1243 = max(*(ushort4*)buf1244, *(ushort4*)buf1245);
+    *(int4*)buf1246 = max(*(int4*)buf1247, *(int4*)buf1248);
+    *(uint4*)buf1249 = max(*(uint4*)buf1250, *(uint4*)buf1251);
+    *(float*)buf1252 = min(*(float*)buf1253, *(float*)buf1254);
+    *(float2*)buf1255 = min(*(float2*)buf1256, *(float2*)buf1257);
+    *(float3*)buf1258 = min(*(float3*)buf1259, *(float3*)buf1260);
+    *(float4*)buf1261 = min(*(float4*)buf1262, *(float4*)buf1263);
+    *(float2*)buf1264 = min(*(float2*)buf1265, *(float*)buf1266);
+    *(float3*)buf1267 = min(*(float3*)buf1268, *(float*)buf1269);
+    *(float4*)buf1270 = min(*(float4*)buf1271, *(float*)buf1272);
+    *(char*)buf1273 = min(*(char*)buf1274, *(char*)buf1275);
+    *(uchar*)buf1276 = min(*(uchar*)buf1277, *(uchar*)buf1278);
+    *(short*)buf1279 = min(*(short*)buf1280, *(short*)buf1281);
+    *(ushort*)buf1282 = min(*(ushort*)buf1283, *(ushort*)buf1284);
+    *(int*)buf1285 = min(*(int*)buf1286, *(int*)buf1287);
+    *(uint*)buf1288 = min(*(uint*)buf1289, *(uint*)buf1290);
+    *(char2*)buf1291 = min(*(char2*)buf1292, *(char2*)buf1293);
+    *(uchar2*)buf1294 = min(*(uchar2*)buf1295, *(uchar2*)buf1296);
+    *(short2*)buf1297 = min(*(short2*)buf1298, *(short2*)buf1299);
+    *(ushort2*)buf1300 = min(*(ushort2*)buf1301, *(ushort2*)buf1302);
+    *(int2*)buf1303 = min(*(int2*)buf1304, *(int2*)buf1305);
+    *(uint2*)buf1306 = min(*(uint2*)buf1307, *(uint2*)buf1308);
+    *(char3*)buf1309 = min(*(char3*)buf1310, *(char3*)buf1311);
+    *(uchar3*)buf1312 = min(*(uchar3*)buf1313, *(uchar3*)buf1314);
+    *(short3*)buf1315 = min(*(short3*)buf1316, *(short3*)buf1317);
+    *(ushort3*)buf1318 = min(*(ushort3*)buf1319, *(ushort3*)buf1320);
+    *(int3*)buf1321 = min(*(int3*)buf1322, *(int3*)buf1323);
+    *(uint3*)buf1324 = min(*(uint3*)buf1325, *(uint3*)buf1326);
+    *(char4*)buf1327 = min(*(char4*)buf1328, *(char4*)buf1329);
+    *(uchar4*)buf1330 = min(*(uchar4*)buf1331, *(uchar4*)buf1332);
+    *(short4*)buf1333 = min(*(short4*)buf1334, *(short4*)buf1335);
+    *(ushort4*)buf1336 = min(*(ushort4*)buf1337, *(ushort4*)buf1338);
+    *(int4*)buf1339 = min(*(int4*)buf1340, *(int4*)buf1341);
+    *(uint4*)buf1342 = min(*(uint4*)buf1343, *(uint4*)buf1344);
+    *(float*)buf1345 = mix(*(float*)buf1346, *(float*)buf1347, *(float*)buf1348);
+    *(float2*)buf1349 = mix(*(float2*)buf1350, *(float2*)buf1351, *(float2*)buf1352);
+    *(float3*)buf1353 = mix(*(float3*)buf1354, *(float3*)buf1355, *(float3*)buf1356);
+    *(float4*)buf1357 = mix(*(float4*)buf1358, *(float4*)buf1359, *(float4*)buf1360);
+    *(float2*)buf1361 = mix(*(float2*)buf1362, *(float2*)buf1363, *(float*)buf1364);
+    *(float3*)buf1365 = mix(*(float3*)buf1366, *(float3*)buf1367, *(float*)buf1368);
+    *(float4*)buf1369 = mix(*(float4*)buf1370, *(float4*)buf1371, *(float*)buf1372);
+    *(float*)buf1373 = modf(*(float*)buf1374, (float*) buf1375);
+    *(float2*)buf1376 = modf(*(float2*)buf1377, (float2*) buf1378);
+    *(float3*)buf1379 = modf(*(float3*)buf1380, (float3*) buf1381);
+    *(float4*)buf1382 = modf(*(float4*)buf1383, (float4*) buf1384);
+    *(float*)buf1385 = nan(*(uint*)buf1386);
+    *(float*)buf1387 = native_exp(*(float*)buf1388);
+    *(float2*)buf1389 = native_exp(*(float2*)buf1390);
+    *(float3*)buf1391 = native_exp(*(float3*)buf1392);
+    *(float4*)buf1393 = native_exp(*(float4*)buf1394);
+    *(float*)buf1395 = native_exp10(*(float*)buf1396);
+    *(float2*)buf1397 = native_exp10(*(float2*)buf1398);
+    *(float3*)buf1399 = native_exp10(*(float3*)buf1400);
+    *(float4*)buf1401 = native_exp10(*(float4*)buf1402);
+    *(float*)buf1403 = native_exp2(*(float*)buf1404);
+    *(float2*)buf1405 = native_exp2(*(float2*)buf1406);
+    *(float3*)buf1407 = native_exp2(*(float3*)buf1408);
+    *(float4*)buf1409 = native_exp2(*(float4*)buf1410);
+    *(float*)buf1411 = native_log(*(float*)buf1412);
+    *(float2*)buf1413 = native_log(*(float2*)buf1414);
+    *(float3*)buf1415 = native_log(*(float3*)buf1416);
+    *(float4*)buf1417 = native_log(*(float4*)buf1418);
+    *(float*)buf1419 = native_log10(*(float*)buf1420);
+    *(float2*)buf1421 = native_log10(*(float2*)buf1422);
+    *(float3*)buf1423 = native_log10(*(float3*)buf1424);
+    *(float4*)buf1425 = native_log10(*(float4*)buf1426);
+    *(float*)buf1427 = native_log2(*(float*)buf1428);
+    *(float2*)buf1429 = native_log2(*(float2*)buf1430);
+    *(float3*)buf1431 = native_log2(*(float3*)buf1432);
+    *(float4*)buf1433 = native_log2(*(float4*)buf1434);
+    *(float*)buf1435 = native_powr(*(float*)buf1436, *(float*)buf1437);
+    *(float2*)buf1438 = native_powr(*(float2*)buf1439, *(float2*)buf1440);
+    *(float3*)buf1441 = native_powr(*(float3*)buf1442, *(float3*)buf1443);
+    *(float4*)buf1444 = native_powr(*(float4*)buf1445, *(float4*)buf1446);
+    *(float*)buf1447 = nextafter(*(float*)buf1448, *(float*)buf1449);
+    *(float2*)buf1450 = nextafter(*(float2*)buf1451, *(float2*)buf1452);
+    *(float3*)buf1453 = nextafter(*(float3*)buf1454, *(float3*)buf1455);
+    *(float4*)buf1456 = nextafter(*(float4*)buf1457, *(float4*)buf1458);
+    *(float*)buf1459 = normalize(*(float*)buf1460);
+    *(float2*)buf1461 = normalize(*(float2*)buf1462);
+    *(float3*)buf1463 = normalize(*(float3*)buf1464);
+    *(float4*)buf1465 = normalize(*(float4*)buf1466);
+    *(float*)buf1467 = pow(*(float*)buf1468, *(float*)buf1469);
+    *(float2*)buf1470 = pow(*(float2*)buf1471, *(float2*)buf1472);
+    *(float3*)buf1473 = pow(*(float3*)buf1474, *(float3*)buf1475);
+    *(float4*)buf1476 = pow(*(float4*)buf1477, *(float4*)buf1478);
+    *(float*)buf1479 = pown(*(float*)buf1480, *(int*)buf1481);
+    *(float2*)buf1482 = pown(*(float2*)buf1483, *(int2*)buf1484);
+    *(float3*)buf1485 = pown(*(float3*)buf1486, *(int3*)buf1487);
+    *(float4*)buf1488 = pown(*(float4*)buf1489, *(int4*)buf1490);
+    *(float*)buf1491 = powr(*(float*)buf1492, *(float*)buf1493);
+    *(float2*)buf1494 = powr(*(float2*)buf1495, *(float2*)buf1496);
+    *(float3*)buf1497 = powr(*(float3*)buf1498, *(float3*)buf1499);
+    *(float4*)buf1500 = powr(*(float4*)buf1501, *(float4*)buf1502);
+    *(float*)buf1503 = radians(*(float*)buf1504);
+    *(float2*)buf1505 = radians(*(float2*)buf1506);
+    *(float3*)buf1507 = radians(*(float3*)buf1508);
+    *(float4*)buf1509 = radians(*(float4*)buf1510);
+    *(float*)buf1511 = remainder(*(float*)buf1512, *(float*)buf1513);
+    *(float2*)buf1514 = remainder(*(float2*)buf1515, *(float2*)buf1516);
+    *(float3*)buf1517 = remainder(*(float3*)buf1518, *(float3*)buf1519);
+    *(float4*)buf1520 = remainder(*(float4*)buf1521, *(float4*)buf1522);
+    *(float*)buf1523 = remquo(*(float*)buf1524, *(float*)buf1525, (int*) buf1526);
+    *(float2*)buf1527 = remquo(*(float2*)buf1528, *(float2*)buf1529, (int2*) buf1530);
+    *(float3*)buf1531 = remquo(*(float3*)buf1532, *(float3*)buf1533, (int3*) buf1534);
+    *(float4*)buf1535 = remquo(*(float4*)buf1536, *(float4*)buf1537, (int4*) buf1538);
+    *(float*)buf1539 = rint(*(float*)buf1540);
+    *(float2*)buf1541 = rint(*(float2*)buf1542);
+    *(float3*)buf1543 = rint(*(float3*)buf1544);
+    *(float4*)buf1545 = rint(*(float4*)buf1546);
+    *(float*)buf1547 = rootn(*(float*)buf1548, *(int*)buf1549);
+    *(float2*)buf1550 = rootn(*(float2*)buf1551, *(int2*)buf1552);
+    *(float3*)buf1553 = rootn(*(float3*)buf1554, *(int3*)buf1555);
+    *(float4*)buf1556 = rootn(*(float4*)buf1557, *(int4*)buf1558);
+    *(float*)buf1559 = round(*(float*)buf1560);
+    *(float2*)buf1561 = round(*(float2*)buf1562);
+    *(float3*)buf1563 = round(*(float3*)buf1564);
+    *(float4*)buf1565 = round(*(float4*)buf1566);
+    rsAllocationCopy1DRange(*(rs_allocation*)buf1567, *(uint32_t*)buf1568, *(uint32_t*)buf1569, *(uint32_t*)buf1570, *(rs_allocation*)buf1571, *(uint32_t*)buf1572, *(uint32_t*)buf1573);
+    rsAllocationCopy2DRange(*(rs_allocation*)buf1574, *(uint32_t*)buf1575, *(uint32_t*)buf1576, *(uint32_t*)buf1577, *(rs_allocation_cubemap_face*)buf1578, *(uint32_t*)buf1579, *(uint32_t*)buf1580, *(rs_allocation*)buf1581, *(uint32_t*)buf1582, *(uint32_t*)buf1583, *(uint32_t*)buf1584, *(rs_allocation_cubemap_face*)buf1585);
+    *(uint32_t*)buf1586 = rsAllocationGetDimFaces(*(rs_allocation*)buf1587);
+    *(uint32_t*)buf1588 = rsAllocationGetDimLOD(*(rs_allocation*)buf1589);
+    *(uint32_t*)buf1590 = rsAllocationGetDimX(*(rs_allocation*)buf1591);
+    *(uint32_t*)buf1592 = rsAllocationGetDimY(*(rs_allocation*)buf1593);
+    *(uint32_t*)buf1594 = rsAllocationGetDimZ(*(rs_allocation*)buf1595);
+    *(rs_element*)buf1596 = rsAllocationGetElement(*(rs_allocation*)buf1597);
+    rsAllocationIoReceive(*(rs_allocation*)buf1598);
+    rsAllocationIoSend(*(rs_allocation*)buf1599);
+    *(int32_t*)buf1600 = rsAtomicAdd((volatile int32_t*) buf1601, *(int32_t*)buf1602);
+    *(int32_t*)buf1603 = rsAtomicAnd((volatile int32_t*) buf1604, *(int32_t*)buf1605);
+    *(int32_t*)buf1606 = rsAtomicCas((volatile int32_t*) buf1607, *(int32_t*)buf1608, *(int32_t*)buf1609);
+    *(uint32_t*)buf1610 = rsAtomicCas((volatile uint32_t*) buf1611, *(uint32_t*)buf1612, *(uint32_t*)buf1613);
+    *(int32_t*)buf1614 = rsAtomicDec((volatile int32_t*) buf1615);
+    *(int32_t*)buf1616 = rsAtomicInc((volatile int32_t*) buf1617);
+    *(uint32_t*)buf1618 = rsAtomicMax((volatile uint32_t*) buf1619, *(uint32_t*)buf1620);
+    *(int32_t*)buf1621 = rsAtomicMax((volatile int32_t*) buf1622, *(int32_t*)buf1623);
+    *(uint32_t*)buf1624 = rsAtomicMin((volatile uint32_t*) buf1625, *(uint32_t*)buf1626);
+    *(int32_t*)buf1627 = rsAtomicMin((volatile int32_t*) buf1628, *(int32_t*)buf1629);
+    *(int32_t*)buf1630 = rsAtomicOr((volatile int32_t*) buf1631, *(int32_t*)buf1632);
+    *(int32_t*)buf1633 = rsAtomicSub((volatile int32_t*) buf1634, *(int32_t*)buf1635);
+    *(int32_t*)buf1636 = rsAtomicXor((volatile int32_t*) buf1637, *(int32_t*)buf1638);
+    *(char*)buf1639 = rsClamp(*(char*)buf1640, *(char*)buf1641, *(char*)buf1642);
+    *(uchar*)buf1643 = rsClamp(*(uchar*)buf1644, *(uchar*)buf1645, *(uchar*)buf1646);
+    *(short*)buf1647 = rsClamp(*(short*)buf1648, *(short*)buf1649, *(short*)buf1650);
+    *(ushort*)buf1651 = rsClamp(*(ushort*)buf1652, *(ushort*)buf1653, *(ushort*)buf1654);
+    *(int*)buf1655 = rsClamp(*(int*)buf1656, *(int*)buf1657, *(int*)buf1658);
+    *(uint*)buf1659 = rsClamp(*(uint*)buf1660, *(uint*)buf1661, *(uint*)buf1662);
+    rsClearObject((rs_element*) buf1663);
+    rsClearObject((rs_type*) buf1664);
+    rsClearObject((rs_allocation*) buf1665);
+    rsClearObject((rs_sampler*) buf1666);
+    rsClearObject((rs_script*) buf1667);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf1650);
-    rsClearObject((rs_program_fragment*) buf1651);
-    rsClearObject((rs_program_vertex*) buf1652);
-    rsClearObject((rs_program_raster*) buf1653);
-    rsClearObject((rs_program_store*) buf1654);
-    rsClearObject((rs_font*) buf1655);
+    rsClearObject((rs_mesh*) buf1668);
+    rsClearObject((rs_program_fragment*) buf1669);
+    rsClearObject((rs_program_vertex*) buf1670);
+    rsClearObject((rs_program_raster*) buf1671);
+    rsClearObject((rs_program_store*) buf1672);
+    rsClearObject((rs_font*) buf1673);
 #endif
-    rsDebug((const char*) buf1656, *(double*)buf1657);
-    rsDebug((const char*) buf1658, *(int*)buf1659);
-    rsDebug((const char*) buf1660, *(uint*)buf1661);
-    rsDebug((const char*) buf1662, *(long*)buf1663);
-    rsDebug((const char*) buf1664, *(ulong*)buf1665);
-    rsDebug((const char*) buf1666, *(int2*)buf1667);
-    rsDebug((const char*) buf1668, *(int3*)buf1669);
-    rsDebug((const char*) buf1670, *(int4*)buf1671);
-    rsDebug((const char*) buf1672, *(uint2*)buf1673);
-    rsDebug((const char*) buf1674, *(uint3*)buf1675);
-    rsDebug((const char*) buf1676, *(uint4*)buf1677);
-    rsDebug((const char*) buf1678, *(long2*)buf1679);
-    rsDebug((const char*) buf1680, *(long3*)buf1681);
-    rsDebug((const char*) buf1682, *(long4*)buf1683);
-    rsDebug((const char*) buf1684, *(ulong2*)buf1685);
-    rsDebug((const char*) buf1686, *(ulong3*)buf1687);
-    rsDebug((const char*) buf1688, *(ulong4*)buf1689);
-    rsDebug((const char*) buf1690, *(float*)buf1691);
-    rsDebug((const char*) buf1692, *(float2*)buf1693);
-    rsDebug((const char*) buf1694, *(float3*)buf1695);
-    rsDebug((const char*) buf1696, *(float4*)buf1697);
-    rsDebug((const char*) buf1698, *(char*)buf1699);
-    rsDebug((const char*) buf1700, *(char2*)buf1701);
-    rsDebug((const char*) buf1702, *(char3*)buf1703);
-    rsDebug((const char*) buf1704, *(char4*)buf1705);
-    rsDebug((const char*) buf1706, *(uchar*)buf1707);
-    rsDebug((const char*) buf1708, *(uchar2*)buf1709);
-    rsDebug((const char*) buf1710, *(uchar3*)buf1711);
-    rsDebug((const char*) buf1712, *(uchar4*)buf1713);
-    rsDebug((const char*) buf1714, *(short*)buf1715);
-    rsDebug((const char*) buf1716, *(short2*)buf1717);
-    rsDebug((const char*) buf1718, *(short3*)buf1719);
-    rsDebug((const char*) buf1720, *(short4*)buf1721);
-    rsDebug((const char*) buf1722, *(ushort*)buf1723);
-    rsDebug((const char*) buf1724, *(ushort2*)buf1725);
-    rsDebug((const char*) buf1726, *(ushort3*)buf1727);
-    rsDebug((const char*) buf1728, *(ushort4*)buf1729);
-    rsDebug((const char*) buf1730, *(float*)buf1731, *(float*)buf1732);
-    rsDebug((const char*) buf1733, *(float*)buf1734, *(float*)buf1735, *(float*)buf1736);
-    rsDebug((const char*) buf1737, *(float*)buf1738, *(float*)buf1739, *(float*)buf1740, *(float*)buf1741);
-    rsDebug((const char*) buf1742, *(long long*)buf1743);
-    rsDebug((const char*) buf1744, *(unsigned long long*)buf1745);
-    rsDebug((const char*) buf1746, (const void*) buf1747);
-    rsDebug((const char*) buf1748, (const rs_matrix4x4*) buf1749);
-    rsDebug((const char*) buf1750, (const rs_matrix3x3*) buf1751);
-    rsDebug((const char*) buf1752, (const rs_matrix2x2*) buf1753);
-    *(uint32_t*)buf1754 = rsElementGetBytesSize(*(rs_element*)buf1755);
-    *(rs_data_kind*)buf1756 = rsElementGetDataKind(*(rs_element*)buf1757);
-    *(rs_data_type*)buf1758 = rsElementGetDataType(*(rs_element*)buf1759);
-    *(rs_element*)buf1760 = rsElementGetSubElement(*(rs_element*)buf1761, *(uint32_t*)buf1762);
-    *(uint32_t*)buf1763 = rsElementGetSubElementArraySize(*(rs_element*)buf1764, *(uint32_t*)buf1765);
-    *(uint32_t*)buf1766 = rsElementGetSubElementCount(*(rs_element*)buf1767);
-    *(uint32_t*)buf1768 = rsElementGetSubElementName(*(rs_element*)buf1769, *(uint32_t*)buf1770, (char*) buf1771, *(uint32_t*)buf1772);
-    *(uint32_t*)buf1773 = rsElementGetSubElementNameLength(*(rs_element*)buf1774, *(uint32_t*)buf1775);
-    *(uint32_t*)buf1776 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf1777, *(uint32_t*)buf1778);
-    *(uint32_t*)buf1779 = rsElementGetVectorSize(*(rs_element*)buf1780);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1781, (float4*) buf1782, (float4*) buf1783, (float4*) buf1784, (float4*) buf1785, (float4*) buf1786, (float4*) buf1787);
-    rsForEach(*(rs_script*)buf1788, *(rs_allocation*)buf1789, *(rs_allocation*)buf1790, (const void*) buf1791, *(size_t*)buf1792, (const rs_script_call_t*) buf1793);
-    rsForEach(*(rs_script*)buf1794, *(rs_allocation*)buf1795, *(rs_allocation*)buf1796, (const void*) buf1797, *(size_t*)buf1798);
-    rsForEach(*(rs_script*)buf1799, *(rs_allocation*)buf1800, *(rs_allocation*)buf1801);
-    *(float*)buf1802 = rsFrac(*(float*)buf1803);
-    *(rs_allocation*)buf1804 = rsGetAllocation((const void*) buf1805);
-    *(float*)buf1806 = rsGetDt();
-    *(const void**)buf1807 = rsGetElementAt(*(rs_allocation*)buf1808, *(uint32_t*)buf1809);
-    *(const void**)buf1810 = rsGetElementAt(*(rs_allocation*)buf1811, *(uint32_t*)buf1812, *(uint32_t*)buf1813);
-    *(const void**)buf1814 = rsGetElementAt(*(rs_allocation*)buf1815, *(uint32_t*)buf1816, *(uint32_t*)buf1817, *(uint32_t*)buf1818);
-    *(float*)buf1819 = rsGetElementAt_float(*(rs_allocation*)buf1820, *(uint32_t*)buf1821);
-    *(float2*)buf1822 = rsGetElementAt_float2(*(rs_allocation*)buf1823, *(uint32_t*)buf1824);
-    *(float3*)buf1825 = rsGetElementAt_float3(*(rs_allocation*)buf1826, *(uint32_t*)buf1827);
-    *(float4*)buf1828 = rsGetElementAt_float4(*(rs_allocation*)buf1829, *(uint32_t*)buf1830);
-    *(double*)buf1831 = rsGetElementAt_double(*(rs_allocation*)buf1832, *(uint32_t*)buf1833);
-    *(double2*)buf1834 = rsGetElementAt_double2(*(rs_allocation*)buf1835, *(uint32_t*)buf1836);
-    *(double3*)buf1837 = rsGetElementAt_double3(*(rs_allocation*)buf1838, *(uint32_t*)buf1839);
-    *(double4*)buf1840 = rsGetElementAt_double4(*(rs_allocation*)buf1841, *(uint32_t*)buf1842);
-    *(char*)buf1843 = rsGetElementAt_char(*(rs_allocation*)buf1844, *(uint32_t*)buf1845);
-    *(char2*)buf1846 = rsGetElementAt_char2(*(rs_allocation*)buf1847, *(uint32_t*)buf1848);
-    *(char3*)buf1849 = rsGetElementAt_char3(*(rs_allocation*)buf1850, *(uint32_t*)buf1851);
-    *(char4*)buf1852 = rsGetElementAt_char4(*(rs_allocation*)buf1853, *(uint32_t*)buf1854);
-    *(uchar*)buf1855 = rsGetElementAt_uchar(*(rs_allocation*)buf1856, *(uint32_t*)buf1857);
-    *(uchar2*)buf1858 = rsGetElementAt_uchar2(*(rs_allocation*)buf1859, *(uint32_t*)buf1860);
-    *(uchar3*)buf1861 = rsGetElementAt_uchar3(*(rs_allocation*)buf1862, *(uint32_t*)buf1863);
-    *(uchar4*)buf1864 = rsGetElementAt_uchar4(*(rs_allocation*)buf1865, *(uint32_t*)buf1866);
-    *(short*)buf1867 = rsGetElementAt_short(*(rs_allocation*)buf1868, *(uint32_t*)buf1869);
-    *(short2*)buf1870 = rsGetElementAt_short2(*(rs_allocation*)buf1871, *(uint32_t*)buf1872);
-    *(short3*)buf1873 = rsGetElementAt_short3(*(rs_allocation*)buf1874, *(uint32_t*)buf1875);
-    *(short4*)buf1876 = rsGetElementAt_short4(*(rs_allocation*)buf1877, *(uint32_t*)buf1878);
-    *(ushort*)buf1879 = rsGetElementAt_ushort(*(rs_allocation*)buf1880, *(uint32_t*)buf1881);
-    *(ushort2*)buf1882 = rsGetElementAt_ushort2(*(rs_allocation*)buf1883, *(uint32_t*)buf1884);
-    *(ushort3*)buf1885 = rsGetElementAt_ushort3(*(rs_allocation*)buf1886, *(uint32_t*)buf1887);
-    *(ushort4*)buf1888 = rsGetElementAt_ushort4(*(rs_allocation*)buf1889, *(uint32_t*)buf1890);
-    *(int*)buf1891 = rsGetElementAt_int(*(rs_allocation*)buf1892, *(uint32_t*)buf1893);
-    *(int2*)buf1894 = rsGetElementAt_int2(*(rs_allocation*)buf1895, *(uint32_t*)buf1896);
-    *(int3*)buf1897 = rsGetElementAt_int3(*(rs_allocation*)buf1898, *(uint32_t*)buf1899);
-    *(int4*)buf1900 = rsGetElementAt_int4(*(rs_allocation*)buf1901, *(uint32_t*)buf1902);
-    *(uint*)buf1903 = rsGetElementAt_uint(*(rs_allocation*)buf1904, *(uint32_t*)buf1905);
-    *(uint2*)buf1906 = rsGetElementAt_uint2(*(rs_allocation*)buf1907, *(uint32_t*)buf1908);
-    *(uint3*)buf1909 = rsGetElementAt_uint3(*(rs_allocation*)buf1910, *(uint32_t*)buf1911);
-    *(uint4*)buf1912 = rsGetElementAt_uint4(*(rs_allocation*)buf1913, *(uint32_t*)buf1914);
-    *(long*)buf1915 = rsGetElementAt_long(*(rs_allocation*)buf1916, *(uint32_t*)buf1917);
-    *(long2*)buf1918 = rsGetElementAt_long2(*(rs_allocation*)buf1919, *(uint32_t*)buf1920);
-    *(long3*)buf1921 = rsGetElementAt_long3(*(rs_allocation*)buf1922, *(uint32_t*)buf1923);
-    *(long4*)buf1924 = rsGetElementAt_long4(*(rs_allocation*)buf1925, *(uint32_t*)buf1926);
-    *(ulong*)buf1927 = rsGetElementAt_ulong(*(rs_allocation*)buf1928, *(uint32_t*)buf1929);
-    *(ulong2*)buf1930 = rsGetElementAt_ulong2(*(rs_allocation*)buf1931, *(uint32_t*)buf1932);
-    *(ulong3*)buf1933 = rsGetElementAt_ulong3(*(rs_allocation*)buf1934, *(uint32_t*)buf1935);
-    *(ulong4*)buf1936 = rsGetElementAt_ulong4(*(rs_allocation*)buf1937, *(uint32_t*)buf1938);
-    *(float*)buf1939 = rsGetElementAt_float(*(rs_allocation*)buf1940, *(uint32_t*)buf1941, *(uint32_t*)buf1942);
-    *(float2*)buf1943 = rsGetElementAt_float2(*(rs_allocation*)buf1944, *(uint32_t*)buf1945, *(uint32_t*)buf1946);
-    *(float3*)buf1947 = rsGetElementAt_float3(*(rs_allocation*)buf1948, *(uint32_t*)buf1949, *(uint32_t*)buf1950);
-    *(float4*)buf1951 = rsGetElementAt_float4(*(rs_allocation*)buf1952, *(uint32_t*)buf1953, *(uint32_t*)buf1954);
-    *(double*)buf1955 = rsGetElementAt_double(*(rs_allocation*)buf1956, *(uint32_t*)buf1957, *(uint32_t*)buf1958);
-    *(double2*)buf1959 = rsGetElementAt_double2(*(rs_allocation*)buf1960, *(uint32_t*)buf1961, *(uint32_t*)buf1962);
-    *(double3*)buf1963 = rsGetElementAt_double3(*(rs_allocation*)buf1964, *(uint32_t*)buf1965, *(uint32_t*)buf1966);
-    *(double4*)buf1967 = rsGetElementAt_double4(*(rs_allocation*)buf1968, *(uint32_t*)buf1969, *(uint32_t*)buf1970);
-    *(char*)buf1971 = rsGetElementAt_char(*(rs_allocation*)buf1972, *(uint32_t*)buf1973, *(uint32_t*)buf1974);
-    *(char2*)buf1975 = rsGetElementAt_char2(*(rs_allocation*)buf1976, *(uint32_t*)buf1977, *(uint32_t*)buf1978);
-    *(char3*)buf1979 = rsGetElementAt_char3(*(rs_allocation*)buf1980, *(uint32_t*)buf1981, *(uint32_t*)buf1982);
-    *(char4*)buf1983 = rsGetElementAt_char4(*(rs_allocation*)buf1984, *(uint32_t*)buf1985, *(uint32_t*)buf1986);
-    *(uchar*)buf1987 = rsGetElementAt_uchar(*(rs_allocation*)buf1988, *(uint32_t*)buf1989, *(uint32_t*)buf1990);
-    *(uchar2*)buf1991 = rsGetElementAt_uchar2(*(rs_allocation*)buf1992, *(uint32_t*)buf1993, *(uint32_t*)buf1994);
-    *(uchar3*)buf1995 = rsGetElementAt_uchar3(*(rs_allocation*)buf1996, *(uint32_t*)buf1997, *(uint32_t*)buf1998);
-    *(uchar4*)buf1999 = rsGetElementAt_uchar4(*(rs_allocation*)buf2000, *(uint32_t*)buf2001, *(uint32_t*)buf2002);
-    *(short*)buf2003 = rsGetElementAt_short(*(rs_allocation*)buf2004, *(uint32_t*)buf2005, *(uint32_t*)buf2006);
-    *(short2*)buf2007 = rsGetElementAt_short2(*(rs_allocation*)buf2008, *(uint32_t*)buf2009, *(uint32_t*)buf2010);
-    *(short3*)buf2011 = rsGetElementAt_short3(*(rs_allocation*)buf2012, *(uint32_t*)buf2013, *(uint32_t*)buf2014);
-    *(short4*)buf2015 = rsGetElementAt_short4(*(rs_allocation*)buf2016, *(uint32_t*)buf2017, *(uint32_t*)buf2018);
-    *(ushort*)buf2019 = rsGetElementAt_ushort(*(rs_allocation*)buf2020, *(uint32_t*)buf2021, *(uint32_t*)buf2022);
-    *(ushort2*)buf2023 = rsGetElementAt_ushort2(*(rs_allocation*)buf2024, *(uint32_t*)buf2025, *(uint32_t*)buf2026);
-    *(ushort3*)buf2027 = rsGetElementAt_ushort3(*(rs_allocation*)buf2028, *(uint32_t*)buf2029, *(uint32_t*)buf2030);
-    *(ushort4*)buf2031 = rsGetElementAt_ushort4(*(rs_allocation*)buf2032, *(uint32_t*)buf2033, *(uint32_t*)buf2034);
-    *(int*)buf2035 = rsGetElementAt_int(*(rs_allocation*)buf2036, *(uint32_t*)buf2037, *(uint32_t*)buf2038);
-    *(int2*)buf2039 = rsGetElementAt_int2(*(rs_allocation*)buf2040, *(uint32_t*)buf2041, *(uint32_t*)buf2042);
-    *(int3*)buf2043 = rsGetElementAt_int3(*(rs_allocation*)buf2044, *(uint32_t*)buf2045, *(uint32_t*)buf2046);
-    *(int4*)buf2047 = rsGetElementAt_int4(*(rs_allocation*)buf2048, *(uint32_t*)buf2049, *(uint32_t*)buf2050);
-    *(uint*)buf2051 = rsGetElementAt_uint(*(rs_allocation*)buf2052, *(uint32_t*)buf2053, *(uint32_t*)buf2054);
-    *(uint2*)buf2055 = rsGetElementAt_uint2(*(rs_allocation*)buf2056, *(uint32_t*)buf2057, *(uint32_t*)buf2058);
-    *(uint3*)buf2059 = rsGetElementAt_uint3(*(rs_allocation*)buf2060, *(uint32_t*)buf2061, *(uint32_t*)buf2062);
-    *(uint4*)buf2063 = rsGetElementAt_uint4(*(rs_allocation*)buf2064, *(uint32_t*)buf2065, *(uint32_t*)buf2066);
-    *(long*)buf2067 = rsGetElementAt_long(*(rs_allocation*)buf2068, *(uint32_t*)buf2069, *(uint32_t*)buf2070);
-    *(long2*)buf2071 = rsGetElementAt_long2(*(rs_allocation*)buf2072, *(uint32_t*)buf2073, *(uint32_t*)buf2074);
-    *(long3*)buf2075 = rsGetElementAt_long3(*(rs_allocation*)buf2076, *(uint32_t*)buf2077, *(uint32_t*)buf2078);
-    *(long4*)buf2079 = rsGetElementAt_long4(*(rs_allocation*)buf2080, *(uint32_t*)buf2081, *(uint32_t*)buf2082);
-    *(ulong*)buf2083 = rsGetElementAt_ulong(*(rs_allocation*)buf2084, *(uint32_t*)buf2085, *(uint32_t*)buf2086);
-    *(ulong2*)buf2087 = rsGetElementAt_ulong2(*(rs_allocation*)buf2088, *(uint32_t*)buf2089, *(uint32_t*)buf2090);
-    *(ulong3*)buf2091 = rsGetElementAt_ulong3(*(rs_allocation*)buf2092, *(uint32_t*)buf2093, *(uint32_t*)buf2094);
-    *(ulong4*)buf2095 = rsGetElementAt_ulong4(*(rs_allocation*)buf2096, *(uint32_t*)buf2097, *(uint32_t*)buf2098);
-    *(float*)buf2099 = rsGetElementAt_float(*(rs_allocation*)buf2100, *(uint32_t*)buf2101, *(uint32_t*)buf2102, *(uint32_t*)buf2103);
-    *(float2*)buf2104 = rsGetElementAt_float2(*(rs_allocation*)buf2105, *(uint32_t*)buf2106, *(uint32_t*)buf2107, *(uint32_t*)buf2108);
-    *(float3*)buf2109 = rsGetElementAt_float3(*(rs_allocation*)buf2110, *(uint32_t*)buf2111, *(uint32_t*)buf2112, *(uint32_t*)buf2113);
-    *(float4*)buf2114 = rsGetElementAt_float4(*(rs_allocation*)buf2115, *(uint32_t*)buf2116, *(uint32_t*)buf2117, *(uint32_t*)buf2118);
-    *(double*)buf2119 = rsGetElementAt_double(*(rs_allocation*)buf2120, *(uint32_t*)buf2121, *(uint32_t*)buf2122, *(uint32_t*)buf2123);
-    *(double2*)buf2124 = rsGetElementAt_double2(*(rs_allocation*)buf2125, *(uint32_t*)buf2126, *(uint32_t*)buf2127, *(uint32_t*)buf2128);
-    *(double3*)buf2129 = rsGetElementAt_double3(*(rs_allocation*)buf2130, *(uint32_t*)buf2131, *(uint32_t*)buf2132, *(uint32_t*)buf2133);
-    *(double4*)buf2134 = rsGetElementAt_double4(*(rs_allocation*)buf2135, *(uint32_t*)buf2136, *(uint32_t*)buf2137, *(uint32_t*)buf2138);
-    *(char*)buf2139 = rsGetElementAt_char(*(rs_allocation*)buf2140, *(uint32_t*)buf2141, *(uint32_t*)buf2142, *(uint32_t*)buf2143);
-    *(char2*)buf2144 = rsGetElementAt_char2(*(rs_allocation*)buf2145, *(uint32_t*)buf2146, *(uint32_t*)buf2147, *(uint32_t*)buf2148);
-    *(char3*)buf2149 = rsGetElementAt_char3(*(rs_allocation*)buf2150, *(uint32_t*)buf2151, *(uint32_t*)buf2152, *(uint32_t*)buf2153);
-    *(char4*)buf2154 = rsGetElementAt_char4(*(rs_allocation*)buf2155, *(uint32_t*)buf2156, *(uint32_t*)buf2157, *(uint32_t*)buf2158);
-    *(uchar*)buf2159 = rsGetElementAt_uchar(*(rs_allocation*)buf2160, *(uint32_t*)buf2161, *(uint32_t*)buf2162, *(uint32_t*)buf2163);
-    *(uchar2*)buf2164 = rsGetElementAt_uchar2(*(rs_allocation*)buf2165, *(uint32_t*)buf2166, *(uint32_t*)buf2167, *(uint32_t*)buf2168);
-    *(uchar3*)buf2169 = rsGetElementAt_uchar3(*(rs_allocation*)buf2170, *(uint32_t*)buf2171, *(uint32_t*)buf2172, *(uint32_t*)buf2173);
-    *(uchar4*)buf2174 = rsGetElementAt_uchar4(*(rs_allocation*)buf2175, *(uint32_t*)buf2176, *(uint32_t*)buf2177, *(uint32_t*)buf2178);
-    *(short*)buf2179 = rsGetElementAt_short(*(rs_allocation*)buf2180, *(uint32_t*)buf2181, *(uint32_t*)buf2182, *(uint32_t*)buf2183);
-    *(short2*)buf2184 = rsGetElementAt_short2(*(rs_allocation*)buf2185, *(uint32_t*)buf2186, *(uint32_t*)buf2187, *(uint32_t*)buf2188);
-    *(short3*)buf2189 = rsGetElementAt_short3(*(rs_allocation*)buf2190, *(uint32_t*)buf2191, *(uint32_t*)buf2192, *(uint32_t*)buf2193);
-    *(short4*)buf2194 = rsGetElementAt_short4(*(rs_allocation*)buf2195, *(uint32_t*)buf2196, *(uint32_t*)buf2197, *(uint32_t*)buf2198);
-    *(ushort*)buf2199 = rsGetElementAt_ushort(*(rs_allocation*)buf2200, *(uint32_t*)buf2201, *(uint32_t*)buf2202, *(uint32_t*)buf2203);
-    *(ushort2*)buf2204 = rsGetElementAt_ushort2(*(rs_allocation*)buf2205, *(uint32_t*)buf2206, *(uint32_t*)buf2207, *(uint32_t*)buf2208);
-    *(ushort3*)buf2209 = rsGetElementAt_ushort3(*(rs_allocation*)buf2210, *(uint32_t*)buf2211, *(uint32_t*)buf2212, *(uint32_t*)buf2213);
-    *(ushort4*)buf2214 = rsGetElementAt_ushort4(*(rs_allocation*)buf2215, *(uint32_t*)buf2216, *(uint32_t*)buf2217, *(uint32_t*)buf2218);
-    *(int*)buf2219 = rsGetElementAt_int(*(rs_allocation*)buf2220, *(uint32_t*)buf2221, *(uint32_t*)buf2222, *(uint32_t*)buf2223);
-    *(int2*)buf2224 = rsGetElementAt_int2(*(rs_allocation*)buf2225, *(uint32_t*)buf2226, *(uint32_t*)buf2227, *(uint32_t*)buf2228);
-    *(int3*)buf2229 = rsGetElementAt_int3(*(rs_allocation*)buf2230, *(uint32_t*)buf2231, *(uint32_t*)buf2232, *(uint32_t*)buf2233);
-    *(int4*)buf2234 = rsGetElementAt_int4(*(rs_allocation*)buf2235, *(uint32_t*)buf2236, *(uint32_t*)buf2237, *(uint32_t*)buf2238);
-    *(uint*)buf2239 = rsGetElementAt_uint(*(rs_allocation*)buf2240, *(uint32_t*)buf2241, *(uint32_t*)buf2242, *(uint32_t*)buf2243);
-    *(uint2*)buf2244 = rsGetElementAt_uint2(*(rs_allocation*)buf2245, *(uint32_t*)buf2246, *(uint32_t*)buf2247, *(uint32_t*)buf2248);
-    *(uint3*)buf2249 = rsGetElementAt_uint3(*(rs_allocation*)buf2250, *(uint32_t*)buf2251, *(uint32_t*)buf2252, *(uint32_t*)buf2253);
-    *(uint4*)buf2254 = rsGetElementAt_uint4(*(rs_allocation*)buf2255, *(uint32_t*)buf2256, *(uint32_t*)buf2257, *(uint32_t*)buf2258);
-    *(long*)buf2259 = rsGetElementAt_long(*(rs_allocation*)buf2260, *(uint32_t*)buf2261, *(uint32_t*)buf2262, *(uint32_t*)buf2263);
-    *(long2*)buf2264 = rsGetElementAt_long2(*(rs_allocation*)buf2265, *(uint32_t*)buf2266, *(uint32_t*)buf2267, *(uint32_t*)buf2268);
-    *(long3*)buf2269 = rsGetElementAt_long3(*(rs_allocation*)buf2270, *(uint32_t*)buf2271, *(uint32_t*)buf2272, *(uint32_t*)buf2273);
-    *(long4*)buf2274 = rsGetElementAt_long4(*(rs_allocation*)buf2275, *(uint32_t*)buf2276, *(uint32_t*)buf2277, *(uint32_t*)buf2278);
-    *(ulong*)buf2279 = rsGetElementAt_ulong(*(rs_allocation*)buf2280, *(uint32_t*)buf2281, *(uint32_t*)buf2282, *(uint32_t*)buf2283);
-    *(ulong2*)buf2284 = rsGetElementAt_ulong2(*(rs_allocation*)buf2285, *(uint32_t*)buf2286, *(uint32_t*)buf2287, *(uint32_t*)buf2288);
-    *(ulong3*)buf2289 = rsGetElementAt_ulong3(*(rs_allocation*)buf2290, *(uint32_t*)buf2291, *(uint32_t*)buf2292, *(uint32_t*)buf2293);
-    *(ulong4*)buf2294 = rsGetElementAt_ulong4(*(rs_allocation*)buf2295, *(uint32_t*)buf2296, *(uint32_t*)buf2297, *(uint32_t*)buf2298);
-    *(uchar*)buf2299 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf2300, *(uint32_t*)buf2301, *(uint32_t*)buf2302);
-    *(uchar*)buf2303 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf2304, *(uint32_t*)buf2305, *(uint32_t*)buf2306);
-    *(uchar*)buf2307 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf2308, *(uint32_t*)buf2309, *(uint32_t*)buf2310);
-    *(bool*)buf2311 = rsIsObject(*(rs_element*)buf2312);
-    *(bool*)buf2313 = rsIsObject(*(rs_type*)buf2314);
-    *(bool*)buf2315 = rsIsObject(*(rs_allocation*)buf2316);
-    *(bool*)buf2317 = rsIsObject(*(rs_sampler*)buf2318);
-    *(bool*)buf2319 = rsIsObject(*(rs_script*)buf2320);
+    rsDebug((const char*) buf1674, *(double*)buf1675);
+    rsDebug((const char*) buf1676, *(int*)buf1677);
+    rsDebug((const char*) buf1678, *(uint*)buf1679);
+    rsDebug((const char*) buf1680, *(long*)buf1681);
+    rsDebug((const char*) buf1682, *(ulong*)buf1683);
+    rsDebug((const char*) buf1684, *(int2*)buf1685);
+    rsDebug((const char*) buf1686, *(int3*)buf1687);
+    rsDebug((const char*) buf1688, *(int4*)buf1689);
+    rsDebug((const char*) buf1690, *(uint2*)buf1691);
+    rsDebug((const char*) buf1692, *(uint3*)buf1693);
+    rsDebug((const char*) buf1694, *(uint4*)buf1695);
+    rsDebug((const char*) buf1696, *(long2*)buf1697);
+    rsDebug((const char*) buf1698, *(long3*)buf1699);
+    rsDebug((const char*) buf1700, *(long4*)buf1701);
+    rsDebug((const char*) buf1702, *(ulong2*)buf1703);
+    rsDebug((const char*) buf1704, *(ulong3*)buf1705);
+    rsDebug((const char*) buf1706, *(ulong4*)buf1707);
+    rsDebug((const char*) buf1708, *(float*)buf1709);
+    rsDebug((const char*) buf1710, *(float2*)buf1711);
+    rsDebug((const char*) buf1712, *(float3*)buf1713);
+    rsDebug((const char*) buf1714, *(float4*)buf1715);
+    rsDebug((const char*) buf1716, *(char*)buf1717);
+    rsDebug((const char*) buf1718, *(char2*)buf1719);
+    rsDebug((const char*) buf1720, *(char3*)buf1721);
+    rsDebug((const char*) buf1722, *(char4*)buf1723);
+    rsDebug((const char*) buf1724, *(uchar*)buf1725);
+    rsDebug((const char*) buf1726, *(uchar2*)buf1727);
+    rsDebug((const char*) buf1728, *(uchar3*)buf1729);
+    rsDebug((const char*) buf1730, *(uchar4*)buf1731);
+    rsDebug((const char*) buf1732, *(short*)buf1733);
+    rsDebug((const char*) buf1734, *(short2*)buf1735);
+    rsDebug((const char*) buf1736, *(short3*)buf1737);
+    rsDebug((const char*) buf1738, *(short4*)buf1739);
+    rsDebug((const char*) buf1740, *(ushort*)buf1741);
+    rsDebug((const char*) buf1742, *(ushort2*)buf1743);
+    rsDebug((const char*) buf1744, *(ushort3*)buf1745);
+    rsDebug((const char*) buf1746, *(ushort4*)buf1747);
+    rsDebug((const char*) buf1748, *(float*)buf1749, *(float*)buf1750);
+    rsDebug((const char*) buf1751, *(float*)buf1752, *(float*)buf1753, *(float*)buf1754);
+    rsDebug((const char*) buf1755, *(float*)buf1756, *(float*)buf1757, *(float*)buf1758, *(float*)buf1759);
+    rsDebug((const char*) buf1760, *(long long*)buf1761);
+    rsDebug((const char*) buf1762, *(unsigned long long*)buf1763);
+    rsDebug((const char*) buf1764, (const void*) buf1765);
+    rsDebug((const char*) buf1766, (const rs_matrix4x4*) buf1767);
+    rsDebug((const char*) buf1768, (const rs_matrix3x3*) buf1769);
+    rsDebug((const char*) buf1770, (const rs_matrix2x2*) buf1771);
+    *(uint32_t*)buf1772 = rsElementGetBytesSize(*(rs_element*)buf1773);
+    *(rs_data_kind*)buf1774 = rsElementGetDataKind(*(rs_element*)buf1775);
+    *(rs_data_type*)buf1776 = rsElementGetDataType(*(rs_element*)buf1777);
+    *(rs_element*)buf1778 = rsElementGetSubElement(*(rs_element*)buf1779, *(uint32_t*)buf1780);
+    *(uint32_t*)buf1781 = rsElementGetSubElementArraySize(*(rs_element*)buf1782, *(uint32_t*)buf1783);
+    *(uint32_t*)buf1784 = rsElementGetSubElementCount(*(rs_element*)buf1785);
+    *(uint32_t*)buf1786 = rsElementGetSubElementName(*(rs_element*)buf1787, *(uint32_t*)buf1788, (char*) buf1789, *(uint32_t*)buf1790);
+    *(uint32_t*)buf1791 = rsElementGetSubElementNameLength(*(rs_element*)buf1792, *(uint32_t*)buf1793);
+    *(uint32_t*)buf1794 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf1795, *(uint32_t*)buf1796);
+    *(uint32_t*)buf1797 = rsElementGetVectorSize(*(rs_element*)buf1798);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1799, (float4*) buf1800, (float4*) buf1801, (float4*) buf1802, (float4*) buf1803, (float4*) buf1804, (float4*) buf1805);
+    rsForEach(*(rs_script*)buf1806, *(rs_allocation*)buf1807, *(rs_allocation*)buf1808, (const void*) buf1809, *(size_t*)buf1810, (const rs_script_call_t*) buf1811);
+    rsForEach(*(rs_script*)buf1812, *(rs_allocation*)buf1813, *(rs_allocation*)buf1814, (const void*) buf1815, *(size_t*)buf1816);
+    rsForEach(*(rs_script*)buf1817, *(rs_allocation*)buf1818, *(rs_allocation*)buf1819);
+    *(float*)buf1820 = rsFrac(*(float*)buf1821);
+    *(rs_allocation*)buf1822 = rsGetAllocation((const void*) buf1823);
+    *(float*)buf1824 = rsGetDt();
+    *(const void**)buf1825 = rsGetElementAt(*(rs_allocation*)buf1826, *(uint32_t*)buf1827);
+    *(const void**)buf1828 = rsGetElementAt(*(rs_allocation*)buf1829, *(uint32_t*)buf1830, *(uint32_t*)buf1831);
+    *(const void**)buf1832 = rsGetElementAt(*(rs_allocation*)buf1833, *(uint32_t*)buf1834, *(uint32_t*)buf1835, *(uint32_t*)buf1836);
+    *(float*)buf1837 = rsGetElementAt_float(*(rs_allocation*)buf1838, *(uint32_t*)buf1839);
+    *(float2*)buf1840 = rsGetElementAt_float2(*(rs_allocation*)buf1841, *(uint32_t*)buf1842);
+    *(float3*)buf1843 = rsGetElementAt_float3(*(rs_allocation*)buf1844, *(uint32_t*)buf1845);
+    *(float4*)buf1846 = rsGetElementAt_float4(*(rs_allocation*)buf1847, *(uint32_t*)buf1848);
+    *(double*)buf1849 = rsGetElementAt_double(*(rs_allocation*)buf1850, *(uint32_t*)buf1851);
+    *(double2*)buf1852 = rsGetElementAt_double2(*(rs_allocation*)buf1853, *(uint32_t*)buf1854);
+    *(double3*)buf1855 = rsGetElementAt_double3(*(rs_allocation*)buf1856, *(uint32_t*)buf1857);
+    *(double4*)buf1858 = rsGetElementAt_double4(*(rs_allocation*)buf1859, *(uint32_t*)buf1860);
+    *(char*)buf1861 = rsGetElementAt_char(*(rs_allocation*)buf1862, *(uint32_t*)buf1863);
+    *(char2*)buf1864 = rsGetElementAt_char2(*(rs_allocation*)buf1865, *(uint32_t*)buf1866);
+    *(char3*)buf1867 = rsGetElementAt_char3(*(rs_allocation*)buf1868, *(uint32_t*)buf1869);
+    *(char4*)buf1870 = rsGetElementAt_char4(*(rs_allocation*)buf1871, *(uint32_t*)buf1872);
+    *(uchar*)buf1873 = rsGetElementAt_uchar(*(rs_allocation*)buf1874, *(uint32_t*)buf1875);
+    *(uchar2*)buf1876 = rsGetElementAt_uchar2(*(rs_allocation*)buf1877, *(uint32_t*)buf1878);
+    *(uchar3*)buf1879 = rsGetElementAt_uchar3(*(rs_allocation*)buf1880, *(uint32_t*)buf1881);
+    *(uchar4*)buf1882 = rsGetElementAt_uchar4(*(rs_allocation*)buf1883, *(uint32_t*)buf1884);
+    *(short*)buf1885 = rsGetElementAt_short(*(rs_allocation*)buf1886, *(uint32_t*)buf1887);
+    *(short2*)buf1888 = rsGetElementAt_short2(*(rs_allocation*)buf1889, *(uint32_t*)buf1890);
+    *(short3*)buf1891 = rsGetElementAt_short3(*(rs_allocation*)buf1892, *(uint32_t*)buf1893);
+    *(short4*)buf1894 = rsGetElementAt_short4(*(rs_allocation*)buf1895, *(uint32_t*)buf1896);
+    *(ushort*)buf1897 = rsGetElementAt_ushort(*(rs_allocation*)buf1898, *(uint32_t*)buf1899);
+    *(ushort2*)buf1900 = rsGetElementAt_ushort2(*(rs_allocation*)buf1901, *(uint32_t*)buf1902);
+    *(ushort3*)buf1903 = rsGetElementAt_ushort3(*(rs_allocation*)buf1904, *(uint32_t*)buf1905);
+    *(ushort4*)buf1906 = rsGetElementAt_ushort4(*(rs_allocation*)buf1907, *(uint32_t*)buf1908);
+    *(int*)buf1909 = rsGetElementAt_int(*(rs_allocation*)buf1910, *(uint32_t*)buf1911);
+    *(int2*)buf1912 = rsGetElementAt_int2(*(rs_allocation*)buf1913, *(uint32_t*)buf1914);
+    *(int3*)buf1915 = rsGetElementAt_int3(*(rs_allocation*)buf1916, *(uint32_t*)buf1917);
+    *(int4*)buf1918 = rsGetElementAt_int4(*(rs_allocation*)buf1919, *(uint32_t*)buf1920);
+    *(uint*)buf1921 = rsGetElementAt_uint(*(rs_allocation*)buf1922, *(uint32_t*)buf1923);
+    *(uint2*)buf1924 = rsGetElementAt_uint2(*(rs_allocation*)buf1925, *(uint32_t*)buf1926);
+    *(uint3*)buf1927 = rsGetElementAt_uint3(*(rs_allocation*)buf1928, *(uint32_t*)buf1929);
+    *(uint4*)buf1930 = rsGetElementAt_uint4(*(rs_allocation*)buf1931, *(uint32_t*)buf1932);
+    *(long*)buf1933 = rsGetElementAt_long(*(rs_allocation*)buf1934, *(uint32_t*)buf1935);
+    *(long2*)buf1936 = rsGetElementAt_long2(*(rs_allocation*)buf1937, *(uint32_t*)buf1938);
+    *(long3*)buf1939 = rsGetElementAt_long3(*(rs_allocation*)buf1940, *(uint32_t*)buf1941);
+    *(long4*)buf1942 = rsGetElementAt_long4(*(rs_allocation*)buf1943, *(uint32_t*)buf1944);
+    *(ulong*)buf1945 = rsGetElementAt_ulong(*(rs_allocation*)buf1946, *(uint32_t*)buf1947);
+    *(ulong2*)buf1948 = rsGetElementAt_ulong2(*(rs_allocation*)buf1949, *(uint32_t*)buf1950);
+    *(ulong3*)buf1951 = rsGetElementAt_ulong3(*(rs_allocation*)buf1952, *(uint32_t*)buf1953);
+    *(ulong4*)buf1954 = rsGetElementAt_ulong4(*(rs_allocation*)buf1955, *(uint32_t*)buf1956);
+    *(float*)buf1957 = rsGetElementAt_float(*(rs_allocation*)buf1958, *(uint32_t*)buf1959, *(uint32_t*)buf1960);
+    *(float2*)buf1961 = rsGetElementAt_float2(*(rs_allocation*)buf1962, *(uint32_t*)buf1963, *(uint32_t*)buf1964);
+    *(float3*)buf1965 = rsGetElementAt_float3(*(rs_allocation*)buf1966, *(uint32_t*)buf1967, *(uint32_t*)buf1968);
+    *(float4*)buf1969 = rsGetElementAt_float4(*(rs_allocation*)buf1970, *(uint32_t*)buf1971, *(uint32_t*)buf1972);
+    *(double*)buf1973 = rsGetElementAt_double(*(rs_allocation*)buf1974, *(uint32_t*)buf1975, *(uint32_t*)buf1976);
+    *(double2*)buf1977 = rsGetElementAt_double2(*(rs_allocation*)buf1978, *(uint32_t*)buf1979, *(uint32_t*)buf1980);
+    *(double3*)buf1981 = rsGetElementAt_double3(*(rs_allocation*)buf1982, *(uint32_t*)buf1983, *(uint32_t*)buf1984);
+    *(double4*)buf1985 = rsGetElementAt_double4(*(rs_allocation*)buf1986, *(uint32_t*)buf1987, *(uint32_t*)buf1988);
+    *(char*)buf1989 = rsGetElementAt_char(*(rs_allocation*)buf1990, *(uint32_t*)buf1991, *(uint32_t*)buf1992);
+    *(char2*)buf1993 = rsGetElementAt_char2(*(rs_allocation*)buf1994, *(uint32_t*)buf1995, *(uint32_t*)buf1996);
+    *(char3*)buf1997 = rsGetElementAt_char3(*(rs_allocation*)buf1998, *(uint32_t*)buf1999, *(uint32_t*)buf2000);
+    *(char4*)buf2001 = rsGetElementAt_char4(*(rs_allocation*)buf2002, *(uint32_t*)buf2003, *(uint32_t*)buf2004);
+    *(uchar*)buf2005 = rsGetElementAt_uchar(*(rs_allocation*)buf2006, *(uint32_t*)buf2007, *(uint32_t*)buf2008);
+    *(uchar2*)buf2009 = rsGetElementAt_uchar2(*(rs_allocation*)buf2010, *(uint32_t*)buf2011, *(uint32_t*)buf2012);
+    *(uchar3*)buf2013 = rsGetElementAt_uchar3(*(rs_allocation*)buf2014, *(uint32_t*)buf2015, *(uint32_t*)buf2016);
+    *(uchar4*)buf2017 = rsGetElementAt_uchar4(*(rs_allocation*)buf2018, *(uint32_t*)buf2019, *(uint32_t*)buf2020);
+    *(short*)buf2021 = rsGetElementAt_short(*(rs_allocation*)buf2022, *(uint32_t*)buf2023, *(uint32_t*)buf2024);
+    *(short2*)buf2025 = rsGetElementAt_short2(*(rs_allocation*)buf2026, *(uint32_t*)buf2027, *(uint32_t*)buf2028);
+    *(short3*)buf2029 = rsGetElementAt_short3(*(rs_allocation*)buf2030, *(uint32_t*)buf2031, *(uint32_t*)buf2032);
+    *(short4*)buf2033 = rsGetElementAt_short4(*(rs_allocation*)buf2034, *(uint32_t*)buf2035, *(uint32_t*)buf2036);
+    *(ushort*)buf2037 = rsGetElementAt_ushort(*(rs_allocation*)buf2038, *(uint32_t*)buf2039, *(uint32_t*)buf2040);
+    *(ushort2*)buf2041 = rsGetElementAt_ushort2(*(rs_allocation*)buf2042, *(uint32_t*)buf2043, *(uint32_t*)buf2044);
+    *(ushort3*)buf2045 = rsGetElementAt_ushort3(*(rs_allocation*)buf2046, *(uint32_t*)buf2047, *(uint32_t*)buf2048);
+    *(ushort4*)buf2049 = rsGetElementAt_ushort4(*(rs_allocation*)buf2050, *(uint32_t*)buf2051, *(uint32_t*)buf2052);
+    *(int*)buf2053 = rsGetElementAt_int(*(rs_allocation*)buf2054, *(uint32_t*)buf2055, *(uint32_t*)buf2056);
+    *(int2*)buf2057 = rsGetElementAt_int2(*(rs_allocation*)buf2058, *(uint32_t*)buf2059, *(uint32_t*)buf2060);
+    *(int3*)buf2061 = rsGetElementAt_int3(*(rs_allocation*)buf2062, *(uint32_t*)buf2063, *(uint32_t*)buf2064);
+    *(int4*)buf2065 = rsGetElementAt_int4(*(rs_allocation*)buf2066, *(uint32_t*)buf2067, *(uint32_t*)buf2068);
+    *(uint*)buf2069 = rsGetElementAt_uint(*(rs_allocation*)buf2070, *(uint32_t*)buf2071, *(uint32_t*)buf2072);
+    *(uint2*)buf2073 = rsGetElementAt_uint2(*(rs_allocation*)buf2074, *(uint32_t*)buf2075, *(uint32_t*)buf2076);
+    *(uint3*)buf2077 = rsGetElementAt_uint3(*(rs_allocation*)buf2078, *(uint32_t*)buf2079, *(uint32_t*)buf2080);
+    *(uint4*)buf2081 = rsGetElementAt_uint4(*(rs_allocation*)buf2082, *(uint32_t*)buf2083, *(uint32_t*)buf2084);
+    *(long*)buf2085 = rsGetElementAt_long(*(rs_allocation*)buf2086, *(uint32_t*)buf2087, *(uint32_t*)buf2088);
+    *(long2*)buf2089 = rsGetElementAt_long2(*(rs_allocation*)buf2090, *(uint32_t*)buf2091, *(uint32_t*)buf2092);
+    *(long3*)buf2093 = rsGetElementAt_long3(*(rs_allocation*)buf2094, *(uint32_t*)buf2095, *(uint32_t*)buf2096);
+    *(long4*)buf2097 = rsGetElementAt_long4(*(rs_allocation*)buf2098, *(uint32_t*)buf2099, *(uint32_t*)buf2100);
+    *(ulong*)buf2101 = rsGetElementAt_ulong(*(rs_allocation*)buf2102, *(uint32_t*)buf2103, *(uint32_t*)buf2104);
+    *(ulong2*)buf2105 = rsGetElementAt_ulong2(*(rs_allocation*)buf2106, *(uint32_t*)buf2107, *(uint32_t*)buf2108);
+    *(ulong3*)buf2109 = rsGetElementAt_ulong3(*(rs_allocation*)buf2110, *(uint32_t*)buf2111, *(uint32_t*)buf2112);
+    *(ulong4*)buf2113 = rsGetElementAt_ulong4(*(rs_allocation*)buf2114, *(uint32_t*)buf2115, *(uint32_t*)buf2116);
+    *(float*)buf2117 = rsGetElementAt_float(*(rs_allocation*)buf2118, *(uint32_t*)buf2119, *(uint32_t*)buf2120, *(uint32_t*)buf2121);
+    *(float2*)buf2122 = rsGetElementAt_float2(*(rs_allocation*)buf2123, *(uint32_t*)buf2124, *(uint32_t*)buf2125, *(uint32_t*)buf2126);
+    *(float3*)buf2127 = rsGetElementAt_float3(*(rs_allocation*)buf2128, *(uint32_t*)buf2129, *(uint32_t*)buf2130, *(uint32_t*)buf2131);
+    *(float4*)buf2132 = rsGetElementAt_float4(*(rs_allocation*)buf2133, *(uint32_t*)buf2134, *(uint32_t*)buf2135, *(uint32_t*)buf2136);
+    *(double*)buf2137 = rsGetElementAt_double(*(rs_allocation*)buf2138, *(uint32_t*)buf2139, *(uint32_t*)buf2140, *(uint32_t*)buf2141);
+    *(double2*)buf2142 = rsGetElementAt_double2(*(rs_allocation*)buf2143, *(uint32_t*)buf2144, *(uint32_t*)buf2145, *(uint32_t*)buf2146);
+    *(double3*)buf2147 = rsGetElementAt_double3(*(rs_allocation*)buf2148, *(uint32_t*)buf2149, *(uint32_t*)buf2150, *(uint32_t*)buf2151);
+    *(double4*)buf2152 = rsGetElementAt_double4(*(rs_allocation*)buf2153, *(uint32_t*)buf2154, *(uint32_t*)buf2155, *(uint32_t*)buf2156);
+    *(char*)buf2157 = rsGetElementAt_char(*(rs_allocation*)buf2158, *(uint32_t*)buf2159, *(uint32_t*)buf2160, *(uint32_t*)buf2161);
+    *(char2*)buf2162 = rsGetElementAt_char2(*(rs_allocation*)buf2163, *(uint32_t*)buf2164, *(uint32_t*)buf2165, *(uint32_t*)buf2166);
+    *(char3*)buf2167 = rsGetElementAt_char3(*(rs_allocation*)buf2168, *(uint32_t*)buf2169, *(uint32_t*)buf2170, *(uint32_t*)buf2171);
+    *(char4*)buf2172 = rsGetElementAt_char4(*(rs_allocation*)buf2173, *(uint32_t*)buf2174, *(uint32_t*)buf2175, *(uint32_t*)buf2176);
+    *(uchar*)buf2177 = rsGetElementAt_uchar(*(rs_allocation*)buf2178, *(uint32_t*)buf2179, *(uint32_t*)buf2180, *(uint32_t*)buf2181);
+    *(uchar2*)buf2182 = rsGetElementAt_uchar2(*(rs_allocation*)buf2183, *(uint32_t*)buf2184, *(uint32_t*)buf2185, *(uint32_t*)buf2186);
+    *(uchar3*)buf2187 = rsGetElementAt_uchar3(*(rs_allocation*)buf2188, *(uint32_t*)buf2189, *(uint32_t*)buf2190, *(uint32_t*)buf2191);
+    *(uchar4*)buf2192 = rsGetElementAt_uchar4(*(rs_allocation*)buf2193, *(uint32_t*)buf2194, *(uint32_t*)buf2195, *(uint32_t*)buf2196);
+    *(short*)buf2197 = rsGetElementAt_short(*(rs_allocation*)buf2198, *(uint32_t*)buf2199, *(uint32_t*)buf2200, *(uint32_t*)buf2201);
+    *(short2*)buf2202 = rsGetElementAt_short2(*(rs_allocation*)buf2203, *(uint32_t*)buf2204, *(uint32_t*)buf2205, *(uint32_t*)buf2206);
+    *(short3*)buf2207 = rsGetElementAt_short3(*(rs_allocation*)buf2208, *(uint32_t*)buf2209, *(uint32_t*)buf2210, *(uint32_t*)buf2211);
+    *(short4*)buf2212 = rsGetElementAt_short4(*(rs_allocation*)buf2213, *(uint32_t*)buf2214, *(uint32_t*)buf2215, *(uint32_t*)buf2216);
+    *(ushort*)buf2217 = rsGetElementAt_ushort(*(rs_allocation*)buf2218, *(uint32_t*)buf2219, *(uint32_t*)buf2220, *(uint32_t*)buf2221);
+    *(ushort2*)buf2222 = rsGetElementAt_ushort2(*(rs_allocation*)buf2223, *(uint32_t*)buf2224, *(uint32_t*)buf2225, *(uint32_t*)buf2226);
+    *(ushort3*)buf2227 = rsGetElementAt_ushort3(*(rs_allocation*)buf2228, *(uint32_t*)buf2229, *(uint32_t*)buf2230, *(uint32_t*)buf2231);
+    *(ushort4*)buf2232 = rsGetElementAt_ushort4(*(rs_allocation*)buf2233, *(uint32_t*)buf2234, *(uint32_t*)buf2235, *(uint32_t*)buf2236);
+    *(int*)buf2237 = rsGetElementAt_int(*(rs_allocation*)buf2238, *(uint32_t*)buf2239, *(uint32_t*)buf2240, *(uint32_t*)buf2241);
+    *(int2*)buf2242 = rsGetElementAt_int2(*(rs_allocation*)buf2243, *(uint32_t*)buf2244, *(uint32_t*)buf2245, *(uint32_t*)buf2246);
+    *(int3*)buf2247 = rsGetElementAt_int3(*(rs_allocation*)buf2248, *(uint32_t*)buf2249, *(uint32_t*)buf2250, *(uint32_t*)buf2251);
+    *(int4*)buf2252 = rsGetElementAt_int4(*(rs_allocation*)buf2253, *(uint32_t*)buf2254, *(uint32_t*)buf2255, *(uint32_t*)buf2256);
+    *(uint*)buf2257 = rsGetElementAt_uint(*(rs_allocation*)buf2258, *(uint32_t*)buf2259, *(uint32_t*)buf2260, *(uint32_t*)buf2261);
+    *(uint2*)buf2262 = rsGetElementAt_uint2(*(rs_allocation*)buf2263, *(uint32_t*)buf2264, *(uint32_t*)buf2265, *(uint32_t*)buf2266);
+    *(uint3*)buf2267 = rsGetElementAt_uint3(*(rs_allocation*)buf2268, *(uint32_t*)buf2269, *(uint32_t*)buf2270, *(uint32_t*)buf2271);
+    *(uint4*)buf2272 = rsGetElementAt_uint4(*(rs_allocation*)buf2273, *(uint32_t*)buf2274, *(uint32_t*)buf2275, *(uint32_t*)buf2276);
+    *(long*)buf2277 = rsGetElementAt_long(*(rs_allocation*)buf2278, *(uint32_t*)buf2279, *(uint32_t*)buf2280, *(uint32_t*)buf2281);
+    *(long2*)buf2282 = rsGetElementAt_long2(*(rs_allocation*)buf2283, *(uint32_t*)buf2284, *(uint32_t*)buf2285, *(uint32_t*)buf2286);
+    *(long3*)buf2287 = rsGetElementAt_long3(*(rs_allocation*)buf2288, *(uint32_t*)buf2289, *(uint32_t*)buf2290, *(uint32_t*)buf2291);
+    *(long4*)buf2292 = rsGetElementAt_long4(*(rs_allocation*)buf2293, *(uint32_t*)buf2294, *(uint32_t*)buf2295, *(uint32_t*)buf2296);
+    *(ulong*)buf2297 = rsGetElementAt_ulong(*(rs_allocation*)buf2298, *(uint32_t*)buf2299, *(uint32_t*)buf2300, *(uint32_t*)buf2301);
+    *(ulong2*)buf2302 = rsGetElementAt_ulong2(*(rs_allocation*)buf2303, *(uint32_t*)buf2304, *(uint32_t*)buf2305, *(uint32_t*)buf2306);
+    *(ulong3*)buf2307 = rsGetElementAt_ulong3(*(rs_allocation*)buf2308, *(uint32_t*)buf2309, *(uint32_t*)buf2310, *(uint32_t*)buf2311);
+    *(ulong4*)buf2312 = rsGetElementAt_ulong4(*(rs_allocation*)buf2313, *(uint32_t*)buf2314, *(uint32_t*)buf2315, *(uint32_t*)buf2316);
+    *(uchar*)buf2317 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf2318, *(uint32_t*)buf2319, *(uint32_t*)buf2320);
+    *(uchar*)buf2321 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf2322, *(uint32_t*)buf2323, *(uint32_t*)buf2324);
+    *(uchar*)buf2325 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf2326, *(uint32_t*)buf2327, *(uint32_t*)buf2328);
+    *(bool*)buf2329 = rsIsObject(*(rs_element*)buf2330);
+    *(bool*)buf2331 = rsIsObject(*(rs_type*)buf2332);
+    *(bool*)buf2333 = rsIsObject(*(rs_allocation*)buf2334);
+    *(bool*)buf2335 = rsIsObject(*(rs_sampler*)buf2336);
+    *(bool*)buf2337 = rsIsObject(*(rs_script*)buf2338);
 #ifndef __LP64__
-    *(bool*)buf2321 = rsIsObject(*(rs_mesh*)buf2322);
-    *(bool*)buf2323 = rsIsObject(*(rs_program_fragment*)buf2324);
-    *(bool*)buf2325 = rsIsObject(*(rs_program_vertex*)buf2326);
-    *(bool*)buf2327 = rsIsObject(*(rs_program_raster*)buf2328);
-    *(bool*)buf2329 = rsIsObject(*(rs_program_store*)buf2330);
-    *(bool*)buf2331 = rsIsObject(*(rs_font*)buf2332);
+    *(bool*)buf2339 = rsIsObject(*(rs_mesh*)buf2340);
+    *(bool*)buf2341 = rsIsObject(*(rs_program_fragment*)buf2342);
+    *(bool*)buf2343 = rsIsObject(*(rs_program_vertex*)buf2344);
+    *(bool*)buf2345 = rsIsObject(*(rs_program_raster*)buf2346);
+    *(bool*)buf2347 = rsIsObject(*(rs_program_store*)buf2348);
+    *(bool*)buf2349 = rsIsObject(*(rs_font*)buf2350);
 #endif
-    *(bool*)buf2333 = rsIsSphereInFrustum((float4*) buf2334, (float4*) buf2335, (float4*) buf2336, (float4*) buf2337, (float4*) buf2338, (float4*) buf2339, (float4*) buf2340);
-    *(rs_tm**)buf2341 = rsLocaltime((rs_tm*) buf2342, (const rs_time_t*) buf2343);
-    *(float*)buf2344 = rsMatrixGet((const rs_matrix4x4*) buf2345, *(uint32_t*)buf2346, *(uint32_t*)buf2347);
-    *(float*)buf2348 = rsMatrixGet((const rs_matrix3x3*) buf2349, *(uint32_t*)buf2350, *(uint32_t*)buf2351);
-    *(float*)buf2352 = rsMatrixGet((const rs_matrix2x2*) buf2353, *(uint32_t*)buf2354, *(uint32_t*)buf2355);
-    *(bool*)buf2356 = rsMatrixInverse((rs_matrix4x4*) buf2357);
-    *(bool*)buf2358 = rsMatrixInverseTranspose((rs_matrix4x4*) buf2359);
-    rsMatrixLoad((rs_matrix4x4*) buf2360, (const float*) buf2361);
-    rsMatrixLoad((rs_matrix3x3*) buf2362, (const float*) buf2363);
-    rsMatrixLoad((rs_matrix2x2*) buf2364, (const float*) buf2365);
-    rsMatrixLoad((rs_matrix4x4*) buf2366, (const rs_matrix4x4*) buf2367);
-    rsMatrixLoad((rs_matrix3x3*) buf2368, (const rs_matrix3x3*) buf2369);
-    rsMatrixLoad((rs_matrix2x2*) buf2370, (const rs_matrix2x2*) buf2371);
-    rsMatrixLoad((rs_matrix4x4*) buf2372, (const rs_matrix3x3*) buf2373);
-    rsMatrixLoad((rs_matrix4x4*) buf2374, (const rs_matrix2x2*) buf2375);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf2376, *(float*)buf2377, *(float*)buf2378, *(float*)buf2379, *(float*)buf2380, *(float*)buf2381, *(float*)buf2382);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf2383);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf2384);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf2385);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf2386, (const rs_matrix4x4*) buf2387, (const rs_matrix4x4*) buf2388);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf2389, (const rs_matrix3x3*) buf2390, (const rs_matrix3x3*) buf2391);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf2392, (const rs_matrix2x2*) buf2393, (const rs_matrix2x2*) buf2394);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf2395, *(float*)buf2396, *(float*)buf2397, *(float*)buf2398, *(float*)buf2399, *(float*)buf2400, *(float*)buf2401);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf2402, *(float*)buf2403, *(float*)buf2404, *(float*)buf2405, *(float*)buf2406);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf2407, *(float*)buf2408, *(float*)buf2409, *(float*)buf2410, *(float*)buf2411);
-    rsMatrixLoadScale((rs_matrix4x4*) buf2412, *(float*)buf2413, *(float*)buf2414, *(float*)buf2415);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf2416, *(float*)buf2417, *(float*)buf2418, *(float*)buf2419);
-    rsMatrixMultiply((rs_matrix4x4*) buf2420, (const rs_matrix4x4*) buf2421);
-    rsMatrixMultiply((rs_matrix3x3*) buf2422, (const rs_matrix3x3*) buf2423);
-    rsMatrixMultiply((rs_matrix2x2*) buf2424, (const rs_matrix2x2*) buf2425);
-    *(float4*)buf2426 = rsMatrixMultiply((const rs_matrix4x4*) buf2427, *(float4*)buf2428);
-    *(float4*)buf2429 = rsMatrixMultiply((const rs_matrix4x4*) buf2430, *(float3*)buf2431);
-    *(float4*)buf2432 = rsMatrixMultiply((const rs_matrix4x4*) buf2433, *(float2*)buf2434);
-    *(float3*)buf2435 = rsMatrixMultiply((const rs_matrix3x3*) buf2436, *(float3*)buf2437);
-    *(float3*)buf2438 = rsMatrixMultiply((const rs_matrix3x3*) buf2439, *(float2*)buf2440);
-    *(float2*)buf2441 = rsMatrixMultiply((const rs_matrix2x2*) buf2442, *(float2*)buf2443);
-    rsMatrixRotate((rs_matrix4x4*) buf2444, *(float*)buf2445, *(float*)buf2446, *(float*)buf2447, *(float*)buf2448);
-    rsMatrixScale((rs_matrix4x4*) buf2449, *(float*)buf2450, *(float*)buf2451, *(float*)buf2452);
-    rsMatrixSet((rs_matrix4x4*) buf2453, *(uint32_t*)buf2454, *(uint32_t*)buf2455, *(float*)buf2456);
-    rsMatrixSet((rs_matrix3x3*) buf2457, *(uint32_t*)buf2458, *(uint32_t*)buf2459, *(float*)buf2460);
-    rsMatrixSet((rs_matrix2x2*) buf2461, *(uint32_t*)buf2462, *(uint32_t*)buf2463, *(float*)buf2464);
-    rsMatrixTranslate((rs_matrix4x4*) buf2465, *(float*)buf2466, *(float*)buf2467, *(float*)buf2468);
-    rsMatrixTranspose((rs_matrix4x4*) buf2469);
-    rsMatrixTranspose((rs_matrix3x3*) buf2470);
-    rsMatrixTranspose((rs_matrix2x2*) buf2471);
-    *(uchar4*)buf2472 = rsPackColorTo8888(*(float*)buf2473, *(float*)buf2474, *(float*)buf2475);
-    *(uchar4*)buf2476 = rsPackColorTo8888(*(float*)buf2477, *(float*)buf2478, *(float*)buf2479, *(float*)buf2480);
-    *(uchar4*)buf2481 = rsPackColorTo8888(*(float3*)buf2482);
-    *(uchar4*)buf2483 = rsPackColorTo8888(*(float4*)buf2484);
-    rsQuaternionAdd((rs_quaternion*) buf2485, (const rs_quaternion*) buf2486);
-    rsQuaternionConjugate((rs_quaternion*) buf2487);
-    *(float*)buf2488 = rsQuaternionDot((const rs_quaternion*) buf2489, (const rs_quaternion*) buf2490);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2491, (const rs_quaternion*) buf2492);
-    rsQuaternionLoadRotate((rs_quaternion*) buf2493, *(float*)buf2494, *(float*)buf2495, *(float*)buf2496, *(float*)buf2497);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2498, *(float*)buf2499, *(float*)buf2500, *(float*)buf2501, *(float*)buf2502);
-    rsQuaternionMultiply((rs_quaternion*) buf2503, *(float*)buf2504);
-    rsQuaternionMultiply((rs_quaternion*) buf2505, (const rs_quaternion*) buf2506);
-    rsQuaternionNormalize((rs_quaternion*) buf2507);
-    rsQuaternionSet((rs_quaternion*) buf2508, *(float*)buf2509, *(float*)buf2510, *(float*)buf2511, *(float*)buf2512);
-    rsQuaternionSet((rs_quaternion*) buf2513, (const rs_quaternion*) buf2514);
-    rsQuaternionSlerp((rs_quaternion*) buf2515, (const rs_quaternion*) buf2516, (const rs_quaternion*) buf2517, *(float*)buf2518);
-    *(int*)buf2519 = rsRand(*(int*)buf2520);
-    *(int*)buf2521 = rsRand(*(int*)buf2522, *(int*)buf2523);
-    *(float*)buf2524 = rsRand(*(float*)buf2525);
-    *(float*)buf2526 = rsRand(*(float*)buf2527, *(float*)buf2528);
-    *(float4*)buf2529 = rsSample(*(rs_allocation*)buf2530, *(rs_sampler*)buf2531, *(float*)buf2532);
-    *(float4*)buf2533 = rsSample(*(rs_allocation*)buf2534, *(rs_sampler*)buf2535, *(float*)buf2536, *(float*)buf2537);
-    *(float4*)buf2538 = rsSample(*(rs_allocation*)buf2539, *(rs_sampler*)buf2540, *(float2*)buf2541);
-    *(float4*)buf2542 = rsSample(*(rs_allocation*)buf2543, *(rs_sampler*)buf2544, *(float2*)buf2545, *(float*)buf2546);
-    *(float*)buf2547 = rsSamplerGetAnisotropy(*(rs_sampler*)buf2548);
-    *(rs_sampler_value*)buf2549 = rsSamplerGetMagnification(*(rs_sampler*)buf2550);
-    *(rs_sampler_value*)buf2551 = rsSamplerGetMinification(*(rs_sampler*)buf2552);
-    *(rs_sampler_value*)buf2553 = rsSamplerGetWrapS(*(rs_sampler*)buf2554);
-    *(rs_sampler_value*)buf2555 = rsSamplerGetWrapT(*(rs_sampler*)buf2556);
-    *(bool*)buf2557 = rsSendToClient(*(int*)buf2558);
-    *(bool*)buf2559 = rsSendToClient(*(int*)buf2560, (const void*) buf2561, *(uint*)buf2562);
-    rsSendToClientBlocking(*(int*)buf2563);
-    rsSendToClientBlocking(*(int*)buf2564, (const void*) buf2565, *(uint*)buf2566);
-    rsSetElementAt(*(rs_allocation*)buf2567, (void*) buf2568, *(uint32_t*)buf2569);
-    rsSetElementAt(*(rs_allocation*)buf2570, (void*) buf2571, *(uint32_t*)buf2572, *(uint32_t*)buf2573);
-    rsSetElementAt_float(*(rs_allocation*)buf2574, *(float*)buf2575, *(uint32_t*)buf2576);
-    rsSetElementAt_float2(*(rs_allocation*)buf2577, *(float2*)buf2578, *(uint32_t*)buf2579);
-    rsSetElementAt_float3(*(rs_allocation*)buf2580, *(float3*)buf2581, *(uint32_t*)buf2582);
-    rsSetElementAt_float4(*(rs_allocation*)buf2583, *(float4*)buf2584, *(uint32_t*)buf2585);
-    rsSetElementAt_double(*(rs_allocation*)buf2586, *(double*)buf2587, *(uint32_t*)buf2588);
-    rsSetElementAt_double2(*(rs_allocation*)buf2589, *(double2*)buf2590, *(uint32_t*)buf2591);
-    rsSetElementAt_double3(*(rs_allocation*)buf2592, *(double3*)buf2593, *(uint32_t*)buf2594);
-    rsSetElementAt_double4(*(rs_allocation*)buf2595, *(double4*)buf2596, *(uint32_t*)buf2597);
-    rsSetElementAt_char(*(rs_allocation*)buf2598, *(char*)buf2599, *(uint32_t*)buf2600);
-    rsSetElementAt_char2(*(rs_allocation*)buf2601, *(char2*)buf2602, *(uint32_t*)buf2603);
-    rsSetElementAt_char3(*(rs_allocation*)buf2604, *(char3*)buf2605, *(uint32_t*)buf2606);
-    rsSetElementAt_char4(*(rs_allocation*)buf2607, *(char4*)buf2608, *(uint32_t*)buf2609);
-    rsSetElementAt_uchar(*(rs_allocation*)buf2610, *(uchar*)buf2611, *(uint32_t*)buf2612);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf2613, *(uchar2*)buf2614, *(uint32_t*)buf2615);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf2616, *(uchar3*)buf2617, *(uint32_t*)buf2618);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf2619, *(uchar4*)buf2620, *(uint32_t*)buf2621);
-    rsSetElementAt_short(*(rs_allocation*)buf2622, *(short*)buf2623, *(uint32_t*)buf2624);
-    rsSetElementAt_short2(*(rs_allocation*)buf2625, *(short2*)buf2626, *(uint32_t*)buf2627);
-    rsSetElementAt_short3(*(rs_allocation*)buf2628, *(short3*)buf2629, *(uint32_t*)buf2630);
-    rsSetElementAt_short4(*(rs_allocation*)buf2631, *(short4*)buf2632, *(uint32_t*)buf2633);
-    rsSetElementAt_ushort(*(rs_allocation*)buf2634, *(ushort*)buf2635, *(uint32_t*)buf2636);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf2637, *(ushort2*)buf2638, *(uint32_t*)buf2639);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf2640, *(ushort3*)buf2641, *(uint32_t*)buf2642);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf2643, *(ushort4*)buf2644, *(uint32_t*)buf2645);
-    rsSetElementAt_int(*(rs_allocation*)buf2646, *(int*)buf2647, *(uint32_t*)buf2648);
-    rsSetElementAt_int2(*(rs_allocation*)buf2649, *(int2*)buf2650, *(uint32_t*)buf2651);
-    rsSetElementAt_int3(*(rs_allocation*)buf2652, *(int3*)buf2653, *(uint32_t*)buf2654);
-    rsSetElementAt_int4(*(rs_allocation*)buf2655, *(int4*)buf2656, *(uint32_t*)buf2657);
-    rsSetElementAt_uint(*(rs_allocation*)buf2658, *(uint*)buf2659, *(uint32_t*)buf2660);
-    rsSetElementAt_uint2(*(rs_allocation*)buf2661, *(uint2*)buf2662, *(uint32_t*)buf2663);
-    rsSetElementAt_uint3(*(rs_allocation*)buf2664, *(uint3*)buf2665, *(uint32_t*)buf2666);
-    rsSetElementAt_uint4(*(rs_allocation*)buf2667, *(uint4*)buf2668, *(uint32_t*)buf2669);
-    rsSetElementAt_long(*(rs_allocation*)buf2670, *(long*)buf2671, *(uint32_t*)buf2672);
-    rsSetElementAt_long2(*(rs_allocation*)buf2673, *(long2*)buf2674, *(uint32_t*)buf2675);
-    rsSetElementAt_long3(*(rs_allocation*)buf2676, *(long3*)buf2677, *(uint32_t*)buf2678);
-    rsSetElementAt_long4(*(rs_allocation*)buf2679, *(long4*)buf2680, *(uint32_t*)buf2681);
-    rsSetElementAt_ulong(*(rs_allocation*)buf2682, *(ulong*)buf2683, *(uint32_t*)buf2684);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf2685, *(ulong2*)buf2686, *(uint32_t*)buf2687);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf2688, *(ulong3*)buf2689, *(uint32_t*)buf2690);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf2691, *(ulong4*)buf2692, *(uint32_t*)buf2693);
-    rsSetElementAt_float(*(rs_allocation*)buf2694, *(float*)buf2695, *(uint32_t*)buf2696, *(uint32_t*)buf2697);
-    rsSetElementAt_float2(*(rs_allocation*)buf2698, *(float2*)buf2699, *(uint32_t*)buf2700, *(uint32_t*)buf2701);
-    rsSetElementAt_float3(*(rs_allocation*)buf2702, *(float3*)buf2703, *(uint32_t*)buf2704, *(uint32_t*)buf2705);
-    rsSetElementAt_float4(*(rs_allocation*)buf2706, *(float4*)buf2707, *(uint32_t*)buf2708, *(uint32_t*)buf2709);
-    rsSetElementAt_double(*(rs_allocation*)buf2710, *(double*)buf2711, *(uint32_t*)buf2712, *(uint32_t*)buf2713);
-    rsSetElementAt_double2(*(rs_allocation*)buf2714, *(double2*)buf2715, *(uint32_t*)buf2716, *(uint32_t*)buf2717);
-    rsSetElementAt_double3(*(rs_allocation*)buf2718, *(double3*)buf2719, *(uint32_t*)buf2720, *(uint32_t*)buf2721);
-    rsSetElementAt_double4(*(rs_allocation*)buf2722, *(double4*)buf2723, *(uint32_t*)buf2724, *(uint32_t*)buf2725);
-    rsSetElementAt_char(*(rs_allocation*)buf2726, *(char*)buf2727, *(uint32_t*)buf2728, *(uint32_t*)buf2729);
-    rsSetElementAt_char2(*(rs_allocation*)buf2730, *(char2*)buf2731, *(uint32_t*)buf2732, *(uint32_t*)buf2733);
-    rsSetElementAt_char3(*(rs_allocation*)buf2734, *(char3*)buf2735, *(uint32_t*)buf2736, *(uint32_t*)buf2737);
-    rsSetElementAt_char4(*(rs_allocation*)buf2738, *(char4*)buf2739, *(uint32_t*)buf2740, *(uint32_t*)buf2741);
-    rsSetElementAt_uchar(*(rs_allocation*)buf2742, *(uchar*)buf2743, *(uint32_t*)buf2744, *(uint32_t*)buf2745);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf2746, *(uchar2*)buf2747, *(uint32_t*)buf2748, *(uint32_t*)buf2749);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf2750, *(uchar3*)buf2751, *(uint32_t*)buf2752, *(uint32_t*)buf2753);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf2754, *(uchar4*)buf2755, *(uint32_t*)buf2756, *(uint32_t*)buf2757);
-    rsSetElementAt_short(*(rs_allocation*)buf2758, *(short*)buf2759, *(uint32_t*)buf2760, *(uint32_t*)buf2761);
-    rsSetElementAt_short2(*(rs_allocation*)buf2762, *(short2*)buf2763, *(uint32_t*)buf2764, *(uint32_t*)buf2765);
-    rsSetElementAt_short3(*(rs_allocation*)buf2766, *(short3*)buf2767, *(uint32_t*)buf2768, *(uint32_t*)buf2769);
-    rsSetElementAt_short4(*(rs_allocation*)buf2770, *(short4*)buf2771, *(uint32_t*)buf2772, *(uint32_t*)buf2773);
-    rsSetElementAt_ushort(*(rs_allocation*)buf2774, *(ushort*)buf2775, *(uint32_t*)buf2776, *(uint32_t*)buf2777);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf2778, *(ushort2*)buf2779, *(uint32_t*)buf2780, *(uint32_t*)buf2781);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf2782, *(ushort3*)buf2783, *(uint32_t*)buf2784, *(uint32_t*)buf2785);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf2786, *(ushort4*)buf2787, *(uint32_t*)buf2788, *(uint32_t*)buf2789);
-    rsSetElementAt_int(*(rs_allocation*)buf2790, *(int*)buf2791, *(uint32_t*)buf2792, *(uint32_t*)buf2793);
-    rsSetElementAt_int2(*(rs_allocation*)buf2794, *(int2*)buf2795, *(uint32_t*)buf2796, *(uint32_t*)buf2797);
-    rsSetElementAt_int3(*(rs_allocation*)buf2798, *(int3*)buf2799, *(uint32_t*)buf2800, *(uint32_t*)buf2801);
-    rsSetElementAt_int4(*(rs_allocation*)buf2802, *(int4*)buf2803, *(uint32_t*)buf2804, *(uint32_t*)buf2805);
-    rsSetElementAt_uint(*(rs_allocation*)buf2806, *(uint*)buf2807, *(uint32_t*)buf2808, *(uint32_t*)buf2809);
-    rsSetElementAt_uint2(*(rs_allocation*)buf2810, *(uint2*)buf2811, *(uint32_t*)buf2812, *(uint32_t*)buf2813);
-    rsSetElementAt_uint3(*(rs_allocation*)buf2814, *(uint3*)buf2815, *(uint32_t*)buf2816, *(uint32_t*)buf2817);
-    rsSetElementAt_uint4(*(rs_allocation*)buf2818, *(uint4*)buf2819, *(uint32_t*)buf2820, *(uint32_t*)buf2821);
-    rsSetElementAt_long(*(rs_allocation*)buf2822, *(long*)buf2823, *(uint32_t*)buf2824, *(uint32_t*)buf2825);
-    rsSetElementAt_long2(*(rs_allocation*)buf2826, *(long2*)buf2827, *(uint32_t*)buf2828, *(uint32_t*)buf2829);
-    rsSetElementAt_long3(*(rs_allocation*)buf2830, *(long3*)buf2831, *(uint32_t*)buf2832, *(uint32_t*)buf2833);
-    rsSetElementAt_long4(*(rs_allocation*)buf2834, *(long4*)buf2835, *(uint32_t*)buf2836, *(uint32_t*)buf2837);
-    rsSetElementAt_ulong(*(rs_allocation*)buf2838, *(ulong*)buf2839, *(uint32_t*)buf2840, *(uint32_t*)buf2841);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf2842, *(ulong2*)buf2843, *(uint32_t*)buf2844, *(uint32_t*)buf2845);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf2846, *(ulong3*)buf2847, *(uint32_t*)buf2848, *(uint32_t*)buf2849);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf2850, *(ulong4*)buf2851, *(uint32_t*)buf2852, *(uint32_t*)buf2853);
-    rsSetElementAt_float(*(rs_allocation*)buf2854, *(float*)buf2855, *(uint32_t*)buf2856, *(uint32_t*)buf2857, *(uint32_t*)buf2858);
-    rsSetElementAt_float2(*(rs_allocation*)buf2859, *(float2*)buf2860, *(uint32_t*)buf2861, *(uint32_t*)buf2862, *(uint32_t*)buf2863);
-    rsSetElementAt_float3(*(rs_allocation*)buf2864, *(float3*)buf2865, *(uint32_t*)buf2866, *(uint32_t*)buf2867, *(uint32_t*)buf2868);
-    rsSetElementAt_float4(*(rs_allocation*)buf2869, *(float4*)buf2870, *(uint32_t*)buf2871, *(uint32_t*)buf2872, *(uint32_t*)buf2873);
-    rsSetElementAt_double(*(rs_allocation*)buf2874, *(double*)buf2875, *(uint32_t*)buf2876, *(uint32_t*)buf2877, *(uint32_t*)buf2878);
-    rsSetElementAt_double2(*(rs_allocation*)buf2879, *(double2*)buf2880, *(uint32_t*)buf2881, *(uint32_t*)buf2882, *(uint32_t*)buf2883);
-    rsSetElementAt_double3(*(rs_allocation*)buf2884, *(double3*)buf2885, *(uint32_t*)buf2886, *(uint32_t*)buf2887, *(uint32_t*)buf2888);
-    rsSetElementAt_double4(*(rs_allocation*)buf2889, *(double4*)buf2890, *(uint32_t*)buf2891, *(uint32_t*)buf2892, *(uint32_t*)buf2893);
-    rsSetElementAt_char(*(rs_allocation*)buf2894, *(char*)buf2895, *(uint32_t*)buf2896, *(uint32_t*)buf2897, *(uint32_t*)buf2898);
-    rsSetElementAt_char2(*(rs_allocation*)buf2899, *(char2*)buf2900, *(uint32_t*)buf2901, *(uint32_t*)buf2902, *(uint32_t*)buf2903);
-    rsSetElementAt_char3(*(rs_allocation*)buf2904, *(char3*)buf2905, *(uint32_t*)buf2906, *(uint32_t*)buf2907, *(uint32_t*)buf2908);
-    rsSetElementAt_char4(*(rs_allocation*)buf2909, *(char4*)buf2910, *(uint32_t*)buf2911, *(uint32_t*)buf2912, *(uint32_t*)buf2913);
-    rsSetElementAt_uchar(*(rs_allocation*)buf2914, *(uchar*)buf2915, *(uint32_t*)buf2916, *(uint32_t*)buf2917, *(uint32_t*)buf2918);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf2919, *(uchar2*)buf2920, *(uint32_t*)buf2921, *(uint32_t*)buf2922, *(uint32_t*)buf2923);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf2924, *(uchar3*)buf2925, *(uint32_t*)buf2926, *(uint32_t*)buf2927, *(uint32_t*)buf2928);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf2929, *(uchar4*)buf2930, *(uint32_t*)buf2931, *(uint32_t*)buf2932, *(uint32_t*)buf2933);
-    rsSetElementAt_short(*(rs_allocation*)buf2934, *(short*)buf2935, *(uint32_t*)buf2936, *(uint32_t*)buf2937, *(uint32_t*)buf2938);
-    rsSetElementAt_short2(*(rs_allocation*)buf2939, *(short2*)buf2940, *(uint32_t*)buf2941, *(uint32_t*)buf2942, *(uint32_t*)buf2943);
-    rsSetElementAt_short3(*(rs_allocation*)buf2944, *(short3*)buf2945, *(uint32_t*)buf2946, *(uint32_t*)buf2947, *(uint32_t*)buf2948);
-    rsSetElementAt_short4(*(rs_allocation*)buf2949, *(short4*)buf2950, *(uint32_t*)buf2951, *(uint32_t*)buf2952, *(uint32_t*)buf2953);
-    rsSetElementAt_ushort(*(rs_allocation*)buf2954, *(ushort*)buf2955, *(uint32_t*)buf2956, *(uint32_t*)buf2957, *(uint32_t*)buf2958);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf2959, *(ushort2*)buf2960, *(uint32_t*)buf2961, *(uint32_t*)buf2962, *(uint32_t*)buf2963);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf2964, *(ushort3*)buf2965, *(uint32_t*)buf2966, *(uint32_t*)buf2967, *(uint32_t*)buf2968);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf2969, *(ushort4*)buf2970, *(uint32_t*)buf2971, *(uint32_t*)buf2972, *(uint32_t*)buf2973);
-    rsSetElementAt_int(*(rs_allocation*)buf2974, *(int*)buf2975, *(uint32_t*)buf2976, *(uint32_t*)buf2977, *(uint32_t*)buf2978);
-    rsSetElementAt_int2(*(rs_allocation*)buf2979, *(int2*)buf2980, *(uint32_t*)buf2981, *(uint32_t*)buf2982, *(uint32_t*)buf2983);
-    rsSetElementAt_int3(*(rs_allocation*)buf2984, *(int3*)buf2985, *(uint32_t*)buf2986, *(uint32_t*)buf2987, *(uint32_t*)buf2988);
-    rsSetElementAt_int4(*(rs_allocation*)buf2989, *(int4*)buf2990, *(uint32_t*)buf2991, *(uint32_t*)buf2992, *(uint32_t*)buf2993);
-    rsSetElementAt_uint(*(rs_allocation*)buf2994, *(uint*)buf2995, *(uint32_t*)buf2996, *(uint32_t*)buf2997, *(uint32_t*)buf2998);
-    rsSetElementAt_uint2(*(rs_allocation*)buf2999, *(uint2*)buf3000, *(uint32_t*)buf3001, *(uint32_t*)buf3002, *(uint32_t*)buf3003);
-    rsSetElementAt_uint3(*(rs_allocation*)buf3004, *(uint3*)buf3005, *(uint32_t*)buf3006, *(uint32_t*)buf3007, *(uint32_t*)buf3008);
-    rsSetElementAt_uint4(*(rs_allocation*)buf3009, *(uint4*)buf3010, *(uint32_t*)buf3011, *(uint32_t*)buf3012, *(uint32_t*)buf3013);
-    rsSetElementAt_long(*(rs_allocation*)buf3014, *(long*)buf3015, *(uint32_t*)buf3016, *(uint32_t*)buf3017, *(uint32_t*)buf3018);
-    rsSetElementAt_long2(*(rs_allocation*)buf3019, *(long2*)buf3020, *(uint32_t*)buf3021, *(uint32_t*)buf3022, *(uint32_t*)buf3023);
-    rsSetElementAt_long3(*(rs_allocation*)buf3024, *(long3*)buf3025, *(uint32_t*)buf3026, *(uint32_t*)buf3027, *(uint32_t*)buf3028);
-    rsSetElementAt_long4(*(rs_allocation*)buf3029, *(long4*)buf3030, *(uint32_t*)buf3031, *(uint32_t*)buf3032, *(uint32_t*)buf3033);
-    rsSetElementAt_ulong(*(rs_allocation*)buf3034, *(ulong*)buf3035, *(uint32_t*)buf3036, *(uint32_t*)buf3037, *(uint32_t*)buf3038);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf3039, *(ulong2*)buf3040, *(uint32_t*)buf3041, *(uint32_t*)buf3042, *(uint32_t*)buf3043);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf3044, *(ulong3*)buf3045, *(uint32_t*)buf3046, *(uint32_t*)buf3047, *(uint32_t*)buf3048);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf3049, *(ulong4*)buf3050, *(uint32_t*)buf3051, *(uint32_t*)buf3052, *(uint32_t*)buf3053);
-    rsSetObject((rs_element*) buf3054, *(rs_element*)buf3055);
-    rsSetObject((rs_type*) buf3056, *(rs_type*)buf3057);
-    rsSetObject((rs_allocation*) buf3058, *(rs_allocation*)buf3059);
-    rsSetObject((rs_sampler*) buf3060, *(rs_sampler*)buf3061);
-    rsSetObject((rs_script*) buf3062, *(rs_script*)buf3063);
+    *(bool*)buf2351 = rsIsSphereInFrustum((float4*) buf2352, (float4*) buf2353, (float4*) buf2354, (float4*) buf2355, (float4*) buf2356, (float4*) buf2357, (float4*) buf2358);
+    *(rs_tm**)buf2359 = rsLocaltime((rs_tm*) buf2360, (const rs_time_t*) buf2361);
+    *(float*)buf2362 = rsMatrixGet((const rs_matrix4x4*) buf2363, *(uint32_t*)buf2364, *(uint32_t*)buf2365);
+    *(float*)buf2366 = rsMatrixGet((const rs_matrix3x3*) buf2367, *(uint32_t*)buf2368, *(uint32_t*)buf2369);
+    *(float*)buf2370 = rsMatrixGet((const rs_matrix2x2*) buf2371, *(uint32_t*)buf2372, *(uint32_t*)buf2373);
+    *(bool*)buf2374 = rsMatrixInverse((rs_matrix4x4*) buf2375);
+    *(bool*)buf2376 = rsMatrixInverseTranspose((rs_matrix4x4*) buf2377);
+    rsMatrixLoad((rs_matrix4x4*) buf2378, (const float*) buf2379);
+    rsMatrixLoad((rs_matrix3x3*) buf2380, (const float*) buf2381);
+    rsMatrixLoad((rs_matrix2x2*) buf2382, (const float*) buf2383);
+    rsMatrixLoad((rs_matrix4x4*) buf2384, (const rs_matrix4x4*) buf2385);
+    rsMatrixLoad((rs_matrix3x3*) buf2386, (const rs_matrix3x3*) buf2387);
+    rsMatrixLoad((rs_matrix2x2*) buf2388, (const rs_matrix2x2*) buf2389);
+    rsMatrixLoad((rs_matrix4x4*) buf2390, (const rs_matrix3x3*) buf2391);
+    rsMatrixLoad((rs_matrix4x4*) buf2392, (const rs_matrix2x2*) buf2393);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf2394, *(float*)buf2395, *(float*)buf2396, *(float*)buf2397, *(float*)buf2398, *(float*)buf2399, *(float*)buf2400);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf2401);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf2402);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf2403);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf2404, (const rs_matrix4x4*) buf2405, (const rs_matrix4x4*) buf2406);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf2407, (const rs_matrix3x3*) buf2408, (const rs_matrix3x3*) buf2409);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf2410, (const rs_matrix2x2*) buf2411, (const rs_matrix2x2*) buf2412);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf2413, *(float*)buf2414, *(float*)buf2415, *(float*)buf2416, *(float*)buf2417, *(float*)buf2418, *(float*)buf2419);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf2420, *(float*)buf2421, *(float*)buf2422, *(float*)buf2423, *(float*)buf2424);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf2425, *(float*)buf2426, *(float*)buf2427, *(float*)buf2428, *(float*)buf2429);
+    rsMatrixLoadScale((rs_matrix4x4*) buf2430, *(float*)buf2431, *(float*)buf2432, *(float*)buf2433);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf2434, *(float*)buf2435, *(float*)buf2436, *(float*)buf2437);
+    rsMatrixMultiply((rs_matrix4x4*) buf2438, (const rs_matrix4x4*) buf2439);
+    rsMatrixMultiply((rs_matrix3x3*) buf2440, (const rs_matrix3x3*) buf2441);
+    rsMatrixMultiply((rs_matrix2x2*) buf2442, (const rs_matrix2x2*) buf2443);
+    *(float4*)buf2444 = rsMatrixMultiply((const rs_matrix4x4*) buf2445, *(float4*)buf2446);
+    *(float4*)buf2447 = rsMatrixMultiply((const rs_matrix4x4*) buf2448, *(float3*)buf2449);
+    *(float4*)buf2450 = rsMatrixMultiply((const rs_matrix4x4*) buf2451, *(float2*)buf2452);
+    *(float3*)buf2453 = rsMatrixMultiply((const rs_matrix3x3*) buf2454, *(float3*)buf2455);
+    *(float3*)buf2456 = rsMatrixMultiply((const rs_matrix3x3*) buf2457, *(float2*)buf2458);
+    *(float2*)buf2459 = rsMatrixMultiply((const rs_matrix2x2*) buf2460, *(float2*)buf2461);
+    rsMatrixRotate((rs_matrix4x4*) buf2462, *(float*)buf2463, *(float*)buf2464, *(float*)buf2465, *(float*)buf2466);
+    rsMatrixScale((rs_matrix4x4*) buf2467, *(float*)buf2468, *(float*)buf2469, *(float*)buf2470);
+    rsMatrixSet((rs_matrix4x4*) buf2471, *(uint32_t*)buf2472, *(uint32_t*)buf2473, *(float*)buf2474);
+    rsMatrixSet((rs_matrix3x3*) buf2475, *(uint32_t*)buf2476, *(uint32_t*)buf2477, *(float*)buf2478);
+    rsMatrixSet((rs_matrix2x2*) buf2479, *(uint32_t*)buf2480, *(uint32_t*)buf2481, *(float*)buf2482);
+    rsMatrixTranslate((rs_matrix4x4*) buf2483, *(float*)buf2484, *(float*)buf2485, *(float*)buf2486);
+    rsMatrixTranspose((rs_matrix4x4*) buf2487);
+    rsMatrixTranspose((rs_matrix3x3*) buf2488);
+    rsMatrixTranspose((rs_matrix2x2*) buf2489);
+    *(uchar4*)buf2490 = rsPackColorTo8888(*(float*)buf2491, *(float*)buf2492, *(float*)buf2493);
+    *(uchar4*)buf2494 = rsPackColorTo8888(*(float*)buf2495, *(float*)buf2496, *(float*)buf2497, *(float*)buf2498);
+    *(uchar4*)buf2499 = rsPackColorTo8888(*(float3*)buf2500);
+    *(uchar4*)buf2501 = rsPackColorTo8888(*(float4*)buf2502);
+    rsQuaternionAdd((rs_quaternion*) buf2503, (const rs_quaternion*) buf2504);
+    rsQuaternionConjugate((rs_quaternion*) buf2505);
+    *(float*)buf2506 = rsQuaternionDot((const rs_quaternion*) buf2507, (const rs_quaternion*) buf2508);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2509, (const rs_quaternion*) buf2510);
+    rsQuaternionLoadRotate((rs_quaternion*) buf2511, *(float*)buf2512, *(float*)buf2513, *(float*)buf2514, *(float*)buf2515);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2516, *(float*)buf2517, *(float*)buf2518, *(float*)buf2519, *(float*)buf2520);
+    rsQuaternionMultiply((rs_quaternion*) buf2521, *(float*)buf2522);
+    rsQuaternionMultiply((rs_quaternion*) buf2523, (const rs_quaternion*) buf2524);
+    rsQuaternionNormalize((rs_quaternion*) buf2525);
+    rsQuaternionSet((rs_quaternion*) buf2526, *(float*)buf2527, *(float*)buf2528, *(float*)buf2529, *(float*)buf2530);
+    rsQuaternionSet((rs_quaternion*) buf2531, (const rs_quaternion*) buf2532);
+    rsQuaternionSlerp((rs_quaternion*) buf2533, (const rs_quaternion*) buf2534, (const rs_quaternion*) buf2535, *(float*)buf2536);
+    *(int*)buf2537 = rsRand(*(int*)buf2538);
+    *(int*)buf2539 = rsRand(*(int*)buf2540, *(int*)buf2541);
+    *(float*)buf2542 = rsRand(*(float*)buf2543);
+    *(float*)buf2544 = rsRand(*(float*)buf2545, *(float*)buf2546);
+    *(float4*)buf2547 = rsSample(*(rs_allocation*)buf2548, *(rs_sampler*)buf2549, *(float*)buf2550);
+    *(float4*)buf2551 = rsSample(*(rs_allocation*)buf2552, *(rs_sampler*)buf2553, *(float*)buf2554, *(float*)buf2555);
+    *(float4*)buf2556 = rsSample(*(rs_allocation*)buf2557, *(rs_sampler*)buf2558, *(float2*)buf2559);
+    *(float4*)buf2560 = rsSample(*(rs_allocation*)buf2561, *(rs_sampler*)buf2562, *(float2*)buf2563, *(float*)buf2564);
+    *(float*)buf2565 = rsSamplerGetAnisotropy(*(rs_sampler*)buf2566);
+    *(rs_sampler_value*)buf2567 = rsSamplerGetMagnification(*(rs_sampler*)buf2568);
+    *(rs_sampler_value*)buf2569 = rsSamplerGetMinification(*(rs_sampler*)buf2570);
+    *(rs_sampler_value*)buf2571 = rsSamplerGetWrapS(*(rs_sampler*)buf2572);
+    *(rs_sampler_value*)buf2573 = rsSamplerGetWrapT(*(rs_sampler*)buf2574);
+    *(bool*)buf2575 = rsSendToClient(*(int*)buf2576);
+    *(bool*)buf2577 = rsSendToClient(*(int*)buf2578, (const void*) buf2579, *(uint*)buf2580);
+    rsSendToClientBlocking(*(int*)buf2581);
+    rsSendToClientBlocking(*(int*)buf2582, (const void*) buf2583, *(uint*)buf2584);
+    rsSetElementAt(*(rs_allocation*)buf2585, (void*) buf2586, *(uint32_t*)buf2587);
+    rsSetElementAt(*(rs_allocation*)buf2588, (void*) buf2589, *(uint32_t*)buf2590, *(uint32_t*)buf2591);
+    rsSetElementAt_float(*(rs_allocation*)buf2592, *(float*)buf2593, *(uint32_t*)buf2594);
+    rsSetElementAt_float2(*(rs_allocation*)buf2595, *(float2*)buf2596, *(uint32_t*)buf2597);
+    rsSetElementAt_float3(*(rs_allocation*)buf2598, *(float3*)buf2599, *(uint32_t*)buf2600);
+    rsSetElementAt_float4(*(rs_allocation*)buf2601, *(float4*)buf2602, *(uint32_t*)buf2603);
+    rsSetElementAt_double(*(rs_allocation*)buf2604, *(double*)buf2605, *(uint32_t*)buf2606);
+    rsSetElementAt_double2(*(rs_allocation*)buf2607, *(double2*)buf2608, *(uint32_t*)buf2609);
+    rsSetElementAt_double3(*(rs_allocation*)buf2610, *(double3*)buf2611, *(uint32_t*)buf2612);
+    rsSetElementAt_double4(*(rs_allocation*)buf2613, *(double4*)buf2614, *(uint32_t*)buf2615);
+    rsSetElementAt_char(*(rs_allocation*)buf2616, *(char*)buf2617, *(uint32_t*)buf2618);
+    rsSetElementAt_char2(*(rs_allocation*)buf2619, *(char2*)buf2620, *(uint32_t*)buf2621);
+    rsSetElementAt_char3(*(rs_allocation*)buf2622, *(char3*)buf2623, *(uint32_t*)buf2624);
+    rsSetElementAt_char4(*(rs_allocation*)buf2625, *(char4*)buf2626, *(uint32_t*)buf2627);
+    rsSetElementAt_uchar(*(rs_allocation*)buf2628, *(uchar*)buf2629, *(uint32_t*)buf2630);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf2631, *(uchar2*)buf2632, *(uint32_t*)buf2633);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf2634, *(uchar3*)buf2635, *(uint32_t*)buf2636);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf2637, *(uchar4*)buf2638, *(uint32_t*)buf2639);
+    rsSetElementAt_short(*(rs_allocation*)buf2640, *(short*)buf2641, *(uint32_t*)buf2642);
+    rsSetElementAt_short2(*(rs_allocation*)buf2643, *(short2*)buf2644, *(uint32_t*)buf2645);
+    rsSetElementAt_short3(*(rs_allocation*)buf2646, *(short3*)buf2647, *(uint32_t*)buf2648);
+    rsSetElementAt_short4(*(rs_allocation*)buf2649, *(short4*)buf2650, *(uint32_t*)buf2651);
+    rsSetElementAt_ushort(*(rs_allocation*)buf2652, *(ushort*)buf2653, *(uint32_t*)buf2654);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf2655, *(ushort2*)buf2656, *(uint32_t*)buf2657);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf2658, *(ushort3*)buf2659, *(uint32_t*)buf2660);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf2661, *(ushort4*)buf2662, *(uint32_t*)buf2663);
+    rsSetElementAt_int(*(rs_allocation*)buf2664, *(int*)buf2665, *(uint32_t*)buf2666);
+    rsSetElementAt_int2(*(rs_allocation*)buf2667, *(int2*)buf2668, *(uint32_t*)buf2669);
+    rsSetElementAt_int3(*(rs_allocation*)buf2670, *(int3*)buf2671, *(uint32_t*)buf2672);
+    rsSetElementAt_int4(*(rs_allocation*)buf2673, *(int4*)buf2674, *(uint32_t*)buf2675);
+    rsSetElementAt_uint(*(rs_allocation*)buf2676, *(uint*)buf2677, *(uint32_t*)buf2678);
+    rsSetElementAt_uint2(*(rs_allocation*)buf2679, *(uint2*)buf2680, *(uint32_t*)buf2681);
+    rsSetElementAt_uint3(*(rs_allocation*)buf2682, *(uint3*)buf2683, *(uint32_t*)buf2684);
+    rsSetElementAt_uint4(*(rs_allocation*)buf2685, *(uint4*)buf2686, *(uint32_t*)buf2687);
+    rsSetElementAt_long(*(rs_allocation*)buf2688, *(long*)buf2689, *(uint32_t*)buf2690);
+    rsSetElementAt_long2(*(rs_allocation*)buf2691, *(long2*)buf2692, *(uint32_t*)buf2693);
+    rsSetElementAt_long3(*(rs_allocation*)buf2694, *(long3*)buf2695, *(uint32_t*)buf2696);
+    rsSetElementAt_long4(*(rs_allocation*)buf2697, *(long4*)buf2698, *(uint32_t*)buf2699);
+    rsSetElementAt_ulong(*(rs_allocation*)buf2700, *(ulong*)buf2701, *(uint32_t*)buf2702);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf2703, *(ulong2*)buf2704, *(uint32_t*)buf2705);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf2706, *(ulong3*)buf2707, *(uint32_t*)buf2708);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf2709, *(ulong4*)buf2710, *(uint32_t*)buf2711);
+    rsSetElementAt_float(*(rs_allocation*)buf2712, *(float*)buf2713, *(uint32_t*)buf2714, *(uint32_t*)buf2715);
+    rsSetElementAt_float2(*(rs_allocation*)buf2716, *(float2*)buf2717, *(uint32_t*)buf2718, *(uint32_t*)buf2719);
+    rsSetElementAt_float3(*(rs_allocation*)buf2720, *(float3*)buf2721, *(uint32_t*)buf2722, *(uint32_t*)buf2723);
+    rsSetElementAt_float4(*(rs_allocation*)buf2724, *(float4*)buf2725, *(uint32_t*)buf2726, *(uint32_t*)buf2727);
+    rsSetElementAt_double(*(rs_allocation*)buf2728, *(double*)buf2729, *(uint32_t*)buf2730, *(uint32_t*)buf2731);
+    rsSetElementAt_double2(*(rs_allocation*)buf2732, *(double2*)buf2733, *(uint32_t*)buf2734, *(uint32_t*)buf2735);
+    rsSetElementAt_double3(*(rs_allocation*)buf2736, *(double3*)buf2737, *(uint32_t*)buf2738, *(uint32_t*)buf2739);
+    rsSetElementAt_double4(*(rs_allocation*)buf2740, *(double4*)buf2741, *(uint32_t*)buf2742, *(uint32_t*)buf2743);
+    rsSetElementAt_char(*(rs_allocation*)buf2744, *(char*)buf2745, *(uint32_t*)buf2746, *(uint32_t*)buf2747);
+    rsSetElementAt_char2(*(rs_allocation*)buf2748, *(char2*)buf2749, *(uint32_t*)buf2750, *(uint32_t*)buf2751);
+    rsSetElementAt_char3(*(rs_allocation*)buf2752, *(char3*)buf2753, *(uint32_t*)buf2754, *(uint32_t*)buf2755);
+    rsSetElementAt_char4(*(rs_allocation*)buf2756, *(char4*)buf2757, *(uint32_t*)buf2758, *(uint32_t*)buf2759);
+    rsSetElementAt_uchar(*(rs_allocation*)buf2760, *(uchar*)buf2761, *(uint32_t*)buf2762, *(uint32_t*)buf2763);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf2764, *(uchar2*)buf2765, *(uint32_t*)buf2766, *(uint32_t*)buf2767);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf2768, *(uchar3*)buf2769, *(uint32_t*)buf2770, *(uint32_t*)buf2771);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf2772, *(uchar4*)buf2773, *(uint32_t*)buf2774, *(uint32_t*)buf2775);
+    rsSetElementAt_short(*(rs_allocation*)buf2776, *(short*)buf2777, *(uint32_t*)buf2778, *(uint32_t*)buf2779);
+    rsSetElementAt_short2(*(rs_allocation*)buf2780, *(short2*)buf2781, *(uint32_t*)buf2782, *(uint32_t*)buf2783);
+    rsSetElementAt_short3(*(rs_allocation*)buf2784, *(short3*)buf2785, *(uint32_t*)buf2786, *(uint32_t*)buf2787);
+    rsSetElementAt_short4(*(rs_allocation*)buf2788, *(short4*)buf2789, *(uint32_t*)buf2790, *(uint32_t*)buf2791);
+    rsSetElementAt_ushort(*(rs_allocation*)buf2792, *(ushort*)buf2793, *(uint32_t*)buf2794, *(uint32_t*)buf2795);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf2796, *(ushort2*)buf2797, *(uint32_t*)buf2798, *(uint32_t*)buf2799);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf2800, *(ushort3*)buf2801, *(uint32_t*)buf2802, *(uint32_t*)buf2803);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf2804, *(ushort4*)buf2805, *(uint32_t*)buf2806, *(uint32_t*)buf2807);
+    rsSetElementAt_int(*(rs_allocation*)buf2808, *(int*)buf2809, *(uint32_t*)buf2810, *(uint32_t*)buf2811);
+    rsSetElementAt_int2(*(rs_allocation*)buf2812, *(int2*)buf2813, *(uint32_t*)buf2814, *(uint32_t*)buf2815);
+    rsSetElementAt_int3(*(rs_allocation*)buf2816, *(int3*)buf2817, *(uint32_t*)buf2818, *(uint32_t*)buf2819);
+    rsSetElementAt_int4(*(rs_allocation*)buf2820, *(int4*)buf2821, *(uint32_t*)buf2822, *(uint32_t*)buf2823);
+    rsSetElementAt_uint(*(rs_allocation*)buf2824, *(uint*)buf2825, *(uint32_t*)buf2826, *(uint32_t*)buf2827);
+    rsSetElementAt_uint2(*(rs_allocation*)buf2828, *(uint2*)buf2829, *(uint32_t*)buf2830, *(uint32_t*)buf2831);
+    rsSetElementAt_uint3(*(rs_allocation*)buf2832, *(uint3*)buf2833, *(uint32_t*)buf2834, *(uint32_t*)buf2835);
+    rsSetElementAt_uint4(*(rs_allocation*)buf2836, *(uint4*)buf2837, *(uint32_t*)buf2838, *(uint32_t*)buf2839);
+    rsSetElementAt_long(*(rs_allocation*)buf2840, *(long*)buf2841, *(uint32_t*)buf2842, *(uint32_t*)buf2843);
+    rsSetElementAt_long2(*(rs_allocation*)buf2844, *(long2*)buf2845, *(uint32_t*)buf2846, *(uint32_t*)buf2847);
+    rsSetElementAt_long3(*(rs_allocation*)buf2848, *(long3*)buf2849, *(uint32_t*)buf2850, *(uint32_t*)buf2851);
+    rsSetElementAt_long4(*(rs_allocation*)buf2852, *(long4*)buf2853, *(uint32_t*)buf2854, *(uint32_t*)buf2855);
+    rsSetElementAt_ulong(*(rs_allocation*)buf2856, *(ulong*)buf2857, *(uint32_t*)buf2858, *(uint32_t*)buf2859);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf2860, *(ulong2*)buf2861, *(uint32_t*)buf2862, *(uint32_t*)buf2863);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf2864, *(ulong3*)buf2865, *(uint32_t*)buf2866, *(uint32_t*)buf2867);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf2868, *(ulong4*)buf2869, *(uint32_t*)buf2870, *(uint32_t*)buf2871);
+    rsSetElementAt_float(*(rs_allocation*)buf2872, *(float*)buf2873, *(uint32_t*)buf2874, *(uint32_t*)buf2875, *(uint32_t*)buf2876);
+    rsSetElementAt_float2(*(rs_allocation*)buf2877, *(float2*)buf2878, *(uint32_t*)buf2879, *(uint32_t*)buf2880, *(uint32_t*)buf2881);
+    rsSetElementAt_float3(*(rs_allocation*)buf2882, *(float3*)buf2883, *(uint32_t*)buf2884, *(uint32_t*)buf2885, *(uint32_t*)buf2886);
+    rsSetElementAt_float4(*(rs_allocation*)buf2887, *(float4*)buf2888, *(uint32_t*)buf2889, *(uint32_t*)buf2890, *(uint32_t*)buf2891);
+    rsSetElementAt_double(*(rs_allocation*)buf2892, *(double*)buf2893, *(uint32_t*)buf2894, *(uint32_t*)buf2895, *(uint32_t*)buf2896);
+    rsSetElementAt_double2(*(rs_allocation*)buf2897, *(double2*)buf2898, *(uint32_t*)buf2899, *(uint32_t*)buf2900, *(uint32_t*)buf2901);
+    rsSetElementAt_double3(*(rs_allocation*)buf2902, *(double3*)buf2903, *(uint32_t*)buf2904, *(uint32_t*)buf2905, *(uint32_t*)buf2906);
+    rsSetElementAt_double4(*(rs_allocation*)buf2907, *(double4*)buf2908, *(uint32_t*)buf2909, *(uint32_t*)buf2910, *(uint32_t*)buf2911);
+    rsSetElementAt_char(*(rs_allocation*)buf2912, *(char*)buf2913, *(uint32_t*)buf2914, *(uint32_t*)buf2915, *(uint32_t*)buf2916);
+    rsSetElementAt_char2(*(rs_allocation*)buf2917, *(char2*)buf2918, *(uint32_t*)buf2919, *(uint32_t*)buf2920, *(uint32_t*)buf2921);
+    rsSetElementAt_char3(*(rs_allocation*)buf2922, *(char3*)buf2923, *(uint32_t*)buf2924, *(uint32_t*)buf2925, *(uint32_t*)buf2926);
+    rsSetElementAt_char4(*(rs_allocation*)buf2927, *(char4*)buf2928, *(uint32_t*)buf2929, *(uint32_t*)buf2930, *(uint32_t*)buf2931);
+    rsSetElementAt_uchar(*(rs_allocation*)buf2932, *(uchar*)buf2933, *(uint32_t*)buf2934, *(uint32_t*)buf2935, *(uint32_t*)buf2936);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf2937, *(uchar2*)buf2938, *(uint32_t*)buf2939, *(uint32_t*)buf2940, *(uint32_t*)buf2941);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf2942, *(uchar3*)buf2943, *(uint32_t*)buf2944, *(uint32_t*)buf2945, *(uint32_t*)buf2946);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf2947, *(uchar4*)buf2948, *(uint32_t*)buf2949, *(uint32_t*)buf2950, *(uint32_t*)buf2951);
+    rsSetElementAt_short(*(rs_allocation*)buf2952, *(short*)buf2953, *(uint32_t*)buf2954, *(uint32_t*)buf2955, *(uint32_t*)buf2956);
+    rsSetElementAt_short2(*(rs_allocation*)buf2957, *(short2*)buf2958, *(uint32_t*)buf2959, *(uint32_t*)buf2960, *(uint32_t*)buf2961);
+    rsSetElementAt_short3(*(rs_allocation*)buf2962, *(short3*)buf2963, *(uint32_t*)buf2964, *(uint32_t*)buf2965, *(uint32_t*)buf2966);
+    rsSetElementAt_short4(*(rs_allocation*)buf2967, *(short4*)buf2968, *(uint32_t*)buf2969, *(uint32_t*)buf2970, *(uint32_t*)buf2971);
+    rsSetElementAt_ushort(*(rs_allocation*)buf2972, *(ushort*)buf2973, *(uint32_t*)buf2974, *(uint32_t*)buf2975, *(uint32_t*)buf2976);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf2977, *(ushort2*)buf2978, *(uint32_t*)buf2979, *(uint32_t*)buf2980, *(uint32_t*)buf2981);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf2982, *(ushort3*)buf2983, *(uint32_t*)buf2984, *(uint32_t*)buf2985, *(uint32_t*)buf2986);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf2987, *(ushort4*)buf2988, *(uint32_t*)buf2989, *(uint32_t*)buf2990, *(uint32_t*)buf2991);
+    rsSetElementAt_int(*(rs_allocation*)buf2992, *(int*)buf2993, *(uint32_t*)buf2994, *(uint32_t*)buf2995, *(uint32_t*)buf2996);
+    rsSetElementAt_int2(*(rs_allocation*)buf2997, *(int2*)buf2998, *(uint32_t*)buf2999, *(uint32_t*)buf3000, *(uint32_t*)buf3001);
+    rsSetElementAt_int3(*(rs_allocation*)buf3002, *(int3*)buf3003, *(uint32_t*)buf3004, *(uint32_t*)buf3005, *(uint32_t*)buf3006);
+    rsSetElementAt_int4(*(rs_allocation*)buf3007, *(int4*)buf3008, *(uint32_t*)buf3009, *(uint32_t*)buf3010, *(uint32_t*)buf3011);
+    rsSetElementAt_uint(*(rs_allocation*)buf3012, *(uint*)buf3013, *(uint32_t*)buf3014, *(uint32_t*)buf3015, *(uint32_t*)buf3016);
+    rsSetElementAt_uint2(*(rs_allocation*)buf3017, *(uint2*)buf3018, *(uint32_t*)buf3019, *(uint32_t*)buf3020, *(uint32_t*)buf3021);
+    rsSetElementAt_uint3(*(rs_allocation*)buf3022, *(uint3*)buf3023, *(uint32_t*)buf3024, *(uint32_t*)buf3025, *(uint32_t*)buf3026);
+    rsSetElementAt_uint4(*(rs_allocation*)buf3027, *(uint4*)buf3028, *(uint32_t*)buf3029, *(uint32_t*)buf3030, *(uint32_t*)buf3031);
+    rsSetElementAt_long(*(rs_allocation*)buf3032, *(long*)buf3033, *(uint32_t*)buf3034, *(uint32_t*)buf3035, *(uint32_t*)buf3036);
+    rsSetElementAt_long2(*(rs_allocation*)buf3037, *(long2*)buf3038, *(uint32_t*)buf3039, *(uint32_t*)buf3040, *(uint32_t*)buf3041);
+    rsSetElementAt_long3(*(rs_allocation*)buf3042, *(long3*)buf3043, *(uint32_t*)buf3044, *(uint32_t*)buf3045, *(uint32_t*)buf3046);
+    rsSetElementAt_long4(*(rs_allocation*)buf3047, *(long4*)buf3048, *(uint32_t*)buf3049, *(uint32_t*)buf3050, *(uint32_t*)buf3051);
+    rsSetElementAt_ulong(*(rs_allocation*)buf3052, *(ulong*)buf3053, *(uint32_t*)buf3054, *(uint32_t*)buf3055, *(uint32_t*)buf3056);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf3057, *(ulong2*)buf3058, *(uint32_t*)buf3059, *(uint32_t*)buf3060, *(uint32_t*)buf3061);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf3062, *(ulong3*)buf3063, *(uint32_t*)buf3064, *(uint32_t*)buf3065, *(uint32_t*)buf3066);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf3067, *(ulong4*)buf3068, *(uint32_t*)buf3069, *(uint32_t*)buf3070, *(uint32_t*)buf3071);
+    rsSetObject((rs_element*) buf3072, *(rs_element*)buf3073);
+    rsSetObject((rs_type*) buf3074, *(rs_type*)buf3075);
+    rsSetObject((rs_allocation*) buf3076, *(rs_allocation*)buf3077);
+    rsSetObject((rs_sampler*) buf3078, *(rs_sampler*)buf3079);
+    rsSetObject((rs_script*) buf3080, *(rs_script*)buf3081);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf3064, *(rs_mesh*)buf3065);
-    rsSetObject((rs_program_fragment*) buf3066, *(rs_program_fragment*)buf3067);
-    rsSetObject((rs_program_vertex*) buf3068, *(rs_program_vertex*)buf3069);
-    rsSetObject((rs_program_raster*) buf3070, *(rs_program_raster*)buf3071);
-    rsSetObject((rs_program_store*) buf3072, *(rs_program_store*)buf3073);
-    rsSetObject((rs_font*) buf3074, *(rs_font*)buf3075);
+    rsSetObject((rs_mesh*) buf3082, *(rs_mesh*)buf3083);
+    rsSetObject((rs_program_fragment*) buf3084, *(rs_program_fragment*)buf3085);
+    rsSetObject((rs_program_vertex*) buf3086, *(rs_program_vertex*)buf3087);
+    rsSetObject((rs_program_raster*) buf3088, *(rs_program_raster*)buf3089);
+    rsSetObject((rs_program_store*) buf3090, *(rs_program_store*)buf3091);
+    rsSetObject((rs_font*) buf3092, *(rs_font*)buf3093);
 #endif
-    *(rs_time_t*)buf3076 = rsTime((rs_time_t*) buf3077);
-    *(float4*)buf3078 = rsUnpackColor8888(*(uchar4*)buf3079);
-    *(int64_t*)buf3080 = rsUptimeMillis();
-    *(int64_t*)buf3081 = rsUptimeNanos();
-    *(float4*)buf3082 = rsYuvToRGBA_float4(*(uchar*)buf3083, *(uchar*)buf3084, *(uchar*)buf3085);
-    *(uchar4*)buf3086 = rsYuvToRGBA_uchar4(*(uchar*)buf3087, *(uchar*)buf3088, *(uchar*)buf3089);
+    *(rs_time_t*)buf3094 = rsTime((rs_time_t*) buf3095);
+    *(float4*)buf3096 = rsUnpackColor8888(*(uchar4*)buf3097);
+    *(int64_t*)buf3098 = rsUptimeMillis();
+    *(int64_t*)buf3099 = rsUptimeNanos();
+    *(float4*)buf3100 = rsYuvToRGBA_float4(*(uchar*)buf3101, *(uchar*)buf3102, *(uchar*)buf3103);
+    *(uchar4*)buf3104 = rsYuvToRGBA_uchar4(*(uchar*)buf3105, *(uchar*)buf3106, *(uchar*)buf3107);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf3090);
+    rsgAllocationSyncAll(*(rs_allocation*)buf3108);
 #endif
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf3091, *(rs_allocation_usage_type*)buf3092);
+    rsgAllocationSyncAll(*(rs_allocation*)buf3109, *(rs_allocation_usage_type*)buf3110);
 #endif
 #ifndef __LP64__
-    rsgBindColorTarget(*(rs_allocation*)buf3093, *(uint*)buf3094);
+    rsgBindColorTarget(*(rs_allocation*)buf3111, *(uint*)buf3112);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf3095, *(uint*)buf3096, *(rs_allocation*)buf3097);
+    rsgBindConstant(*(rs_program_fragment*)buf3113, *(uint*)buf3114, *(rs_allocation*)buf3115);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf3098, *(uint*)buf3099, *(rs_allocation*)buf3100);
+    rsgBindConstant(*(rs_program_vertex*)buf3116, *(uint*)buf3117, *(rs_allocation*)buf3118);
 #endif
 #ifndef __LP64__
-    rsgBindDepthTarget(*(rs_allocation*)buf3101);
+    rsgBindDepthTarget(*(rs_allocation*)buf3119);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf3102);
+    rsgBindFont(*(rs_font*)buf3120);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf3103);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf3121);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf3104);
+    rsgBindProgramRaster(*(rs_program_raster*)buf3122);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf3105);
+    rsgBindProgramStore(*(rs_program_store*)buf3123);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf3106);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf3124);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf3107, *(uint*)buf3108, *(rs_sampler*)buf3109);
+    rsgBindSampler(*(rs_program_fragment*)buf3125, *(uint*)buf3126, *(rs_sampler*)buf3127);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf3110, *(uint*)buf3111, *(rs_allocation*)buf3112);
+    rsgBindTexture(*(rs_program_fragment*)buf3128, *(uint*)buf3129, *(rs_allocation*)buf3130);
 #endif
 #ifndef __LP64__
     rsgClearAllRenderTargets();
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf3113, *(float*)buf3114, *(float*)buf3115, *(float*)buf3116);
+    rsgClearColor(*(float*)buf3131, *(float*)buf3132, *(float*)buf3133, *(float*)buf3134);
 #endif
 #ifndef __LP64__
-    rsgClearColorTarget(*(uint*)buf3117);
+    rsgClearColorTarget(*(uint*)buf3135);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf3118);
+    rsgClearDepth(*(float*)buf3136);
 #endif
 #ifndef __LP64__
     rsgClearDepthTarget();
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf3119);
+    rsgDrawMesh(*(rs_mesh*)buf3137);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf3120, *(uint*)buf3121);
+    rsgDrawMesh(*(rs_mesh*)buf3138, *(uint*)buf3139);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf3122, *(uint*)buf3123, *(uint*)buf3124, *(uint*)buf3125);
+    rsgDrawMesh(*(rs_mesh*)buf3140, *(uint*)buf3141, *(uint*)buf3142, *(uint*)buf3143);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf3126, *(float*)buf3127, *(float*)buf3128, *(float*)buf3129, *(float*)buf3130, *(float*)buf3131, *(float*)buf3132, *(float*)buf3133, *(float*)buf3134, *(float*)buf3135, *(float*)buf3136, *(float*)buf3137);
+    rsgDrawQuad(*(float*)buf3144, *(float*)buf3145, *(float*)buf3146, *(float*)buf3147, *(float*)buf3148, *(float*)buf3149, *(float*)buf3150, *(float*)buf3151, *(float*)buf3152, *(float*)buf3153, *(float*)buf3154, *(float*)buf3155);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf3138, *(float*)buf3139, *(float*)buf3140, *(float*)buf3141, *(float*)buf3142, *(float*)buf3143, *(float*)buf3144, *(float*)buf3145, *(float*)buf3146, *(float*)buf3147, *(float*)buf3148, *(float*)buf3149, *(float*)buf3150, *(float*)buf3151, *(float*)buf3152, *(float*)buf3153, *(float*)buf3154, *(float*)buf3155, *(float*)buf3156, *(float*)buf3157);
+    rsgDrawQuadTexCoords(*(float*)buf3156, *(float*)buf3157, *(float*)buf3158, *(float*)buf3159, *(float*)buf3160, *(float*)buf3161, *(float*)buf3162, *(float*)buf3163, *(float*)buf3164, *(float*)buf3165, *(float*)buf3166, *(float*)buf3167, *(float*)buf3168, *(float*)buf3169, *(float*)buf3170, *(float*)buf3171, *(float*)buf3172, *(float*)buf3173, *(float*)buf3174, *(float*)buf3175);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf3158, *(float*)buf3159, *(float*)buf3160, *(float*)buf3161, *(float*)buf3162);
+    rsgDrawRect(*(float*)buf3176, *(float*)buf3177, *(float*)buf3178, *(float*)buf3179, *(float*)buf3180);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf3163, *(float*)buf3164, *(float*)buf3165, *(float*)buf3166, *(float*)buf3167);
+    rsgDrawSpriteScreenspace(*(float*)buf3181, *(float*)buf3182, *(float*)buf3183, *(float*)buf3184, *(float*)buf3185);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf3168, *(int*)buf3169, *(int*)buf3170);
+    rsgDrawText((const char*) buf3186, *(int*)buf3187, *(int*)buf3188);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf3171, *(int*)buf3172, *(int*)buf3173);
+    rsgDrawText(*(rs_allocation*)buf3189, *(int*)buf3190, *(int*)buf3191);
 #endif
 #ifndef __LP64__
-    *(uint*)buf3174 = rsgFinish();
+    *(uint*)buf3192 = rsgFinish();
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf3175, *(float*)buf3176, *(float*)buf3177, *(float*)buf3178);
+    rsgFontColor(*(float*)buf3193, *(float*)buf3194, *(float*)buf3195, *(float*)buf3196);
 #endif
 #ifndef __LP64__
-    *(uint*)buf3179 = rsgGetHeight();
+    *(uint*)buf3197 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf3180 = rsgGetWidth();
+    *(uint*)buf3198 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf3181, (int*) buf3182, (int*) buf3183, (int*) buf3184, (int*) buf3185);
+    rsgMeasureText((const char*) buf3199, (int*) buf3200, (int*) buf3201, (int*) buf3202, (int*) buf3203);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf3186, (int*) buf3187, (int*) buf3188, (int*) buf3189, (int*) buf3190);
+    rsgMeasureText(*(rs_allocation*)buf3204, (int*) buf3205, (int*) buf3206, (int*) buf3207, (int*) buf3208);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3191, (float*) buf3192, (float*) buf3193, (float*) buf3194, (float*) buf3195, (float*) buf3196, (float*) buf3197);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3209, (float*) buf3210, (float*) buf3211, (float*) buf3212, (float*) buf3213, (float*) buf3214, (float*) buf3215);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3198, (float3*) buf3199, (float3*) buf3200);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3216, (float3*) buf3217, (float3*) buf3218);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf3201 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf3202, *(uint32_t*)buf3203);
+    *(rs_allocation*)buf3219 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf3220, *(uint32_t*)buf3221);
 #endif
 #ifndef __LP64__
-    *(rs_primitive*)buf3204 = rsgMeshGetPrimitive(*(rs_mesh*)buf3205, *(uint32_t*)buf3206);
+    *(rs_primitive*)buf3222 = rsgMeshGetPrimitive(*(rs_mesh*)buf3223, *(uint32_t*)buf3224);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf3207 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf3208);
+    *(uint32_t*)buf3225 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf3226);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf3209 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf3210, *(uint32_t*)buf3211);
+    *(rs_allocation*)buf3227 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf3228, *(uint32_t*)buf3229);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf3212 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf3213);
+    *(uint32_t*)buf3230 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf3231);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf3214, *(float*)buf3215, *(float*)buf3216, *(float*)buf3217, *(float*)buf3218);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf3232, *(float*)buf3233, *(float*)buf3234, *(float*)buf3235, *(float*)buf3236);
 #endif
 #ifndef __LP64__
-    *(rs_cull_mode*)buf3219 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf3220);
+    *(rs_cull_mode*)buf3237 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf3238);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3221 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf3222);
+    *(bool*)buf3239 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf3240);
 #endif
 #ifndef __LP64__
-    *(rs_blend_dst_func*)buf3223 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf3224);
+    *(rs_blend_dst_func*)buf3241 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf3242);
 #endif
 #ifndef __LP64__
-    *(rs_blend_src_func*)buf3225 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf3226);
+    *(rs_blend_src_func*)buf3243 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf3244);
 #endif
 #ifndef __LP64__
-    *(rs_depth_func*)buf3227 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf3228);
+    *(rs_depth_func*)buf3245 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf3246);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3229 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf3230);
+    *(bool*)buf3247 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf3248);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3231 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf3232);
+    *(bool*)buf3249 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf3250);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3233 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf3234);
+    *(bool*)buf3251 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf3252);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3235 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf3236);
+    *(bool*)buf3253 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf3254);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3237 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf3238);
+    *(bool*)buf3255 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf3256);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3239 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf3240);
+    *(bool*)buf3257 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf3258);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf3241);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf3259);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf3242);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf3260);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf3243);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf3261);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf3244);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf3262);
 #endif
-    *(float*)buf3245 = rsqrt(*(float*)buf3246);
-    *(float2*)buf3247 = rsqrt(*(float2*)buf3248);
-    *(float3*)buf3249 = rsqrt(*(float3*)buf3250);
-    *(float4*)buf3251 = rsqrt(*(float4*)buf3252);
-    *(float*)buf3253 = sign(*(float*)buf3254);
-    *(float2*)buf3255 = sign(*(float2*)buf3256);
-    *(float3*)buf3257 = sign(*(float3*)buf3258);
-    *(float4*)buf3259 = sign(*(float4*)buf3260);
-    *(float*)buf3261 = sin(*(float*)buf3262);
-    *(float2*)buf3263 = sin(*(float2*)buf3264);
-    *(float3*)buf3265 = sin(*(float3*)buf3266);
-    *(float4*)buf3267 = sin(*(float4*)buf3268);
-    *(float*)buf3269 = sincos(*(float*)buf3270, (float*) buf3271);
-    *(float2*)buf3272 = sincos(*(float2*)buf3273, (float2*) buf3274);
-    *(float3*)buf3275 = sincos(*(float3*)buf3276, (float3*) buf3277);
-    *(float4*)buf3278 = sincos(*(float4*)buf3279, (float4*) buf3280);
-    *(float*)buf3281 = sinh(*(float*)buf3282);
-    *(float2*)buf3283 = sinh(*(float2*)buf3284);
-    *(float3*)buf3285 = sinh(*(float3*)buf3286);
-    *(float4*)buf3287 = sinh(*(float4*)buf3288);
-    *(float*)buf3289 = sinpi(*(float*)buf3290);
-    *(float2*)buf3291 = sinpi(*(float2*)buf3292);
-    *(float3*)buf3293 = sinpi(*(float3*)buf3294);
-    *(float4*)buf3295 = sinpi(*(float4*)buf3296);
-    *(float*)buf3297 = sqrt(*(float*)buf3298);
-    *(float2*)buf3299 = sqrt(*(float2*)buf3300);
-    *(float3*)buf3301 = sqrt(*(float3*)buf3302);
-    *(float4*)buf3303 = sqrt(*(float4*)buf3304);
-    *(float*)buf3305 = step(*(float*)buf3306, *(float*)buf3307);
-    *(float2*)buf3308 = step(*(float2*)buf3309, *(float2*)buf3310);
-    *(float3*)buf3311 = step(*(float3*)buf3312, *(float3*)buf3313);
-    *(float4*)buf3314 = step(*(float4*)buf3315, *(float4*)buf3316);
-    *(float2*)buf3317 = step(*(float2*)buf3318, *(float*)buf3319);
-    *(float3*)buf3320 = step(*(float3*)buf3321, *(float*)buf3322);
-    *(float4*)buf3323 = step(*(float4*)buf3324, *(float*)buf3325);
-    *(float*)buf3326 = tan(*(float*)buf3327);
-    *(float2*)buf3328 = tan(*(float2*)buf3329);
-    *(float3*)buf3330 = tan(*(float3*)buf3331);
-    *(float4*)buf3332 = tan(*(float4*)buf3333);
-    *(float*)buf3334 = tanh(*(float*)buf3335);
-    *(float2*)buf3336 = tanh(*(float2*)buf3337);
-    *(float3*)buf3338 = tanh(*(float3*)buf3339);
-    *(float4*)buf3340 = tanh(*(float4*)buf3341);
-    *(float*)buf3342 = tanpi(*(float*)buf3343);
-    *(float2*)buf3344 = tanpi(*(float2*)buf3345);
-    *(float3*)buf3346 = tanpi(*(float3*)buf3347);
-    *(float4*)buf3348 = tanpi(*(float4*)buf3349);
-    *(float*)buf3350 = tgamma(*(float*)buf3351);
-    *(float2*)buf3352 = tgamma(*(float2*)buf3353);
-    *(float3*)buf3354 = tgamma(*(float3*)buf3355);
-    *(float4*)buf3356 = tgamma(*(float4*)buf3357);
-    *(float*)buf3358 = trunc(*(float*)buf3359);
-    *(float2*)buf3360 = trunc(*(float2*)buf3361);
-    *(float3*)buf3362 = trunc(*(float3*)buf3363);
-    *(float4*)buf3364 = trunc(*(float4*)buf3365);
+    *(float*)buf3263 = rsqrt(*(float*)buf3264);
+    *(float2*)buf3265 = rsqrt(*(float2*)buf3266);
+    *(float3*)buf3267 = rsqrt(*(float3*)buf3268);
+    *(float4*)buf3269 = rsqrt(*(float4*)buf3270);
+    *(float*)buf3271 = sign(*(float*)buf3272);
+    *(float2*)buf3273 = sign(*(float2*)buf3274);
+    *(float3*)buf3275 = sign(*(float3*)buf3276);
+    *(float4*)buf3277 = sign(*(float4*)buf3278);
+    *(float*)buf3279 = sin(*(float*)buf3280);
+    *(float2*)buf3281 = sin(*(float2*)buf3282);
+    *(float3*)buf3283 = sin(*(float3*)buf3284);
+    *(float4*)buf3285 = sin(*(float4*)buf3286);
+    *(float*)buf3287 = sincos(*(float*)buf3288, (float*) buf3289);
+    *(float2*)buf3290 = sincos(*(float2*)buf3291, (float2*) buf3292);
+    *(float3*)buf3293 = sincos(*(float3*)buf3294, (float3*) buf3295);
+    *(float4*)buf3296 = sincos(*(float4*)buf3297, (float4*) buf3298);
+    *(float*)buf3299 = sinh(*(float*)buf3300);
+    *(float2*)buf3301 = sinh(*(float2*)buf3302);
+    *(float3*)buf3303 = sinh(*(float3*)buf3304);
+    *(float4*)buf3305 = sinh(*(float4*)buf3306);
+    *(float*)buf3307 = sinpi(*(float*)buf3308);
+    *(float2*)buf3309 = sinpi(*(float2*)buf3310);
+    *(float3*)buf3311 = sinpi(*(float3*)buf3312);
+    *(float4*)buf3313 = sinpi(*(float4*)buf3314);
+    *(float*)buf3315 = sqrt(*(float*)buf3316);
+    *(float2*)buf3317 = sqrt(*(float2*)buf3318);
+    *(float3*)buf3319 = sqrt(*(float3*)buf3320);
+    *(float4*)buf3321 = sqrt(*(float4*)buf3322);
+    *(float*)buf3323 = step(*(float*)buf3324, *(float*)buf3325);
+    *(float2*)buf3326 = step(*(float2*)buf3327, *(float2*)buf3328);
+    *(float3*)buf3329 = step(*(float3*)buf3330, *(float3*)buf3331);
+    *(float4*)buf3332 = step(*(float4*)buf3333, *(float4*)buf3334);
+    *(float2*)buf3335 = step(*(float2*)buf3336, *(float*)buf3337);
+    *(float3*)buf3338 = step(*(float3*)buf3339, *(float*)buf3340);
+    *(float4*)buf3341 = step(*(float4*)buf3342, *(float*)buf3343);
+    *(float*)buf3344 = tan(*(float*)buf3345);
+    *(float2*)buf3346 = tan(*(float2*)buf3347);
+    *(float3*)buf3348 = tan(*(float3*)buf3349);
+    *(float4*)buf3350 = tan(*(float4*)buf3351);
+    *(float*)buf3352 = tanh(*(float*)buf3353);
+    *(float2*)buf3354 = tanh(*(float2*)buf3355);
+    *(float3*)buf3356 = tanh(*(float3*)buf3357);
+    *(float4*)buf3358 = tanh(*(float4*)buf3359);
+    *(float*)buf3360 = tanpi(*(float*)buf3361);
+    *(float2*)buf3362 = tanpi(*(float2*)buf3363);
+    *(float3*)buf3364 = tanpi(*(float3*)buf3365);
+    *(float4*)buf3366 = tanpi(*(float4*)buf3367);
+    *(float*)buf3368 = tgamma(*(float*)buf3369);
+    *(float2*)buf3370 = tgamma(*(float2*)buf3371);
+    *(float3*)buf3372 = tgamma(*(float3*)buf3373);
+    *(float4*)buf3374 = tgamma(*(float4*)buf3375);
+    *(float*)buf3376 = trunc(*(float*)buf3377);
+    *(float2*)buf3378 = trunc(*(float2*)buf3379);
+    *(float3*)buf3380 = trunc(*(float3*)buf3381);
+    *(float4*)buf3382 = trunc(*(float4*)buf3383);
 }
diff --git a/tests/P_all_api_20/all20.rs b/tests/P_all_api_20/all20.rs
index afe8577..66aa856 100644
--- a/tests/P_all_api_20/all20.rs
+++ b/tests/P_all_api_20/all20.rs
@@ -3407,6 +3407,24 @@
 char buf3382[200];
 char buf3383[200];
 char buf3384[200];
+char buf3385[200];
+char buf3386[200];
+char buf3387[200];
+char buf3388[200];
+char buf3389[200];
+char buf3390[200];
+char buf3391[200];
+char buf3392[200];
+char buf3393[200];
+char buf3394[200];
+char buf3395[200];
+char buf3396[200];
+char buf3397[200];
+char buf3398[200];
+char buf3399[200];
+char buf3400[200];
+char buf3401[200];
+char buf3402[200];
 
 void RS_KERNEL test(int in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -3886,833 +3904,839 @@
     *(float2*)buf1162 = max(*(float2*)buf1163, *(float2*)buf1164);
     *(float3*)buf1165 = max(*(float3*)buf1166, *(float3*)buf1167);
     *(float4*)buf1168 = max(*(float4*)buf1169, *(float4*)buf1170);
-    *(char*)buf1171 = max(*(char*)buf1172, *(char*)buf1173);
-    *(uchar*)buf1174 = max(*(uchar*)buf1175, *(uchar*)buf1176);
-    *(short*)buf1177 = max(*(short*)buf1178, *(short*)buf1179);
-    *(ushort*)buf1180 = max(*(ushort*)buf1181, *(ushort*)buf1182);
-    *(int*)buf1183 = max(*(int*)buf1184, *(int*)buf1185);
-    *(uint*)buf1186 = max(*(uint*)buf1187, *(uint*)buf1188);
-    *(char2*)buf1189 = max(*(char2*)buf1190, *(char2*)buf1191);
-    *(uchar2*)buf1192 = max(*(uchar2*)buf1193, *(uchar2*)buf1194);
-    *(short2*)buf1195 = max(*(short2*)buf1196, *(short2*)buf1197);
-    *(ushort2*)buf1198 = max(*(ushort2*)buf1199, *(ushort2*)buf1200);
-    *(int2*)buf1201 = max(*(int2*)buf1202, *(int2*)buf1203);
-    *(uint2*)buf1204 = max(*(uint2*)buf1205, *(uint2*)buf1206);
-    *(char3*)buf1207 = max(*(char3*)buf1208, *(char3*)buf1209);
-    *(uchar3*)buf1210 = max(*(uchar3*)buf1211, *(uchar3*)buf1212);
-    *(short3*)buf1213 = max(*(short3*)buf1214, *(short3*)buf1215);
-    *(ushort3*)buf1216 = max(*(ushort3*)buf1217, *(ushort3*)buf1218);
-    *(int3*)buf1219 = max(*(int3*)buf1220, *(int3*)buf1221);
-    *(uint3*)buf1222 = max(*(uint3*)buf1223, *(uint3*)buf1224);
-    *(char4*)buf1225 = max(*(char4*)buf1226, *(char4*)buf1227);
-    *(uchar4*)buf1228 = max(*(uchar4*)buf1229, *(uchar4*)buf1230);
-    *(short4*)buf1231 = max(*(short4*)buf1232, *(short4*)buf1233);
-    *(ushort4*)buf1234 = max(*(ushort4*)buf1235, *(ushort4*)buf1236);
-    *(int4*)buf1237 = max(*(int4*)buf1238, *(int4*)buf1239);
-    *(uint4*)buf1240 = max(*(uint4*)buf1241, *(uint4*)buf1242);
-    *(float*)buf1243 = min(*(float*)buf1244, *(float*)buf1245);
-    *(float2*)buf1246 = min(*(float2*)buf1247, *(float2*)buf1248);
-    *(float3*)buf1249 = min(*(float3*)buf1250, *(float3*)buf1251);
-    *(float4*)buf1252 = min(*(float4*)buf1253, *(float4*)buf1254);
-    *(char*)buf1255 = min(*(char*)buf1256, *(char*)buf1257);
-    *(uchar*)buf1258 = min(*(uchar*)buf1259, *(uchar*)buf1260);
-    *(short*)buf1261 = min(*(short*)buf1262, *(short*)buf1263);
-    *(ushort*)buf1264 = min(*(ushort*)buf1265, *(ushort*)buf1266);
-    *(int*)buf1267 = min(*(int*)buf1268, *(int*)buf1269);
-    *(uint*)buf1270 = min(*(uint*)buf1271, *(uint*)buf1272);
-    *(char2*)buf1273 = min(*(char2*)buf1274, *(char2*)buf1275);
-    *(uchar2*)buf1276 = min(*(uchar2*)buf1277, *(uchar2*)buf1278);
-    *(short2*)buf1279 = min(*(short2*)buf1280, *(short2*)buf1281);
-    *(ushort2*)buf1282 = min(*(ushort2*)buf1283, *(ushort2*)buf1284);
-    *(int2*)buf1285 = min(*(int2*)buf1286, *(int2*)buf1287);
-    *(uint2*)buf1288 = min(*(uint2*)buf1289, *(uint2*)buf1290);
-    *(char3*)buf1291 = min(*(char3*)buf1292, *(char3*)buf1293);
-    *(uchar3*)buf1294 = min(*(uchar3*)buf1295, *(uchar3*)buf1296);
-    *(short3*)buf1297 = min(*(short3*)buf1298, *(short3*)buf1299);
-    *(ushort3*)buf1300 = min(*(ushort3*)buf1301, *(ushort3*)buf1302);
-    *(int3*)buf1303 = min(*(int3*)buf1304, *(int3*)buf1305);
-    *(uint3*)buf1306 = min(*(uint3*)buf1307, *(uint3*)buf1308);
-    *(char4*)buf1309 = min(*(char4*)buf1310, *(char4*)buf1311);
-    *(uchar4*)buf1312 = min(*(uchar4*)buf1313, *(uchar4*)buf1314);
-    *(short4*)buf1315 = min(*(short4*)buf1316, *(short4*)buf1317);
-    *(ushort4*)buf1318 = min(*(ushort4*)buf1319, *(ushort4*)buf1320);
-    *(int4*)buf1321 = min(*(int4*)buf1322, *(int4*)buf1323);
-    *(uint4*)buf1324 = min(*(uint4*)buf1325, *(uint4*)buf1326);
-    *(float*)buf1327 = mix(*(float*)buf1328, *(float*)buf1329, *(float*)buf1330);
-    *(float2*)buf1331 = mix(*(float2*)buf1332, *(float2*)buf1333, *(float2*)buf1334);
-    *(float3*)buf1335 = mix(*(float3*)buf1336, *(float3*)buf1337, *(float3*)buf1338);
-    *(float4*)buf1339 = mix(*(float4*)buf1340, *(float4*)buf1341, *(float4*)buf1342);
-    *(float2*)buf1343 = mix(*(float2*)buf1344, *(float2*)buf1345, *(float*)buf1346);
-    *(float3*)buf1347 = mix(*(float3*)buf1348, *(float3*)buf1349, *(float*)buf1350);
-    *(float4*)buf1351 = mix(*(float4*)buf1352, *(float4*)buf1353, *(float*)buf1354);
-    *(float*)buf1355 = modf(*(float*)buf1356, (float*) buf1357);
-    *(float2*)buf1358 = modf(*(float2*)buf1359, (float2*) buf1360);
-    *(float3*)buf1361 = modf(*(float3*)buf1362, (float3*) buf1363);
-    *(float4*)buf1364 = modf(*(float4*)buf1365, (float4*) buf1366);
-    *(float*)buf1367 = nan(*(uint*)buf1368);
-    *(float*)buf1369 = native_exp(*(float*)buf1370);
-    *(float2*)buf1371 = native_exp(*(float2*)buf1372);
-    *(float3*)buf1373 = native_exp(*(float3*)buf1374);
-    *(float4*)buf1375 = native_exp(*(float4*)buf1376);
-    *(float*)buf1377 = native_exp10(*(float*)buf1378);
-    *(float2*)buf1379 = native_exp10(*(float2*)buf1380);
-    *(float3*)buf1381 = native_exp10(*(float3*)buf1382);
-    *(float4*)buf1383 = native_exp10(*(float4*)buf1384);
-    *(float*)buf1385 = native_exp2(*(float*)buf1386);
-    *(float2*)buf1387 = native_exp2(*(float2*)buf1388);
-    *(float3*)buf1389 = native_exp2(*(float3*)buf1390);
-    *(float4*)buf1391 = native_exp2(*(float4*)buf1392);
-    *(float*)buf1393 = native_log(*(float*)buf1394);
-    *(float2*)buf1395 = native_log(*(float2*)buf1396);
-    *(float3*)buf1397 = native_log(*(float3*)buf1398);
-    *(float4*)buf1399 = native_log(*(float4*)buf1400);
-    *(float*)buf1401 = native_log10(*(float*)buf1402);
-    *(float2*)buf1403 = native_log10(*(float2*)buf1404);
-    *(float3*)buf1405 = native_log10(*(float3*)buf1406);
-    *(float4*)buf1407 = native_log10(*(float4*)buf1408);
-    *(float*)buf1409 = native_log2(*(float*)buf1410);
-    *(float2*)buf1411 = native_log2(*(float2*)buf1412);
-    *(float3*)buf1413 = native_log2(*(float3*)buf1414);
-    *(float4*)buf1415 = native_log2(*(float4*)buf1416);
-    *(float*)buf1417 = native_powr(*(float*)buf1418, *(float*)buf1419);
-    *(float2*)buf1420 = native_powr(*(float2*)buf1421, *(float2*)buf1422);
-    *(float3*)buf1423 = native_powr(*(float3*)buf1424, *(float3*)buf1425);
-    *(float4*)buf1426 = native_powr(*(float4*)buf1427, *(float4*)buf1428);
-    *(float*)buf1429 = nextafter(*(float*)buf1430, *(float*)buf1431);
-    *(float2*)buf1432 = nextafter(*(float2*)buf1433, *(float2*)buf1434);
-    *(float3*)buf1435 = nextafter(*(float3*)buf1436, *(float3*)buf1437);
-    *(float4*)buf1438 = nextafter(*(float4*)buf1439, *(float4*)buf1440);
-    *(float*)buf1441 = normalize(*(float*)buf1442);
-    *(float2*)buf1443 = normalize(*(float2*)buf1444);
-    *(float3*)buf1445 = normalize(*(float3*)buf1446);
-    *(float4*)buf1447 = normalize(*(float4*)buf1448);
-    *(float*)buf1449 = pow(*(float*)buf1450, *(float*)buf1451);
-    *(float2*)buf1452 = pow(*(float2*)buf1453, *(float2*)buf1454);
-    *(float3*)buf1455 = pow(*(float3*)buf1456, *(float3*)buf1457);
-    *(float4*)buf1458 = pow(*(float4*)buf1459, *(float4*)buf1460);
-    *(float*)buf1461 = pown(*(float*)buf1462, *(int*)buf1463);
-    *(float2*)buf1464 = pown(*(float2*)buf1465, *(int2*)buf1466);
-    *(float3*)buf1467 = pown(*(float3*)buf1468, *(int3*)buf1469);
-    *(float4*)buf1470 = pown(*(float4*)buf1471, *(int4*)buf1472);
-    *(float*)buf1473 = powr(*(float*)buf1474, *(float*)buf1475);
-    *(float2*)buf1476 = powr(*(float2*)buf1477, *(float2*)buf1478);
-    *(float3*)buf1479 = powr(*(float3*)buf1480, *(float3*)buf1481);
-    *(float4*)buf1482 = powr(*(float4*)buf1483, *(float4*)buf1484);
-    *(float*)buf1485 = radians(*(float*)buf1486);
-    *(float2*)buf1487 = radians(*(float2*)buf1488);
-    *(float3*)buf1489 = radians(*(float3*)buf1490);
-    *(float4*)buf1491 = radians(*(float4*)buf1492);
-    *(float*)buf1493 = remainder(*(float*)buf1494, *(float*)buf1495);
-    *(float2*)buf1496 = remainder(*(float2*)buf1497, *(float2*)buf1498);
-    *(float3*)buf1499 = remainder(*(float3*)buf1500, *(float3*)buf1501);
-    *(float4*)buf1502 = remainder(*(float4*)buf1503, *(float4*)buf1504);
-    *(float*)buf1505 = remquo(*(float*)buf1506, *(float*)buf1507, (int*) buf1508);
-    *(float2*)buf1509 = remquo(*(float2*)buf1510, *(float2*)buf1511, (int2*) buf1512);
-    *(float3*)buf1513 = remquo(*(float3*)buf1514, *(float3*)buf1515, (int3*) buf1516);
-    *(float4*)buf1517 = remquo(*(float4*)buf1518, *(float4*)buf1519, (int4*) buf1520);
-    *(float*)buf1521 = rint(*(float*)buf1522);
-    *(float2*)buf1523 = rint(*(float2*)buf1524);
-    *(float3*)buf1525 = rint(*(float3*)buf1526);
-    *(float4*)buf1527 = rint(*(float4*)buf1528);
-    *(float*)buf1529 = rootn(*(float*)buf1530, *(int*)buf1531);
-    *(float2*)buf1532 = rootn(*(float2*)buf1533, *(int2*)buf1534);
-    *(float3*)buf1535 = rootn(*(float3*)buf1536, *(int3*)buf1537);
-    *(float4*)buf1538 = rootn(*(float4*)buf1539, *(int4*)buf1540);
-    *(float*)buf1541 = round(*(float*)buf1542);
-    *(float2*)buf1543 = round(*(float2*)buf1544);
-    *(float3*)buf1545 = round(*(float3*)buf1546);
-    *(float4*)buf1547 = round(*(float4*)buf1548);
-    rsAllocationCopy1DRange(*(rs_allocation*)buf1549, *(uint32_t*)buf1550, *(uint32_t*)buf1551, *(uint32_t*)buf1552, *(rs_allocation*)buf1553, *(uint32_t*)buf1554, *(uint32_t*)buf1555);
-    rsAllocationCopy2DRange(*(rs_allocation*)buf1556, *(uint32_t*)buf1557, *(uint32_t*)buf1558, *(uint32_t*)buf1559, *(rs_allocation_cubemap_face*)buf1560, *(uint32_t*)buf1561, *(uint32_t*)buf1562, *(rs_allocation*)buf1563, *(uint32_t*)buf1564, *(uint32_t*)buf1565, *(uint32_t*)buf1566, *(rs_allocation_cubemap_face*)buf1567);
-    *(uint32_t*)buf1568 = rsAllocationGetDimFaces(*(rs_allocation*)buf1569);
-    *(uint32_t*)buf1570 = rsAllocationGetDimLOD(*(rs_allocation*)buf1571);
-    *(uint32_t*)buf1572 = rsAllocationGetDimX(*(rs_allocation*)buf1573);
-    *(uint32_t*)buf1574 = rsAllocationGetDimY(*(rs_allocation*)buf1575);
-    *(uint32_t*)buf1576 = rsAllocationGetDimZ(*(rs_allocation*)buf1577);
-    *(rs_element*)buf1578 = rsAllocationGetElement(*(rs_allocation*)buf1579);
-    rsAllocationIoReceive(*(rs_allocation*)buf1580);
-    rsAllocationIoSend(*(rs_allocation*)buf1581);
-    *(int32_t*)buf1582 = rsAtomicAdd((volatile int32_t*) buf1583, *(int32_t*)buf1584);
-    *(int32_t*)buf1585 = rsAtomicAdd((volatile uint32_t*) buf1586, *(uint32_t*)buf1587);
-    *(int32_t*)buf1588 = rsAtomicAnd((volatile int32_t*) buf1589, *(int32_t*)buf1590);
-    *(int32_t*)buf1591 = rsAtomicAnd((volatile uint32_t*) buf1592, *(uint32_t*)buf1593);
-    *(int32_t*)buf1594 = rsAtomicCas((volatile int32_t*) buf1595, *(int32_t*)buf1596, *(int32_t*)buf1597);
-    *(uint32_t*)buf1598 = rsAtomicCas((volatile uint32_t*) buf1599, *(uint32_t*)buf1600, *(uint32_t*)buf1601);
-    *(int32_t*)buf1602 = rsAtomicDec((volatile int32_t*) buf1603);
-    *(int32_t*)buf1604 = rsAtomicDec((volatile uint32_t*) buf1605);
-    *(int32_t*)buf1606 = rsAtomicInc((volatile int32_t*) buf1607);
-    *(int32_t*)buf1608 = rsAtomicInc((volatile uint32_t*) buf1609);
-    *(uint32_t*)buf1610 = rsAtomicMax((volatile uint32_t*) buf1611, *(uint32_t*)buf1612);
-    *(int32_t*)buf1613 = rsAtomicMax((volatile int32_t*) buf1614, *(int32_t*)buf1615);
-    *(uint32_t*)buf1616 = rsAtomicMin((volatile uint32_t*) buf1617, *(uint32_t*)buf1618);
-    *(int32_t*)buf1619 = rsAtomicMin((volatile int32_t*) buf1620, *(int32_t*)buf1621);
-    *(int32_t*)buf1622 = rsAtomicOr((volatile int32_t*) buf1623, *(int32_t*)buf1624);
-    *(int32_t*)buf1625 = rsAtomicOr((volatile uint32_t*) buf1626, *(uint32_t*)buf1627);
-    *(int32_t*)buf1628 = rsAtomicSub((volatile int32_t*) buf1629, *(int32_t*)buf1630);
-    *(int32_t*)buf1631 = rsAtomicSub((volatile uint32_t*) buf1632, *(uint32_t*)buf1633);
-    *(int32_t*)buf1634 = rsAtomicXor((volatile int32_t*) buf1635, *(int32_t*)buf1636);
-    *(int32_t*)buf1637 = rsAtomicXor((volatile uint32_t*) buf1638, *(uint32_t*)buf1639);
-    *(char*)buf1640 = rsClamp(*(char*)buf1641, *(char*)buf1642, *(char*)buf1643);
-    *(uchar*)buf1644 = rsClamp(*(uchar*)buf1645, *(uchar*)buf1646, *(uchar*)buf1647);
-    *(short*)buf1648 = rsClamp(*(short*)buf1649, *(short*)buf1650, *(short*)buf1651);
-    *(ushort*)buf1652 = rsClamp(*(ushort*)buf1653, *(ushort*)buf1654, *(ushort*)buf1655);
-    *(int*)buf1656 = rsClamp(*(int*)buf1657, *(int*)buf1658, *(int*)buf1659);
-    *(uint*)buf1660 = rsClamp(*(uint*)buf1661, *(uint*)buf1662, *(uint*)buf1663);
-    rsClearObject((rs_element*) buf1664);
-    rsClearObject((rs_type*) buf1665);
-    rsClearObject((rs_allocation*) buf1666);
-    rsClearObject((rs_sampler*) buf1667);
-    rsClearObject((rs_script*) buf1668);
+    *(float2*)buf1171 = max(*(float2*)buf1172, *(float*)buf1173);
+    *(float3*)buf1174 = max(*(float3*)buf1175, *(float*)buf1176);
+    *(float4*)buf1177 = max(*(float4*)buf1178, *(float*)buf1179);
+    *(char*)buf1180 = max(*(char*)buf1181, *(char*)buf1182);
+    *(uchar*)buf1183 = max(*(uchar*)buf1184, *(uchar*)buf1185);
+    *(short*)buf1186 = max(*(short*)buf1187, *(short*)buf1188);
+    *(ushort*)buf1189 = max(*(ushort*)buf1190, *(ushort*)buf1191);
+    *(int*)buf1192 = max(*(int*)buf1193, *(int*)buf1194);
+    *(uint*)buf1195 = max(*(uint*)buf1196, *(uint*)buf1197);
+    *(char2*)buf1198 = max(*(char2*)buf1199, *(char2*)buf1200);
+    *(uchar2*)buf1201 = max(*(uchar2*)buf1202, *(uchar2*)buf1203);
+    *(short2*)buf1204 = max(*(short2*)buf1205, *(short2*)buf1206);
+    *(ushort2*)buf1207 = max(*(ushort2*)buf1208, *(ushort2*)buf1209);
+    *(int2*)buf1210 = max(*(int2*)buf1211, *(int2*)buf1212);
+    *(uint2*)buf1213 = max(*(uint2*)buf1214, *(uint2*)buf1215);
+    *(char3*)buf1216 = max(*(char3*)buf1217, *(char3*)buf1218);
+    *(uchar3*)buf1219 = max(*(uchar3*)buf1220, *(uchar3*)buf1221);
+    *(short3*)buf1222 = max(*(short3*)buf1223, *(short3*)buf1224);
+    *(ushort3*)buf1225 = max(*(ushort3*)buf1226, *(ushort3*)buf1227);
+    *(int3*)buf1228 = max(*(int3*)buf1229, *(int3*)buf1230);
+    *(uint3*)buf1231 = max(*(uint3*)buf1232, *(uint3*)buf1233);
+    *(char4*)buf1234 = max(*(char4*)buf1235, *(char4*)buf1236);
+    *(uchar4*)buf1237 = max(*(uchar4*)buf1238, *(uchar4*)buf1239);
+    *(short4*)buf1240 = max(*(short4*)buf1241, *(short4*)buf1242);
+    *(ushort4*)buf1243 = max(*(ushort4*)buf1244, *(ushort4*)buf1245);
+    *(int4*)buf1246 = max(*(int4*)buf1247, *(int4*)buf1248);
+    *(uint4*)buf1249 = max(*(uint4*)buf1250, *(uint4*)buf1251);
+    *(float*)buf1252 = min(*(float*)buf1253, *(float*)buf1254);
+    *(float2*)buf1255 = min(*(float2*)buf1256, *(float2*)buf1257);
+    *(float3*)buf1258 = min(*(float3*)buf1259, *(float3*)buf1260);
+    *(float4*)buf1261 = min(*(float4*)buf1262, *(float4*)buf1263);
+    *(float2*)buf1264 = min(*(float2*)buf1265, *(float*)buf1266);
+    *(float3*)buf1267 = min(*(float3*)buf1268, *(float*)buf1269);
+    *(float4*)buf1270 = min(*(float4*)buf1271, *(float*)buf1272);
+    *(char*)buf1273 = min(*(char*)buf1274, *(char*)buf1275);
+    *(uchar*)buf1276 = min(*(uchar*)buf1277, *(uchar*)buf1278);
+    *(short*)buf1279 = min(*(short*)buf1280, *(short*)buf1281);
+    *(ushort*)buf1282 = min(*(ushort*)buf1283, *(ushort*)buf1284);
+    *(int*)buf1285 = min(*(int*)buf1286, *(int*)buf1287);
+    *(uint*)buf1288 = min(*(uint*)buf1289, *(uint*)buf1290);
+    *(char2*)buf1291 = min(*(char2*)buf1292, *(char2*)buf1293);
+    *(uchar2*)buf1294 = min(*(uchar2*)buf1295, *(uchar2*)buf1296);
+    *(short2*)buf1297 = min(*(short2*)buf1298, *(short2*)buf1299);
+    *(ushort2*)buf1300 = min(*(ushort2*)buf1301, *(ushort2*)buf1302);
+    *(int2*)buf1303 = min(*(int2*)buf1304, *(int2*)buf1305);
+    *(uint2*)buf1306 = min(*(uint2*)buf1307, *(uint2*)buf1308);
+    *(char3*)buf1309 = min(*(char3*)buf1310, *(char3*)buf1311);
+    *(uchar3*)buf1312 = min(*(uchar3*)buf1313, *(uchar3*)buf1314);
+    *(short3*)buf1315 = min(*(short3*)buf1316, *(short3*)buf1317);
+    *(ushort3*)buf1318 = min(*(ushort3*)buf1319, *(ushort3*)buf1320);
+    *(int3*)buf1321 = min(*(int3*)buf1322, *(int3*)buf1323);
+    *(uint3*)buf1324 = min(*(uint3*)buf1325, *(uint3*)buf1326);
+    *(char4*)buf1327 = min(*(char4*)buf1328, *(char4*)buf1329);
+    *(uchar4*)buf1330 = min(*(uchar4*)buf1331, *(uchar4*)buf1332);
+    *(short4*)buf1333 = min(*(short4*)buf1334, *(short4*)buf1335);
+    *(ushort4*)buf1336 = min(*(ushort4*)buf1337, *(ushort4*)buf1338);
+    *(int4*)buf1339 = min(*(int4*)buf1340, *(int4*)buf1341);
+    *(uint4*)buf1342 = min(*(uint4*)buf1343, *(uint4*)buf1344);
+    *(float*)buf1345 = mix(*(float*)buf1346, *(float*)buf1347, *(float*)buf1348);
+    *(float2*)buf1349 = mix(*(float2*)buf1350, *(float2*)buf1351, *(float2*)buf1352);
+    *(float3*)buf1353 = mix(*(float3*)buf1354, *(float3*)buf1355, *(float3*)buf1356);
+    *(float4*)buf1357 = mix(*(float4*)buf1358, *(float4*)buf1359, *(float4*)buf1360);
+    *(float2*)buf1361 = mix(*(float2*)buf1362, *(float2*)buf1363, *(float*)buf1364);
+    *(float3*)buf1365 = mix(*(float3*)buf1366, *(float3*)buf1367, *(float*)buf1368);
+    *(float4*)buf1369 = mix(*(float4*)buf1370, *(float4*)buf1371, *(float*)buf1372);
+    *(float*)buf1373 = modf(*(float*)buf1374, (float*) buf1375);
+    *(float2*)buf1376 = modf(*(float2*)buf1377, (float2*) buf1378);
+    *(float3*)buf1379 = modf(*(float3*)buf1380, (float3*) buf1381);
+    *(float4*)buf1382 = modf(*(float4*)buf1383, (float4*) buf1384);
+    *(float*)buf1385 = nan(*(uint*)buf1386);
+    *(float*)buf1387 = native_exp(*(float*)buf1388);
+    *(float2*)buf1389 = native_exp(*(float2*)buf1390);
+    *(float3*)buf1391 = native_exp(*(float3*)buf1392);
+    *(float4*)buf1393 = native_exp(*(float4*)buf1394);
+    *(float*)buf1395 = native_exp10(*(float*)buf1396);
+    *(float2*)buf1397 = native_exp10(*(float2*)buf1398);
+    *(float3*)buf1399 = native_exp10(*(float3*)buf1400);
+    *(float4*)buf1401 = native_exp10(*(float4*)buf1402);
+    *(float*)buf1403 = native_exp2(*(float*)buf1404);
+    *(float2*)buf1405 = native_exp2(*(float2*)buf1406);
+    *(float3*)buf1407 = native_exp2(*(float3*)buf1408);
+    *(float4*)buf1409 = native_exp2(*(float4*)buf1410);
+    *(float*)buf1411 = native_log(*(float*)buf1412);
+    *(float2*)buf1413 = native_log(*(float2*)buf1414);
+    *(float3*)buf1415 = native_log(*(float3*)buf1416);
+    *(float4*)buf1417 = native_log(*(float4*)buf1418);
+    *(float*)buf1419 = native_log10(*(float*)buf1420);
+    *(float2*)buf1421 = native_log10(*(float2*)buf1422);
+    *(float3*)buf1423 = native_log10(*(float3*)buf1424);
+    *(float4*)buf1425 = native_log10(*(float4*)buf1426);
+    *(float*)buf1427 = native_log2(*(float*)buf1428);
+    *(float2*)buf1429 = native_log2(*(float2*)buf1430);
+    *(float3*)buf1431 = native_log2(*(float3*)buf1432);
+    *(float4*)buf1433 = native_log2(*(float4*)buf1434);
+    *(float*)buf1435 = native_powr(*(float*)buf1436, *(float*)buf1437);
+    *(float2*)buf1438 = native_powr(*(float2*)buf1439, *(float2*)buf1440);
+    *(float3*)buf1441 = native_powr(*(float3*)buf1442, *(float3*)buf1443);
+    *(float4*)buf1444 = native_powr(*(float4*)buf1445, *(float4*)buf1446);
+    *(float*)buf1447 = nextafter(*(float*)buf1448, *(float*)buf1449);
+    *(float2*)buf1450 = nextafter(*(float2*)buf1451, *(float2*)buf1452);
+    *(float3*)buf1453 = nextafter(*(float3*)buf1454, *(float3*)buf1455);
+    *(float4*)buf1456 = nextafter(*(float4*)buf1457, *(float4*)buf1458);
+    *(float*)buf1459 = normalize(*(float*)buf1460);
+    *(float2*)buf1461 = normalize(*(float2*)buf1462);
+    *(float3*)buf1463 = normalize(*(float3*)buf1464);
+    *(float4*)buf1465 = normalize(*(float4*)buf1466);
+    *(float*)buf1467 = pow(*(float*)buf1468, *(float*)buf1469);
+    *(float2*)buf1470 = pow(*(float2*)buf1471, *(float2*)buf1472);
+    *(float3*)buf1473 = pow(*(float3*)buf1474, *(float3*)buf1475);
+    *(float4*)buf1476 = pow(*(float4*)buf1477, *(float4*)buf1478);
+    *(float*)buf1479 = pown(*(float*)buf1480, *(int*)buf1481);
+    *(float2*)buf1482 = pown(*(float2*)buf1483, *(int2*)buf1484);
+    *(float3*)buf1485 = pown(*(float3*)buf1486, *(int3*)buf1487);
+    *(float4*)buf1488 = pown(*(float4*)buf1489, *(int4*)buf1490);
+    *(float*)buf1491 = powr(*(float*)buf1492, *(float*)buf1493);
+    *(float2*)buf1494 = powr(*(float2*)buf1495, *(float2*)buf1496);
+    *(float3*)buf1497 = powr(*(float3*)buf1498, *(float3*)buf1499);
+    *(float4*)buf1500 = powr(*(float4*)buf1501, *(float4*)buf1502);
+    *(float*)buf1503 = radians(*(float*)buf1504);
+    *(float2*)buf1505 = radians(*(float2*)buf1506);
+    *(float3*)buf1507 = radians(*(float3*)buf1508);
+    *(float4*)buf1509 = radians(*(float4*)buf1510);
+    *(float*)buf1511 = remainder(*(float*)buf1512, *(float*)buf1513);
+    *(float2*)buf1514 = remainder(*(float2*)buf1515, *(float2*)buf1516);
+    *(float3*)buf1517 = remainder(*(float3*)buf1518, *(float3*)buf1519);
+    *(float4*)buf1520 = remainder(*(float4*)buf1521, *(float4*)buf1522);
+    *(float*)buf1523 = remquo(*(float*)buf1524, *(float*)buf1525, (int*) buf1526);
+    *(float2*)buf1527 = remquo(*(float2*)buf1528, *(float2*)buf1529, (int2*) buf1530);
+    *(float3*)buf1531 = remquo(*(float3*)buf1532, *(float3*)buf1533, (int3*) buf1534);
+    *(float4*)buf1535 = remquo(*(float4*)buf1536, *(float4*)buf1537, (int4*) buf1538);
+    *(float*)buf1539 = rint(*(float*)buf1540);
+    *(float2*)buf1541 = rint(*(float2*)buf1542);
+    *(float3*)buf1543 = rint(*(float3*)buf1544);
+    *(float4*)buf1545 = rint(*(float4*)buf1546);
+    *(float*)buf1547 = rootn(*(float*)buf1548, *(int*)buf1549);
+    *(float2*)buf1550 = rootn(*(float2*)buf1551, *(int2*)buf1552);
+    *(float3*)buf1553 = rootn(*(float3*)buf1554, *(int3*)buf1555);
+    *(float4*)buf1556 = rootn(*(float4*)buf1557, *(int4*)buf1558);
+    *(float*)buf1559 = round(*(float*)buf1560);
+    *(float2*)buf1561 = round(*(float2*)buf1562);
+    *(float3*)buf1563 = round(*(float3*)buf1564);
+    *(float4*)buf1565 = round(*(float4*)buf1566);
+    rsAllocationCopy1DRange(*(rs_allocation*)buf1567, *(uint32_t*)buf1568, *(uint32_t*)buf1569, *(uint32_t*)buf1570, *(rs_allocation*)buf1571, *(uint32_t*)buf1572, *(uint32_t*)buf1573);
+    rsAllocationCopy2DRange(*(rs_allocation*)buf1574, *(uint32_t*)buf1575, *(uint32_t*)buf1576, *(uint32_t*)buf1577, *(rs_allocation_cubemap_face*)buf1578, *(uint32_t*)buf1579, *(uint32_t*)buf1580, *(rs_allocation*)buf1581, *(uint32_t*)buf1582, *(uint32_t*)buf1583, *(uint32_t*)buf1584, *(rs_allocation_cubemap_face*)buf1585);
+    *(uint32_t*)buf1586 = rsAllocationGetDimFaces(*(rs_allocation*)buf1587);
+    *(uint32_t*)buf1588 = rsAllocationGetDimLOD(*(rs_allocation*)buf1589);
+    *(uint32_t*)buf1590 = rsAllocationGetDimX(*(rs_allocation*)buf1591);
+    *(uint32_t*)buf1592 = rsAllocationGetDimY(*(rs_allocation*)buf1593);
+    *(uint32_t*)buf1594 = rsAllocationGetDimZ(*(rs_allocation*)buf1595);
+    *(rs_element*)buf1596 = rsAllocationGetElement(*(rs_allocation*)buf1597);
+    rsAllocationIoReceive(*(rs_allocation*)buf1598);
+    rsAllocationIoSend(*(rs_allocation*)buf1599);
+    *(int32_t*)buf1600 = rsAtomicAdd((volatile int32_t*) buf1601, *(int32_t*)buf1602);
+    *(int32_t*)buf1603 = rsAtomicAdd((volatile uint32_t*) buf1604, *(uint32_t*)buf1605);
+    *(int32_t*)buf1606 = rsAtomicAnd((volatile int32_t*) buf1607, *(int32_t*)buf1608);
+    *(int32_t*)buf1609 = rsAtomicAnd((volatile uint32_t*) buf1610, *(uint32_t*)buf1611);
+    *(int32_t*)buf1612 = rsAtomicCas((volatile int32_t*) buf1613, *(int32_t*)buf1614, *(int32_t*)buf1615);
+    *(uint32_t*)buf1616 = rsAtomicCas((volatile uint32_t*) buf1617, *(uint32_t*)buf1618, *(uint32_t*)buf1619);
+    *(int32_t*)buf1620 = rsAtomicDec((volatile int32_t*) buf1621);
+    *(int32_t*)buf1622 = rsAtomicDec((volatile uint32_t*) buf1623);
+    *(int32_t*)buf1624 = rsAtomicInc((volatile int32_t*) buf1625);
+    *(int32_t*)buf1626 = rsAtomicInc((volatile uint32_t*) buf1627);
+    *(uint32_t*)buf1628 = rsAtomicMax((volatile uint32_t*) buf1629, *(uint32_t*)buf1630);
+    *(int32_t*)buf1631 = rsAtomicMax((volatile int32_t*) buf1632, *(int32_t*)buf1633);
+    *(uint32_t*)buf1634 = rsAtomicMin((volatile uint32_t*) buf1635, *(uint32_t*)buf1636);
+    *(int32_t*)buf1637 = rsAtomicMin((volatile int32_t*) buf1638, *(int32_t*)buf1639);
+    *(int32_t*)buf1640 = rsAtomicOr((volatile int32_t*) buf1641, *(int32_t*)buf1642);
+    *(int32_t*)buf1643 = rsAtomicOr((volatile uint32_t*) buf1644, *(uint32_t*)buf1645);
+    *(int32_t*)buf1646 = rsAtomicSub((volatile int32_t*) buf1647, *(int32_t*)buf1648);
+    *(int32_t*)buf1649 = rsAtomicSub((volatile uint32_t*) buf1650, *(uint32_t*)buf1651);
+    *(int32_t*)buf1652 = rsAtomicXor((volatile int32_t*) buf1653, *(int32_t*)buf1654);
+    *(int32_t*)buf1655 = rsAtomicXor((volatile uint32_t*) buf1656, *(uint32_t*)buf1657);
+    *(char*)buf1658 = rsClamp(*(char*)buf1659, *(char*)buf1660, *(char*)buf1661);
+    *(uchar*)buf1662 = rsClamp(*(uchar*)buf1663, *(uchar*)buf1664, *(uchar*)buf1665);
+    *(short*)buf1666 = rsClamp(*(short*)buf1667, *(short*)buf1668, *(short*)buf1669);
+    *(ushort*)buf1670 = rsClamp(*(ushort*)buf1671, *(ushort*)buf1672, *(ushort*)buf1673);
+    *(int*)buf1674 = rsClamp(*(int*)buf1675, *(int*)buf1676, *(int*)buf1677);
+    *(uint*)buf1678 = rsClamp(*(uint*)buf1679, *(uint*)buf1680, *(uint*)buf1681);
+    rsClearObject((rs_element*) buf1682);
+    rsClearObject((rs_type*) buf1683);
+    rsClearObject((rs_allocation*) buf1684);
+    rsClearObject((rs_sampler*) buf1685);
+    rsClearObject((rs_script*) buf1686);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf1669);
-    rsClearObject((rs_program_fragment*) buf1670);
-    rsClearObject((rs_program_vertex*) buf1671);
-    rsClearObject((rs_program_raster*) buf1672);
-    rsClearObject((rs_program_store*) buf1673);
-    rsClearObject((rs_font*) buf1674);
+    rsClearObject((rs_mesh*) buf1687);
+    rsClearObject((rs_program_fragment*) buf1688);
+    rsClearObject((rs_program_vertex*) buf1689);
+    rsClearObject((rs_program_raster*) buf1690);
+    rsClearObject((rs_program_store*) buf1691);
+    rsClearObject((rs_font*) buf1692);
 #endif
-    rsDebug((const char*) buf1675, *(double*)buf1676);
-    rsDebug((const char*) buf1677, *(int*)buf1678);
-    rsDebug((const char*) buf1679, *(uint*)buf1680);
-    rsDebug((const char*) buf1681, *(long*)buf1682);
-    rsDebug((const char*) buf1683, *(ulong*)buf1684);
-    rsDebug((const char*) buf1685, *(int2*)buf1686);
-    rsDebug((const char*) buf1687, *(int3*)buf1688);
-    rsDebug((const char*) buf1689, *(int4*)buf1690);
-    rsDebug((const char*) buf1691, *(uint2*)buf1692);
-    rsDebug((const char*) buf1693, *(uint3*)buf1694);
-    rsDebug((const char*) buf1695, *(uint4*)buf1696);
-    rsDebug((const char*) buf1697, *(long2*)buf1698);
-    rsDebug((const char*) buf1699, *(long3*)buf1700);
-    rsDebug((const char*) buf1701, *(long4*)buf1702);
-    rsDebug((const char*) buf1703, *(ulong2*)buf1704);
-    rsDebug((const char*) buf1705, *(ulong3*)buf1706);
-    rsDebug((const char*) buf1707, *(ulong4*)buf1708);
-    rsDebug((const char*) buf1709, *(float*)buf1710);
-    rsDebug((const char*) buf1711, *(float2*)buf1712);
-    rsDebug((const char*) buf1713, *(float3*)buf1714);
-    rsDebug((const char*) buf1715, *(float4*)buf1716);
-    rsDebug((const char*) buf1717, *(char*)buf1718);
-    rsDebug((const char*) buf1719, *(char2*)buf1720);
-    rsDebug((const char*) buf1721, *(char3*)buf1722);
-    rsDebug((const char*) buf1723, *(char4*)buf1724);
-    rsDebug((const char*) buf1725, *(uchar*)buf1726);
-    rsDebug((const char*) buf1727, *(uchar2*)buf1728);
-    rsDebug((const char*) buf1729, *(uchar3*)buf1730);
-    rsDebug((const char*) buf1731, *(uchar4*)buf1732);
-    rsDebug((const char*) buf1733, *(short*)buf1734);
-    rsDebug((const char*) buf1735, *(short2*)buf1736);
-    rsDebug((const char*) buf1737, *(short3*)buf1738);
-    rsDebug((const char*) buf1739, *(short4*)buf1740);
-    rsDebug((const char*) buf1741, *(ushort*)buf1742);
-    rsDebug((const char*) buf1743, *(ushort2*)buf1744);
-    rsDebug((const char*) buf1745, *(ushort3*)buf1746);
-    rsDebug((const char*) buf1747, *(ushort4*)buf1748);
-    rsDebug((const char*) buf1749, *(float*)buf1750, *(float*)buf1751);
-    rsDebug((const char*) buf1752, *(float*)buf1753, *(float*)buf1754, *(float*)buf1755);
-    rsDebug((const char*) buf1756, *(float*)buf1757, *(float*)buf1758, *(float*)buf1759, *(float*)buf1760);
-    rsDebug((const char*) buf1761, *(long long*)buf1762);
-    rsDebug((const char*) buf1763, *(unsigned long long*)buf1764);
-    rsDebug((const char*) buf1765, (const void*) buf1766);
-    rsDebug((const char*) buf1767, (const rs_matrix4x4*) buf1768);
-    rsDebug((const char*) buf1769, (const rs_matrix3x3*) buf1770);
-    rsDebug((const char*) buf1771, (const rs_matrix2x2*) buf1772);
-    *(uint32_t*)buf1773 = rsElementGetBytesSize(*(rs_element*)buf1774);
-    *(rs_data_kind*)buf1775 = rsElementGetDataKind(*(rs_element*)buf1776);
-    *(rs_data_type*)buf1777 = rsElementGetDataType(*(rs_element*)buf1778);
-    *(rs_element*)buf1779 = rsElementGetSubElement(*(rs_element*)buf1780, *(uint32_t*)buf1781);
-    *(uint32_t*)buf1782 = rsElementGetSubElementArraySize(*(rs_element*)buf1783, *(uint32_t*)buf1784);
-    *(uint32_t*)buf1785 = rsElementGetSubElementCount(*(rs_element*)buf1786);
-    *(uint32_t*)buf1787 = rsElementGetSubElementName(*(rs_element*)buf1788, *(uint32_t*)buf1789, (char*) buf1790, *(uint32_t*)buf1791);
-    *(uint32_t*)buf1792 = rsElementGetSubElementNameLength(*(rs_element*)buf1793, *(uint32_t*)buf1794);
-    *(uint32_t*)buf1795 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf1796, *(uint32_t*)buf1797);
-    *(uint32_t*)buf1798 = rsElementGetVectorSize(*(rs_element*)buf1799);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1800, (float4*) buf1801, (float4*) buf1802, (float4*) buf1803, (float4*) buf1804, (float4*) buf1805, (float4*) buf1806);
-    rsForEach(*(rs_script*)buf1807, *(rs_allocation*)buf1808, *(rs_allocation*)buf1809, (const void*) buf1810, *(size_t*)buf1811, (const rs_script_call_t*) buf1812);
-    rsForEach(*(rs_script*)buf1813, *(rs_allocation*)buf1814, *(rs_allocation*)buf1815, (const void*) buf1816, *(size_t*)buf1817);
-    rsForEach(*(rs_script*)buf1818, *(rs_allocation*)buf1819, *(rs_allocation*)buf1820);
-    *(float*)buf1821 = rsFrac(*(float*)buf1822);
-    *(rs_allocation*)buf1823 = rsGetAllocation((const void*) buf1824);
-    *(float*)buf1825 = rsGetDt();
-    *(const void**)buf1826 = rsGetElementAt(*(rs_allocation*)buf1827, *(uint32_t*)buf1828);
-    *(const void**)buf1829 = rsGetElementAt(*(rs_allocation*)buf1830, *(uint32_t*)buf1831, *(uint32_t*)buf1832);
-    *(const void**)buf1833 = rsGetElementAt(*(rs_allocation*)buf1834, *(uint32_t*)buf1835, *(uint32_t*)buf1836, *(uint32_t*)buf1837);
-    *(float*)buf1838 = rsGetElementAt_float(*(rs_allocation*)buf1839, *(uint32_t*)buf1840);
-    *(float2*)buf1841 = rsGetElementAt_float2(*(rs_allocation*)buf1842, *(uint32_t*)buf1843);
-    *(float3*)buf1844 = rsGetElementAt_float3(*(rs_allocation*)buf1845, *(uint32_t*)buf1846);
-    *(float4*)buf1847 = rsGetElementAt_float4(*(rs_allocation*)buf1848, *(uint32_t*)buf1849);
-    *(double*)buf1850 = rsGetElementAt_double(*(rs_allocation*)buf1851, *(uint32_t*)buf1852);
-    *(double2*)buf1853 = rsGetElementAt_double2(*(rs_allocation*)buf1854, *(uint32_t*)buf1855);
-    *(double3*)buf1856 = rsGetElementAt_double3(*(rs_allocation*)buf1857, *(uint32_t*)buf1858);
-    *(double4*)buf1859 = rsGetElementAt_double4(*(rs_allocation*)buf1860, *(uint32_t*)buf1861);
-    *(char*)buf1862 = rsGetElementAt_char(*(rs_allocation*)buf1863, *(uint32_t*)buf1864);
-    *(char2*)buf1865 = rsGetElementAt_char2(*(rs_allocation*)buf1866, *(uint32_t*)buf1867);
-    *(char3*)buf1868 = rsGetElementAt_char3(*(rs_allocation*)buf1869, *(uint32_t*)buf1870);
-    *(char4*)buf1871 = rsGetElementAt_char4(*(rs_allocation*)buf1872, *(uint32_t*)buf1873);
-    *(uchar*)buf1874 = rsGetElementAt_uchar(*(rs_allocation*)buf1875, *(uint32_t*)buf1876);
-    *(uchar2*)buf1877 = rsGetElementAt_uchar2(*(rs_allocation*)buf1878, *(uint32_t*)buf1879);
-    *(uchar3*)buf1880 = rsGetElementAt_uchar3(*(rs_allocation*)buf1881, *(uint32_t*)buf1882);
-    *(uchar4*)buf1883 = rsGetElementAt_uchar4(*(rs_allocation*)buf1884, *(uint32_t*)buf1885);
-    *(short*)buf1886 = rsGetElementAt_short(*(rs_allocation*)buf1887, *(uint32_t*)buf1888);
-    *(short2*)buf1889 = rsGetElementAt_short2(*(rs_allocation*)buf1890, *(uint32_t*)buf1891);
-    *(short3*)buf1892 = rsGetElementAt_short3(*(rs_allocation*)buf1893, *(uint32_t*)buf1894);
-    *(short4*)buf1895 = rsGetElementAt_short4(*(rs_allocation*)buf1896, *(uint32_t*)buf1897);
-    *(ushort*)buf1898 = rsGetElementAt_ushort(*(rs_allocation*)buf1899, *(uint32_t*)buf1900);
-    *(ushort2*)buf1901 = rsGetElementAt_ushort2(*(rs_allocation*)buf1902, *(uint32_t*)buf1903);
-    *(ushort3*)buf1904 = rsGetElementAt_ushort3(*(rs_allocation*)buf1905, *(uint32_t*)buf1906);
-    *(ushort4*)buf1907 = rsGetElementAt_ushort4(*(rs_allocation*)buf1908, *(uint32_t*)buf1909);
-    *(int*)buf1910 = rsGetElementAt_int(*(rs_allocation*)buf1911, *(uint32_t*)buf1912);
-    *(int2*)buf1913 = rsGetElementAt_int2(*(rs_allocation*)buf1914, *(uint32_t*)buf1915);
-    *(int3*)buf1916 = rsGetElementAt_int3(*(rs_allocation*)buf1917, *(uint32_t*)buf1918);
-    *(int4*)buf1919 = rsGetElementAt_int4(*(rs_allocation*)buf1920, *(uint32_t*)buf1921);
-    *(uint*)buf1922 = rsGetElementAt_uint(*(rs_allocation*)buf1923, *(uint32_t*)buf1924);
-    *(uint2*)buf1925 = rsGetElementAt_uint2(*(rs_allocation*)buf1926, *(uint32_t*)buf1927);
-    *(uint3*)buf1928 = rsGetElementAt_uint3(*(rs_allocation*)buf1929, *(uint32_t*)buf1930);
-    *(uint4*)buf1931 = rsGetElementAt_uint4(*(rs_allocation*)buf1932, *(uint32_t*)buf1933);
-    *(long*)buf1934 = rsGetElementAt_long(*(rs_allocation*)buf1935, *(uint32_t*)buf1936);
-    *(long2*)buf1937 = rsGetElementAt_long2(*(rs_allocation*)buf1938, *(uint32_t*)buf1939);
-    *(long3*)buf1940 = rsGetElementAt_long3(*(rs_allocation*)buf1941, *(uint32_t*)buf1942);
-    *(long4*)buf1943 = rsGetElementAt_long4(*(rs_allocation*)buf1944, *(uint32_t*)buf1945);
-    *(ulong*)buf1946 = rsGetElementAt_ulong(*(rs_allocation*)buf1947, *(uint32_t*)buf1948);
-    *(ulong2*)buf1949 = rsGetElementAt_ulong2(*(rs_allocation*)buf1950, *(uint32_t*)buf1951);
-    *(ulong3*)buf1952 = rsGetElementAt_ulong3(*(rs_allocation*)buf1953, *(uint32_t*)buf1954);
-    *(ulong4*)buf1955 = rsGetElementAt_ulong4(*(rs_allocation*)buf1956, *(uint32_t*)buf1957);
-    *(float*)buf1958 = rsGetElementAt_float(*(rs_allocation*)buf1959, *(uint32_t*)buf1960, *(uint32_t*)buf1961);
-    *(float2*)buf1962 = rsGetElementAt_float2(*(rs_allocation*)buf1963, *(uint32_t*)buf1964, *(uint32_t*)buf1965);
-    *(float3*)buf1966 = rsGetElementAt_float3(*(rs_allocation*)buf1967, *(uint32_t*)buf1968, *(uint32_t*)buf1969);
-    *(float4*)buf1970 = rsGetElementAt_float4(*(rs_allocation*)buf1971, *(uint32_t*)buf1972, *(uint32_t*)buf1973);
-    *(double*)buf1974 = rsGetElementAt_double(*(rs_allocation*)buf1975, *(uint32_t*)buf1976, *(uint32_t*)buf1977);
-    *(double2*)buf1978 = rsGetElementAt_double2(*(rs_allocation*)buf1979, *(uint32_t*)buf1980, *(uint32_t*)buf1981);
-    *(double3*)buf1982 = rsGetElementAt_double3(*(rs_allocation*)buf1983, *(uint32_t*)buf1984, *(uint32_t*)buf1985);
-    *(double4*)buf1986 = rsGetElementAt_double4(*(rs_allocation*)buf1987, *(uint32_t*)buf1988, *(uint32_t*)buf1989);
-    *(char*)buf1990 = rsGetElementAt_char(*(rs_allocation*)buf1991, *(uint32_t*)buf1992, *(uint32_t*)buf1993);
-    *(char2*)buf1994 = rsGetElementAt_char2(*(rs_allocation*)buf1995, *(uint32_t*)buf1996, *(uint32_t*)buf1997);
-    *(char3*)buf1998 = rsGetElementAt_char3(*(rs_allocation*)buf1999, *(uint32_t*)buf2000, *(uint32_t*)buf2001);
-    *(char4*)buf2002 = rsGetElementAt_char4(*(rs_allocation*)buf2003, *(uint32_t*)buf2004, *(uint32_t*)buf2005);
-    *(uchar*)buf2006 = rsGetElementAt_uchar(*(rs_allocation*)buf2007, *(uint32_t*)buf2008, *(uint32_t*)buf2009);
-    *(uchar2*)buf2010 = rsGetElementAt_uchar2(*(rs_allocation*)buf2011, *(uint32_t*)buf2012, *(uint32_t*)buf2013);
-    *(uchar3*)buf2014 = rsGetElementAt_uchar3(*(rs_allocation*)buf2015, *(uint32_t*)buf2016, *(uint32_t*)buf2017);
-    *(uchar4*)buf2018 = rsGetElementAt_uchar4(*(rs_allocation*)buf2019, *(uint32_t*)buf2020, *(uint32_t*)buf2021);
-    *(short*)buf2022 = rsGetElementAt_short(*(rs_allocation*)buf2023, *(uint32_t*)buf2024, *(uint32_t*)buf2025);
-    *(short2*)buf2026 = rsGetElementAt_short2(*(rs_allocation*)buf2027, *(uint32_t*)buf2028, *(uint32_t*)buf2029);
-    *(short3*)buf2030 = rsGetElementAt_short3(*(rs_allocation*)buf2031, *(uint32_t*)buf2032, *(uint32_t*)buf2033);
-    *(short4*)buf2034 = rsGetElementAt_short4(*(rs_allocation*)buf2035, *(uint32_t*)buf2036, *(uint32_t*)buf2037);
-    *(ushort*)buf2038 = rsGetElementAt_ushort(*(rs_allocation*)buf2039, *(uint32_t*)buf2040, *(uint32_t*)buf2041);
-    *(ushort2*)buf2042 = rsGetElementAt_ushort2(*(rs_allocation*)buf2043, *(uint32_t*)buf2044, *(uint32_t*)buf2045);
-    *(ushort3*)buf2046 = rsGetElementAt_ushort3(*(rs_allocation*)buf2047, *(uint32_t*)buf2048, *(uint32_t*)buf2049);
-    *(ushort4*)buf2050 = rsGetElementAt_ushort4(*(rs_allocation*)buf2051, *(uint32_t*)buf2052, *(uint32_t*)buf2053);
-    *(int*)buf2054 = rsGetElementAt_int(*(rs_allocation*)buf2055, *(uint32_t*)buf2056, *(uint32_t*)buf2057);
-    *(int2*)buf2058 = rsGetElementAt_int2(*(rs_allocation*)buf2059, *(uint32_t*)buf2060, *(uint32_t*)buf2061);
-    *(int3*)buf2062 = rsGetElementAt_int3(*(rs_allocation*)buf2063, *(uint32_t*)buf2064, *(uint32_t*)buf2065);
-    *(int4*)buf2066 = rsGetElementAt_int4(*(rs_allocation*)buf2067, *(uint32_t*)buf2068, *(uint32_t*)buf2069);
-    *(uint*)buf2070 = rsGetElementAt_uint(*(rs_allocation*)buf2071, *(uint32_t*)buf2072, *(uint32_t*)buf2073);
-    *(uint2*)buf2074 = rsGetElementAt_uint2(*(rs_allocation*)buf2075, *(uint32_t*)buf2076, *(uint32_t*)buf2077);
-    *(uint3*)buf2078 = rsGetElementAt_uint3(*(rs_allocation*)buf2079, *(uint32_t*)buf2080, *(uint32_t*)buf2081);
-    *(uint4*)buf2082 = rsGetElementAt_uint4(*(rs_allocation*)buf2083, *(uint32_t*)buf2084, *(uint32_t*)buf2085);
-    *(long*)buf2086 = rsGetElementAt_long(*(rs_allocation*)buf2087, *(uint32_t*)buf2088, *(uint32_t*)buf2089);
-    *(long2*)buf2090 = rsGetElementAt_long2(*(rs_allocation*)buf2091, *(uint32_t*)buf2092, *(uint32_t*)buf2093);
-    *(long3*)buf2094 = rsGetElementAt_long3(*(rs_allocation*)buf2095, *(uint32_t*)buf2096, *(uint32_t*)buf2097);
-    *(long4*)buf2098 = rsGetElementAt_long4(*(rs_allocation*)buf2099, *(uint32_t*)buf2100, *(uint32_t*)buf2101);
-    *(ulong*)buf2102 = rsGetElementAt_ulong(*(rs_allocation*)buf2103, *(uint32_t*)buf2104, *(uint32_t*)buf2105);
-    *(ulong2*)buf2106 = rsGetElementAt_ulong2(*(rs_allocation*)buf2107, *(uint32_t*)buf2108, *(uint32_t*)buf2109);
-    *(ulong3*)buf2110 = rsGetElementAt_ulong3(*(rs_allocation*)buf2111, *(uint32_t*)buf2112, *(uint32_t*)buf2113);
-    *(ulong4*)buf2114 = rsGetElementAt_ulong4(*(rs_allocation*)buf2115, *(uint32_t*)buf2116, *(uint32_t*)buf2117);
-    *(float*)buf2118 = rsGetElementAt_float(*(rs_allocation*)buf2119, *(uint32_t*)buf2120, *(uint32_t*)buf2121, *(uint32_t*)buf2122);
-    *(float2*)buf2123 = rsGetElementAt_float2(*(rs_allocation*)buf2124, *(uint32_t*)buf2125, *(uint32_t*)buf2126, *(uint32_t*)buf2127);
-    *(float3*)buf2128 = rsGetElementAt_float3(*(rs_allocation*)buf2129, *(uint32_t*)buf2130, *(uint32_t*)buf2131, *(uint32_t*)buf2132);
-    *(float4*)buf2133 = rsGetElementAt_float4(*(rs_allocation*)buf2134, *(uint32_t*)buf2135, *(uint32_t*)buf2136, *(uint32_t*)buf2137);
-    *(double*)buf2138 = rsGetElementAt_double(*(rs_allocation*)buf2139, *(uint32_t*)buf2140, *(uint32_t*)buf2141, *(uint32_t*)buf2142);
-    *(double2*)buf2143 = rsGetElementAt_double2(*(rs_allocation*)buf2144, *(uint32_t*)buf2145, *(uint32_t*)buf2146, *(uint32_t*)buf2147);
-    *(double3*)buf2148 = rsGetElementAt_double3(*(rs_allocation*)buf2149, *(uint32_t*)buf2150, *(uint32_t*)buf2151, *(uint32_t*)buf2152);
-    *(double4*)buf2153 = rsGetElementAt_double4(*(rs_allocation*)buf2154, *(uint32_t*)buf2155, *(uint32_t*)buf2156, *(uint32_t*)buf2157);
-    *(char*)buf2158 = rsGetElementAt_char(*(rs_allocation*)buf2159, *(uint32_t*)buf2160, *(uint32_t*)buf2161, *(uint32_t*)buf2162);
-    *(char2*)buf2163 = rsGetElementAt_char2(*(rs_allocation*)buf2164, *(uint32_t*)buf2165, *(uint32_t*)buf2166, *(uint32_t*)buf2167);
-    *(char3*)buf2168 = rsGetElementAt_char3(*(rs_allocation*)buf2169, *(uint32_t*)buf2170, *(uint32_t*)buf2171, *(uint32_t*)buf2172);
-    *(char4*)buf2173 = rsGetElementAt_char4(*(rs_allocation*)buf2174, *(uint32_t*)buf2175, *(uint32_t*)buf2176, *(uint32_t*)buf2177);
-    *(uchar*)buf2178 = rsGetElementAt_uchar(*(rs_allocation*)buf2179, *(uint32_t*)buf2180, *(uint32_t*)buf2181, *(uint32_t*)buf2182);
-    *(uchar2*)buf2183 = rsGetElementAt_uchar2(*(rs_allocation*)buf2184, *(uint32_t*)buf2185, *(uint32_t*)buf2186, *(uint32_t*)buf2187);
-    *(uchar3*)buf2188 = rsGetElementAt_uchar3(*(rs_allocation*)buf2189, *(uint32_t*)buf2190, *(uint32_t*)buf2191, *(uint32_t*)buf2192);
-    *(uchar4*)buf2193 = rsGetElementAt_uchar4(*(rs_allocation*)buf2194, *(uint32_t*)buf2195, *(uint32_t*)buf2196, *(uint32_t*)buf2197);
-    *(short*)buf2198 = rsGetElementAt_short(*(rs_allocation*)buf2199, *(uint32_t*)buf2200, *(uint32_t*)buf2201, *(uint32_t*)buf2202);
-    *(short2*)buf2203 = rsGetElementAt_short2(*(rs_allocation*)buf2204, *(uint32_t*)buf2205, *(uint32_t*)buf2206, *(uint32_t*)buf2207);
-    *(short3*)buf2208 = rsGetElementAt_short3(*(rs_allocation*)buf2209, *(uint32_t*)buf2210, *(uint32_t*)buf2211, *(uint32_t*)buf2212);
-    *(short4*)buf2213 = rsGetElementAt_short4(*(rs_allocation*)buf2214, *(uint32_t*)buf2215, *(uint32_t*)buf2216, *(uint32_t*)buf2217);
-    *(ushort*)buf2218 = rsGetElementAt_ushort(*(rs_allocation*)buf2219, *(uint32_t*)buf2220, *(uint32_t*)buf2221, *(uint32_t*)buf2222);
-    *(ushort2*)buf2223 = rsGetElementAt_ushort2(*(rs_allocation*)buf2224, *(uint32_t*)buf2225, *(uint32_t*)buf2226, *(uint32_t*)buf2227);
-    *(ushort3*)buf2228 = rsGetElementAt_ushort3(*(rs_allocation*)buf2229, *(uint32_t*)buf2230, *(uint32_t*)buf2231, *(uint32_t*)buf2232);
-    *(ushort4*)buf2233 = rsGetElementAt_ushort4(*(rs_allocation*)buf2234, *(uint32_t*)buf2235, *(uint32_t*)buf2236, *(uint32_t*)buf2237);
-    *(int*)buf2238 = rsGetElementAt_int(*(rs_allocation*)buf2239, *(uint32_t*)buf2240, *(uint32_t*)buf2241, *(uint32_t*)buf2242);
-    *(int2*)buf2243 = rsGetElementAt_int2(*(rs_allocation*)buf2244, *(uint32_t*)buf2245, *(uint32_t*)buf2246, *(uint32_t*)buf2247);
-    *(int3*)buf2248 = rsGetElementAt_int3(*(rs_allocation*)buf2249, *(uint32_t*)buf2250, *(uint32_t*)buf2251, *(uint32_t*)buf2252);
-    *(int4*)buf2253 = rsGetElementAt_int4(*(rs_allocation*)buf2254, *(uint32_t*)buf2255, *(uint32_t*)buf2256, *(uint32_t*)buf2257);
-    *(uint*)buf2258 = rsGetElementAt_uint(*(rs_allocation*)buf2259, *(uint32_t*)buf2260, *(uint32_t*)buf2261, *(uint32_t*)buf2262);
-    *(uint2*)buf2263 = rsGetElementAt_uint2(*(rs_allocation*)buf2264, *(uint32_t*)buf2265, *(uint32_t*)buf2266, *(uint32_t*)buf2267);
-    *(uint3*)buf2268 = rsGetElementAt_uint3(*(rs_allocation*)buf2269, *(uint32_t*)buf2270, *(uint32_t*)buf2271, *(uint32_t*)buf2272);
-    *(uint4*)buf2273 = rsGetElementAt_uint4(*(rs_allocation*)buf2274, *(uint32_t*)buf2275, *(uint32_t*)buf2276, *(uint32_t*)buf2277);
-    *(long*)buf2278 = rsGetElementAt_long(*(rs_allocation*)buf2279, *(uint32_t*)buf2280, *(uint32_t*)buf2281, *(uint32_t*)buf2282);
-    *(long2*)buf2283 = rsGetElementAt_long2(*(rs_allocation*)buf2284, *(uint32_t*)buf2285, *(uint32_t*)buf2286, *(uint32_t*)buf2287);
-    *(long3*)buf2288 = rsGetElementAt_long3(*(rs_allocation*)buf2289, *(uint32_t*)buf2290, *(uint32_t*)buf2291, *(uint32_t*)buf2292);
-    *(long4*)buf2293 = rsGetElementAt_long4(*(rs_allocation*)buf2294, *(uint32_t*)buf2295, *(uint32_t*)buf2296, *(uint32_t*)buf2297);
-    *(ulong*)buf2298 = rsGetElementAt_ulong(*(rs_allocation*)buf2299, *(uint32_t*)buf2300, *(uint32_t*)buf2301, *(uint32_t*)buf2302);
-    *(ulong2*)buf2303 = rsGetElementAt_ulong2(*(rs_allocation*)buf2304, *(uint32_t*)buf2305, *(uint32_t*)buf2306, *(uint32_t*)buf2307);
-    *(ulong3*)buf2308 = rsGetElementAt_ulong3(*(rs_allocation*)buf2309, *(uint32_t*)buf2310, *(uint32_t*)buf2311, *(uint32_t*)buf2312);
-    *(ulong4*)buf2313 = rsGetElementAt_ulong4(*(rs_allocation*)buf2314, *(uint32_t*)buf2315, *(uint32_t*)buf2316, *(uint32_t*)buf2317);
-    *(uchar*)buf2318 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf2319, *(uint32_t*)buf2320, *(uint32_t*)buf2321);
-    *(uchar*)buf2322 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf2323, *(uint32_t*)buf2324, *(uint32_t*)buf2325);
-    *(uchar*)buf2326 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf2327, *(uint32_t*)buf2328, *(uint32_t*)buf2329);
-    *(bool*)buf2330 = rsIsObject(*(rs_element*)buf2331);
-    *(bool*)buf2332 = rsIsObject(*(rs_type*)buf2333);
-    *(bool*)buf2334 = rsIsObject(*(rs_allocation*)buf2335);
-    *(bool*)buf2336 = rsIsObject(*(rs_sampler*)buf2337);
-    *(bool*)buf2338 = rsIsObject(*(rs_script*)buf2339);
+    rsDebug((const char*) buf1693, *(double*)buf1694);
+    rsDebug((const char*) buf1695, *(int*)buf1696);
+    rsDebug((const char*) buf1697, *(uint*)buf1698);
+    rsDebug((const char*) buf1699, *(long*)buf1700);
+    rsDebug((const char*) buf1701, *(ulong*)buf1702);
+    rsDebug((const char*) buf1703, *(int2*)buf1704);
+    rsDebug((const char*) buf1705, *(int3*)buf1706);
+    rsDebug((const char*) buf1707, *(int4*)buf1708);
+    rsDebug((const char*) buf1709, *(uint2*)buf1710);
+    rsDebug((const char*) buf1711, *(uint3*)buf1712);
+    rsDebug((const char*) buf1713, *(uint4*)buf1714);
+    rsDebug((const char*) buf1715, *(long2*)buf1716);
+    rsDebug((const char*) buf1717, *(long3*)buf1718);
+    rsDebug((const char*) buf1719, *(long4*)buf1720);
+    rsDebug((const char*) buf1721, *(ulong2*)buf1722);
+    rsDebug((const char*) buf1723, *(ulong3*)buf1724);
+    rsDebug((const char*) buf1725, *(ulong4*)buf1726);
+    rsDebug((const char*) buf1727, *(float*)buf1728);
+    rsDebug((const char*) buf1729, *(float2*)buf1730);
+    rsDebug((const char*) buf1731, *(float3*)buf1732);
+    rsDebug((const char*) buf1733, *(float4*)buf1734);
+    rsDebug((const char*) buf1735, *(char*)buf1736);
+    rsDebug((const char*) buf1737, *(char2*)buf1738);
+    rsDebug((const char*) buf1739, *(char3*)buf1740);
+    rsDebug((const char*) buf1741, *(char4*)buf1742);
+    rsDebug((const char*) buf1743, *(uchar*)buf1744);
+    rsDebug((const char*) buf1745, *(uchar2*)buf1746);
+    rsDebug((const char*) buf1747, *(uchar3*)buf1748);
+    rsDebug((const char*) buf1749, *(uchar4*)buf1750);
+    rsDebug((const char*) buf1751, *(short*)buf1752);
+    rsDebug((const char*) buf1753, *(short2*)buf1754);
+    rsDebug((const char*) buf1755, *(short3*)buf1756);
+    rsDebug((const char*) buf1757, *(short4*)buf1758);
+    rsDebug((const char*) buf1759, *(ushort*)buf1760);
+    rsDebug((const char*) buf1761, *(ushort2*)buf1762);
+    rsDebug((const char*) buf1763, *(ushort3*)buf1764);
+    rsDebug((const char*) buf1765, *(ushort4*)buf1766);
+    rsDebug((const char*) buf1767, *(float*)buf1768, *(float*)buf1769);
+    rsDebug((const char*) buf1770, *(float*)buf1771, *(float*)buf1772, *(float*)buf1773);
+    rsDebug((const char*) buf1774, *(float*)buf1775, *(float*)buf1776, *(float*)buf1777, *(float*)buf1778);
+    rsDebug((const char*) buf1779, *(long long*)buf1780);
+    rsDebug((const char*) buf1781, *(unsigned long long*)buf1782);
+    rsDebug((const char*) buf1783, (const void*) buf1784);
+    rsDebug((const char*) buf1785, (const rs_matrix4x4*) buf1786);
+    rsDebug((const char*) buf1787, (const rs_matrix3x3*) buf1788);
+    rsDebug((const char*) buf1789, (const rs_matrix2x2*) buf1790);
+    *(uint32_t*)buf1791 = rsElementGetBytesSize(*(rs_element*)buf1792);
+    *(rs_data_kind*)buf1793 = rsElementGetDataKind(*(rs_element*)buf1794);
+    *(rs_data_type*)buf1795 = rsElementGetDataType(*(rs_element*)buf1796);
+    *(rs_element*)buf1797 = rsElementGetSubElement(*(rs_element*)buf1798, *(uint32_t*)buf1799);
+    *(uint32_t*)buf1800 = rsElementGetSubElementArraySize(*(rs_element*)buf1801, *(uint32_t*)buf1802);
+    *(uint32_t*)buf1803 = rsElementGetSubElementCount(*(rs_element*)buf1804);
+    *(uint32_t*)buf1805 = rsElementGetSubElementName(*(rs_element*)buf1806, *(uint32_t*)buf1807, (char*) buf1808, *(uint32_t*)buf1809);
+    *(uint32_t*)buf1810 = rsElementGetSubElementNameLength(*(rs_element*)buf1811, *(uint32_t*)buf1812);
+    *(uint32_t*)buf1813 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf1814, *(uint32_t*)buf1815);
+    *(uint32_t*)buf1816 = rsElementGetVectorSize(*(rs_element*)buf1817);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf1818, (float4*) buf1819, (float4*) buf1820, (float4*) buf1821, (float4*) buf1822, (float4*) buf1823, (float4*) buf1824);
+    rsForEach(*(rs_script*)buf1825, *(rs_allocation*)buf1826, *(rs_allocation*)buf1827, (const void*) buf1828, *(size_t*)buf1829, (const rs_script_call_t*) buf1830);
+    rsForEach(*(rs_script*)buf1831, *(rs_allocation*)buf1832, *(rs_allocation*)buf1833, (const void*) buf1834, *(size_t*)buf1835);
+    rsForEach(*(rs_script*)buf1836, *(rs_allocation*)buf1837, *(rs_allocation*)buf1838);
+    *(float*)buf1839 = rsFrac(*(float*)buf1840);
+    *(rs_allocation*)buf1841 = rsGetAllocation((const void*) buf1842);
+    *(float*)buf1843 = rsGetDt();
+    *(const void**)buf1844 = rsGetElementAt(*(rs_allocation*)buf1845, *(uint32_t*)buf1846);
+    *(const void**)buf1847 = rsGetElementAt(*(rs_allocation*)buf1848, *(uint32_t*)buf1849, *(uint32_t*)buf1850);
+    *(const void**)buf1851 = rsGetElementAt(*(rs_allocation*)buf1852, *(uint32_t*)buf1853, *(uint32_t*)buf1854, *(uint32_t*)buf1855);
+    *(float*)buf1856 = rsGetElementAt_float(*(rs_allocation*)buf1857, *(uint32_t*)buf1858);
+    *(float2*)buf1859 = rsGetElementAt_float2(*(rs_allocation*)buf1860, *(uint32_t*)buf1861);
+    *(float3*)buf1862 = rsGetElementAt_float3(*(rs_allocation*)buf1863, *(uint32_t*)buf1864);
+    *(float4*)buf1865 = rsGetElementAt_float4(*(rs_allocation*)buf1866, *(uint32_t*)buf1867);
+    *(double*)buf1868 = rsGetElementAt_double(*(rs_allocation*)buf1869, *(uint32_t*)buf1870);
+    *(double2*)buf1871 = rsGetElementAt_double2(*(rs_allocation*)buf1872, *(uint32_t*)buf1873);
+    *(double3*)buf1874 = rsGetElementAt_double3(*(rs_allocation*)buf1875, *(uint32_t*)buf1876);
+    *(double4*)buf1877 = rsGetElementAt_double4(*(rs_allocation*)buf1878, *(uint32_t*)buf1879);
+    *(char*)buf1880 = rsGetElementAt_char(*(rs_allocation*)buf1881, *(uint32_t*)buf1882);
+    *(char2*)buf1883 = rsGetElementAt_char2(*(rs_allocation*)buf1884, *(uint32_t*)buf1885);
+    *(char3*)buf1886 = rsGetElementAt_char3(*(rs_allocation*)buf1887, *(uint32_t*)buf1888);
+    *(char4*)buf1889 = rsGetElementAt_char4(*(rs_allocation*)buf1890, *(uint32_t*)buf1891);
+    *(uchar*)buf1892 = rsGetElementAt_uchar(*(rs_allocation*)buf1893, *(uint32_t*)buf1894);
+    *(uchar2*)buf1895 = rsGetElementAt_uchar2(*(rs_allocation*)buf1896, *(uint32_t*)buf1897);
+    *(uchar3*)buf1898 = rsGetElementAt_uchar3(*(rs_allocation*)buf1899, *(uint32_t*)buf1900);
+    *(uchar4*)buf1901 = rsGetElementAt_uchar4(*(rs_allocation*)buf1902, *(uint32_t*)buf1903);
+    *(short*)buf1904 = rsGetElementAt_short(*(rs_allocation*)buf1905, *(uint32_t*)buf1906);
+    *(short2*)buf1907 = rsGetElementAt_short2(*(rs_allocation*)buf1908, *(uint32_t*)buf1909);
+    *(short3*)buf1910 = rsGetElementAt_short3(*(rs_allocation*)buf1911, *(uint32_t*)buf1912);
+    *(short4*)buf1913 = rsGetElementAt_short4(*(rs_allocation*)buf1914, *(uint32_t*)buf1915);
+    *(ushort*)buf1916 = rsGetElementAt_ushort(*(rs_allocation*)buf1917, *(uint32_t*)buf1918);
+    *(ushort2*)buf1919 = rsGetElementAt_ushort2(*(rs_allocation*)buf1920, *(uint32_t*)buf1921);
+    *(ushort3*)buf1922 = rsGetElementAt_ushort3(*(rs_allocation*)buf1923, *(uint32_t*)buf1924);
+    *(ushort4*)buf1925 = rsGetElementAt_ushort4(*(rs_allocation*)buf1926, *(uint32_t*)buf1927);
+    *(int*)buf1928 = rsGetElementAt_int(*(rs_allocation*)buf1929, *(uint32_t*)buf1930);
+    *(int2*)buf1931 = rsGetElementAt_int2(*(rs_allocation*)buf1932, *(uint32_t*)buf1933);
+    *(int3*)buf1934 = rsGetElementAt_int3(*(rs_allocation*)buf1935, *(uint32_t*)buf1936);
+    *(int4*)buf1937 = rsGetElementAt_int4(*(rs_allocation*)buf1938, *(uint32_t*)buf1939);
+    *(uint*)buf1940 = rsGetElementAt_uint(*(rs_allocation*)buf1941, *(uint32_t*)buf1942);
+    *(uint2*)buf1943 = rsGetElementAt_uint2(*(rs_allocation*)buf1944, *(uint32_t*)buf1945);
+    *(uint3*)buf1946 = rsGetElementAt_uint3(*(rs_allocation*)buf1947, *(uint32_t*)buf1948);
+    *(uint4*)buf1949 = rsGetElementAt_uint4(*(rs_allocation*)buf1950, *(uint32_t*)buf1951);
+    *(long*)buf1952 = rsGetElementAt_long(*(rs_allocation*)buf1953, *(uint32_t*)buf1954);
+    *(long2*)buf1955 = rsGetElementAt_long2(*(rs_allocation*)buf1956, *(uint32_t*)buf1957);
+    *(long3*)buf1958 = rsGetElementAt_long3(*(rs_allocation*)buf1959, *(uint32_t*)buf1960);
+    *(long4*)buf1961 = rsGetElementAt_long4(*(rs_allocation*)buf1962, *(uint32_t*)buf1963);
+    *(ulong*)buf1964 = rsGetElementAt_ulong(*(rs_allocation*)buf1965, *(uint32_t*)buf1966);
+    *(ulong2*)buf1967 = rsGetElementAt_ulong2(*(rs_allocation*)buf1968, *(uint32_t*)buf1969);
+    *(ulong3*)buf1970 = rsGetElementAt_ulong3(*(rs_allocation*)buf1971, *(uint32_t*)buf1972);
+    *(ulong4*)buf1973 = rsGetElementAt_ulong4(*(rs_allocation*)buf1974, *(uint32_t*)buf1975);
+    *(float*)buf1976 = rsGetElementAt_float(*(rs_allocation*)buf1977, *(uint32_t*)buf1978, *(uint32_t*)buf1979);
+    *(float2*)buf1980 = rsGetElementAt_float2(*(rs_allocation*)buf1981, *(uint32_t*)buf1982, *(uint32_t*)buf1983);
+    *(float3*)buf1984 = rsGetElementAt_float3(*(rs_allocation*)buf1985, *(uint32_t*)buf1986, *(uint32_t*)buf1987);
+    *(float4*)buf1988 = rsGetElementAt_float4(*(rs_allocation*)buf1989, *(uint32_t*)buf1990, *(uint32_t*)buf1991);
+    *(double*)buf1992 = rsGetElementAt_double(*(rs_allocation*)buf1993, *(uint32_t*)buf1994, *(uint32_t*)buf1995);
+    *(double2*)buf1996 = rsGetElementAt_double2(*(rs_allocation*)buf1997, *(uint32_t*)buf1998, *(uint32_t*)buf1999);
+    *(double3*)buf2000 = rsGetElementAt_double3(*(rs_allocation*)buf2001, *(uint32_t*)buf2002, *(uint32_t*)buf2003);
+    *(double4*)buf2004 = rsGetElementAt_double4(*(rs_allocation*)buf2005, *(uint32_t*)buf2006, *(uint32_t*)buf2007);
+    *(char*)buf2008 = rsGetElementAt_char(*(rs_allocation*)buf2009, *(uint32_t*)buf2010, *(uint32_t*)buf2011);
+    *(char2*)buf2012 = rsGetElementAt_char2(*(rs_allocation*)buf2013, *(uint32_t*)buf2014, *(uint32_t*)buf2015);
+    *(char3*)buf2016 = rsGetElementAt_char3(*(rs_allocation*)buf2017, *(uint32_t*)buf2018, *(uint32_t*)buf2019);
+    *(char4*)buf2020 = rsGetElementAt_char4(*(rs_allocation*)buf2021, *(uint32_t*)buf2022, *(uint32_t*)buf2023);
+    *(uchar*)buf2024 = rsGetElementAt_uchar(*(rs_allocation*)buf2025, *(uint32_t*)buf2026, *(uint32_t*)buf2027);
+    *(uchar2*)buf2028 = rsGetElementAt_uchar2(*(rs_allocation*)buf2029, *(uint32_t*)buf2030, *(uint32_t*)buf2031);
+    *(uchar3*)buf2032 = rsGetElementAt_uchar3(*(rs_allocation*)buf2033, *(uint32_t*)buf2034, *(uint32_t*)buf2035);
+    *(uchar4*)buf2036 = rsGetElementAt_uchar4(*(rs_allocation*)buf2037, *(uint32_t*)buf2038, *(uint32_t*)buf2039);
+    *(short*)buf2040 = rsGetElementAt_short(*(rs_allocation*)buf2041, *(uint32_t*)buf2042, *(uint32_t*)buf2043);
+    *(short2*)buf2044 = rsGetElementAt_short2(*(rs_allocation*)buf2045, *(uint32_t*)buf2046, *(uint32_t*)buf2047);
+    *(short3*)buf2048 = rsGetElementAt_short3(*(rs_allocation*)buf2049, *(uint32_t*)buf2050, *(uint32_t*)buf2051);
+    *(short4*)buf2052 = rsGetElementAt_short4(*(rs_allocation*)buf2053, *(uint32_t*)buf2054, *(uint32_t*)buf2055);
+    *(ushort*)buf2056 = rsGetElementAt_ushort(*(rs_allocation*)buf2057, *(uint32_t*)buf2058, *(uint32_t*)buf2059);
+    *(ushort2*)buf2060 = rsGetElementAt_ushort2(*(rs_allocation*)buf2061, *(uint32_t*)buf2062, *(uint32_t*)buf2063);
+    *(ushort3*)buf2064 = rsGetElementAt_ushort3(*(rs_allocation*)buf2065, *(uint32_t*)buf2066, *(uint32_t*)buf2067);
+    *(ushort4*)buf2068 = rsGetElementAt_ushort4(*(rs_allocation*)buf2069, *(uint32_t*)buf2070, *(uint32_t*)buf2071);
+    *(int*)buf2072 = rsGetElementAt_int(*(rs_allocation*)buf2073, *(uint32_t*)buf2074, *(uint32_t*)buf2075);
+    *(int2*)buf2076 = rsGetElementAt_int2(*(rs_allocation*)buf2077, *(uint32_t*)buf2078, *(uint32_t*)buf2079);
+    *(int3*)buf2080 = rsGetElementAt_int3(*(rs_allocation*)buf2081, *(uint32_t*)buf2082, *(uint32_t*)buf2083);
+    *(int4*)buf2084 = rsGetElementAt_int4(*(rs_allocation*)buf2085, *(uint32_t*)buf2086, *(uint32_t*)buf2087);
+    *(uint*)buf2088 = rsGetElementAt_uint(*(rs_allocation*)buf2089, *(uint32_t*)buf2090, *(uint32_t*)buf2091);
+    *(uint2*)buf2092 = rsGetElementAt_uint2(*(rs_allocation*)buf2093, *(uint32_t*)buf2094, *(uint32_t*)buf2095);
+    *(uint3*)buf2096 = rsGetElementAt_uint3(*(rs_allocation*)buf2097, *(uint32_t*)buf2098, *(uint32_t*)buf2099);
+    *(uint4*)buf2100 = rsGetElementAt_uint4(*(rs_allocation*)buf2101, *(uint32_t*)buf2102, *(uint32_t*)buf2103);
+    *(long*)buf2104 = rsGetElementAt_long(*(rs_allocation*)buf2105, *(uint32_t*)buf2106, *(uint32_t*)buf2107);
+    *(long2*)buf2108 = rsGetElementAt_long2(*(rs_allocation*)buf2109, *(uint32_t*)buf2110, *(uint32_t*)buf2111);
+    *(long3*)buf2112 = rsGetElementAt_long3(*(rs_allocation*)buf2113, *(uint32_t*)buf2114, *(uint32_t*)buf2115);
+    *(long4*)buf2116 = rsGetElementAt_long4(*(rs_allocation*)buf2117, *(uint32_t*)buf2118, *(uint32_t*)buf2119);
+    *(ulong*)buf2120 = rsGetElementAt_ulong(*(rs_allocation*)buf2121, *(uint32_t*)buf2122, *(uint32_t*)buf2123);
+    *(ulong2*)buf2124 = rsGetElementAt_ulong2(*(rs_allocation*)buf2125, *(uint32_t*)buf2126, *(uint32_t*)buf2127);
+    *(ulong3*)buf2128 = rsGetElementAt_ulong3(*(rs_allocation*)buf2129, *(uint32_t*)buf2130, *(uint32_t*)buf2131);
+    *(ulong4*)buf2132 = rsGetElementAt_ulong4(*(rs_allocation*)buf2133, *(uint32_t*)buf2134, *(uint32_t*)buf2135);
+    *(float*)buf2136 = rsGetElementAt_float(*(rs_allocation*)buf2137, *(uint32_t*)buf2138, *(uint32_t*)buf2139, *(uint32_t*)buf2140);
+    *(float2*)buf2141 = rsGetElementAt_float2(*(rs_allocation*)buf2142, *(uint32_t*)buf2143, *(uint32_t*)buf2144, *(uint32_t*)buf2145);
+    *(float3*)buf2146 = rsGetElementAt_float3(*(rs_allocation*)buf2147, *(uint32_t*)buf2148, *(uint32_t*)buf2149, *(uint32_t*)buf2150);
+    *(float4*)buf2151 = rsGetElementAt_float4(*(rs_allocation*)buf2152, *(uint32_t*)buf2153, *(uint32_t*)buf2154, *(uint32_t*)buf2155);
+    *(double*)buf2156 = rsGetElementAt_double(*(rs_allocation*)buf2157, *(uint32_t*)buf2158, *(uint32_t*)buf2159, *(uint32_t*)buf2160);
+    *(double2*)buf2161 = rsGetElementAt_double2(*(rs_allocation*)buf2162, *(uint32_t*)buf2163, *(uint32_t*)buf2164, *(uint32_t*)buf2165);
+    *(double3*)buf2166 = rsGetElementAt_double3(*(rs_allocation*)buf2167, *(uint32_t*)buf2168, *(uint32_t*)buf2169, *(uint32_t*)buf2170);
+    *(double4*)buf2171 = rsGetElementAt_double4(*(rs_allocation*)buf2172, *(uint32_t*)buf2173, *(uint32_t*)buf2174, *(uint32_t*)buf2175);
+    *(char*)buf2176 = rsGetElementAt_char(*(rs_allocation*)buf2177, *(uint32_t*)buf2178, *(uint32_t*)buf2179, *(uint32_t*)buf2180);
+    *(char2*)buf2181 = rsGetElementAt_char2(*(rs_allocation*)buf2182, *(uint32_t*)buf2183, *(uint32_t*)buf2184, *(uint32_t*)buf2185);
+    *(char3*)buf2186 = rsGetElementAt_char3(*(rs_allocation*)buf2187, *(uint32_t*)buf2188, *(uint32_t*)buf2189, *(uint32_t*)buf2190);
+    *(char4*)buf2191 = rsGetElementAt_char4(*(rs_allocation*)buf2192, *(uint32_t*)buf2193, *(uint32_t*)buf2194, *(uint32_t*)buf2195);
+    *(uchar*)buf2196 = rsGetElementAt_uchar(*(rs_allocation*)buf2197, *(uint32_t*)buf2198, *(uint32_t*)buf2199, *(uint32_t*)buf2200);
+    *(uchar2*)buf2201 = rsGetElementAt_uchar2(*(rs_allocation*)buf2202, *(uint32_t*)buf2203, *(uint32_t*)buf2204, *(uint32_t*)buf2205);
+    *(uchar3*)buf2206 = rsGetElementAt_uchar3(*(rs_allocation*)buf2207, *(uint32_t*)buf2208, *(uint32_t*)buf2209, *(uint32_t*)buf2210);
+    *(uchar4*)buf2211 = rsGetElementAt_uchar4(*(rs_allocation*)buf2212, *(uint32_t*)buf2213, *(uint32_t*)buf2214, *(uint32_t*)buf2215);
+    *(short*)buf2216 = rsGetElementAt_short(*(rs_allocation*)buf2217, *(uint32_t*)buf2218, *(uint32_t*)buf2219, *(uint32_t*)buf2220);
+    *(short2*)buf2221 = rsGetElementAt_short2(*(rs_allocation*)buf2222, *(uint32_t*)buf2223, *(uint32_t*)buf2224, *(uint32_t*)buf2225);
+    *(short3*)buf2226 = rsGetElementAt_short3(*(rs_allocation*)buf2227, *(uint32_t*)buf2228, *(uint32_t*)buf2229, *(uint32_t*)buf2230);
+    *(short4*)buf2231 = rsGetElementAt_short4(*(rs_allocation*)buf2232, *(uint32_t*)buf2233, *(uint32_t*)buf2234, *(uint32_t*)buf2235);
+    *(ushort*)buf2236 = rsGetElementAt_ushort(*(rs_allocation*)buf2237, *(uint32_t*)buf2238, *(uint32_t*)buf2239, *(uint32_t*)buf2240);
+    *(ushort2*)buf2241 = rsGetElementAt_ushort2(*(rs_allocation*)buf2242, *(uint32_t*)buf2243, *(uint32_t*)buf2244, *(uint32_t*)buf2245);
+    *(ushort3*)buf2246 = rsGetElementAt_ushort3(*(rs_allocation*)buf2247, *(uint32_t*)buf2248, *(uint32_t*)buf2249, *(uint32_t*)buf2250);
+    *(ushort4*)buf2251 = rsGetElementAt_ushort4(*(rs_allocation*)buf2252, *(uint32_t*)buf2253, *(uint32_t*)buf2254, *(uint32_t*)buf2255);
+    *(int*)buf2256 = rsGetElementAt_int(*(rs_allocation*)buf2257, *(uint32_t*)buf2258, *(uint32_t*)buf2259, *(uint32_t*)buf2260);
+    *(int2*)buf2261 = rsGetElementAt_int2(*(rs_allocation*)buf2262, *(uint32_t*)buf2263, *(uint32_t*)buf2264, *(uint32_t*)buf2265);
+    *(int3*)buf2266 = rsGetElementAt_int3(*(rs_allocation*)buf2267, *(uint32_t*)buf2268, *(uint32_t*)buf2269, *(uint32_t*)buf2270);
+    *(int4*)buf2271 = rsGetElementAt_int4(*(rs_allocation*)buf2272, *(uint32_t*)buf2273, *(uint32_t*)buf2274, *(uint32_t*)buf2275);
+    *(uint*)buf2276 = rsGetElementAt_uint(*(rs_allocation*)buf2277, *(uint32_t*)buf2278, *(uint32_t*)buf2279, *(uint32_t*)buf2280);
+    *(uint2*)buf2281 = rsGetElementAt_uint2(*(rs_allocation*)buf2282, *(uint32_t*)buf2283, *(uint32_t*)buf2284, *(uint32_t*)buf2285);
+    *(uint3*)buf2286 = rsGetElementAt_uint3(*(rs_allocation*)buf2287, *(uint32_t*)buf2288, *(uint32_t*)buf2289, *(uint32_t*)buf2290);
+    *(uint4*)buf2291 = rsGetElementAt_uint4(*(rs_allocation*)buf2292, *(uint32_t*)buf2293, *(uint32_t*)buf2294, *(uint32_t*)buf2295);
+    *(long*)buf2296 = rsGetElementAt_long(*(rs_allocation*)buf2297, *(uint32_t*)buf2298, *(uint32_t*)buf2299, *(uint32_t*)buf2300);
+    *(long2*)buf2301 = rsGetElementAt_long2(*(rs_allocation*)buf2302, *(uint32_t*)buf2303, *(uint32_t*)buf2304, *(uint32_t*)buf2305);
+    *(long3*)buf2306 = rsGetElementAt_long3(*(rs_allocation*)buf2307, *(uint32_t*)buf2308, *(uint32_t*)buf2309, *(uint32_t*)buf2310);
+    *(long4*)buf2311 = rsGetElementAt_long4(*(rs_allocation*)buf2312, *(uint32_t*)buf2313, *(uint32_t*)buf2314, *(uint32_t*)buf2315);
+    *(ulong*)buf2316 = rsGetElementAt_ulong(*(rs_allocation*)buf2317, *(uint32_t*)buf2318, *(uint32_t*)buf2319, *(uint32_t*)buf2320);
+    *(ulong2*)buf2321 = rsGetElementAt_ulong2(*(rs_allocation*)buf2322, *(uint32_t*)buf2323, *(uint32_t*)buf2324, *(uint32_t*)buf2325);
+    *(ulong3*)buf2326 = rsGetElementAt_ulong3(*(rs_allocation*)buf2327, *(uint32_t*)buf2328, *(uint32_t*)buf2329, *(uint32_t*)buf2330);
+    *(ulong4*)buf2331 = rsGetElementAt_ulong4(*(rs_allocation*)buf2332, *(uint32_t*)buf2333, *(uint32_t*)buf2334, *(uint32_t*)buf2335);
+    *(uchar*)buf2336 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf2337, *(uint32_t*)buf2338, *(uint32_t*)buf2339);
+    *(uchar*)buf2340 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf2341, *(uint32_t*)buf2342, *(uint32_t*)buf2343);
+    *(uchar*)buf2344 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf2345, *(uint32_t*)buf2346, *(uint32_t*)buf2347);
+    *(bool*)buf2348 = rsIsObject(*(rs_element*)buf2349);
+    *(bool*)buf2350 = rsIsObject(*(rs_type*)buf2351);
+    *(bool*)buf2352 = rsIsObject(*(rs_allocation*)buf2353);
+    *(bool*)buf2354 = rsIsObject(*(rs_sampler*)buf2355);
+    *(bool*)buf2356 = rsIsObject(*(rs_script*)buf2357);
 #ifndef __LP64__
-    *(bool*)buf2340 = rsIsObject(*(rs_mesh*)buf2341);
-    *(bool*)buf2342 = rsIsObject(*(rs_program_fragment*)buf2343);
-    *(bool*)buf2344 = rsIsObject(*(rs_program_vertex*)buf2345);
-    *(bool*)buf2346 = rsIsObject(*(rs_program_raster*)buf2347);
-    *(bool*)buf2348 = rsIsObject(*(rs_program_store*)buf2349);
-    *(bool*)buf2350 = rsIsObject(*(rs_font*)buf2351);
+    *(bool*)buf2358 = rsIsObject(*(rs_mesh*)buf2359);
+    *(bool*)buf2360 = rsIsObject(*(rs_program_fragment*)buf2361);
+    *(bool*)buf2362 = rsIsObject(*(rs_program_vertex*)buf2363);
+    *(bool*)buf2364 = rsIsObject(*(rs_program_raster*)buf2365);
+    *(bool*)buf2366 = rsIsObject(*(rs_program_store*)buf2367);
+    *(bool*)buf2368 = rsIsObject(*(rs_font*)buf2369);
 #endif
-    *(bool*)buf2352 = rsIsSphereInFrustum((float4*) buf2353, (float4*) buf2354, (float4*) buf2355, (float4*) buf2356, (float4*) buf2357, (float4*) buf2358, (float4*) buf2359);
-    *(rs_tm**)buf2360 = rsLocaltime((rs_tm*) buf2361, (const rs_time_t*) buf2362);
-    *(float*)buf2363 = rsMatrixGet((const rs_matrix4x4*) buf2364, *(uint32_t*)buf2365, *(uint32_t*)buf2366);
-    *(float*)buf2367 = rsMatrixGet((const rs_matrix3x3*) buf2368, *(uint32_t*)buf2369, *(uint32_t*)buf2370);
-    *(float*)buf2371 = rsMatrixGet((const rs_matrix2x2*) buf2372, *(uint32_t*)buf2373, *(uint32_t*)buf2374);
-    *(bool*)buf2375 = rsMatrixInverse((rs_matrix4x4*) buf2376);
-    *(bool*)buf2377 = rsMatrixInverseTranspose((rs_matrix4x4*) buf2378);
-    rsMatrixLoad((rs_matrix4x4*) buf2379, (const float*) buf2380);
-    rsMatrixLoad((rs_matrix3x3*) buf2381, (const float*) buf2382);
-    rsMatrixLoad((rs_matrix2x2*) buf2383, (const float*) buf2384);
-    rsMatrixLoad((rs_matrix4x4*) buf2385, (const rs_matrix4x4*) buf2386);
-    rsMatrixLoad((rs_matrix3x3*) buf2387, (const rs_matrix3x3*) buf2388);
-    rsMatrixLoad((rs_matrix2x2*) buf2389, (const rs_matrix2x2*) buf2390);
-    rsMatrixLoad((rs_matrix4x4*) buf2391, (const rs_matrix3x3*) buf2392);
-    rsMatrixLoad((rs_matrix4x4*) buf2393, (const rs_matrix2x2*) buf2394);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf2395, *(float*)buf2396, *(float*)buf2397, *(float*)buf2398, *(float*)buf2399, *(float*)buf2400, *(float*)buf2401);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf2402);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf2403);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf2404);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf2405, (const rs_matrix4x4*) buf2406, (const rs_matrix4x4*) buf2407);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf2408, (const rs_matrix3x3*) buf2409, (const rs_matrix3x3*) buf2410);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf2411, (const rs_matrix2x2*) buf2412, (const rs_matrix2x2*) buf2413);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf2414, *(float*)buf2415, *(float*)buf2416, *(float*)buf2417, *(float*)buf2418, *(float*)buf2419, *(float*)buf2420);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf2421, *(float*)buf2422, *(float*)buf2423, *(float*)buf2424, *(float*)buf2425);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf2426, *(float*)buf2427, *(float*)buf2428, *(float*)buf2429, *(float*)buf2430);
-    rsMatrixLoadScale((rs_matrix4x4*) buf2431, *(float*)buf2432, *(float*)buf2433, *(float*)buf2434);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf2435, *(float*)buf2436, *(float*)buf2437, *(float*)buf2438);
-    rsMatrixMultiply((rs_matrix4x4*) buf2439, (const rs_matrix4x4*) buf2440);
-    rsMatrixMultiply((rs_matrix3x3*) buf2441, (const rs_matrix3x3*) buf2442);
-    rsMatrixMultiply((rs_matrix2x2*) buf2443, (const rs_matrix2x2*) buf2444);
-    *(float4*)buf2445 = rsMatrixMultiply((const rs_matrix4x4*) buf2446, *(float4*)buf2447);
-    *(float4*)buf2448 = rsMatrixMultiply((const rs_matrix4x4*) buf2449, *(float3*)buf2450);
-    *(float4*)buf2451 = rsMatrixMultiply((const rs_matrix4x4*) buf2452, *(float2*)buf2453);
-    *(float3*)buf2454 = rsMatrixMultiply((const rs_matrix3x3*) buf2455, *(float3*)buf2456);
-    *(float3*)buf2457 = rsMatrixMultiply((const rs_matrix3x3*) buf2458, *(float2*)buf2459);
-    *(float2*)buf2460 = rsMatrixMultiply((const rs_matrix2x2*) buf2461, *(float2*)buf2462);
-    rsMatrixRotate((rs_matrix4x4*) buf2463, *(float*)buf2464, *(float*)buf2465, *(float*)buf2466, *(float*)buf2467);
-    rsMatrixScale((rs_matrix4x4*) buf2468, *(float*)buf2469, *(float*)buf2470, *(float*)buf2471);
-    rsMatrixSet((rs_matrix4x4*) buf2472, *(uint32_t*)buf2473, *(uint32_t*)buf2474, *(float*)buf2475);
-    rsMatrixSet((rs_matrix3x3*) buf2476, *(uint32_t*)buf2477, *(uint32_t*)buf2478, *(float*)buf2479);
-    rsMatrixSet((rs_matrix2x2*) buf2480, *(uint32_t*)buf2481, *(uint32_t*)buf2482, *(float*)buf2483);
-    rsMatrixTranslate((rs_matrix4x4*) buf2484, *(float*)buf2485, *(float*)buf2486, *(float*)buf2487);
-    rsMatrixTranspose((rs_matrix4x4*) buf2488);
-    rsMatrixTranspose((rs_matrix3x3*) buf2489);
-    rsMatrixTranspose((rs_matrix2x2*) buf2490);
-    *(uchar4*)buf2491 = rsPackColorTo8888(*(float*)buf2492, *(float*)buf2493, *(float*)buf2494);
-    *(uchar4*)buf2495 = rsPackColorTo8888(*(float*)buf2496, *(float*)buf2497, *(float*)buf2498, *(float*)buf2499);
-    *(uchar4*)buf2500 = rsPackColorTo8888(*(float3*)buf2501);
-    *(uchar4*)buf2502 = rsPackColorTo8888(*(float4*)buf2503);
-    rsQuaternionAdd((rs_quaternion*) buf2504, (const rs_quaternion*) buf2505);
-    rsQuaternionConjugate((rs_quaternion*) buf2506);
-    *(float*)buf2507 = rsQuaternionDot((const rs_quaternion*) buf2508, (const rs_quaternion*) buf2509);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2510, (const rs_quaternion*) buf2511);
-    rsQuaternionLoadRotate((rs_quaternion*) buf2512, *(float*)buf2513, *(float*)buf2514, *(float*)buf2515, *(float*)buf2516);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2517, *(float*)buf2518, *(float*)buf2519, *(float*)buf2520, *(float*)buf2521);
-    rsQuaternionMultiply((rs_quaternion*) buf2522, *(float*)buf2523);
-    rsQuaternionMultiply((rs_quaternion*) buf2524, (const rs_quaternion*) buf2525);
-    rsQuaternionNormalize((rs_quaternion*) buf2526);
-    rsQuaternionSet((rs_quaternion*) buf2527, *(float*)buf2528, *(float*)buf2529, *(float*)buf2530, *(float*)buf2531);
-    rsQuaternionSet((rs_quaternion*) buf2532, (const rs_quaternion*) buf2533);
-    rsQuaternionSlerp((rs_quaternion*) buf2534, (const rs_quaternion*) buf2535, (const rs_quaternion*) buf2536, *(float*)buf2537);
-    *(int*)buf2538 = rsRand(*(int*)buf2539);
-    *(int*)buf2540 = rsRand(*(int*)buf2541, *(int*)buf2542);
-    *(float*)buf2543 = rsRand(*(float*)buf2544);
-    *(float*)buf2545 = rsRand(*(float*)buf2546, *(float*)buf2547);
-    *(float4*)buf2548 = rsSample(*(rs_allocation*)buf2549, *(rs_sampler*)buf2550, *(float*)buf2551);
-    *(float4*)buf2552 = rsSample(*(rs_allocation*)buf2553, *(rs_sampler*)buf2554, *(float*)buf2555, *(float*)buf2556);
-    *(float4*)buf2557 = rsSample(*(rs_allocation*)buf2558, *(rs_sampler*)buf2559, *(float2*)buf2560);
-    *(float4*)buf2561 = rsSample(*(rs_allocation*)buf2562, *(rs_sampler*)buf2563, *(float2*)buf2564, *(float*)buf2565);
-    *(float*)buf2566 = rsSamplerGetAnisotropy(*(rs_sampler*)buf2567);
-    *(rs_sampler_value*)buf2568 = rsSamplerGetMagnification(*(rs_sampler*)buf2569);
-    *(rs_sampler_value*)buf2570 = rsSamplerGetMinification(*(rs_sampler*)buf2571);
-    *(rs_sampler_value*)buf2572 = rsSamplerGetWrapS(*(rs_sampler*)buf2573);
-    *(rs_sampler_value*)buf2574 = rsSamplerGetWrapT(*(rs_sampler*)buf2575);
-    *(bool*)buf2576 = rsSendToClient(*(int*)buf2577);
-    *(bool*)buf2578 = rsSendToClient(*(int*)buf2579, (const void*) buf2580, *(uint*)buf2581);
-    rsSendToClientBlocking(*(int*)buf2582);
-    rsSendToClientBlocking(*(int*)buf2583, (const void*) buf2584, *(uint*)buf2585);
-    rsSetElementAt(*(rs_allocation*)buf2586, (void*) buf2587, *(uint32_t*)buf2588);
-    rsSetElementAt(*(rs_allocation*)buf2589, (void*) buf2590, *(uint32_t*)buf2591, *(uint32_t*)buf2592);
-    rsSetElementAt_float(*(rs_allocation*)buf2593, *(float*)buf2594, *(uint32_t*)buf2595);
-    rsSetElementAt_float2(*(rs_allocation*)buf2596, *(float2*)buf2597, *(uint32_t*)buf2598);
-    rsSetElementAt_float3(*(rs_allocation*)buf2599, *(float3*)buf2600, *(uint32_t*)buf2601);
-    rsSetElementAt_float4(*(rs_allocation*)buf2602, *(float4*)buf2603, *(uint32_t*)buf2604);
-    rsSetElementAt_double(*(rs_allocation*)buf2605, *(double*)buf2606, *(uint32_t*)buf2607);
-    rsSetElementAt_double2(*(rs_allocation*)buf2608, *(double2*)buf2609, *(uint32_t*)buf2610);
-    rsSetElementAt_double3(*(rs_allocation*)buf2611, *(double3*)buf2612, *(uint32_t*)buf2613);
-    rsSetElementAt_double4(*(rs_allocation*)buf2614, *(double4*)buf2615, *(uint32_t*)buf2616);
-    rsSetElementAt_char(*(rs_allocation*)buf2617, *(char*)buf2618, *(uint32_t*)buf2619);
-    rsSetElementAt_char2(*(rs_allocation*)buf2620, *(char2*)buf2621, *(uint32_t*)buf2622);
-    rsSetElementAt_char3(*(rs_allocation*)buf2623, *(char3*)buf2624, *(uint32_t*)buf2625);
-    rsSetElementAt_char4(*(rs_allocation*)buf2626, *(char4*)buf2627, *(uint32_t*)buf2628);
-    rsSetElementAt_uchar(*(rs_allocation*)buf2629, *(uchar*)buf2630, *(uint32_t*)buf2631);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf2632, *(uchar2*)buf2633, *(uint32_t*)buf2634);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf2635, *(uchar3*)buf2636, *(uint32_t*)buf2637);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf2638, *(uchar4*)buf2639, *(uint32_t*)buf2640);
-    rsSetElementAt_short(*(rs_allocation*)buf2641, *(short*)buf2642, *(uint32_t*)buf2643);
-    rsSetElementAt_short2(*(rs_allocation*)buf2644, *(short2*)buf2645, *(uint32_t*)buf2646);
-    rsSetElementAt_short3(*(rs_allocation*)buf2647, *(short3*)buf2648, *(uint32_t*)buf2649);
-    rsSetElementAt_short4(*(rs_allocation*)buf2650, *(short4*)buf2651, *(uint32_t*)buf2652);
-    rsSetElementAt_ushort(*(rs_allocation*)buf2653, *(ushort*)buf2654, *(uint32_t*)buf2655);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf2656, *(ushort2*)buf2657, *(uint32_t*)buf2658);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf2659, *(ushort3*)buf2660, *(uint32_t*)buf2661);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf2662, *(ushort4*)buf2663, *(uint32_t*)buf2664);
-    rsSetElementAt_int(*(rs_allocation*)buf2665, *(int*)buf2666, *(uint32_t*)buf2667);
-    rsSetElementAt_int2(*(rs_allocation*)buf2668, *(int2*)buf2669, *(uint32_t*)buf2670);
-    rsSetElementAt_int3(*(rs_allocation*)buf2671, *(int3*)buf2672, *(uint32_t*)buf2673);
-    rsSetElementAt_int4(*(rs_allocation*)buf2674, *(int4*)buf2675, *(uint32_t*)buf2676);
-    rsSetElementAt_uint(*(rs_allocation*)buf2677, *(uint*)buf2678, *(uint32_t*)buf2679);
-    rsSetElementAt_uint2(*(rs_allocation*)buf2680, *(uint2*)buf2681, *(uint32_t*)buf2682);
-    rsSetElementAt_uint3(*(rs_allocation*)buf2683, *(uint3*)buf2684, *(uint32_t*)buf2685);
-    rsSetElementAt_uint4(*(rs_allocation*)buf2686, *(uint4*)buf2687, *(uint32_t*)buf2688);
-    rsSetElementAt_long(*(rs_allocation*)buf2689, *(long*)buf2690, *(uint32_t*)buf2691);
-    rsSetElementAt_long2(*(rs_allocation*)buf2692, *(long2*)buf2693, *(uint32_t*)buf2694);
-    rsSetElementAt_long3(*(rs_allocation*)buf2695, *(long3*)buf2696, *(uint32_t*)buf2697);
-    rsSetElementAt_long4(*(rs_allocation*)buf2698, *(long4*)buf2699, *(uint32_t*)buf2700);
-    rsSetElementAt_ulong(*(rs_allocation*)buf2701, *(ulong*)buf2702, *(uint32_t*)buf2703);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf2704, *(ulong2*)buf2705, *(uint32_t*)buf2706);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf2707, *(ulong3*)buf2708, *(uint32_t*)buf2709);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf2710, *(ulong4*)buf2711, *(uint32_t*)buf2712);
-    rsSetElementAt_float(*(rs_allocation*)buf2713, *(float*)buf2714, *(uint32_t*)buf2715, *(uint32_t*)buf2716);
-    rsSetElementAt_float2(*(rs_allocation*)buf2717, *(float2*)buf2718, *(uint32_t*)buf2719, *(uint32_t*)buf2720);
-    rsSetElementAt_float3(*(rs_allocation*)buf2721, *(float3*)buf2722, *(uint32_t*)buf2723, *(uint32_t*)buf2724);
-    rsSetElementAt_float4(*(rs_allocation*)buf2725, *(float4*)buf2726, *(uint32_t*)buf2727, *(uint32_t*)buf2728);
-    rsSetElementAt_double(*(rs_allocation*)buf2729, *(double*)buf2730, *(uint32_t*)buf2731, *(uint32_t*)buf2732);
-    rsSetElementAt_double2(*(rs_allocation*)buf2733, *(double2*)buf2734, *(uint32_t*)buf2735, *(uint32_t*)buf2736);
-    rsSetElementAt_double3(*(rs_allocation*)buf2737, *(double3*)buf2738, *(uint32_t*)buf2739, *(uint32_t*)buf2740);
-    rsSetElementAt_double4(*(rs_allocation*)buf2741, *(double4*)buf2742, *(uint32_t*)buf2743, *(uint32_t*)buf2744);
-    rsSetElementAt_char(*(rs_allocation*)buf2745, *(char*)buf2746, *(uint32_t*)buf2747, *(uint32_t*)buf2748);
-    rsSetElementAt_char2(*(rs_allocation*)buf2749, *(char2*)buf2750, *(uint32_t*)buf2751, *(uint32_t*)buf2752);
-    rsSetElementAt_char3(*(rs_allocation*)buf2753, *(char3*)buf2754, *(uint32_t*)buf2755, *(uint32_t*)buf2756);
-    rsSetElementAt_char4(*(rs_allocation*)buf2757, *(char4*)buf2758, *(uint32_t*)buf2759, *(uint32_t*)buf2760);
-    rsSetElementAt_uchar(*(rs_allocation*)buf2761, *(uchar*)buf2762, *(uint32_t*)buf2763, *(uint32_t*)buf2764);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf2765, *(uchar2*)buf2766, *(uint32_t*)buf2767, *(uint32_t*)buf2768);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf2769, *(uchar3*)buf2770, *(uint32_t*)buf2771, *(uint32_t*)buf2772);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf2773, *(uchar4*)buf2774, *(uint32_t*)buf2775, *(uint32_t*)buf2776);
-    rsSetElementAt_short(*(rs_allocation*)buf2777, *(short*)buf2778, *(uint32_t*)buf2779, *(uint32_t*)buf2780);
-    rsSetElementAt_short2(*(rs_allocation*)buf2781, *(short2*)buf2782, *(uint32_t*)buf2783, *(uint32_t*)buf2784);
-    rsSetElementAt_short3(*(rs_allocation*)buf2785, *(short3*)buf2786, *(uint32_t*)buf2787, *(uint32_t*)buf2788);
-    rsSetElementAt_short4(*(rs_allocation*)buf2789, *(short4*)buf2790, *(uint32_t*)buf2791, *(uint32_t*)buf2792);
-    rsSetElementAt_ushort(*(rs_allocation*)buf2793, *(ushort*)buf2794, *(uint32_t*)buf2795, *(uint32_t*)buf2796);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf2797, *(ushort2*)buf2798, *(uint32_t*)buf2799, *(uint32_t*)buf2800);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf2801, *(ushort3*)buf2802, *(uint32_t*)buf2803, *(uint32_t*)buf2804);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf2805, *(ushort4*)buf2806, *(uint32_t*)buf2807, *(uint32_t*)buf2808);
-    rsSetElementAt_int(*(rs_allocation*)buf2809, *(int*)buf2810, *(uint32_t*)buf2811, *(uint32_t*)buf2812);
-    rsSetElementAt_int2(*(rs_allocation*)buf2813, *(int2*)buf2814, *(uint32_t*)buf2815, *(uint32_t*)buf2816);
-    rsSetElementAt_int3(*(rs_allocation*)buf2817, *(int3*)buf2818, *(uint32_t*)buf2819, *(uint32_t*)buf2820);
-    rsSetElementAt_int4(*(rs_allocation*)buf2821, *(int4*)buf2822, *(uint32_t*)buf2823, *(uint32_t*)buf2824);
-    rsSetElementAt_uint(*(rs_allocation*)buf2825, *(uint*)buf2826, *(uint32_t*)buf2827, *(uint32_t*)buf2828);
-    rsSetElementAt_uint2(*(rs_allocation*)buf2829, *(uint2*)buf2830, *(uint32_t*)buf2831, *(uint32_t*)buf2832);
-    rsSetElementAt_uint3(*(rs_allocation*)buf2833, *(uint3*)buf2834, *(uint32_t*)buf2835, *(uint32_t*)buf2836);
-    rsSetElementAt_uint4(*(rs_allocation*)buf2837, *(uint4*)buf2838, *(uint32_t*)buf2839, *(uint32_t*)buf2840);
-    rsSetElementAt_long(*(rs_allocation*)buf2841, *(long*)buf2842, *(uint32_t*)buf2843, *(uint32_t*)buf2844);
-    rsSetElementAt_long2(*(rs_allocation*)buf2845, *(long2*)buf2846, *(uint32_t*)buf2847, *(uint32_t*)buf2848);
-    rsSetElementAt_long3(*(rs_allocation*)buf2849, *(long3*)buf2850, *(uint32_t*)buf2851, *(uint32_t*)buf2852);
-    rsSetElementAt_long4(*(rs_allocation*)buf2853, *(long4*)buf2854, *(uint32_t*)buf2855, *(uint32_t*)buf2856);
-    rsSetElementAt_ulong(*(rs_allocation*)buf2857, *(ulong*)buf2858, *(uint32_t*)buf2859, *(uint32_t*)buf2860);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf2861, *(ulong2*)buf2862, *(uint32_t*)buf2863, *(uint32_t*)buf2864);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf2865, *(ulong3*)buf2866, *(uint32_t*)buf2867, *(uint32_t*)buf2868);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf2869, *(ulong4*)buf2870, *(uint32_t*)buf2871, *(uint32_t*)buf2872);
-    rsSetElementAt_float(*(rs_allocation*)buf2873, *(float*)buf2874, *(uint32_t*)buf2875, *(uint32_t*)buf2876, *(uint32_t*)buf2877);
-    rsSetElementAt_float2(*(rs_allocation*)buf2878, *(float2*)buf2879, *(uint32_t*)buf2880, *(uint32_t*)buf2881, *(uint32_t*)buf2882);
-    rsSetElementAt_float3(*(rs_allocation*)buf2883, *(float3*)buf2884, *(uint32_t*)buf2885, *(uint32_t*)buf2886, *(uint32_t*)buf2887);
-    rsSetElementAt_float4(*(rs_allocation*)buf2888, *(float4*)buf2889, *(uint32_t*)buf2890, *(uint32_t*)buf2891, *(uint32_t*)buf2892);
-    rsSetElementAt_double(*(rs_allocation*)buf2893, *(double*)buf2894, *(uint32_t*)buf2895, *(uint32_t*)buf2896, *(uint32_t*)buf2897);
-    rsSetElementAt_double2(*(rs_allocation*)buf2898, *(double2*)buf2899, *(uint32_t*)buf2900, *(uint32_t*)buf2901, *(uint32_t*)buf2902);
-    rsSetElementAt_double3(*(rs_allocation*)buf2903, *(double3*)buf2904, *(uint32_t*)buf2905, *(uint32_t*)buf2906, *(uint32_t*)buf2907);
-    rsSetElementAt_double4(*(rs_allocation*)buf2908, *(double4*)buf2909, *(uint32_t*)buf2910, *(uint32_t*)buf2911, *(uint32_t*)buf2912);
-    rsSetElementAt_char(*(rs_allocation*)buf2913, *(char*)buf2914, *(uint32_t*)buf2915, *(uint32_t*)buf2916, *(uint32_t*)buf2917);
-    rsSetElementAt_char2(*(rs_allocation*)buf2918, *(char2*)buf2919, *(uint32_t*)buf2920, *(uint32_t*)buf2921, *(uint32_t*)buf2922);
-    rsSetElementAt_char3(*(rs_allocation*)buf2923, *(char3*)buf2924, *(uint32_t*)buf2925, *(uint32_t*)buf2926, *(uint32_t*)buf2927);
-    rsSetElementAt_char4(*(rs_allocation*)buf2928, *(char4*)buf2929, *(uint32_t*)buf2930, *(uint32_t*)buf2931, *(uint32_t*)buf2932);
-    rsSetElementAt_uchar(*(rs_allocation*)buf2933, *(uchar*)buf2934, *(uint32_t*)buf2935, *(uint32_t*)buf2936, *(uint32_t*)buf2937);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf2938, *(uchar2*)buf2939, *(uint32_t*)buf2940, *(uint32_t*)buf2941, *(uint32_t*)buf2942);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf2943, *(uchar3*)buf2944, *(uint32_t*)buf2945, *(uint32_t*)buf2946, *(uint32_t*)buf2947);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf2948, *(uchar4*)buf2949, *(uint32_t*)buf2950, *(uint32_t*)buf2951, *(uint32_t*)buf2952);
-    rsSetElementAt_short(*(rs_allocation*)buf2953, *(short*)buf2954, *(uint32_t*)buf2955, *(uint32_t*)buf2956, *(uint32_t*)buf2957);
-    rsSetElementAt_short2(*(rs_allocation*)buf2958, *(short2*)buf2959, *(uint32_t*)buf2960, *(uint32_t*)buf2961, *(uint32_t*)buf2962);
-    rsSetElementAt_short3(*(rs_allocation*)buf2963, *(short3*)buf2964, *(uint32_t*)buf2965, *(uint32_t*)buf2966, *(uint32_t*)buf2967);
-    rsSetElementAt_short4(*(rs_allocation*)buf2968, *(short4*)buf2969, *(uint32_t*)buf2970, *(uint32_t*)buf2971, *(uint32_t*)buf2972);
-    rsSetElementAt_ushort(*(rs_allocation*)buf2973, *(ushort*)buf2974, *(uint32_t*)buf2975, *(uint32_t*)buf2976, *(uint32_t*)buf2977);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf2978, *(ushort2*)buf2979, *(uint32_t*)buf2980, *(uint32_t*)buf2981, *(uint32_t*)buf2982);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf2983, *(ushort3*)buf2984, *(uint32_t*)buf2985, *(uint32_t*)buf2986, *(uint32_t*)buf2987);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf2988, *(ushort4*)buf2989, *(uint32_t*)buf2990, *(uint32_t*)buf2991, *(uint32_t*)buf2992);
-    rsSetElementAt_int(*(rs_allocation*)buf2993, *(int*)buf2994, *(uint32_t*)buf2995, *(uint32_t*)buf2996, *(uint32_t*)buf2997);
-    rsSetElementAt_int2(*(rs_allocation*)buf2998, *(int2*)buf2999, *(uint32_t*)buf3000, *(uint32_t*)buf3001, *(uint32_t*)buf3002);
-    rsSetElementAt_int3(*(rs_allocation*)buf3003, *(int3*)buf3004, *(uint32_t*)buf3005, *(uint32_t*)buf3006, *(uint32_t*)buf3007);
-    rsSetElementAt_int4(*(rs_allocation*)buf3008, *(int4*)buf3009, *(uint32_t*)buf3010, *(uint32_t*)buf3011, *(uint32_t*)buf3012);
-    rsSetElementAt_uint(*(rs_allocation*)buf3013, *(uint*)buf3014, *(uint32_t*)buf3015, *(uint32_t*)buf3016, *(uint32_t*)buf3017);
-    rsSetElementAt_uint2(*(rs_allocation*)buf3018, *(uint2*)buf3019, *(uint32_t*)buf3020, *(uint32_t*)buf3021, *(uint32_t*)buf3022);
-    rsSetElementAt_uint3(*(rs_allocation*)buf3023, *(uint3*)buf3024, *(uint32_t*)buf3025, *(uint32_t*)buf3026, *(uint32_t*)buf3027);
-    rsSetElementAt_uint4(*(rs_allocation*)buf3028, *(uint4*)buf3029, *(uint32_t*)buf3030, *(uint32_t*)buf3031, *(uint32_t*)buf3032);
-    rsSetElementAt_long(*(rs_allocation*)buf3033, *(long*)buf3034, *(uint32_t*)buf3035, *(uint32_t*)buf3036, *(uint32_t*)buf3037);
-    rsSetElementAt_long2(*(rs_allocation*)buf3038, *(long2*)buf3039, *(uint32_t*)buf3040, *(uint32_t*)buf3041, *(uint32_t*)buf3042);
-    rsSetElementAt_long3(*(rs_allocation*)buf3043, *(long3*)buf3044, *(uint32_t*)buf3045, *(uint32_t*)buf3046, *(uint32_t*)buf3047);
-    rsSetElementAt_long4(*(rs_allocation*)buf3048, *(long4*)buf3049, *(uint32_t*)buf3050, *(uint32_t*)buf3051, *(uint32_t*)buf3052);
-    rsSetElementAt_ulong(*(rs_allocation*)buf3053, *(ulong*)buf3054, *(uint32_t*)buf3055, *(uint32_t*)buf3056, *(uint32_t*)buf3057);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf3058, *(ulong2*)buf3059, *(uint32_t*)buf3060, *(uint32_t*)buf3061, *(uint32_t*)buf3062);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf3063, *(ulong3*)buf3064, *(uint32_t*)buf3065, *(uint32_t*)buf3066, *(uint32_t*)buf3067);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf3068, *(ulong4*)buf3069, *(uint32_t*)buf3070, *(uint32_t*)buf3071, *(uint32_t*)buf3072);
-    rsSetObject((rs_element*) buf3073, *(rs_element*)buf3074);
-    rsSetObject((rs_type*) buf3075, *(rs_type*)buf3076);
-    rsSetObject((rs_allocation*) buf3077, *(rs_allocation*)buf3078);
-    rsSetObject((rs_sampler*) buf3079, *(rs_sampler*)buf3080);
-    rsSetObject((rs_script*) buf3081, *(rs_script*)buf3082);
+    *(bool*)buf2370 = rsIsSphereInFrustum((float4*) buf2371, (float4*) buf2372, (float4*) buf2373, (float4*) buf2374, (float4*) buf2375, (float4*) buf2376, (float4*) buf2377);
+    *(rs_tm**)buf2378 = rsLocaltime((rs_tm*) buf2379, (const rs_time_t*) buf2380);
+    *(float*)buf2381 = rsMatrixGet((const rs_matrix4x4*) buf2382, *(uint32_t*)buf2383, *(uint32_t*)buf2384);
+    *(float*)buf2385 = rsMatrixGet((const rs_matrix3x3*) buf2386, *(uint32_t*)buf2387, *(uint32_t*)buf2388);
+    *(float*)buf2389 = rsMatrixGet((const rs_matrix2x2*) buf2390, *(uint32_t*)buf2391, *(uint32_t*)buf2392);
+    *(bool*)buf2393 = rsMatrixInverse((rs_matrix4x4*) buf2394);
+    *(bool*)buf2395 = rsMatrixInverseTranspose((rs_matrix4x4*) buf2396);
+    rsMatrixLoad((rs_matrix4x4*) buf2397, (const float*) buf2398);
+    rsMatrixLoad((rs_matrix3x3*) buf2399, (const float*) buf2400);
+    rsMatrixLoad((rs_matrix2x2*) buf2401, (const float*) buf2402);
+    rsMatrixLoad((rs_matrix4x4*) buf2403, (const rs_matrix4x4*) buf2404);
+    rsMatrixLoad((rs_matrix3x3*) buf2405, (const rs_matrix3x3*) buf2406);
+    rsMatrixLoad((rs_matrix2x2*) buf2407, (const rs_matrix2x2*) buf2408);
+    rsMatrixLoad((rs_matrix4x4*) buf2409, (const rs_matrix3x3*) buf2410);
+    rsMatrixLoad((rs_matrix4x4*) buf2411, (const rs_matrix2x2*) buf2412);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf2413, *(float*)buf2414, *(float*)buf2415, *(float*)buf2416, *(float*)buf2417, *(float*)buf2418, *(float*)buf2419);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf2420);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf2421);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf2422);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf2423, (const rs_matrix4x4*) buf2424, (const rs_matrix4x4*) buf2425);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf2426, (const rs_matrix3x3*) buf2427, (const rs_matrix3x3*) buf2428);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf2429, (const rs_matrix2x2*) buf2430, (const rs_matrix2x2*) buf2431);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf2432, *(float*)buf2433, *(float*)buf2434, *(float*)buf2435, *(float*)buf2436, *(float*)buf2437, *(float*)buf2438);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf2439, *(float*)buf2440, *(float*)buf2441, *(float*)buf2442, *(float*)buf2443);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf2444, *(float*)buf2445, *(float*)buf2446, *(float*)buf2447, *(float*)buf2448);
+    rsMatrixLoadScale((rs_matrix4x4*) buf2449, *(float*)buf2450, *(float*)buf2451, *(float*)buf2452);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf2453, *(float*)buf2454, *(float*)buf2455, *(float*)buf2456);
+    rsMatrixMultiply((rs_matrix4x4*) buf2457, (const rs_matrix4x4*) buf2458);
+    rsMatrixMultiply((rs_matrix3x3*) buf2459, (const rs_matrix3x3*) buf2460);
+    rsMatrixMultiply((rs_matrix2x2*) buf2461, (const rs_matrix2x2*) buf2462);
+    *(float4*)buf2463 = rsMatrixMultiply((const rs_matrix4x4*) buf2464, *(float4*)buf2465);
+    *(float4*)buf2466 = rsMatrixMultiply((const rs_matrix4x4*) buf2467, *(float3*)buf2468);
+    *(float4*)buf2469 = rsMatrixMultiply((const rs_matrix4x4*) buf2470, *(float2*)buf2471);
+    *(float3*)buf2472 = rsMatrixMultiply((const rs_matrix3x3*) buf2473, *(float3*)buf2474);
+    *(float3*)buf2475 = rsMatrixMultiply((const rs_matrix3x3*) buf2476, *(float2*)buf2477);
+    *(float2*)buf2478 = rsMatrixMultiply((const rs_matrix2x2*) buf2479, *(float2*)buf2480);
+    rsMatrixRotate((rs_matrix4x4*) buf2481, *(float*)buf2482, *(float*)buf2483, *(float*)buf2484, *(float*)buf2485);
+    rsMatrixScale((rs_matrix4x4*) buf2486, *(float*)buf2487, *(float*)buf2488, *(float*)buf2489);
+    rsMatrixSet((rs_matrix4x4*) buf2490, *(uint32_t*)buf2491, *(uint32_t*)buf2492, *(float*)buf2493);
+    rsMatrixSet((rs_matrix3x3*) buf2494, *(uint32_t*)buf2495, *(uint32_t*)buf2496, *(float*)buf2497);
+    rsMatrixSet((rs_matrix2x2*) buf2498, *(uint32_t*)buf2499, *(uint32_t*)buf2500, *(float*)buf2501);
+    rsMatrixTranslate((rs_matrix4x4*) buf2502, *(float*)buf2503, *(float*)buf2504, *(float*)buf2505);
+    rsMatrixTranspose((rs_matrix4x4*) buf2506);
+    rsMatrixTranspose((rs_matrix3x3*) buf2507);
+    rsMatrixTranspose((rs_matrix2x2*) buf2508);
+    *(uchar4*)buf2509 = rsPackColorTo8888(*(float*)buf2510, *(float*)buf2511, *(float*)buf2512);
+    *(uchar4*)buf2513 = rsPackColorTo8888(*(float*)buf2514, *(float*)buf2515, *(float*)buf2516, *(float*)buf2517);
+    *(uchar4*)buf2518 = rsPackColorTo8888(*(float3*)buf2519);
+    *(uchar4*)buf2520 = rsPackColorTo8888(*(float4*)buf2521);
+    rsQuaternionAdd((rs_quaternion*) buf2522, (const rs_quaternion*) buf2523);
+    rsQuaternionConjugate((rs_quaternion*) buf2524);
+    *(float*)buf2525 = rsQuaternionDot((const rs_quaternion*) buf2526, (const rs_quaternion*) buf2527);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf2528, (const rs_quaternion*) buf2529);
+    rsQuaternionLoadRotate((rs_quaternion*) buf2530, *(float*)buf2531, *(float*)buf2532, *(float*)buf2533, *(float*)buf2534);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf2535, *(float*)buf2536, *(float*)buf2537, *(float*)buf2538, *(float*)buf2539);
+    rsQuaternionMultiply((rs_quaternion*) buf2540, *(float*)buf2541);
+    rsQuaternionMultiply((rs_quaternion*) buf2542, (const rs_quaternion*) buf2543);
+    rsQuaternionNormalize((rs_quaternion*) buf2544);
+    rsQuaternionSet((rs_quaternion*) buf2545, *(float*)buf2546, *(float*)buf2547, *(float*)buf2548, *(float*)buf2549);
+    rsQuaternionSet((rs_quaternion*) buf2550, (const rs_quaternion*) buf2551);
+    rsQuaternionSlerp((rs_quaternion*) buf2552, (const rs_quaternion*) buf2553, (const rs_quaternion*) buf2554, *(float*)buf2555);
+    *(int*)buf2556 = rsRand(*(int*)buf2557);
+    *(int*)buf2558 = rsRand(*(int*)buf2559, *(int*)buf2560);
+    *(float*)buf2561 = rsRand(*(float*)buf2562);
+    *(float*)buf2563 = rsRand(*(float*)buf2564, *(float*)buf2565);
+    *(float4*)buf2566 = rsSample(*(rs_allocation*)buf2567, *(rs_sampler*)buf2568, *(float*)buf2569);
+    *(float4*)buf2570 = rsSample(*(rs_allocation*)buf2571, *(rs_sampler*)buf2572, *(float*)buf2573, *(float*)buf2574);
+    *(float4*)buf2575 = rsSample(*(rs_allocation*)buf2576, *(rs_sampler*)buf2577, *(float2*)buf2578);
+    *(float4*)buf2579 = rsSample(*(rs_allocation*)buf2580, *(rs_sampler*)buf2581, *(float2*)buf2582, *(float*)buf2583);
+    *(float*)buf2584 = rsSamplerGetAnisotropy(*(rs_sampler*)buf2585);
+    *(rs_sampler_value*)buf2586 = rsSamplerGetMagnification(*(rs_sampler*)buf2587);
+    *(rs_sampler_value*)buf2588 = rsSamplerGetMinification(*(rs_sampler*)buf2589);
+    *(rs_sampler_value*)buf2590 = rsSamplerGetWrapS(*(rs_sampler*)buf2591);
+    *(rs_sampler_value*)buf2592 = rsSamplerGetWrapT(*(rs_sampler*)buf2593);
+    *(bool*)buf2594 = rsSendToClient(*(int*)buf2595);
+    *(bool*)buf2596 = rsSendToClient(*(int*)buf2597, (const void*) buf2598, *(uint*)buf2599);
+    rsSendToClientBlocking(*(int*)buf2600);
+    rsSendToClientBlocking(*(int*)buf2601, (const void*) buf2602, *(uint*)buf2603);
+    rsSetElementAt(*(rs_allocation*)buf2604, (void*) buf2605, *(uint32_t*)buf2606);
+    rsSetElementAt(*(rs_allocation*)buf2607, (void*) buf2608, *(uint32_t*)buf2609, *(uint32_t*)buf2610);
+    rsSetElementAt_float(*(rs_allocation*)buf2611, *(float*)buf2612, *(uint32_t*)buf2613);
+    rsSetElementAt_float2(*(rs_allocation*)buf2614, *(float2*)buf2615, *(uint32_t*)buf2616);
+    rsSetElementAt_float3(*(rs_allocation*)buf2617, *(float3*)buf2618, *(uint32_t*)buf2619);
+    rsSetElementAt_float4(*(rs_allocation*)buf2620, *(float4*)buf2621, *(uint32_t*)buf2622);
+    rsSetElementAt_double(*(rs_allocation*)buf2623, *(double*)buf2624, *(uint32_t*)buf2625);
+    rsSetElementAt_double2(*(rs_allocation*)buf2626, *(double2*)buf2627, *(uint32_t*)buf2628);
+    rsSetElementAt_double3(*(rs_allocation*)buf2629, *(double3*)buf2630, *(uint32_t*)buf2631);
+    rsSetElementAt_double4(*(rs_allocation*)buf2632, *(double4*)buf2633, *(uint32_t*)buf2634);
+    rsSetElementAt_char(*(rs_allocation*)buf2635, *(char*)buf2636, *(uint32_t*)buf2637);
+    rsSetElementAt_char2(*(rs_allocation*)buf2638, *(char2*)buf2639, *(uint32_t*)buf2640);
+    rsSetElementAt_char3(*(rs_allocation*)buf2641, *(char3*)buf2642, *(uint32_t*)buf2643);
+    rsSetElementAt_char4(*(rs_allocation*)buf2644, *(char4*)buf2645, *(uint32_t*)buf2646);
+    rsSetElementAt_uchar(*(rs_allocation*)buf2647, *(uchar*)buf2648, *(uint32_t*)buf2649);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf2650, *(uchar2*)buf2651, *(uint32_t*)buf2652);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf2653, *(uchar3*)buf2654, *(uint32_t*)buf2655);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf2656, *(uchar4*)buf2657, *(uint32_t*)buf2658);
+    rsSetElementAt_short(*(rs_allocation*)buf2659, *(short*)buf2660, *(uint32_t*)buf2661);
+    rsSetElementAt_short2(*(rs_allocation*)buf2662, *(short2*)buf2663, *(uint32_t*)buf2664);
+    rsSetElementAt_short3(*(rs_allocation*)buf2665, *(short3*)buf2666, *(uint32_t*)buf2667);
+    rsSetElementAt_short4(*(rs_allocation*)buf2668, *(short4*)buf2669, *(uint32_t*)buf2670);
+    rsSetElementAt_ushort(*(rs_allocation*)buf2671, *(ushort*)buf2672, *(uint32_t*)buf2673);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf2674, *(ushort2*)buf2675, *(uint32_t*)buf2676);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf2677, *(ushort3*)buf2678, *(uint32_t*)buf2679);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf2680, *(ushort4*)buf2681, *(uint32_t*)buf2682);
+    rsSetElementAt_int(*(rs_allocation*)buf2683, *(int*)buf2684, *(uint32_t*)buf2685);
+    rsSetElementAt_int2(*(rs_allocation*)buf2686, *(int2*)buf2687, *(uint32_t*)buf2688);
+    rsSetElementAt_int3(*(rs_allocation*)buf2689, *(int3*)buf2690, *(uint32_t*)buf2691);
+    rsSetElementAt_int4(*(rs_allocation*)buf2692, *(int4*)buf2693, *(uint32_t*)buf2694);
+    rsSetElementAt_uint(*(rs_allocation*)buf2695, *(uint*)buf2696, *(uint32_t*)buf2697);
+    rsSetElementAt_uint2(*(rs_allocation*)buf2698, *(uint2*)buf2699, *(uint32_t*)buf2700);
+    rsSetElementAt_uint3(*(rs_allocation*)buf2701, *(uint3*)buf2702, *(uint32_t*)buf2703);
+    rsSetElementAt_uint4(*(rs_allocation*)buf2704, *(uint4*)buf2705, *(uint32_t*)buf2706);
+    rsSetElementAt_long(*(rs_allocation*)buf2707, *(long*)buf2708, *(uint32_t*)buf2709);
+    rsSetElementAt_long2(*(rs_allocation*)buf2710, *(long2*)buf2711, *(uint32_t*)buf2712);
+    rsSetElementAt_long3(*(rs_allocation*)buf2713, *(long3*)buf2714, *(uint32_t*)buf2715);
+    rsSetElementAt_long4(*(rs_allocation*)buf2716, *(long4*)buf2717, *(uint32_t*)buf2718);
+    rsSetElementAt_ulong(*(rs_allocation*)buf2719, *(ulong*)buf2720, *(uint32_t*)buf2721);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf2722, *(ulong2*)buf2723, *(uint32_t*)buf2724);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf2725, *(ulong3*)buf2726, *(uint32_t*)buf2727);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf2728, *(ulong4*)buf2729, *(uint32_t*)buf2730);
+    rsSetElementAt_float(*(rs_allocation*)buf2731, *(float*)buf2732, *(uint32_t*)buf2733, *(uint32_t*)buf2734);
+    rsSetElementAt_float2(*(rs_allocation*)buf2735, *(float2*)buf2736, *(uint32_t*)buf2737, *(uint32_t*)buf2738);
+    rsSetElementAt_float3(*(rs_allocation*)buf2739, *(float3*)buf2740, *(uint32_t*)buf2741, *(uint32_t*)buf2742);
+    rsSetElementAt_float4(*(rs_allocation*)buf2743, *(float4*)buf2744, *(uint32_t*)buf2745, *(uint32_t*)buf2746);
+    rsSetElementAt_double(*(rs_allocation*)buf2747, *(double*)buf2748, *(uint32_t*)buf2749, *(uint32_t*)buf2750);
+    rsSetElementAt_double2(*(rs_allocation*)buf2751, *(double2*)buf2752, *(uint32_t*)buf2753, *(uint32_t*)buf2754);
+    rsSetElementAt_double3(*(rs_allocation*)buf2755, *(double3*)buf2756, *(uint32_t*)buf2757, *(uint32_t*)buf2758);
+    rsSetElementAt_double4(*(rs_allocation*)buf2759, *(double4*)buf2760, *(uint32_t*)buf2761, *(uint32_t*)buf2762);
+    rsSetElementAt_char(*(rs_allocation*)buf2763, *(char*)buf2764, *(uint32_t*)buf2765, *(uint32_t*)buf2766);
+    rsSetElementAt_char2(*(rs_allocation*)buf2767, *(char2*)buf2768, *(uint32_t*)buf2769, *(uint32_t*)buf2770);
+    rsSetElementAt_char3(*(rs_allocation*)buf2771, *(char3*)buf2772, *(uint32_t*)buf2773, *(uint32_t*)buf2774);
+    rsSetElementAt_char4(*(rs_allocation*)buf2775, *(char4*)buf2776, *(uint32_t*)buf2777, *(uint32_t*)buf2778);
+    rsSetElementAt_uchar(*(rs_allocation*)buf2779, *(uchar*)buf2780, *(uint32_t*)buf2781, *(uint32_t*)buf2782);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf2783, *(uchar2*)buf2784, *(uint32_t*)buf2785, *(uint32_t*)buf2786);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf2787, *(uchar3*)buf2788, *(uint32_t*)buf2789, *(uint32_t*)buf2790);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf2791, *(uchar4*)buf2792, *(uint32_t*)buf2793, *(uint32_t*)buf2794);
+    rsSetElementAt_short(*(rs_allocation*)buf2795, *(short*)buf2796, *(uint32_t*)buf2797, *(uint32_t*)buf2798);
+    rsSetElementAt_short2(*(rs_allocation*)buf2799, *(short2*)buf2800, *(uint32_t*)buf2801, *(uint32_t*)buf2802);
+    rsSetElementAt_short3(*(rs_allocation*)buf2803, *(short3*)buf2804, *(uint32_t*)buf2805, *(uint32_t*)buf2806);
+    rsSetElementAt_short4(*(rs_allocation*)buf2807, *(short4*)buf2808, *(uint32_t*)buf2809, *(uint32_t*)buf2810);
+    rsSetElementAt_ushort(*(rs_allocation*)buf2811, *(ushort*)buf2812, *(uint32_t*)buf2813, *(uint32_t*)buf2814);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf2815, *(ushort2*)buf2816, *(uint32_t*)buf2817, *(uint32_t*)buf2818);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf2819, *(ushort3*)buf2820, *(uint32_t*)buf2821, *(uint32_t*)buf2822);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf2823, *(ushort4*)buf2824, *(uint32_t*)buf2825, *(uint32_t*)buf2826);
+    rsSetElementAt_int(*(rs_allocation*)buf2827, *(int*)buf2828, *(uint32_t*)buf2829, *(uint32_t*)buf2830);
+    rsSetElementAt_int2(*(rs_allocation*)buf2831, *(int2*)buf2832, *(uint32_t*)buf2833, *(uint32_t*)buf2834);
+    rsSetElementAt_int3(*(rs_allocation*)buf2835, *(int3*)buf2836, *(uint32_t*)buf2837, *(uint32_t*)buf2838);
+    rsSetElementAt_int4(*(rs_allocation*)buf2839, *(int4*)buf2840, *(uint32_t*)buf2841, *(uint32_t*)buf2842);
+    rsSetElementAt_uint(*(rs_allocation*)buf2843, *(uint*)buf2844, *(uint32_t*)buf2845, *(uint32_t*)buf2846);
+    rsSetElementAt_uint2(*(rs_allocation*)buf2847, *(uint2*)buf2848, *(uint32_t*)buf2849, *(uint32_t*)buf2850);
+    rsSetElementAt_uint3(*(rs_allocation*)buf2851, *(uint3*)buf2852, *(uint32_t*)buf2853, *(uint32_t*)buf2854);
+    rsSetElementAt_uint4(*(rs_allocation*)buf2855, *(uint4*)buf2856, *(uint32_t*)buf2857, *(uint32_t*)buf2858);
+    rsSetElementAt_long(*(rs_allocation*)buf2859, *(long*)buf2860, *(uint32_t*)buf2861, *(uint32_t*)buf2862);
+    rsSetElementAt_long2(*(rs_allocation*)buf2863, *(long2*)buf2864, *(uint32_t*)buf2865, *(uint32_t*)buf2866);
+    rsSetElementAt_long3(*(rs_allocation*)buf2867, *(long3*)buf2868, *(uint32_t*)buf2869, *(uint32_t*)buf2870);
+    rsSetElementAt_long4(*(rs_allocation*)buf2871, *(long4*)buf2872, *(uint32_t*)buf2873, *(uint32_t*)buf2874);
+    rsSetElementAt_ulong(*(rs_allocation*)buf2875, *(ulong*)buf2876, *(uint32_t*)buf2877, *(uint32_t*)buf2878);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf2879, *(ulong2*)buf2880, *(uint32_t*)buf2881, *(uint32_t*)buf2882);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf2883, *(ulong3*)buf2884, *(uint32_t*)buf2885, *(uint32_t*)buf2886);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf2887, *(ulong4*)buf2888, *(uint32_t*)buf2889, *(uint32_t*)buf2890);
+    rsSetElementAt_float(*(rs_allocation*)buf2891, *(float*)buf2892, *(uint32_t*)buf2893, *(uint32_t*)buf2894, *(uint32_t*)buf2895);
+    rsSetElementAt_float2(*(rs_allocation*)buf2896, *(float2*)buf2897, *(uint32_t*)buf2898, *(uint32_t*)buf2899, *(uint32_t*)buf2900);
+    rsSetElementAt_float3(*(rs_allocation*)buf2901, *(float3*)buf2902, *(uint32_t*)buf2903, *(uint32_t*)buf2904, *(uint32_t*)buf2905);
+    rsSetElementAt_float4(*(rs_allocation*)buf2906, *(float4*)buf2907, *(uint32_t*)buf2908, *(uint32_t*)buf2909, *(uint32_t*)buf2910);
+    rsSetElementAt_double(*(rs_allocation*)buf2911, *(double*)buf2912, *(uint32_t*)buf2913, *(uint32_t*)buf2914, *(uint32_t*)buf2915);
+    rsSetElementAt_double2(*(rs_allocation*)buf2916, *(double2*)buf2917, *(uint32_t*)buf2918, *(uint32_t*)buf2919, *(uint32_t*)buf2920);
+    rsSetElementAt_double3(*(rs_allocation*)buf2921, *(double3*)buf2922, *(uint32_t*)buf2923, *(uint32_t*)buf2924, *(uint32_t*)buf2925);
+    rsSetElementAt_double4(*(rs_allocation*)buf2926, *(double4*)buf2927, *(uint32_t*)buf2928, *(uint32_t*)buf2929, *(uint32_t*)buf2930);
+    rsSetElementAt_char(*(rs_allocation*)buf2931, *(char*)buf2932, *(uint32_t*)buf2933, *(uint32_t*)buf2934, *(uint32_t*)buf2935);
+    rsSetElementAt_char2(*(rs_allocation*)buf2936, *(char2*)buf2937, *(uint32_t*)buf2938, *(uint32_t*)buf2939, *(uint32_t*)buf2940);
+    rsSetElementAt_char3(*(rs_allocation*)buf2941, *(char3*)buf2942, *(uint32_t*)buf2943, *(uint32_t*)buf2944, *(uint32_t*)buf2945);
+    rsSetElementAt_char4(*(rs_allocation*)buf2946, *(char4*)buf2947, *(uint32_t*)buf2948, *(uint32_t*)buf2949, *(uint32_t*)buf2950);
+    rsSetElementAt_uchar(*(rs_allocation*)buf2951, *(uchar*)buf2952, *(uint32_t*)buf2953, *(uint32_t*)buf2954, *(uint32_t*)buf2955);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf2956, *(uchar2*)buf2957, *(uint32_t*)buf2958, *(uint32_t*)buf2959, *(uint32_t*)buf2960);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf2961, *(uchar3*)buf2962, *(uint32_t*)buf2963, *(uint32_t*)buf2964, *(uint32_t*)buf2965);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf2966, *(uchar4*)buf2967, *(uint32_t*)buf2968, *(uint32_t*)buf2969, *(uint32_t*)buf2970);
+    rsSetElementAt_short(*(rs_allocation*)buf2971, *(short*)buf2972, *(uint32_t*)buf2973, *(uint32_t*)buf2974, *(uint32_t*)buf2975);
+    rsSetElementAt_short2(*(rs_allocation*)buf2976, *(short2*)buf2977, *(uint32_t*)buf2978, *(uint32_t*)buf2979, *(uint32_t*)buf2980);
+    rsSetElementAt_short3(*(rs_allocation*)buf2981, *(short3*)buf2982, *(uint32_t*)buf2983, *(uint32_t*)buf2984, *(uint32_t*)buf2985);
+    rsSetElementAt_short4(*(rs_allocation*)buf2986, *(short4*)buf2987, *(uint32_t*)buf2988, *(uint32_t*)buf2989, *(uint32_t*)buf2990);
+    rsSetElementAt_ushort(*(rs_allocation*)buf2991, *(ushort*)buf2992, *(uint32_t*)buf2993, *(uint32_t*)buf2994, *(uint32_t*)buf2995);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf2996, *(ushort2*)buf2997, *(uint32_t*)buf2998, *(uint32_t*)buf2999, *(uint32_t*)buf3000);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf3001, *(ushort3*)buf3002, *(uint32_t*)buf3003, *(uint32_t*)buf3004, *(uint32_t*)buf3005);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf3006, *(ushort4*)buf3007, *(uint32_t*)buf3008, *(uint32_t*)buf3009, *(uint32_t*)buf3010);
+    rsSetElementAt_int(*(rs_allocation*)buf3011, *(int*)buf3012, *(uint32_t*)buf3013, *(uint32_t*)buf3014, *(uint32_t*)buf3015);
+    rsSetElementAt_int2(*(rs_allocation*)buf3016, *(int2*)buf3017, *(uint32_t*)buf3018, *(uint32_t*)buf3019, *(uint32_t*)buf3020);
+    rsSetElementAt_int3(*(rs_allocation*)buf3021, *(int3*)buf3022, *(uint32_t*)buf3023, *(uint32_t*)buf3024, *(uint32_t*)buf3025);
+    rsSetElementAt_int4(*(rs_allocation*)buf3026, *(int4*)buf3027, *(uint32_t*)buf3028, *(uint32_t*)buf3029, *(uint32_t*)buf3030);
+    rsSetElementAt_uint(*(rs_allocation*)buf3031, *(uint*)buf3032, *(uint32_t*)buf3033, *(uint32_t*)buf3034, *(uint32_t*)buf3035);
+    rsSetElementAt_uint2(*(rs_allocation*)buf3036, *(uint2*)buf3037, *(uint32_t*)buf3038, *(uint32_t*)buf3039, *(uint32_t*)buf3040);
+    rsSetElementAt_uint3(*(rs_allocation*)buf3041, *(uint3*)buf3042, *(uint32_t*)buf3043, *(uint32_t*)buf3044, *(uint32_t*)buf3045);
+    rsSetElementAt_uint4(*(rs_allocation*)buf3046, *(uint4*)buf3047, *(uint32_t*)buf3048, *(uint32_t*)buf3049, *(uint32_t*)buf3050);
+    rsSetElementAt_long(*(rs_allocation*)buf3051, *(long*)buf3052, *(uint32_t*)buf3053, *(uint32_t*)buf3054, *(uint32_t*)buf3055);
+    rsSetElementAt_long2(*(rs_allocation*)buf3056, *(long2*)buf3057, *(uint32_t*)buf3058, *(uint32_t*)buf3059, *(uint32_t*)buf3060);
+    rsSetElementAt_long3(*(rs_allocation*)buf3061, *(long3*)buf3062, *(uint32_t*)buf3063, *(uint32_t*)buf3064, *(uint32_t*)buf3065);
+    rsSetElementAt_long4(*(rs_allocation*)buf3066, *(long4*)buf3067, *(uint32_t*)buf3068, *(uint32_t*)buf3069, *(uint32_t*)buf3070);
+    rsSetElementAt_ulong(*(rs_allocation*)buf3071, *(ulong*)buf3072, *(uint32_t*)buf3073, *(uint32_t*)buf3074, *(uint32_t*)buf3075);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf3076, *(ulong2*)buf3077, *(uint32_t*)buf3078, *(uint32_t*)buf3079, *(uint32_t*)buf3080);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf3081, *(ulong3*)buf3082, *(uint32_t*)buf3083, *(uint32_t*)buf3084, *(uint32_t*)buf3085);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf3086, *(ulong4*)buf3087, *(uint32_t*)buf3088, *(uint32_t*)buf3089, *(uint32_t*)buf3090);
+    rsSetObject((rs_element*) buf3091, *(rs_element*)buf3092);
+    rsSetObject((rs_type*) buf3093, *(rs_type*)buf3094);
+    rsSetObject((rs_allocation*) buf3095, *(rs_allocation*)buf3096);
+    rsSetObject((rs_sampler*) buf3097, *(rs_sampler*)buf3098);
+    rsSetObject((rs_script*) buf3099, *(rs_script*)buf3100);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf3083, *(rs_mesh*)buf3084);
-    rsSetObject((rs_program_fragment*) buf3085, *(rs_program_fragment*)buf3086);
-    rsSetObject((rs_program_vertex*) buf3087, *(rs_program_vertex*)buf3088);
-    rsSetObject((rs_program_raster*) buf3089, *(rs_program_raster*)buf3090);
-    rsSetObject((rs_program_store*) buf3091, *(rs_program_store*)buf3092);
-    rsSetObject((rs_font*) buf3093, *(rs_font*)buf3094);
+    rsSetObject((rs_mesh*) buf3101, *(rs_mesh*)buf3102);
+    rsSetObject((rs_program_fragment*) buf3103, *(rs_program_fragment*)buf3104);
+    rsSetObject((rs_program_vertex*) buf3105, *(rs_program_vertex*)buf3106);
+    rsSetObject((rs_program_raster*) buf3107, *(rs_program_raster*)buf3108);
+    rsSetObject((rs_program_store*) buf3109, *(rs_program_store*)buf3110);
+    rsSetObject((rs_font*) buf3111, *(rs_font*)buf3112);
 #endif
-    *(rs_time_t*)buf3095 = rsTime((rs_time_t*) buf3096);
-    *(float4*)buf3097 = rsUnpackColor8888(*(uchar4*)buf3098);
-    *(int64_t*)buf3099 = rsUptimeMillis();
-    *(int64_t*)buf3100 = rsUptimeNanos();
-    *(float4*)buf3101 = rsYuvToRGBA_float4(*(uchar*)buf3102, *(uchar*)buf3103, *(uchar*)buf3104);
-    *(uchar4*)buf3105 = rsYuvToRGBA_uchar4(*(uchar*)buf3106, *(uchar*)buf3107, *(uchar*)buf3108);
+    *(rs_time_t*)buf3113 = rsTime((rs_time_t*) buf3114);
+    *(float4*)buf3115 = rsUnpackColor8888(*(uchar4*)buf3116);
+    *(int64_t*)buf3117 = rsUptimeMillis();
+    *(int64_t*)buf3118 = rsUptimeNanos();
+    *(float4*)buf3119 = rsYuvToRGBA_float4(*(uchar*)buf3120, *(uchar*)buf3121, *(uchar*)buf3122);
+    *(uchar4*)buf3123 = rsYuvToRGBA_uchar4(*(uchar*)buf3124, *(uchar*)buf3125, *(uchar*)buf3126);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf3109);
+    rsgAllocationSyncAll(*(rs_allocation*)buf3127);
 #endif
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf3110, *(rs_allocation_usage_type*)buf3111);
+    rsgAllocationSyncAll(*(rs_allocation*)buf3128, *(rs_allocation_usage_type*)buf3129);
 #endif
 #ifndef __LP64__
-    rsgBindColorTarget(*(rs_allocation*)buf3112, *(uint*)buf3113);
+    rsgBindColorTarget(*(rs_allocation*)buf3130, *(uint*)buf3131);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf3114, *(uint*)buf3115, *(rs_allocation*)buf3116);
+    rsgBindConstant(*(rs_program_fragment*)buf3132, *(uint*)buf3133, *(rs_allocation*)buf3134);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf3117, *(uint*)buf3118, *(rs_allocation*)buf3119);
+    rsgBindConstant(*(rs_program_vertex*)buf3135, *(uint*)buf3136, *(rs_allocation*)buf3137);
 #endif
 #ifndef __LP64__
-    rsgBindDepthTarget(*(rs_allocation*)buf3120);
+    rsgBindDepthTarget(*(rs_allocation*)buf3138);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf3121);
+    rsgBindFont(*(rs_font*)buf3139);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf3122);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf3140);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf3123);
+    rsgBindProgramRaster(*(rs_program_raster*)buf3141);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf3124);
+    rsgBindProgramStore(*(rs_program_store*)buf3142);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf3125);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf3143);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf3126, *(uint*)buf3127, *(rs_sampler*)buf3128);
+    rsgBindSampler(*(rs_program_fragment*)buf3144, *(uint*)buf3145, *(rs_sampler*)buf3146);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf3129, *(uint*)buf3130, *(rs_allocation*)buf3131);
+    rsgBindTexture(*(rs_program_fragment*)buf3147, *(uint*)buf3148, *(rs_allocation*)buf3149);
 #endif
 #ifndef __LP64__
     rsgClearAllRenderTargets();
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf3132, *(float*)buf3133, *(float*)buf3134, *(float*)buf3135);
+    rsgClearColor(*(float*)buf3150, *(float*)buf3151, *(float*)buf3152, *(float*)buf3153);
 #endif
 #ifndef __LP64__
-    rsgClearColorTarget(*(uint*)buf3136);
+    rsgClearColorTarget(*(uint*)buf3154);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf3137);
+    rsgClearDepth(*(float*)buf3155);
 #endif
 #ifndef __LP64__
     rsgClearDepthTarget();
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf3138);
+    rsgDrawMesh(*(rs_mesh*)buf3156);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf3139, *(uint*)buf3140);
+    rsgDrawMesh(*(rs_mesh*)buf3157, *(uint*)buf3158);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf3141, *(uint*)buf3142, *(uint*)buf3143, *(uint*)buf3144);
+    rsgDrawMesh(*(rs_mesh*)buf3159, *(uint*)buf3160, *(uint*)buf3161, *(uint*)buf3162);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf3145, *(float*)buf3146, *(float*)buf3147, *(float*)buf3148, *(float*)buf3149, *(float*)buf3150, *(float*)buf3151, *(float*)buf3152, *(float*)buf3153, *(float*)buf3154, *(float*)buf3155, *(float*)buf3156);
+    rsgDrawQuad(*(float*)buf3163, *(float*)buf3164, *(float*)buf3165, *(float*)buf3166, *(float*)buf3167, *(float*)buf3168, *(float*)buf3169, *(float*)buf3170, *(float*)buf3171, *(float*)buf3172, *(float*)buf3173, *(float*)buf3174);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf3157, *(float*)buf3158, *(float*)buf3159, *(float*)buf3160, *(float*)buf3161, *(float*)buf3162, *(float*)buf3163, *(float*)buf3164, *(float*)buf3165, *(float*)buf3166, *(float*)buf3167, *(float*)buf3168, *(float*)buf3169, *(float*)buf3170, *(float*)buf3171, *(float*)buf3172, *(float*)buf3173, *(float*)buf3174, *(float*)buf3175, *(float*)buf3176);
+    rsgDrawQuadTexCoords(*(float*)buf3175, *(float*)buf3176, *(float*)buf3177, *(float*)buf3178, *(float*)buf3179, *(float*)buf3180, *(float*)buf3181, *(float*)buf3182, *(float*)buf3183, *(float*)buf3184, *(float*)buf3185, *(float*)buf3186, *(float*)buf3187, *(float*)buf3188, *(float*)buf3189, *(float*)buf3190, *(float*)buf3191, *(float*)buf3192, *(float*)buf3193, *(float*)buf3194);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf3177, *(float*)buf3178, *(float*)buf3179, *(float*)buf3180, *(float*)buf3181);
+    rsgDrawRect(*(float*)buf3195, *(float*)buf3196, *(float*)buf3197, *(float*)buf3198, *(float*)buf3199);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf3182, *(float*)buf3183, *(float*)buf3184, *(float*)buf3185, *(float*)buf3186);
+    rsgDrawSpriteScreenspace(*(float*)buf3200, *(float*)buf3201, *(float*)buf3202, *(float*)buf3203, *(float*)buf3204);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf3187, *(int*)buf3188, *(int*)buf3189);
+    rsgDrawText((const char*) buf3205, *(int*)buf3206, *(int*)buf3207);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf3190, *(int*)buf3191, *(int*)buf3192);
+    rsgDrawText(*(rs_allocation*)buf3208, *(int*)buf3209, *(int*)buf3210);
 #endif
 #ifndef __LP64__
-    *(uint*)buf3193 = rsgFinish();
+    *(uint*)buf3211 = rsgFinish();
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf3194, *(float*)buf3195, *(float*)buf3196, *(float*)buf3197);
+    rsgFontColor(*(float*)buf3212, *(float*)buf3213, *(float*)buf3214, *(float*)buf3215);
 #endif
 #ifndef __LP64__
-    *(uint*)buf3198 = rsgGetHeight();
+    *(uint*)buf3216 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf3199 = rsgGetWidth();
+    *(uint*)buf3217 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf3200, (int*) buf3201, (int*) buf3202, (int*) buf3203, (int*) buf3204);
+    rsgMeasureText((const char*) buf3218, (int*) buf3219, (int*) buf3220, (int*) buf3221, (int*) buf3222);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf3205, (int*) buf3206, (int*) buf3207, (int*) buf3208, (int*) buf3209);
+    rsgMeasureText(*(rs_allocation*)buf3223, (int*) buf3224, (int*) buf3225, (int*) buf3226, (int*) buf3227);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3210, (float*) buf3211, (float*) buf3212, (float*) buf3213, (float*) buf3214, (float*) buf3215, (float*) buf3216);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3228, (float*) buf3229, (float*) buf3230, (float*) buf3231, (float*) buf3232, (float*) buf3233, (float*) buf3234);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3217, (float3*) buf3218, (float3*) buf3219);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3235, (float3*) buf3236, (float3*) buf3237);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf3220 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf3221, *(uint32_t*)buf3222);
+    *(rs_allocation*)buf3238 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf3239, *(uint32_t*)buf3240);
 #endif
 #ifndef __LP64__
-    *(rs_primitive*)buf3223 = rsgMeshGetPrimitive(*(rs_mesh*)buf3224, *(uint32_t*)buf3225);
+    *(rs_primitive*)buf3241 = rsgMeshGetPrimitive(*(rs_mesh*)buf3242, *(uint32_t*)buf3243);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf3226 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf3227);
+    *(uint32_t*)buf3244 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf3245);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf3228 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf3229, *(uint32_t*)buf3230);
+    *(rs_allocation*)buf3246 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf3247, *(uint32_t*)buf3248);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf3231 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf3232);
+    *(uint32_t*)buf3249 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf3250);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf3233, *(float*)buf3234, *(float*)buf3235, *(float*)buf3236, *(float*)buf3237);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf3251, *(float*)buf3252, *(float*)buf3253, *(float*)buf3254, *(float*)buf3255);
 #endif
 #ifndef __LP64__
-    *(rs_cull_mode*)buf3238 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf3239);
+    *(rs_cull_mode*)buf3256 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf3257);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3240 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf3241);
+    *(bool*)buf3258 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf3259);
 #endif
 #ifndef __LP64__
-    *(rs_blend_dst_func*)buf3242 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf3243);
+    *(rs_blend_dst_func*)buf3260 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf3261);
 #endif
 #ifndef __LP64__
-    *(rs_blend_src_func*)buf3244 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf3245);
+    *(rs_blend_src_func*)buf3262 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf3263);
 #endif
 #ifndef __LP64__
-    *(rs_depth_func*)buf3246 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf3247);
+    *(rs_depth_func*)buf3264 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf3265);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3248 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf3249);
+    *(bool*)buf3266 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf3267);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3250 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf3251);
+    *(bool*)buf3268 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf3269);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3252 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf3253);
+    *(bool*)buf3270 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf3271);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3254 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf3255);
+    *(bool*)buf3272 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf3273);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3256 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf3257);
+    *(bool*)buf3274 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf3275);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3258 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf3259);
+    *(bool*)buf3276 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf3277);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf3260);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf3278);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf3261);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf3279);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf3262);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf3280);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf3263);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf3281);
 #endif
-    *(float*)buf3264 = rsqrt(*(float*)buf3265);
-    *(float2*)buf3266 = rsqrt(*(float2*)buf3267);
-    *(float3*)buf3268 = rsqrt(*(float3*)buf3269);
-    *(float4*)buf3270 = rsqrt(*(float4*)buf3271);
-    *(float*)buf3272 = sign(*(float*)buf3273);
-    *(float2*)buf3274 = sign(*(float2*)buf3275);
-    *(float3*)buf3276 = sign(*(float3*)buf3277);
-    *(float4*)buf3278 = sign(*(float4*)buf3279);
-    *(float*)buf3280 = sin(*(float*)buf3281);
-    *(float2*)buf3282 = sin(*(float2*)buf3283);
-    *(float3*)buf3284 = sin(*(float3*)buf3285);
-    *(float4*)buf3286 = sin(*(float4*)buf3287);
-    *(float*)buf3288 = sincos(*(float*)buf3289, (float*) buf3290);
-    *(float2*)buf3291 = sincos(*(float2*)buf3292, (float2*) buf3293);
-    *(float3*)buf3294 = sincos(*(float3*)buf3295, (float3*) buf3296);
-    *(float4*)buf3297 = sincos(*(float4*)buf3298, (float4*) buf3299);
-    *(float*)buf3300 = sinh(*(float*)buf3301);
-    *(float2*)buf3302 = sinh(*(float2*)buf3303);
-    *(float3*)buf3304 = sinh(*(float3*)buf3305);
-    *(float4*)buf3306 = sinh(*(float4*)buf3307);
-    *(float*)buf3308 = sinpi(*(float*)buf3309);
-    *(float2*)buf3310 = sinpi(*(float2*)buf3311);
-    *(float3*)buf3312 = sinpi(*(float3*)buf3313);
-    *(float4*)buf3314 = sinpi(*(float4*)buf3315);
-    *(float*)buf3316 = sqrt(*(float*)buf3317);
-    *(float2*)buf3318 = sqrt(*(float2*)buf3319);
-    *(float3*)buf3320 = sqrt(*(float3*)buf3321);
-    *(float4*)buf3322 = sqrt(*(float4*)buf3323);
-    *(float*)buf3324 = step(*(float*)buf3325, *(float*)buf3326);
-    *(float2*)buf3327 = step(*(float2*)buf3328, *(float2*)buf3329);
-    *(float3*)buf3330 = step(*(float3*)buf3331, *(float3*)buf3332);
-    *(float4*)buf3333 = step(*(float4*)buf3334, *(float4*)buf3335);
-    *(float2*)buf3336 = step(*(float2*)buf3337, *(float*)buf3338);
-    *(float3*)buf3339 = step(*(float3*)buf3340, *(float*)buf3341);
-    *(float4*)buf3342 = step(*(float4*)buf3343, *(float*)buf3344);
-    *(float*)buf3345 = tan(*(float*)buf3346);
-    *(float2*)buf3347 = tan(*(float2*)buf3348);
-    *(float3*)buf3349 = tan(*(float3*)buf3350);
-    *(float4*)buf3351 = tan(*(float4*)buf3352);
-    *(float*)buf3353 = tanh(*(float*)buf3354);
-    *(float2*)buf3355 = tanh(*(float2*)buf3356);
-    *(float3*)buf3357 = tanh(*(float3*)buf3358);
-    *(float4*)buf3359 = tanh(*(float4*)buf3360);
-    *(float*)buf3361 = tanpi(*(float*)buf3362);
-    *(float2*)buf3363 = tanpi(*(float2*)buf3364);
-    *(float3*)buf3365 = tanpi(*(float3*)buf3366);
-    *(float4*)buf3367 = tanpi(*(float4*)buf3368);
-    *(float*)buf3369 = tgamma(*(float*)buf3370);
-    *(float2*)buf3371 = tgamma(*(float2*)buf3372);
-    *(float3*)buf3373 = tgamma(*(float3*)buf3374);
-    *(float4*)buf3375 = tgamma(*(float4*)buf3376);
-    *(float*)buf3377 = trunc(*(float*)buf3378);
-    *(float2*)buf3379 = trunc(*(float2*)buf3380);
-    *(float3*)buf3381 = trunc(*(float3*)buf3382);
-    *(float4*)buf3383 = trunc(*(float4*)buf3384);
+    *(float*)buf3282 = rsqrt(*(float*)buf3283);
+    *(float2*)buf3284 = rsqrt(*(float2*)buf3285);
+    *(float3*)buf3286 = rsqrt(*(float3*)buf3287);
+    *(float4*)buf3288 = rsqrt(*(float4*)buf3289);
+    *(float*)buf3290 = sign(*(float*)buf3291);
+    *(float2*)buf3292 = sign(*(float2*)buf3293);
+    *(float3*)buf3294 = sign(*(float3*)buf3295);
+    *(float4*)buf3296 = sign(*(float4*)buf3297);
+    *(float*)buf3298 = sin(*(float*)buf3299);
+    *(float2*)buf3300 = sin(*(float2*)buf3301);
+    *(float3*)buf3302 = sin(*(float3*)buf3303);
+    *(float4*)buf3304 = sin(*(float4*)buf3305);
+    *(float*)buf3306 = sincos(*(float*)buf3307, (float*) buf3308);
+    *(float2*)buf3309 = sincos(*(float2*)buf3310, (float2*) buf3311);
+    *(float3*)buf3312 = sincos(*(float3*)buf3313, (float3*) buf3314);
+    *(float4*)buf3315 = sincos(*(float4*)buf3316, (float4*) buf3317);
+    *(float*)buf3318 = sinh(*(float*)buf3319);
+    *(float2*)buf3320 = sinh(*(float2*)buf3321);
+    *(float3*)buf3322 = sinh(*(float3*)buf3323);
+    *(float4*)buf3324 = sinh(*(float4*)buf3325);
+    *(float*)buf3326 = sinpi(*(float*)buf3327);
+    *(float2*)buf3328 = sinpi(*(float2*)buf3329);
+    *(float3*)buf3330 = sinpi(*(float3*)buf3331);
+    *(float4*)buf3332 = sinpi(*(float4*)buf3333);
+    *(float*)buf3334 = sqrt(*(float*)buf3335);
+    *(float2*)buf3336 = sqrt(*(float2*)buf3337);
+    *(float3*)buf3338 = sqrt(*(float3*)buf3339);
+    *(float4*)buf3340 = sqrt(*(float4*)buf3341);
+    *(float*)buf3342 = step(*(float*)buf3343, *(float*)buf3344);
+    *(float2*)buf3345 = step(*(float2*)buf3346, *(float2*)buf3347);
+    *(float3*)buf3348 = step(*(float3*)buf3349, *(float3*)buf3350);
+    *(float4*)buf3351 = step(*(float4*)buf3352, *(float4*)buf3353);
+    *(float2*)buf3354 = step(*(float2*)buf3355, *(float*)buf3356);
+    *(float3*)buf3357 = step(*(float3*)buf3358, *(float*)buf3359);
+    *(float4*)buf3360 = step(*(float4*)buf3361, *(float*)buf3362);
+    *(float*)buf3363 = tan(*(float*)buf3364);
+    *(float2*)buf3365 = tan(*(float2*)buf3366);
+    *(float3*)buf3367 = tan(*(float3*)buf3368);
+    *(float4*)buf3369 = tan(*(float4*)buf3370);
+    *(float*)buf3371 = tanh(*(float*)buf3372);
+    *(float2*)buf3373 = tanh(*(float2*)buf3374);
+    *(float3*)buf3375 = tanh(*(float3*)buf3376);
+    *(float4*)buf3377 = tanh(*(float4*)buf3378);
+    *(float*)buf3379 = tanpi(*(float*)buf3380);
+    *(float2*)buf3381 = tanpi(*(float2*)buf3382);
+    *(float3*)buf3383 = tanpi(*(float3*)buf3384);
+    *(float4*)buf3385 = tanpi(*(float4*)buf3386);
+    *(float*)buf3387 = tgamma(*(float*)buf3388);
+    *(float2*)buf3389 = tgamma(*(float2*)buf3390);
+    *(float3*)buf3391 = tgamma(*(float3*)buf3392);
+    *(float4*)buf3393 = tgamma(*(float4*)buf3394);
+    *(float*)buf3395 = trunc(*(float*)buf3396);
+    *(float2*)buf3397 = trunc(*(float2*)buf3398);
+    *(float3*)buf3399 = trunc(*(float3*)buf3400);
+    *(float4*)buf3401 = trunc(*(float4*)buf3402);
 }
diff --git a/tests/P_all_api_21/all21.rs b/tests/P_all_api_21/all21.rs
index 854cc79..6d7be2a 100644
--- a/tests/P_all_api_21/all21.rs
+++ b/tests/P_all_api_21/all21.rs
@@ -4051,6 +4051,24 @@
 char buf4026[200];
 char buf4027[200];
 char buf4028[200];
+char buf4029[200];
+char buf4030[200];
+char buf4031[200];
+char buf4032[200];
+char buf4033[200];
+char buf4034[200];
+char buf4035[200];
+char buf4036[200];
+char buf4037[200];
+char buf4038[200];
+char buf4039[200];
+char buf4040[200];
+char buf4041[200];
+char buf4042[200];
+char buf4043[200];
+char buf4044[200];
+char buf4045[200];
+char buf4046[200];
 
 void RS_KERNEL test(int in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -4683,982 +4701,988 @@
     *(float2*)buf1468 = max(*(float2*)buf1469, *(float2*)buf1470);
     *(float3*)buf1471 = max(*(float3*)buf1472, *(float3*)buf1473);
     *(float4*)buf1474 = max(*(float4*)buf1475, *(float4*)buf1476);
-    *(char*)buf1477 = max(*(char*)buf1478, *(char*)buf1479);
-    *(char2*)buf1480 = max(*(char2*)buf1481, *(char2*)buf1482);
-    *(char3*)buf1483 = max(*(char3*)buf1484, *(char3*)buf1485);
-    *(char4*)buf1486 = max(*(char4*)buf1487, *(char4*)buf1488);
-    *(uchar*)buf1489 = max(*(uchar*)buf1490, *(uchar*)buf1491);
-    *(uchar2*)buf1492 = max(*(uchar2*)buf1493, *(uchar2*)buf1494);
-    *(uchar3*)buf1495 = max(*(uchar3*)buf1496, *(uchar3*)buf1497);
-    *(uchar4*)buf1498 = max(*(uchar4*)buf1499, *(uchar4*)buf1500);
-    *(short*)buf1501 = max(*(short*)buf1502, *(short*)buf1503);
-    *(short2*)buf1504 = max(*(short2*)buf1505, *(short2*)buf1506);
-    *(short3*)buf1507 = max(*(short3*)buf1508, *(short3*)buf1509);
-    *(short4*)buf1510 = max(*(short4*)buf1511, *(short4*)buf1512);
-    *(ushort*)buf1513 = max(*(ushort*)buf1514, *(ushort*)buf1515);
-    *(ushort2*)buf1516 = max(*(ushort2*)buf1517, *(ushort2*)buf1518);
-    *(ushort3*)buf1519 = max(*(ushort3*)buf1520, *(ushort3*)buf1521);
-    *(ushort4*)buf1522 = max(*(ushort4*)buf1523, *(ushort4*)buf1524);
-    *(int*)buf1525 = max(*(int*)buf1526, *(int*)buf1527);
-    *(int2*)buf1528 = max(*(int2*)buf1529, *(int2*)buf1530);
-    *(int3*)buf1531 = max(*(int3*)buf1532, *(int3*)buf1533);
-    *(int4*)buf1534 = max(*(int4*)buf1535, *(int4*)buf1536);
-    *(uint*)buf1537 = max(*(uint*)buf1538, *(uint*)buf1539);
-    *(uint2*)buf1540 = max(*(uint2*)buf1541, *(uint2*)buf1542);
-    *(uint3*)buf1543 = max(*(uint3*)buf1544, *(uint3*)buf1545);
-    *(uint4*)buf1546 = max(*(uint4*)buf1547, *(uint4*)buf1548);
-    *(long*)buf1549 = max(*(long*)buf1550, *(long*)buf1551);
-    *(long2*)buf1552 = max(*(long2*)buf1553, *(long2*)buf1554);
-    *(long3*)buf1555 = max(*(long3*)buf1556, *(long3*)buf1557);
-    *(long4*)buf1558 = max(*(long4*)buf1559, *(long4*)buf1560);
-    *(ulong*)buf1561 = max(*(ulong*)buf1562, *(ulong*)buf1563);
-    *(ulong2*)buf1564 = max(*(ulong2*)buf1565, *(ulong2*)buf1566);
-    *(ulong3*)buf1567 = max(*(ulong3*)buf1568, *(ulong3*)buf1569);
-    *(ulong4*)buf1570 = max(*(ulong4*)buf1571, *(ulong4*)buf1572);
-    *(float*)buf1573 = min(*(float*)buf1574, *(float*)buf1575);
-    *(float2*)buf1576 = min(*(float2*)buf1577, *(float2*)buf1578);
-    *(float3*)buf1579 = min(*(float3*)buf1580, *(float3*)buf1581);
-    *(float4*)buf1582 = min(*(float4*)buf1583, *(float4*)buf1584);
-    *(char*)buf1585 = min(*(char*)buf1586, *(char*)buf1587);
-    *(char2*)buf1588 = min(*(char2*)buf1589, *(char2*)buf1590);
-    *(char3*)buf1591 = min(*(char3*)buf1592, *(char3*)buf1593);
-    *(char4*)buf1594 = min(*(char4*)buf1595, *(char4*)buf1596);
-    *(uchar*)buf1597 = min(*(uchar*)buf1598, *(uchar*)buf1599);
-    *(uchar2*)buf1600 = min(*(uchar2*)buf1601, *(uchar2*)buf1602);
-    *(uchar3*)buf1603 = min(*(uchar3*)buf1604, *(uchar3*)buf1605);
-    *(uchar4*)buf1606 = min(*(uchar4*)buf1607, *(uchar4*)buf1608);
-    *(short*)buf1609 = min(*(short*)buf1610, *(short*)buf1611);
-    *(short2*)buf1612 = min(*(short2*)buf1613, *(short2*)buf1614);
-    *(short3*)buf1615 = min(*(short3*)buf1616, *(short3*)buf1617);
-    *(short4*)buf1618 = min(*(short4*)buf1619, *(short4*)buf1620);
-    *(ushort*)buf1621 = min(*(ushort*)buf1622, *(ushort*)buf1623);
-    *(ushort2*)buf1624 = min(*(ushort2*)buf1625, *(ushort2*)buf1626);
-    *(ushort3*)buf1627 = min(*(ushort3*)buf1628, *(ushort3*)buf1629);
-    *(ushort4*)buf1630 = min(*(ushort4*)buf1631, *(ushort4*)buf1632);
-    *(int*)buf1633 = min(*(int*)buf1634, *(int*)buf1635);
-    *(int2*)buf1636 = min(*(int2*)buf1637, *(int2*)buf1638);
-    *(int3*)buf1639 = min(*(int3*)buf1640, *(int3*)buf1641);
-    *(int4*)buf1642 = min(*(int4*)buf1643, *(int4*)buf1644);
-    *(uint*)buf1645 = min(*(uint*)buf1646, *(uint*)buf1647);
-    *(uint2*)buf1648 = min(*(uint2*)buf1649, *(uint2*)buf1650);
-    *(uint3*)buf1651 = min(*(uint3*)buf1652, *(uint3*)buf1653);
-    *(uint4*)buf1654 = min(*(uint4*)buf1655, *(uint4*)buf1656);
-    *(long*)buf1657 = min(*(long*)buf1658, *(long*)buf1659);
-    *(long2*)buf1660 = min(*(long2*)buf1661, *(long2*)buf1662);
-    *(long3*)buf1663 = min(*(long3*)buf1664, *(long3*)buf1665);
-    *(long4*)buf1666 = min(*(long4*)buf1667, *(long4*)buf1668);
-    *(ulong*)buf1669 = min(*(ulong*)buf1670, *(ulong*)buf1671);
-    *(ulong2*)buf1672 = min(*(ulong2*)buf1673, *(ulong2*)buf1674);
-    *(ulong3*)buf1675 = min(*(ulong3*)buf1676, *(ulong3*)buf1677);
-    *(ulong4*)buf1678 = min(*(ulong4*)buf1679, *(ulong4*)buf1680);
-    *(float*)buf1681 = mix(*(float*)buf1682, *(float*)buf1683, *(float*)buf1684);
-    *(float2*)buf1685 = mix(*(float2*)buf1686, *(float2*)buf1687, *(float2*)buf1688);
-    *(float3*)buf1689 = mix(*(float3*)buf1690, *(float3*)buf1691, *(float3*)buf1692);
-    *(float4*)buf1693 = mix(*(float4*)buf1694, *(float4*)buf1695, *(float4*)buf1696);
-    *(float2*)buf1697 = mix(*(float2*)buf1698, *(float2*)buf1699, *(float*)buf1700);
-    *(float3*)buf1701 = mix(*(float3*)buf1702, *(float3*)buf1703, *(float*)buf1704);
-    *(float4*)buf1705 = mix(*(float4*)buf1706, *(float4*)buf1707, *(float*)buf1708);
-    *(float*)buf1709 = modf(*(float*)buf1710, (float*) buf1711);
-    *(float2*)buf1712 = modf(*(float2*)buf1713, (float2*) buf1714);
-    *(float3*)buf1715 = modf(*(float3*)buf1716, (float3*) buf1717);
-    *(float4*)buf1718 = modf(*(float4*)buf1719, (float4*) buf1720);
-    *(float*)buf1721 = nan(*(uint*)buf1722);
-    *(float*)buf1723 = native_acos(*(float*)buf1724);
-    *(float2*)buf1725 = native_acos(*(float2*)buf1726);
-    *(float3*)buf1727 = native_acos(*(float3*)buf1728);
-    *(float4*)buf1729 = native_acos(*(float4*)buf1730);
-    *(float*)buf1731 = native_acosh(*(float*)buf1732);
-    *(float2*)buf1733 = native_acosh(*(float2*)buf1734);
-    *(float3*)buf1735 = native_acosh(*(float3*)buf1736);
-    *(float4*)buf1737 = native_acosh(*(float4*)buf1738);
-    *(float*)buf1739 = native_acospi(*(float*)buf1740);
-    *(float2*)buf1741 = native_acospi(*(float2*)buf1742);
-    *(float3*)buf1743 = native_acospi(*(float3*)buf1744);
-    *(float4*)buf1745 = native_acospi(*(float4*)buf1746);
-    *(float*)buf1747 = native_asin(*(float*)buf1748);
-    *(float2*)buf1749 = native_asin(*(float2*)buf1750);
-    *(float3*)buf1751 = native_asin(*(float3*)buf1752);
-    *(float4*)buf1753 = native_asin(*(float4*)buf1754);
-    *(float*)buf1755 = native_asinh(*(float*)buf1756);
-    *(float2*)buf1757 = native_asinh(*(float2*)buf1758);
-    *(float3*)buf1759 = native_asinh(*(float3*)buf1760);
-    *(float4*)buf1761 = native_asinh(*(float4*)buf1762);
-    *(float*)buf1763 = native_asinpi(*(float*)buf1764);
-    *(float2*)buf1765 = native_asinpi(*(float2*)buf1766);
-    *(float3*)buf1767 = native_asinpi(*(float3*)buf1768);
-    *(float4*)buf1769 = native_asinpi(*(float4*)buf1770);
-    *(float*)buf1771 = native_atan(*(float*)buf1772);
-    *(float2*)buf1773 = native_atan(*(float2*)buf1774);
-    *(float3*)buf1775 = native_atan(*(float3*)buf1776);
-    *(float4*)buf1777 = native_atan(*(float4*)buf1778);
-    *(float*)buf1779 = native_atan2(*(float*)buf1780, *(float*)buf1781);
-    *(float2*)buf1782 = native_atan2(*(float2*)buf1783, *(float2*)buf1784);
-    *(float3*)buf1785 = native_atan2(*(float3*)buf1786, *(float3*)buf1787);
-    *(float4*)buf1788 = native_atan2(*(float4*)buf1789, *(float4*)buf1790);
-    *(float*)buf1791 = native_atan2pi(*(float*)buf1792, *(float*)buf1793);
-    *(float2*)buf1794 = native_atan2pi(*(float2*)buf1795, *(float2*)buf1796);
-    *(float3*)buf1797 = native_atan2pi(*(float3*)buf1798, *(float3*)buf1799);
-    *(float4*)buf1800 = native_atan2pi(*(float4*)buf1801, *(float4*)buf1802);
-    *(float*)buf1803 = native_atanh(*(float*)buf1804);
-    *(float2*)buf1805 = native_atanh(*(float2*)buf1806);
-    *(float3*)buf1807 = native_atanh(*(float3*)buf1808);
-    *(float4*)buf1809 = native_atanh(*(float4*)buf1810);
-    *(float*)buf1811 = native_atanpi(*(float*)buf1812);
-    *(float2*)buf1813 = native_atanpi(*(float2*)buf1814);
-    *(float3*)buf1815 = native_atanpi(*(float3*)buf1816);
-    *(float4*)buf1817 = native_atanpi(*(float4*)buf1818);
-    *(float*)buf1819 = native_cbrt(*(float*)buf1820);
-    *(float2*)buf1821 = native_cbrt(*(float2*)buf1822);
-    *(float3*)buf1823 = native_cbrt(*(float3*)buf1824);
-    *(float4*)buf1825 = native_cbrt(*(float4*)buf1826);
-    *(float*)buf1827 = native_cos(*(float*)buf1828);
-    *(float2*)buf1829 = native_cos(*(float2*)buf1830);
-    *(float3*)buf1831 = native_cos(*(float3*)buf1832);
-    *(float4*)buf1833 = native_cos(*(float4*)buf1834);
-    *(float*)buf1835 = native_cosh(*(float*)buf1836);
-    *(float2*)buf1837 = native_cosh(*(float2*)buf1838);
-    *(float3*)buf1839 = native_cosh(*(float3*)buf1840);
-    *(float4*)buf1841 = native_cosh(*(float4*)buf1842);
-    *(float*)buf1843 = native_cospi(*(float*)buf1844);
-    *(float2*)buf1845 = native_cospi(*(float2*)buf1846);
-    *(float3*)buf1847 = native_cospi(*(float3*)buf1848);
-    *(float4*)buf1849 = native_cospi(*(float4*)buf1850);
-    *(float*)buf1851 = native_distance(*(float*)buf1852, *(float*)buf1853);
-    *(float*)buf1854 = native_distance(*(float2*)buf1855, *(float2*)buf1856);
-    *(float*)buf1857 = native_distance(*(float3*)buf1858, *(float3*)buf1859);
-    *(float*)buf1860 = native_distance(*(float4*)buf1861, *(float4*)buf1862);
-    *(float*)buf1863 = native_divide(*(float*)buf1864, *(float*)buf1865);
-    *(float2*)buf1866 = native_divide(*(float2*)buf1867, *(float2*)buf1868);
-    *(float3*)buf1869 = native_divide(*(float3*)buf1870, *(float3*)buf1871);
-    *(float4*)buf1872 = native_divide(*(float4*)buf1873, *(float4*)buf1874);
-    *(float*)buf1875 = native_exp(*(float*)buf1876);
-    *(float2*)buf1877 = native_exp(*(float2*)buf1878);
-    *(float3*)buf1879 = native_exp(*(float3*)buf1880);
-    *(float4*)buf1881 = native_exp(*(float4*)buf1882);
-    *(float*)buf1883 = native_exp10(*(float*)buf1884);
-    *(float2*)buf1885 = native_exp10(*(float2*)buf1886);
-    *(float3*)buf1887 = native_exp10(*(float3*)buf1888);
-    *(float4*)buf1889 = native_exp10(*(float4*)buf1890);
-    *(float*)buf1891 = native_exp2(*(float*)buf1892);
-    *(float2*)buf1893 = native_exp2(*(float2*)buf1894);
-    *(float3*)buf1895 = native_exp2(*(float3*)buf1896);
-    *(float4*)buf1897 = native_exp2(*(float4*)buf1898);
-    *(float*)buf1899 = native_expm1(*(float*)buf1900);
-    *(float2*)buf1901 = native_expm1(*(float2*)buf1902);
-    *(float3*)buf1903 = native_expm1(*(float3*)buf1904);
-    *(float4*)buf1905 = native_expm1(*(float4*)buf1906);
-    *(float*)buf1907 = native_hypot(*(float*)buf1908, *(float*)buf1909);
-    *(float2*)buf1910 = native_hypot(*(float2*)buf1911, *(float2*)buf1912);
-    *(float3*)buf1913 = native_hypot(*(float3*)buf1914, *(float3*)buf1915);
-    *(float4*)buf1916 = native_hypot(*(float4*)buf1917, *(float4*)buf1918);
-    *(float*)buf1919 = native_length(*(float*)buf1920);
-    *(float*)buf1921 = native_length(*(float2*)buf1922);
-    *(float*)buf1923 = native_length(*(float3*)buf1924);
-    *(float*)buf1925 = native_length(*(float4*)buf1926);
-    *(float*)buf1927 = native_log(*(float*)buf1928);
-    *(float2*)buf1929 = native_log(*(float2*)buf1930);
-    *(float3*)buf1931 = native_log(*(float3*)buf1932);
-    *(float4*)buf1933 = native_log(*(float4*)buf1934);
-    *(float*)buf1935 = native_log10(*(float*)buf1936);
-    *(float2*)buf1937 = native_log10(*(float2*)buf1938);
-    *(float3*)buf1939 = native_log10(*(float3*)buf1940);
-    *(float4*)buf1941 = native_log10(*(float4*)buf1942);
-    *(float*)buf1943 = native_log1p(*(float*)buf1944);
-    *(float2*)buf1945 = native_log1p(*(float2*)buf1946);
-    *(float3*)buf1947 = native_log1p(*(float3*)buf1948);
-    *(float4*)buf1949 = native_log1p(*(float4*)buf1950);
-    *(float*)buf1951 = native_log2(*(float*)buf1952);
-    *(float2*)buf1953 = native_log2(*(float2*)buf1954);
-    *(float3*)buf1955 = native_log2(*(float3*)buf1956);
-    *(float4*)buf1957 = native_log2(*(float4*)buf1958);
-    *(float*)buf1959 = native_normalize(*(float*)buf1960);
-    *(float2*)buf1961 = native_normalize(*(float2*)buf1962);
-    *(float3*)buf1963 = native_normalize(*(float3*)buf1964);
-    *(float4*)buf1965 = native_normalize(*(float4*)buf1966);
-    *(float*)buf1967 = native_powr(*(float*)buf1968, *(float*)buf1969);
-    *(float2*)buf1970 = native_powr(*(float2*)buf1971, *(float2*)buf1972);
-    *(float3*)buf1973 = native_powr(*(float3*)buf1974, *(float3*)buf1975);
-    *(float4*)buf1976 = native_powr(*(float4*)buf1977, *(float4*)buf1978);
-    *(float*)buf1979 = native_recip(*(float*)buf1980);
-    *(float2*)buf1981 = native_recip(*(float2*)buf1982);
-    *(float3*)buf1983 = native_recip(*(float3*)buf1984);
-    *(float4*)buf1985 = native_recip(*(float4*)buf1986);
-    *(float*)buf1987 = native_rootn(*(float*)buf1988, *(int*)buf1989);
-    *(float2*)buf1990 = native_rootn(*(float2*)buf1991, *(int2*)buf1992);
-    *(float3*)buf1993 = native_rootn(*(float3*)buf1994, *(int3*)buf1995);
-    *(float4*)buf1996 = native_rootn(*(float4*)buf1997, *(int4*)buf1998);
-    *(float*)buf1999 = native_rsqrt(*(float*)buf2000);
-    *(float2*)buf2001 = native_rsqrt(*(float2*)buf2002);
-    *(float3*)buf2003 = native_rsqrt(*(float3*)buf2004);
-    *(float4*)buf2005 = native_rsqrt(*(float4*)buf2006);
-    *(float*)buf2007 = native_sin(*(float*)buf2008);
-    *(float2*)buf2009 = native_sin(*(float2*)buf2010);
-    *(float3*)buf2011 = native_sin(*(float3*)buf2012);
-    *(float4*)buf2013 = native_sin(*(float4*)buf2014);
-    *(float*)buf2015 = native_sincos(*(float*)buf2016, (float*) buf2017);
-    *(float2*)buf2018 = native_sincos(*(float2*)buf2019, (float2*) buf2020);
-    *(float3*)buf2021 = native_sincos(*(float3*)buf2022, (float3*) buf2023);
-    *(float4*)buf2024 = native_sincos(*(float4*)buf2025, (float4*) buf2026);
-    *(float*)buf2027 = native_sinh(*(float*)buf2028);
-    *(float2*)buf2029 = native_sinh(*(float2*)buf2030);
-    *(float3*)buf2031 = native_sinh(*(float3*)buf2032);
-    *(float4*)buf2033 = native_sinh(*(float4*)buf2034);
-    *(float*)buf2035 = native_sinpi(*(float*)buf2036);
-    *(float2*)buf2037 = native_sinpi(*(float2*)buf2038);
-    *(float3*)buf2039 = native_sinpi(*(float3*)buf2040);
-    *(float4*)buf2041 = native_sinpi(*(float4*)buf2042);
-    *(float*)buf2043 = native_sqrt(*(float*)buf2044);
-    *(float2*)buf2045 = native_sqrt(*(float2*)buf2046);
-    *(float3*)buf2047 = native_sqrt(*(float3*)buf2048);
-    *(float4*)buf2049 = native_sqrt(*(float4*)buf2050);
-    *(float*)buf2051 = native_tan(*(float*)buf2052);
-    *(float2*)buf2053 = native_tan(*(float2*)buf2054);
-    *(float3*)buf2055 = native_tan(*(float3*)buf2056);
-    *(float4*)buf2057 = native_tan(*(float4*)buf2058);
-    *(float*)buf2059 = native_tanh(*(float*)buf2060);
-    *(float2*)buf2061 = native_tanh(*(float2*)buf2062);
-    *(float3*)buf2063 = native_tanh(*(float3*)buf2064);
-    *(float4*)buf2065 = native_tanh(*(float4*)buf2066);
-    *(float*)buf2067 = native_tanpi(*(float*)buf2068);
-    *(float2*)buf2069 = native_tanpi(*(float2*)buf2070);
-    *(float3*)buf2071 = native_tanpi(*(float3*)buf2072);
-    *(float4*)buf2073 = native_tanpi(*(float4*)buf2074);
-    *(float*)buf2075 = nextafter(*(float*)buf2076, *(float*)buf2077);
-    *(float2*)buf2078 = nextafter(*(float2*)buf2079, *(float2*)buf2080);
-    *(float3*)buf2081 = nextafter(*(float3*)buf2082, *(float3*)buf2083);
-    *(float4*)buf2084 = nextafter(*(float4*)buf2085, *(float4*)buf2086);
-    *(float*)buf2087 = normalize(*(float*)buf2088);
-    *(float2*)buf2089 = normalize(*(float2*)buf2090);
-    *(float3*)buf2091 = normalize(*(float3*)buf2092);
-    *(float4*)buf2093 = normalize(*(float4*)buf2094);
-    *(float*)buf2095 = pow(*(float*)buf2096, *(float*)buf2097);
-    *(float2*)buf2098 = pow(*(float2*)buf2099, *(float2*)buf2100);
-    *(float3*)buf2101 = pow(*(float3*)buf2102, *(float3*)buf2103);
-    *(float4*)buf2104 = pow(*(float4*)buf2105, *(float4*)buf2106);
-    *(float*)buf2107 = pown(*(float*)buf2108, *(int*)buf2109);
-    *(float2*)buf2110 = pown(*(float2*)buf2111, *(int2*)buf2112);
-    *(float3*)buf2113 = pown(*(float3*)buf2114, *(int3*)buf2115);
-    *(float4*)buf2116 = pown(*(float4*)buf2117, *(int4*)buf2118);
-    *(float*)buf2119 = powr(*(float*)buf2120, *(float*)buf2121);
-    *(float2*)buf2122 = powr(*(float2*)buf2123, *(float2*)buf2124);
-    *(float3*)buf2125 = powr(*(float3*)buf2126, *(float3*)buf2127);
-    *(float4*)buf2128 = powr(*(float4*)buf2129, *(float4*)buf2130);
-    *(float*)buf2131 = radians(*(float*)buf2132);
-    *(float2*)buf2133 = radians(*(float2*)buf2134);
-    *(float3*)buf2135 = radians(*(float3*)buf2136);
-    *(float4*)buf2137 = radians(*(float4*)buf2138);
-    *(float*)buf2139 = remainder(*(float*)buf2140, *(float*)buf2141);
-    *(float2*)buf2142 = remainder(*(float2*)buf2143, *(float2*)buf2144);
-    *(float3*)buf2145 = remainder(*(float3*)buf2146, *(float3*)buf2147);
-    *(float4*)buf2148 = remainder(*(float4*)buf2149, *(float4*)buf2150);
-    *(float*)buf2151 = remquo(*(float*)buf2152, *(float*)buf2153, (int*) buf2154);
-    *(float2*)buf2155 = remquo(*(float2*)buf2156, *(float2*)buf2157, (int2*) buf2158);
-    *(float3*)buf2159 = remquo(*(float3*)buf2160, *(float3*)buf2161, (int3*) buf2162);
-    *(float4*)buf2163 = remquo(*(float4*)buf2164, *(float4*)buf2165, (int4*) buf2166);
-    *(float*)buf2167 = rint(*(float*)buf2168);
-    *(float2*)buf2169 = rint(*(float2*)buf2170);
-    *(float3*)buf2171 = rint(*(float3*)buf2172);
-    *(float4*)buf2173 = rint(*(float4*)buf2174);
-    *(float*)buf2175 = rootn(*(float*)buf2176, *(int*)buf2177);
-    *(float2*)buf2178 = rootn(*(float2*)buf2179, *(int2*)buf2180);
-    *(float3*)buf2181 = rootn(*(float3*)buf2182, *(int3*)buf2183);
-    *(float4*)buf2184 = rootn(*(float4*)buf2185, *(int4*)buf2186);
-    *(float*)buf2187 = round(*(float*)buf2188);
-    *(float2*)buf2189 = round(*(float2*)buf2190);
-    *(float3*)buf2191 = round(*(float3*)buf2192);
-    *(float4*)buf2193 = round(*(float4*)buf2194);
-    rsAllocationCopy1DRange(*(rs_allocation*)buf2195, *(uint32_t*)buf2196, *(uint32_t*)buf2197, *(uint32_t*)buf2198, *(rs_allocation*)buf2199, *(uint32_t*)buf2200, *(uint32_t*)buf2201);
-    rsAllocationCopy2DRange(*(rs_allocation*)buf2202, *(uint32_t*)buf2203, *(uint32_t*)buf2204, *(uint32_t*)buf2205, *(rs_allocation_cubemap_face*)buf2206, *(uint32_t*)buf2207, *(uint32_t*)buf2208, *(rs_allocation*)buf2209, *(uint32_t*)buf2210, *(uint32_t*)buf2211, *(uint32_t*)buf2212, *(rs_allocation_cubemap_face*)buf2213);
-    *(uint32_t*)buf2214 = rsAllocationGetDimFaces(*(rs_allocation*)buf2215);
-    *(uint32_t*)buf2216 = rsAllocationGetDimLOD(*(rs_allocation*)buf2217);
-    *(uint32_t*)buf2218 = rsAllocationGetDimX(*(rs_allocation*)buf2219);
-    *(uint32_t*)buf2220 = rsAllocationGetDimY(*(rs_allocation*)buf2221);
-    *(uint32_t*)buf2222 = rsAllocationGetDimZ(*(rs_allocation*)buf2223);
-    *(rs_element*)buf2224 = rsAllocationGetElement(*(rs_allocation*)buf2225);
-    rsAllocationIoReceive(*(rs_allocation*)buf2226);
-    rsAllocationIoSend(*(rs_allocation*)buf2227);
-    *(int32_t*)buf2228 = rsAtomicAdd((volatile int32_t*) buf2229, *(int32_t*)buf2230);
-    *(int32_t*)buf2231 = rsAtomicAdd((volatile uint32_t*) buf2232, *(uint32_t*)buf2233);
-    *(int32_t*)buf2234 = rsAtomicAnd((volatile int32_t*) buf2235, *(int32_t*)buf2236);
-    *(int32_t*)buf2237 = rsAtomicAnd((volatile uint32_t*) buf2238, *(uint32_t*)buf2239);
-    *(int32_t*)buf2240 = rsAtomicCas((volatile int32_t*) buf2241, *(int32_t*)buf2242, *(int32_t*)buf2243);
-    *(uint32_t*)buf2244 = rsAtomicCas((volatile uint32_t*) buf2245, *(uint32_t*)buf2246, *(uint32_t*)buf2247);
-    *(int32_t*)buf2248 = rsAtomicDec((volatile int32_t*) buf2249);
-    *(int32_t*)buf2250 = rsAtomicDec((volatile uint32_t*) buf2251);
-    *(int32_t*)buf2252 = rsAtomicInc((volatile int32_t*) buf2253);
-    *(int32_t*)buf2254 = rsAtomicInc((volatile uint32_t*) buf2255);
-    *(uint32_t*)buf2256 = rsAtomicMax((volatile uint32_t*) buf2257, *(uint32_t*)buf2258);
-    *(int32_t*)buf2259 = rsAtomicMax((volatile int32_t*) buf2260, *(int32_t*)buf2261);
-    *(uint32_t*)buf2262 = rsAtomicMin((volatile uint32_t*) buf2263, *(uint32_t*)buf2264);
-    *(int32_t*)buf2265 = rsAtomicMin((volatile int32_t*) buf2266, *(int32_t*)buf2267);
-    *(int32_t*)buf2268 = rsAtomicOr((volatile int32_t*) buf2269, *(int32_t*)buf2270);
-    *(int32_t*)buf2271 = rsAtomicOr((volatile uint32_t*) buf2272, *(uint32_t*)buf2273);
-    *(int32_t*)buf2274 = rsAtomicSub((volatile int32_t*) buf2275, *(int32_t*)buf2276);
-    *(int32_t*)buf2277 = rsAtomicSub((volatile uint32_t*) buf2278, *(uint32_t*)buf2279);
-    *(int32_t*)buf2280 = rsAtomicXor((volatile int32_t*) buf2281, *(int32_t*)buf2282);
-    *(int32_t*)buf2283 = rsAtomicXor((volatile uint32_t*) buf2284, *(uint32_t*)buf2285);
-    *(char*)buf2286 = rsClamp(*(char*)buf2287, *(char*)buf2288, *(char*)buf2289);
-    *(uchar*)buf2290 = rsClamp(*(uchar*)buf2291, *(uchar*)buf2292, *(uchar*)buf2293);
-    *(short*)buf2294 = rsClamp(*(short*)buf2295, *(short*)buf2296, *(short*)buf2297);
-    *(ushort*)buf2298 = rsClamp(*(ushort*)buf2299, *(ushort*)buf2300, *(ushort*)buf2301);
-    *(int*)buf2302 = rsClamp(*(int*)buf2303, *(int*)buf2304, *(int*)buf2305);
-    *(uint*)buf2306 = rsClamp(*(uint*)buf2307, *(uint*)buf2308, *(uint*)buf2309);
-    rsClearObject((rs_element*) buf2310);
-    rsClearObject((rs_type*) buf2311);
-    rsClearObject((rs_allocation*) buf2312);
-    rsClearObject((rs_sampler*) buf2313);
-    rsClearObject((rs_script*) buf2314);
+    *(float2*)buf1477 = max(*(float2*)buf1478, *(float*)buf1479);
+    *(float3*)buf1480 = max(*(float3*)buf1481, *(float*)buf1482);
+    *(float4*)buf1483 = max(*(float4*)buf1484, *(float*)buf1485);
+    *(char*)buf1486 = max(*(char*)buf1487, *(char*)buf1488);
+    *(char2*)buf1489 = max(*(char2*)buf1490, *(char2*)buf1491);
+    *(char3*)buf1492 = max(*(char3*)buf1493, *(char3*)buf1494);
+    *(char4*)buf1495 = max(*(char4*)buf1496, *(char4*)buf1497);
+    *(uchar*)buf1498 = max(*(uchar*)buf1499, *(uchar*)buf1500);
+    *(uchar2*)buf1501 = max(*(uchar2*)buf1502, *(uchar2*)buf1503);
+    *(uchar3*)buf1504 = max(*(uchar3*)buf1505, *(uchar3*)buf1506);
+    *(uchar4*)buf1507 = max(*(uchar4*)buf1508, *(uchar4*)buf1509);
+    *(short*)buf1510 = max(*(short*)buf1511, *(short*)buf1512);
+    *(short2*)buf1513 = max(*(short2*)buf1514, *(short2*)buf1515);
+    *(short3*)buf1516 = max(*(short3*)buf1517, *(short3*)buf1518);
+    *(short4*)buf1519 = max(*(short4*)buf1520, *(short4*)buf1521);
+    *(ushort*)buf1522 = max(*(ushort*)buf1523, *(ushort*)buf1524);
+    *(ushort2*)buf1525 = max(*(ushort2*)buf1526, *(ushort2*)buf1527);
+    *(ushort3*)buf1528 = max(*(ushort3*)buf1529, *(ushort3*)buf1530);
+    *(ushort4*)buf1531 = max(*(ushort4*)buf1532, *(ushort4*)buf1533);
+    *(int*)buf1534 = max(*(int*)buf1535, *(int*)buf1536);
+    *(int2*)buf1537 = max(*(int2*)buf1538, *(int2*)buf1539);
+    *(int3*)buf1540 = max(*(int3*)buf1541, *(int3*)buf1542);
+    *(int4*)buf1543 = max(*(int4*)buf1544, *(int4*)buf1545);
+    *(uint*)buf1546 = max(*(uint*)buf1547, *(uint*)buf1548);
+    *(uint2*)buf1549 = max(*(uint2*)buf1550, *(uint2*)buf1551);
+    *(uint3*)buf1552 = max(*(uint3*)buf1553, *(uint3*)buf1554);
+    *(uint4*)buf1555 = max(*(uint4*)buf1556, *(uint4*)buf1557);
+    *(long*)buf1558 = max(*(long*)buf1559, *(long*)buf1560);
+    *(long2*)buf1561 = max(*(long2*)buf1562, *(long2*)buf1563);
+    *(long3*)buf1564 = max(*(long3*)buf1565, *(long3*)buf1566);
+    *(long4*)buf1567 = max(*(long4*)buf1568, *(long4*)buf1569);
+    *(ulong*)buf1570 = max(*(ulong*)buf1571, *(ulong*)buf1572);
+    *(ulong2*)buf1573 = max(*(ulong2*)buf1574, *(ulong2*)buf1575);
+    *(ulong3*)buf1576 = max(*(ulong3*)buf1577, *(ulong3*)buf1578);
+    *(ulong4*)buf1579 = max(*(ulong4*)buf1580, *(ulong4*)buf1581);
+    *(float*)buf1582 = min(*(float*)buf1583, *(float*)buf1584);
+    *(float2*)buf1585 = min(*(float2*)buf1586, *(float2*)buf1587);
+    *(float3*)buf1588 = min(*(float3*)buf1589, *(float3*)buf1590);
+    *(float4*)buf1591 = min(*(float4*)buf1592, *(float4*)buf1593);
+    *(float2*)buf1594 = min(*(float2*)buf1595, *(float*)buf1596);
+    *(float3*)buf1597 = min(*(float3*)buf1598, *(float*)buf1599);
+    *(float4*)buf1600 = min(*(float4*)buf1601, *(float*)buf1602);
+    *(char*)buf1603 = min(*(char*)buf1604, *(char*)buf1605);
+    *(char2*)buf1606 = min(*(char2*)buf1607, *(char2*)buf1608);
+    *(char3*)buf1609 = min(*(char3*)buf1610, *(char3*)buf1611);
+    *(char4*)buf1612 = min(*(char4*)buf1613, *(char4*)buf1614);
+    *(uchar*)buf1615 = min(*(uchar*)buf1616, *(uchar*)buf1617);
+    *(uchar2*)buf1618 = min(*(uchar2*)buf1619, *(uchar2*)buf1620);
+    *(uchar3*)buf1621 = min(*(uchar3*)buf1622, *(uchar3*)buf1623);
+    *(uchar4*)buf1624 = min(*(uchar4*)buf1625, *(uchar4*)buf1626);
+    *(short*)buf1627 = min(*(short*)buf1628, *(short*)buf1629);
+    *(short2*)buf1630 = min(*(short2*)buf1631, *(short2*)buf1632);
+    *(short3*)buf1633 = min(*(short3*)buf1634, *(short3*)buf1635);
+    *(short4*)buf1636 = min(*(short4*)buf1637, *(short4*)buf1638);
+    *(ushort*)buf1639 = min(*(ushort*)buf1640, *(ushort*)buf1641);
+    *(ushort2*)buf1642 = min(*(ushort2*)buf1643, *(ushort2*)buf1644);
+    *(ushort3*)buf1645 = min(*(ushort3*)buf1646, *(ushort3*)buf1647);
+    *(ushort4*)buf1648 = min(*(ushort4*)buf1649, *(ushort4*)buf1650);
+    *(int*)buf1651 = min(*(int*)buf1652, *(int*)buf1653);
+    *(int2*)buf1654 = min(*(int2*)buf1655, *(int2*)buf1656);
+    *(int3*)buf1657 = min(*(int3*)buf1658, *(int3*)buf1659);
+    *(int4*)buf1660 = min(*(int4*)buf1661, *(int4*)buf1662);
+    *(uint*)buf1663 = min(*(uint*)buf1664, *(uint*)buf1665);
+    *(uint2*)buf1666 = min(*(uint2*)buf1667, *(uint2*)buf1668);
+    *(uint3*)buf1669 = min(*(uint3*)buf1670, *(uint3*)buf1671);
+    *(uint4*)buf1672 = min(*(uint4*)buf1673, *(uint4*)buf1674);
+    *(long*)buf1675 = min(*(long*)buf1676, *(long*)buf1677);
+    *(long2*)buf1678 = min(*(long2*)buf1679, *(long2*)buf1680);
+    *(long3*)buf1681 = min(*(long3*)buf1682, *(long3*)buf1683);
+    *(long4*)buf1684 = min(*(long4*)buf1685, *(long4*)buf1686);
+    *(ulong*)buf1687 = min(*(ulong*)buf1688, *(ulong*)buf1689);
+    *(ulong2*)buf1690 = min(*(ulong2*)buf1691, *(ulong2*)buf1692);
+    *(ulong3*)buf1693 = min(*(ulong3*)buf1694, *(ulong3*)buf1695);
+    *(ulong4*)buf1696 = min(*(ulong4*)buf1697, *(ulong4*)buf1698);
+    *(float*)buf1699 = mix(*(float*)buf1700, *(float*)buf1701, *(float*)buf1702);
+    *(float2*)buf1703 = mix(*(float2*)buf1704, *(float2*)buf1705, *(float2*)buf1706);
+    *(float3*)buf1707 = mix(*(float3*)buf1708, *(float3*)buf1709, *(float3*)buf1710);
+    *(float4*)buf1711 = mix(*(float4*)buf1712, *(float4*)buf1713, *(float4*)buf1714);
+    *(float2*)buf1715 = mix(*(float2*)buf1716, *(float2*)buf1717, *(float*)buf1718);
+    *(float3*)buf1719 = mix(*(float3*)buf1720, *(float3*)buf1721, *(float*)buf1722);
+    *(float4*)buf1723 = mix(*(float4*)buf1724, *(float4*)buf1725, *(float*)buf1726);
+    *(float*)buf1727 = modf(*(float*)buf1728, (float*) buf1729);
+    *(float2*)buf1730 = modf(*(float2*)buf1731, (float2*) buf1732);
+    *(float3*)buf1733 = modf(*(float3*)buf1734, (float3*) buf1735);
+    *(float4*)buf1736 = modf(*(float4*)buf1737, (float4*) buf1738);
+    *(float*)buf1739 = nan(*(uint*)buf1740);
+    *(float*)buf1741 = native_acos(*(float*)buf1742);
+    *(float2*)buf1743 = native_acos(*(float2*)buf1744);
+    *(float3*)buf1745 = native_acos(*(float3*)buf1746);
+    *(float4*)buf1747 = native_acos(*(float4*)buf1748);
+    *(float*)buf1749 = native_acosh(*(float*)buf1750);
+    *(float2*)buf1751 = native_acosh(*(float2*)buf1752);
+    *(float3*)buf1753 = native_acosh(*(float3*)buf1754);
+    *(float4*)buf1755 = native_acosh(*(float4*)buf1756);
+    *(float*)buf1757 = native_acospi(*(float*)buf1758);
+    *(float2*)buf1759 = native_acospi(*(float2*)buf1760);
+    *(float3*)buf1761 = native_acospi(*(float3*)buf1762);
+    *(float4*)buf1763 = native_acospi(*(float4*)buf1764);
+    *(float*)buf1765 = native_asin(*(float*)buf1766);
+    *(float2*)buf1767 = native_asin(*(float2*)buf1768);
+    *(float3*)buf1769 = native_asin(*(float3*)buf1770);
+    *(float4*)buf1771 = native_asin(*(float4*)buf1772);
+    *(float*)buf1773 = native_asinh(*(float*)buf1774);
+    *(float2*)buf1775 = native_asinh(*(float2*)buf1776);
+    *(float3*)buf1777 = native_asinh(*(float3*)buf1778);
+    *(float4*)buf1779 = native_asinh(*(float4*)buf1780);
+    *(float*)buf1781 = native_asinpi(*(float*)buf1782);
+    *(float2*)buf1783 = native_asinpi(*(float2*)buf1784);
+    *(float3*)buf1785 = native_asinpi(*(float3*)buf1786);
+    *(float4*)buf1787 = native_asinpi(*(float4*)buf1788);
+    *(float*)buf1789 = native_atan(*(float*)buf1790);
+    *(float2*)buf1791 = native_atan(*(float2*)buf1792);
+    *(float3*)buf1793 = native_atan(*(float3*)buf1794);
+    *(float4*)buf1795 = native_atan(*(float4*)buf1796);
+    *(float*)buf1797 = native_atan2(*(float*)buf1798, *(float*)buf1799);
+    *(float2*)buf1800 = native_atan2(*(float2*)buf1801, *(float2*)buf1802);
+    *(float3*)buf1803 = native_atan2(*(float3*)buf1804, *(float3*)buf1805);
+    *(float4*)buf1806 = native_atan2(*(float4*)buf1807, *(float4*)buf1808);
+    *(float*)buf1809 = native_atan2pi(*(float*)buf1810, *(float*)buf1811);
+    *(float2*)buf1812 = native_atan2pi(*(float2*)buf1813, *(float2*)buf1814);
+    *(float3*)buf1815 = native_atan2pi(*(float3*)buf1816, *(float3*)buf1817);
+    *(float4*)buf1818 = native_atan2pi(*(float4*)buf1819, *(float4*)buf1820);
+    *(float*)buf1821 = native_atanh(*(float*)buf1822);
+    *(float2*)buf1823 = native_atanh(*(float2*)buf1824);
+    *(float3*)buf1825 = native_atanh(*(float3*)buf1826);
+    *(float4*)buf1827 = native_atanh(*(float4*)buf1828);
+    *(float*)buf1829 = native_atanpi(*(float*)buf1830);
+    *(float2*)buf1831 = native_atanpi(*(float2*)buf1832);
+    *(float3*)buf1833 = native_atanpi(*(float3*)buf1834);
+    *(float4*)buf1835 = native_atanpi(*(float4*)buf1836);
+    *(float*)buf1837 = native_cbrt(*(float*)buf1838);
+    *(float2*)buf1839 = native_cbrt(*(float2*)buf1840);
+    *(float3*)buf1841 = native_cbrt(*(float3*)buf1842);
+    *(float4*)buf1843 = native_cbrt(*(float4*)buf1844);
+    *(float*)buf1845 = native_cos(*(float*)buf1846);
+    *(float2*)buf1847 = native_cos(*(float2*)buf1848);
+    *(float3*)buf1849 = native_cos(*(float3*)buf1850);
+    *(float4*)buf1851 = native_cos(*(float4*)buf1852);
+    *(float*)buf1853 = native_cosh(*(float*)buf1854);
+    *(float2*)buf1855 = native_cosh(*(float2*)buf1856);
+    *(float3*)buf1857 = native_cosh(*(float3*)buf1858);
+    *(float4*)buf1859 = native_cosh(*(float4*)buf1860);
+    *(float*)buf1861 = native_cospi(*(float*)buf1862);
+    *(float2*)buf1863 = native_cospi(*(float2*)buf1864);
+    *(float3*)buf1865 = native_cospi(*(float3*)buf1866);
+    *(float4*)buf1867 = native_cospi(*(float4*)buf1868);
+    *(float*)buf1869 = native_distance(*(float*)buf1870, *(float*)buf1871);
+    *(float*)buf1872 = native_distance(*(float2*)buf1873, *(float2*)buf1874);
+    *(float*)buf1875 = native_distance(*(float3*)buf1876, *(float3*)buf1877);
+    *(float*)buf1878 = native_distance(*(float4*)buf1879, *(float4*)buf1880);
+    *(float*)buf1881 = native_divide(*(float*)buf1882, *(float*)buf1883);
+    *(float2*)buf1884 = native_divide(*(float2*)buf1885, *(float2*)buf1886);
+    *(float3*)buf1887 = native_divide(*(float3*)buf1888, *(float3*)buf1889);
+    *(float4*)buf1890 = native_divide(*(float4*)buf1891, *(float4*)buf1892);
+    *(float*)buf1893 = native_exp(*(float*)buf1894);
+    *(float2*)buf1895 = native_exp(*(float2*)buf1896);
+    *(float3*)buf1897 = native_exp(*(float3*)buf1898);
+    *(float4*)buf1899 = native_exp(*(float4*)buf1900);
+    *(float*)buf1901 = native_exp10(*(float*)buf1902);
+    *(float2*)buf1903 = native_exp10(*(float2*)buf1904);
+    *(float3*)buf1905 = native_exp10(*(float3*)buf1906);
+    *(float4*)buf1907 = native_exp10(*(float4*)buf1908);
+    *(float*)buf1909 = native_exp2(*(float*)buf1910);
+    *(float2*)buf1911 = native_exp2(*(float2*)buf1912);
+    *(float3*)buf1913 = native_exp2(*(float3*)buf1914);
+    *(float4*)buf1915 = native_exp2(*(float4*)buf1916);
+    *(float*)buf1917 = native_expm1(*(float*)buf1918);
+    *(float2*)buf1919 = native_expm1(*(float2*)buf1920);
+    *(float3*)buf1921 = native_expm1(*(float3*)buf1922);
+    *(float4*)buf1923 = native_expm1(*(float4*)buf1924);
+    *(float*)buf1925 = native_hypot(*(float*)buf1926, *(float*)buf1927);
+    *(float2*)buf1928 = native_hypot(*(float2*)buf1929, *(float2*)buf1930);
+    *(float3*)buf1931 = native_hypot(*(float3*)buf1932, *(float3*)buf1933);
+    *(float4*)buf1934 = native_hypot(*(float4*)buf1935, *(float4*)buf1936);
+    *(float*)buf1937 = native_length(*(float*)buf1938);
+    *(float*)buf1939 = native_length(*(float2*)buf1940);
+    *(float*)buf1941 = native_length(*(float3*)buf1942);
+    *(float*)buf1943 = native_length(*(float4*)buf1944);
+    *(float*)buf1945 = native_log(*(float*)buf1946);
+    *(float2*)buf1947 = native_log(*(float2*)buf1948);
+    *(float3*)buf1949 = native_log(*(float3*)buf1950);
+    *(float4*)buf1951 = native_log(*(float4*)buf1952);
+    *(float*)buf1953 = native_log10(*(float*)buf1954);
+    *(float2*)buf1955 = native_log10(*(float2*)buf1956);
+    *(float3*)buf1957 = native_log10(*(float3*)buf1958);
+    *(float4*)buf1959 = native_log10(*(float4*)buf1960);
+    *(float*)buf1961 = native_log1p(*(float*)buf1962);
+    *(float2*)buf1963 = native_log1p(*(float2*)buf1964);
+    *(float3*)buf1965 = native_log1p(*(float3*)buf1966);
+    *(float4*)buf1967 = native_log1p(*(float4*)buf1968);
+    *(float*)buf1969 = native_log2(*(float*)buf1970);
+    *(float2*)buf1971 = native_log2(*(float2*)buf1972);
+    *(float3*)buf1973 = native_log2(*(float3*)buf1974);
+    *(float4*)buf1975 = native_log2(*(float4*)buf1976);
+    *(float*)buf1977 = native_normalize(*(float*)buf1978);
+    *(float2*)buf1979 = native_normalize(*(float2*)buf1980);
+    *(float3*)buf1981 = native_normalize(*(float3*)buf1982);
+    *(float4*)buf1983 = native_normalize(*(float4*)buf1984);
+    *(float*)buf1985 = native_powr(*(float*)buf1986, *(float*)buf1987);
+    *(float2*)buf1988 = native_powr(*(float2*)buf1989, *(float2*)buf1990);
+    *(float3*)buf1991 = native_powr(*(float3*)buf1992, *(float3*)buf1993);
+    *(float4*)buf1994 = native_powr(*(float4*)buf1995, *(float4*)buf1996);
+    *(float*)buf1997 = native_recip(*(float*)buf1998);
+    *(float2*)buf1999 = native_recip(*(float2*)buf2000);
+    *(float3*)buf2001 = native_recip(*(float3*)buf2002);
+    *(float4*)buf2003 = native_recip(*(float4*)buf2004);
+    *(float*)buf2005 = native_rootn(*(float*)buf2006, *(int*)buf2007);
+    *(float2*)buf2008 = native_rootn(*(float2*)buf2009, *(int2*)buf2010);
+    *(float3*)buf2011 = native_rootn(*(float3*)buf2012, *(int3*)buf2013);
+    *(float4*)buf2014 = native_rootn(*(float4*)buf2015, *(int4*)buf2016);
+    *(float*)buf2017 = native_rsqrt(*(float*)buf2018);
+    *(float2*)buf2019 = native_rsqrt(*(float2*)buf2020);
+    *(float3*)buf2021 = native_rsqrt(*(float3*)buf2022);
+    *(float4*)buf2023 = native_rsqrt(*(float4*)buf2024);
+    *(float*)buf2025 = native_sin(*(float*)buf2026);
+    *(float2*)buf2027 = native_sin(*(float2*)buf2028);
+    *(float3*)buf2029 = native_sin(*(float3*)buf2030);
+    *(float4*)buf2031 = native_sin(*(float4*)buf2032);
+    *(float*)buf2033 = native_sincos(*(float*)buf2034, (float*) buf2035);
+    *(float2*)buf2036 = native_sincos(*(float2*)buf2037, (float2*) buf2038);
+    *(float3*)buf2039 = native_sincos(*(float3*)buf2040, (float3*) buf2041);
+    *(float4*)buf2042 = native_sincos(*(float4*)buf2043, (float4*) buf2044);
+    *(float*)buf2045 = native_sinh(*(float*)buf2046);
+    *(float2*)buf2047 = native_sinh(*(float2*)buf2048);
+    *(float3*)buf2049 = native_sinh(*(float3*)buf2050);
+    *(float4*)buf2051 = native_sinh(*(float4*)buf2052);
+    *(float*)buf2053 = native_sinpi(*(float*)buf2054);
+    *(float2*)buf2055 = native_sinpi(*(float2*)buf2056);
+    *(float3*)buf2057 = native_sinpi(*(float3*)buf2058);
+    *(float4*)buf2059 = native_sinpi(*(float4*)buf2060);
+    *(float*)buf2061 = native_sqrt(*(float*)buf2062);
+    *(float2*)buf2063 = native_sqrt(*(float2*)buf2064);
+    *(float3*)buf2065 = native_sqrt(*(float3*)buf2066);
+    *(float4*)buf2067 = native_sqrt(*(float4*)buf2068);
+    *(float*)buf2069 = native_tan(*(float*)buf2070);
+    *(float2*)buf2071 = native_tan(*(float2*)buf2072);
+    *(float3*)buf2073 = native_tan(*(float3*)buf2074);
+    *(float4*)buf2075 = native_tan(*(float4*)buf2076);
+    *(float*)buf2077 = native_tanh(*(float*)buf2078);
+    *(float2*)buf2079 = native_tanh(*(float2*)buf2080);
+    *(float3*)buf2081 = native_tanh(*(float3*)buf2082);
+    *(float4*)buf2083 = native_tanh(*(float4*)buf2084);
+    *(float*)buf2085 = native_tanpi(*(float*)buf2086);
+    *(float2*)buf2087 = native_tanpi(*(float2*)buf2088);
+    *(float3*)buf2089 = native_tanpi(*(float3*)buf2090);
+    *(float4*)buf2091 = native_tanpi(*(float4*)buf2092);
+    *(float*)buf2093 = nextafter(*(float*)buf2094, *(float*)buf2095);
+    *(float2*)buf2096 = nextafter(*(float2*)buf2097, *(float2*)buf2098);
+    *(float3*)buf2099 = nextafter(*(float3*)buf2100, *(float3*)buf2101);
+    *(float4*)buf2102 = nextafter(*(float4*)buf2103, *(float4*)buf2104);
+    *(float*)buf2105 = normalize(*(float*)buf2106);
+    *(float2*)buf2107 = normalize(*(float2*)buf2108);
+    *(float3*)buf2109 = normalize(*(float3*)buf2110);
+    *(float4*)buf2111 = normalize(*(float4*)buf2112);
+    *(float*)buf2113 = pow(*(float*)buf2114, *(float*)buf2115);
+    *(float2*)buf2116 = pow(*(float2*)buf2117, *(float2*)buf2118);
+    *(float3*)buf2119 = pow(*(float3*)buf2120, *(float3*)buf2121);
+    *(float4*)buf2122 = pow(*(float4*)buf2123, *(float4*)buf2124);
+    *(float*)buf2125 = pown(*(float*)buf2126, *(int*)buf2127);
+    *(float2*)buf2128 = pown(*(float2*)buf2129, *(int2*)buf2130);
+    *(float3*)buf2131 = pown(*(float3*)buf2132, *(int3*)buf2133);
+    *(float4*)buf2134 = pown(*(float4*)buf2135, *(int4*)buf2136);
+    *(float*)buf2137 = powr(*(float*)buf2138, *(float*)buf2139);
+    *(float2*)buf2140 = powr(*(float2*)buf2141, *(float2*)buf2142);
+    *(float3*)buf2143 = powr(*(float3*)buf2144, *(float3*)buf2145);
+    *(float4*)buf2146 = powr(*(float4*)buf2147, *(float4*)buf2148);
+    *(float*)buf2149 = radians(*(float*)buf2150);
+    *(float2*)buf2151 = radians(*(float2*)buf2152);
+    *(float3*)buf2153 = radians(*(float3*)buf2154);
+    *(float4*)buf2155 = radians(*(float4*)buf2156);
+    *(float*)buf2157 = remainder(*(float*)buf2158, *(float*)buf2159);
+    *(float2*)buf2160 = remainder(*(float2*)buf2161, *(float2*)buf2162);
+    *(float3*)buf2163 = remainder(*(float3*)buf2164, *(float3*)buf2165);
+    *(float4*)buf2166 = remainder(*(float4*)buf2167, *(float4*)buf2168);
+    *(float*)buf2169 = remquo(*(float*)buf2170, *(float*)buf2171, (int*) buf2172);
+    *(float2*)buf2173 = remquo(*(float2*)buf2174, *(float2*)buf2175, (int2*) buf2176);
+    *(float3*)buf2177 = remquo(*(float3*)buf2178, *(float3*)buf2179, (int3*) buf2180);
+    *(float4*)buf2181 = remquo(*(float4*)buf2182, *(float4*)buf2183, (int4*) buf2184);
+    *(float*)buf2185 = rint(*(float*)buf2186);
+    *(float2*)buf2187 = rint(*(float2*)buf2188);
+    *(float3*)buf2189 = rint(*(float3*)buf2190);
+    *(float4*)buf2191 = rint(*(float4*)buf2192);
+    *(float*)buf2193 = rootn(*(float*)buf2194, *(int*)buf2195);
+    *(float2*)buf2196 = rootn(*(float2*)buf2197, *(int2*)buf2198);
+    *(float3*)buf2199 = rootn(*(float3*)buf2200, *(int3*)buf2201);
+    *(float4*)buf2202 = rootn(*(float4*)buf2203, *(int4*)buf2204);
+    *(float*)buf2205 = round(*(float*)buf2206);
+    *(float2*)buf2207 = round(*(float2*)buf2208);
+    *(float3*)buf2209 = round(*(float3*)buf2210);
+    *(float4*)buf2211 = round(*(float4*)buf2212);
+    rsAllocationCopy1DRange(*(rs_allocation*)buf2213, *(uint32_t*)buf2214, *(uint32_t*)buf2215, *(uint32_t*)buf2216, *(rs_allocation*)buf2217, *(uint32_t*)buf2218, *(uint32_t*)buf2219);
+    rsAllocationCopy2DRange(*(rs_allocation*)buf2220, *(uint32_t*)buf2221, *(uint32_t*)buf2222, *(uint32_t*)buf2223, *(rs_allocation_cubemap_face*)buf2224, *(uint32_t*)buf2225, *(uint32_t*)buf2226, *(rs_allocation*)buf2227, *(uint32_t*)buf2228, *(uint32_t*)buf2229, *(uint32_t*)buf2230, *(rs_allocation_cubemap_face*)buf2231);
+    *(uint32_t*)buf2232 = rsAllocationGetDimFaces(*(rs_allocation*)buf2233);
+    *(uint32_t*)buf2234 = rsAllocationGetDimLOD(*(rs_allocation*)buf2235);
+    *(uint32_t*)buf2236 = rsAllocationGetDimX(*(rs_allocation*)buf2237);
+    *(uint32_t*)buf2238 = rsAllocationGetDimY(*(rs_allocation*)buf2239);
+    *(uint32_t*)buf2240 = rsAllocationGetDimZ(*(rs_allocation*)buf2241);
+    *(rs_element*)buf2242 = rsAllocationGetElement(*(rs_allocation*)buf2243);
+    rsAllocationIoReceive(*(rs_allocation*)buf2244);
+    rsAllocationIoSend(*(rs_allocation*)buf2245);
+    *(int32_t*)buf2246 = rsAtomicAdd((volatile int32_t*) buf2247, *(int32_t*)buf2248);
+    *(int32_t*)buf2249 = rsAtomicAdd((volatile uint32_t*) buf2250, *(uint32_t*)buf2251);
+    *(int32_t*)buf2252 = rsAtomicAnd((volatile int32_t*) buf2253, *(int32_t*)buf2254);
+    *(int32_t*)buf2255 = rsAtomicAnd((volatile uint32_t*) buf2256, *(uint32_t*)buf2257);
+    *(int32_t*)buf2258 = rsAtomicCas((volatile int32_t*) buf2259, *(int32_t*)buf2260, *(int32_t*)buf2261);
+    *(uint32_t*)buf2262 = rsAtomicCas((volatile uint32_t*) buf2263, *(uint32_t*)buf2264, *(uint32_t*)buf2265);
+    *(int32_t*)buf2266 = rsAtomicDec((volatile int32_t*) buf2267);
+    *(int32_t*)buf2268 = rsAtomicDec((volatile uint32_t*) buf2269);
+    *(int32_t*)buf2270 = rsAtomicInc((volatile int32_t*) buf2271);
+    *(int32_t*)buf2272 = rsAtomicInc((volatile uint32_t*) buf2273);
+    *(uint32_t*)buf2274 = rsAtomicMax((volatile uint32_t*) buf2275, *(uint32_t*)buf2276);
+    *(int32_t*)buf2277 = rsAtomicMax((volatile int32_t*) buf2278, *(int32_t*)buf2279);
+    *(uint32_t*)buf2280 = rsAtomicMin((volatile uint32_t*) buf2281, *(uint32_t*)buf2282);
+    *(int32_t*)buf2283 = rsAtomicMin((volatile int32_t*) buf2284, *(int32_t*)buf2285);
+    *(int32_t*)buf2286 = rsAtomicOr((volatile int32_t*) buf2287, *(int32_t*)buf2288);
+    *(int32_t*)buf2289 = rsAtomicOr((volatile uint32_t*) buf2290, *(uint32_t*)buf2291);
+    *(int32_t*)buf2292 = rsAtomicSub((volatile int32_t*) buf2293, *(int32_t*)buf2294);
+    *(int32_t*)buf2295 = rsAtomicSub((volatile uint32_t*) buf2296, *(uint32_t*)buf2297);
+    *(int32_t*)buf2298 = rsAtomicXor((volatile int32_t*) buf2299, *(int32_t*)buf2300);
+    *(int32_t*)buf2301 = rsAtomicXor((volatile uint32_t*) buf2302, *(uint32_t*)buf2303);
+    *(char*)buf2304 = rsClamp(*(char*)buf2305, *(char*)buf2306, *(char*)buf2307);
+    *(uchar*)buf2308 = rsClamp(*(uchar*)buf2309, *(uchar*)buf2310, *(uchar*)buf2311);
+    *(short*)buf2312 = rsClamp(*(short*)buf2313, *(short*)buf2314, *(short*)buf2315);
+    *(ushort*)buf2316 = rsClamp(*(ushort*)buf2317, *(ushort*)buf2318, *(ushort*)buf2319);
+    *(int*)buf2320 = rsClamp(*(int*)buf2321, *(int*)buf2322, *(int*)buf2323);
+    *(uint*)buf2324 = rsClamp(*(uint*)buf2325, *(uint*)buf2326, *(uint*)buf2327);
+    rsClearObject((rs_element*) buf2328);
+    rsClearObject((rs_type*) buf2329);
+    rsClearObject((rs_allocation*) buf2330);
+    rsClearObject((rs_sampler*) buf2331);
+    rsClearObject((rs_script*) buf2332);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf2315);
-    rsClearObject((rs_program_fragment*) buf2316);
-    rsClearObject((rs_program_vertex*) buf2317);
-    rsClearObject((rs_program_raster*) buf2318);
-    rsClearObject((rs_program_store*) buf2319);
-    rsClearObject((rs_font*) buf2320);
+    rsClearObject((rs_mesh*) buf2333);
+    rsClearObject((rs_program_fragment*) buf2334);
+    rsClearObject((rs_program_vertex*) buf2335);
+    rsClearObject((rs_program_raster*) buf2336);
+    rsClearObject((rs_program_store*) buf2337);
+    rsClearObject((rs_font*) buf2338);
 #endif
-    rsDebug((const char*) buf2321, *(double*)buf2322);
-    rsDebug((const char*) buf2323, *(int*)buf2324);
-    rsDebug((const char*) buf2325, *(uint*)buf2326);
-    rsDebug((const char*) buf2327, *(long*)buf2328);
-    rsDebug((const char*) buf2329, *(ulong*)buf2330);
-    rsDebug((const char*) buf2331, *(int2*)buf2332);
-    rsDebug((const char*) buf2333, *(int3*)buf2334);
-    rsDebug((const char*) buf2335, *(int4*)buf2336);
-    rsDebug((const char*) buf2337, *(uint2*)buf2338);
-    rsDebug((const char*) buf2339, *(uint3*)buf2340);
-    rsDebug((const char*) buf2341, *(uint4*)buf2342);
-    rsDebug((const char*) buf2343, *(long2*)buf2344);
-    rsDebug((const char*) buf2345, *(long3*)buf2346);
-    rsDebug((const char*) buf2347, *(long4*)buf2348);
-    rsDebug((const char*) buf2349, *(ulong2*)buf2350);
-    rsDebug((const char*) buf2351, *(ulong3*)buf2352);
-    rsDebug((const char*) buf2353, *(ulong4*)buf2354);
-    rsDebug((const char*) buf2355, *(float*)buf2356);
-    rsDebug((const char*) buf2357, *(float2*)buf2358);
-    rsDebug((const char*) buf2359, *(float3*)buf2360);
-    rsDebug((const char*) buf2361, *(float4*)buf2362);
-    rsDebug((const char*) buf2363, *(char*)buf2364);
-    rsDebug((const char*) buf2365, *(char2*)buf2366);
-    rsDebug((const char*) buf2367, *(char3*)buf2368);
-    rsDebug((const char*) buf2369, *(char4*)buf2370);
-    rsDebug((const char*) buf2371, *(uchar*)buf2372);
-    rsDebug((const char*) buf2373, *(uchar2*)buf2374);
-    rsDebug((const char*) buf2375, *(uchar3*)buf2376);
-    rsDebug((const char*) buf2377, *(uchar4*)buf2378);
-    rsDebug((const char*) buf2379, *(short*)buf2380);
-    rsDebug((const char*) buf2381, *(short2*)buf2382);
-    rsDebug((const char*) buf2383, *(short3*)buf2384);
-    rsDebug((const char*) buf2385, *(short4*)buf2386);
-    rsDebug((const char*) buf2387, *(ushort*)buf2388);
-    rsDebug((const char*) buf2389, *(ushort2*)buf2390);
-    rsDebug((const char*) buf2391, *(ushort3*)buf2392);
-    rsDebug((const char*) buf2393, *(ushort4*)buf2394);
-    rsDebug((const char*) buf2395, *(float*)buf2396, *(float*)buf2397);
-    rsDebug((const char*) buf2398, *(float*)buf2399, *(float*)buf2400, *(float*)buf2401);
-    rsDebug((const char*) buf2402, *(float*)buf2403, *(float*)buf2404, *(float*)buf2405, *(float*)buf2406);
-    rsDebug((const char*) buf2407, *(long long*)buf2408);
-    rsDebug((const char*) buf2409, *(unsigned long long*)buf2410);
-    rsDebug((const char*) buf2411, (const void*) buf2412);
-    rsDebug((const char*) buf2413, (const rs_matrix4x4*) buf2414);
-    rsDebug((const char*) buf2415, (const rs_matrix3x3*) buf2416);
-    rsDebug((const char*) buf2417, (const rs_matrix2x2*) buf2418);
-    *(uint32_t*)buf2419 = rsElementGetBytesSize(*(rs_element*)buf2420);
-    *(rs_data_kind*)buf2421 = rsElementGetDataKind(*(rs_element*)buf2422);
-    *(rs_data_type*)buf2423 = rsElementGetDataType(*(rs_element*)buf2424);
-    *(rs_element*)buf2425 = rsElementGetSubElement(*(rs_element*)buf2426, *(uint32_t*)buf2427);
-    *(uint32_t*)buf2428 = rsElementGetSubElementArraySize(*(rs_element*)buf2429, *(uint32_t*)buf2430);
-    *(uint32_t*)buf2431 = rsElementGetSubElementCount(*(rs_element*)buf2432);
-    *(uint32_t*)buf2433 = rsElementGetSubElementName(*(rs_element*)buf2434, *(uint32_t*)buf2435, (char*) buf2436, *(uint32_t*)buf2437);
-    *(uint32_t*)buf2438 = rsElementGetSubElementNameLength(*(rs_element*)buf2439, *(uint32_t*)buf2440);
-    *(uint32_t*)buf2441 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf2442, *(uint32_t*)buf2443);
-    *(uint32_t*)buf2444 = rsElementGetVectorSize(*(rs_element*)buf2445);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf2446, (float4*) buf2447, (float4*) buf2448, (float4*) buf2449, (float4*) buf2450, (float4*) buf2451, (float4*) buf2452);
-    rsForEach(*(rs_script*)buf2453, *(rs_allocation*)buf2454, *(rs_allocation*)buf2455);
-    *(float*)buf2456 = rsFrac(*(float*)buf2457);
-    *(rs_allocation*)buf2458 = rsGetAllocation((const void*) buf2459);
-    *(float*)buf2460 = rsGetDt();
-    *(const void**)buf2461 = rsGetElementAt(*(rs_allocation*)buf2462, *(uint32_t*)buf2463);
-    *(const void**)buf2464 = rsGetElementAt(*(rs_allocation*)buf2465, *(uint32_t*)buf2466, *(uint32_t*)buf2467);
-    *(const void**)buf2468 = rsGetElementAt(*(rs_allocation*)buf2469, *(uint32_t*)buf2470, *(uint32_t*)buf2471, *(uint32_t*)buf2472);
-    *(float*)buf2473 = rsGetElementAt_float(*(rs_allocation*)buf2474, *(uint32_t*)buf2475);
-    *(float2*)buf2476 = rsGetElementAt_float2(*(rs_allocation*)buf2477, *(uint32_t*)buf2478);
-    *(float3*)buf2479 = rsGetElementAt_float3(*(rs_allocation*)buf2480, *(uint32_t*)buf2481);
-    *(float4*)buf2482 = rsGetElementAt_float4(*(rs_allocation*)buf2483, *(uint32_t*)buf2484);
-    *(double*)buf2485 = rsGetElementAt_double(*(rs_allocation*)buf2486, *(uint32_t*)buf2487);
-    *(double2*)buf2488 = rsGetElementAt_double2(*(rs_allocation*)buf2489, *(uint32_t*)buf2490);
-    *(double3*)buf2491 = rsGetElementAt_double3(*(rs_allocation*)buf2492, *(uint32_t*)buf2493);
-    *(double4*)buf2494 = rsGetElementAt_double4(*(rs_allocation*)buf2495, *(uint32_t*)buf2496);
-    *(char*)buf2497 = rsGetElementAt_char(*(rs_allocation*)buf2498, *(uint32_t*)buf2499);
-    *(char2*)buf2500 = rsGetElementAt_char2(*(rs_allocation*)buf2501, *(uint32_t*)buf2502);
-    *(char3*)buf2503 = rsGetElementAt_char3(*(rs_allocation*)buf2504, *(uint32_t*)buf2505);
-    *(char4*)buf2506 = rsGetElementAt_char4(*(rs_allocation*)buf2507, *(uint32_t*)buf2508);
-    *(uchar*)buf2509 = rsGetElementAt_uchar(*(rs_allocation*)buf2510, *(uint32_t*)buf2511);
-    *(uchar2*)buf2512 = rsGetElementAt_uchar2(*(rs_allocation*)buf2513, *(uint32_t*)buf2514);
-    *(uchar3*)buf2515 = rsGetElementAt_uchar3(*(rs_allocation*)buf2516, *(uint32_t*)buf2517);
-    *(uchar4*)buf2518 = rsGetElementAt_uchar4(*(rs_allocation*)buf2519, *(uint32_t*)buf2520);
-    *(short*)buf2521 = rsGetElementAt_short(*(rs_allocation*)buf2522, *(uint32_t*)buf2523);
-    *(short2*)buf2524 = rsGetElementAt_short2(*(rs_allocation*)buf2525, *(uint32_t*)buf2526);
-    *(short3*)buf2527 = rsGetElementAt_short3(*(rs_allocation*)buf2528, *(uint32_t*)buf2529);
-    *(short4*)buf2530 = rsGetElementAt_short4(*(rs_allocation*)buf2531, *(uint32_t*)buf2532);
-    *(ushort*)buf2533 = rsGetElementAt_ushort(*(rs_allocation*)buf2534, *(uint32_t*)buf2535);
-    *(ushort2*)buf2536 = rsGetElementAt_ushort2(*(rs_allocation*)buf2537, *(uint32_t*)buf2538);
-    *(ushort3*)buf2539 = rsGetElementAt_ushort3(*(rs_allocation*)buf2540, *(uint32_t*)buf2541);
-    *(ushort4*)buf2542 = rsGetElementAt_ushort4(*(rs_allocation*)buf2543, *(uint32_t*)buf2544);
-    *(int*)buf2545 = rsGetElementAt_int(*(rs_allocation*)buf2546, *(uint32_t*)buf2547);
-    *(int2*)buf2548 = rsGetElementAt_int2(*(rs_allocation*)buf2549, *(uint32_t*)buf2550);
-    *(int3*)buf2551 = rsGetElementAt_int3(*(rs_allocation*)buf2552, *(uint32_t*)buf2553);
-    *(int4*)buf2554 = rsGetElementAt_int4(*(rs_allocation*)buf2555, *(uint32_t*)buf2556);
-    *(uint*)buf2557 = rsGetElementAt_uint(*(rs_allocation*)buf2558, *(uint32_t*)buf2559);
-    *(uint2*)buf2560 = rsGetElementAt_uint2(*(rs_allocation*)buf2561, *(uint32_t*)buf2562);
-    *(uint3*)buf2563 = rsGetElementAt_uint3(*(rs_allocation*)buf2564, *(uint32_t*)buf2565);
-    *(uint4*)buf2566 = rsGetElementAt_uint4(*(rs_allocation*)buf2567, *(uint32_t*)buf2568);
-    *(long*)buf2569 = rsGetElementAt_long(*(rs_allocation*)buf2570, *(uint32_t*)buf2571);
-    *(long2*)buf2572 = rsGetElementAt_long2(*(rs_allocation*)buf2573, *(uint32_t*)buf2574);
-    *(long3*)buf2575 = rsGetElementAt_long3(*(rs_allocation*)buf2576, *(uint32_t*)buf2577);
-    *(long4*)buf2578 = rsGetElementAt_long4(*(rs_allocation*)buf2579, *(uint32_t*)buf2580);
-    *(ulong*)buf2581 = rsGetElementAt_ulong(*(rs_allocation*)buf2582, *(uint32_t*)buf2583);
-    *(ulong2*)buf2584 = rsGetElementAt_ulong2(*(rs_allocation*)buf2585, *(uint32_t*)buf2586);
-    *(ulong3*)buf2587 = rsGetElementAt_ulong3(*(rs_allocation*)buf2588, *(uint32_t*)buf2589);
-    *(ulong4*)buf2590 = rsGetElementAt_ulong4(*(rs_allocation*)buf2591, *(uint32_t*)buf2592);
-    *(float*)buf2593 = rsGetElementAt_float(*(rs_allocation*)buf2594, *(uint32_t*)buf2595, *(uint32_t*)buf2596);
-    *(float2*)buf2597 = rsGetElementAt_float2(*(rs_allocation*)buf2598, *(uint32_t*)buf2599, *(uint32_t*)buf2600);
-    *(float3*)buf2601 = rsGetElementAt_float3(*(rs_allocation*)buf2602, *(uint32_t*)buf2603, *(uint32_t*)buf2604);
-    *(float4*)buf2605 = rsGetElementAt_float4(*(rs_allocation*)buf2606, *(uint32_t*)buf2607, *(uint32_t*)buf2608);
-    *(double*)buf2609 = rsGetElementAt_double(*(rs_allocation*)buf2610, *(uint32_t*)buf2611, *(uint32_t*)buf2612);
-    *(double2*)buf2613 = rsGetElementAt_double2(*(rs_allocation*)buf2614, *(uint32_t*)buf2615, *(uint32_t*)buf2616);
-    *(double3*)buf2617 = rsGetElementAt_double3(*(rs_allocation*)buf2618, *(uint32_t*)buf2619, *(uint32_t*)buf2620);
-    *(double4*)buf2621 = rsGetElementAt_double4(*(rs_allocation*)buf2622, *(uint32_t*)buf2623, *(uint32_t*)buf2624);
-    *(char*)buf2625 = rsGetElementAt_char(*(rs_allocation*)buf2626, *(uint32_t*)buf2627, *(uint32_t*)buf2628);
-    *(char2*)buf2629 = rsGetElementAt_char2(*(rs_allocation*)buf2630, *(uint32_t*)buf2631, *(uint32_t*)buf2632);
-    *(char3*)buf2633 = rsGetElementAt_char3(*(rs_allocation*)buf2634, *(uint32_t*)buf2635, *(uint32_t*)buf2636);
-    *(char4*)buf2637 = rsGetElementAt_char4(*(rs_allocation*)buf2638, *(uint32_t*)buf2639, *(uint32_t*)buf2640);
-    *(uchar*)buf2641 = rsGetElementAt_uchar(*(rs_allocation*)buf2642, *(uint32_t*)buf2643, *(uint32_t*)buf2644);
-    *(uchar2*)buf2645 = rsGetElementAt_uchar2(*(rs_allocation*)buf2646, *(uint32_t*)buf2647, *(uint32_t*)buf2648);
-    *(uchar3*)buf2649 = rsGetElementAt_uchar3(*(rs_allocation*)buf2650, *(uint32_t*)buf2651, *(uint32_t*)buf2652);
-    *(uchar4*)buf2653 = rsGetElementAt_uchar4(*(rs_allocation*)buf2654, *(uint32_t*)buf2655, *(uint32_t*)buf2656);
-    *(short*)buf2657 = rsGetElementAt_short(*(rs_allocation*)buf2658, *(uint32_t*)buf2659, *(uint32_t*)buf2660);
-    *(short2*)buf2661 = rsGetElementAt_short2(*(rs_allocation*)buf2662, *(uint32_t*)buf2663, *(uint32_t*)buf2664);
-    *(short3*)buf2665 = rsGetElementAt_short3(*(rs_allocation*)buf2666, *(uint32_t*)buf2667, *(uint32_t*)buf2668);
-    *(short4*)buf2669 = rsGetElementAt_short4(*(rs_allocation*)buf2670, *(uint32_t*)buf2671, *(uint32_t*)buf2672);
-    *(ushort*)buf2673 = rsGetElementAt_ushort(*(rs_allocation*)buf2674, *(uint32_t*)buf2675, *(uint32_t*)buf2676);
-    *(ushort2*)buf2677 = rsGetElementAt_ushort2(*(rs_allocation*)buf2678, *(uint32_t*)buf2679, *(uint32_t*)buf2680);
-    *(ushort3*)buf2681 = rsGetElementAt_ushort3(*(rs_allocation*)buf2682, *(uint32_t*)buf2683, *(uint32_t*)buf2684);
-    *(ushort4*)buf2685 = rsGetElementAt_ushort4(*(rs_allocation*)buf2686, *(uint32_t*)buf2687, *(uint32_t*)buf2688);
-    *(int*)buf2689 = rsGetElementAt_int(*(rs_allocation*)buf2690, *(uint32_t*)buf2691, *(uint32_t*)buf2692);
-    *(int2*)buf2693 = rsGetElementAt_int2(*(rs_allocation*)buf2694, *(uint32_t*)buf2695, *(uint32_t*)buf2696);
-    *(int3*)buf2697 = rsGetElementAt_int3(*(rs_allocation*)buf2698, *(uint32_t*)buf2699, *(uint32_t*)buf2700);
-    *(int4*)buf2701 = rsGetElementAt_int4(*(rs_allocation*)buf2702, *(uint32_t*)buf2703, *(uint32_t*)buf2704);
-    *(uint*)buf2705 = rsGetElementAt_uint(*(rs_allocation*)buf2706, *(uint32_t*)buf2707, *(uint32_t*)buf2708);
-    *(uint2*)buf2709 = rsGetElementAt_uint2(*(rs_allocation*)buf2710, *(uint32_t*)buf2711, *(uint32_t*)buf2712);
-    *(uint3*)buf2713 = rsGetElementAt_uint3(*(rs_allocation*)buf2714, *(uint32_t*)buf2715, *(uint32_t*)buf2716);
-    *(uint4*)buf2717 = rsGetElementAt_uint4(*(rs_allocation*)buf2718, *(uint32_t*)buf2719, *(uint32_t*)buf2720);
-    *(long*)buf2721 = rsGetElementAt_long(*(rs_allocation*)buf2722, *(uint32_t*)buf2723, *(uint32_t*)buf2724);
-    *(long2*)buf2725 = rsGetElementAt_long2(*(rs_allocation*)buf2726, *(uint32_t*)buf2727, *(uint32_t*)buf2728);
-    *(long3*)buf2729 = rsGetElementAt_long3(*(rs_allocation*)buf2730, *(uint32_t*)buf2731, *(uint32_t*)buf2732);
-    *(long4*)buf2733 = rsGetElementAt_long4(*(rs_allocation*)buf2734, *(uint32_t*)buf2735, *(uint32_t*)buf2736);
-    *(ulong*)buf2737 = rsGetElementAt_ulong(*(rs_allocation*)buf2738, *(uint32_t*)buf2739, *(uint32_t*)buf2740);
-    *(ulong2*)buf2741 = rsGetElementAt_ulong2(*(rs_allocation*)buf2742, *(uint32_t*)buf2743, *(uint32_t*)buf2744);
-    *(ulong3*)buf2745 = rsGetElementAt_ulong3(*(rs_allocation*)buf2746, *(uint32_t*)buf2747, *(uint32_t*)buf2748);
-    *(ulong4*)buf2749 = rsGetElementAt_ulong4(*(rs_allocation*)buf2750, *(uint32_t*)buf2751, *(uint32_t*)buf2752);
-    *(float*)buf2753 = rsGetElementAt_float(*(rs_allocation*)buf2754, *(uint32_t*)buf2755, *(uint32_t*)buf2756, *(uint32_t*)buf2757);
-    *(float2*)buf2758 = rsGetElementAt_float2(*(rs_allocation*)buf2759, *(uint32_t*)buf2760, *(uint32_t*)buf2761, *(uint32_t*)buf2762);
-    *(float3*)buf2763 = rsGetElementAt_float3(*(rs_allocation*)buf2764, *(uint32_t*)buf2765, *(uint32_t*)buf2766, *(uint32_t*)buf2767);
-    *(float4*)buf2768 = rsGetElementAt_float4(*(rs_allocation*)buf2769, *(uint32_t*)buf2770, *(uint32_t*)buf2771, *(uint32_t*)buf2772);
-    *(double*)buf2773 = rsGetElementAt_double(*(rs_allocation*)buf2774, *(uint32_t*)buf2775, *(uint32_t*)buf2776, *(uint32_t*)buf2777);
-    *(double2*)buf2778 = rsGetElementAt_double2(*(rs_allocation*)buf2779, *(uint32_t*)buf2780, *(uint32_t*)buf2781, *(uint32_t*)buf2782);
-    *(double3*)buf2783 = rsGetElementAt_double3(*(rs_allocation*)buf2784, *(uint32_t*)buf2785, *(uint32_t*)buf2786, *(uint32_t*)buf2787);
-    *(double4*)buf2788 = rsGetElementAt_double4(*(rs_allocation*)buf2789, *(uint32_t*)buf2790, *(uint32_t*)buf2791, *(uint32_t*)buf2792);
-    *(char*)buf2793 = rsGetElementAt_char(*(rs_allocation*)buf2794, *(uint32_t*)buf2795, *(uint32_t*)buf2796, *(uint32_t*)buf2797);
-    *(char2*)buf2798 = rsGetElementAt_char2(*(rs_allocation*)buf2799, *(uint32_t*)buf2800, *(uint32_t*)buf2801, *(uint32_t*)buf2802);
-    *(char3*)buf2803 = rsGetElementAt_char3(*(rs_allocation*)buf2804, *(uint32_t*)buf2805, *(uint32_t*)buf2806, *(uint32_t*)buf2807);
-    *(char4*)buf2808 = rsGetElementAt_char4(*(rs_allocation*)buf2809, *(uint32_t*)buf2810, *(uint32_t*)buf2811, *(uint32_t*)buf2812);
-    *(uchar*)buf2813 = rsGetElementAt_uchar(*(rs_allocation*)buf2814, *(uint32_t*)buf2815, *(uint32_t*)buf2816, *(uint32_t*)buf2817);
-    *(uchar2*)buf2818 = rsGetElementAt_uchar2(*(rs_allocation*)buf2819, *(uint32_t*)buf2820, *(uint32_t*)buf2821, *(uint32_t*)buf2822);
-    *(uchar3*)buf2823 = rsGetElementAt_uchar3(*(rs_allocation*)buf2824, *(uint32_t*)buf2825, *(uint32_t*)buf2826, *(uint32_t*)buf2827);
-    *(uchar4*)buf2828 = rsGetElementAt_uchar4(*(rs_allocation*)buf2829, *(uint32_t*)buf2830, *(uint32_t*)buf2831, *(uint32_t*)buf2832);
-    *(short*)buf2833 = rsGetElementAt_short(*(rs_allocation*)buf2834, *(uint32_t*)buf2835, *(uint32_t*)buf2836, *(uint32_t*)buf2837);
-    *(short2*)buf2838 = rsGetElementAt_short2(*(rs_allocation*)buf2839, *(uint32_t*)buf2840, *(uint32_t*)buf2841, *(uint32_t*)buf2842);
-    *(short3*)buf2843 = rsGetElementAt_short3(*(rs_allocation*)buf2844, *(uint32_t*)buf2845, *(uint32_t*)buf2846, *(uint32_t*)buf2847);
-    *(short4*)buf2848 = rsGetElementAt_short4(*(rs_allocation*)buf2849, *(uint32_t*)buf2850, *(uint32_t*)buf2851, *(uint32_t*)buf2852);
-    *(ushort*)buf2853 = rsGetElementAt_ushort(*(rs_allocation*)buf2854, *(uint32_t*)buf2855, *(uint32_t*)buf2856, *(uint32_t*)buf2857);
-    *(ushort2*)buf2858 = rsGetElementAt_ushort2(*(rs_allocation*)buf2859, *(uint32_t*)buf2860, *(uint32_t*)buf2861, *(uint32_t*)buf2862);
-    *(ushort3*)buf2863 = rsGetElementAt_ushort3(*(rs_allocation*)buf2864, *(uint32_t*)buf2865, *(uint32_t*)buf2866, *(uint32_t*)buf2867);
-    *(ushort4*)buf2868 = rsGetElementAt_ushort4(*(rs_allocation*)buf2869, *(uint32_t*)buf2870, *(uint32_t*)buf2871, *(uint32_t*)buf2872);
-    *(int*)buf2873 = rsGetElementAt_int(*(rs_allocation*)buf2874, *(uint32_t*)buf2875, *(uint32_t*)buf2876, *(uint32_t*)buf2877);
-    *(int2*)buf2878 = rsGetElementAt_int2(*(rs_allocation*)buf2879, *(uint32_t*)buf2880, *(uint32_t*)buf2881, *(uint32_t*)buf2882);
-    *(int3*)buf2883 = rsGetElementAt_int3(*(rs_allocation*)buf2884, *(uint32_t*)buf2885, *(uint32_t*)buf2886, *(uint32_t*)buf2887);
-    *(int4*)buf2888 = rsGetElementAt_int4(*(rs_allocation*)buf2889, *(uint32_t*)buf2890, *(uint32_t*)buf2891, *(uint32_t*)buf2892);
-    *(uint*)buf2893 = rsGetElementAt_uint(*(rs_allocation*)buf2894, *(uint32_t*)buf2895, *(uint32_t*)buf2896, *(uint32_t*)buf2897);
-    *(uint2*)buf2898 = rsGetElementAt_uint2(*(rs_allocation*)buf2899, *(uint32_t*)buf2900, *(uint32_t*)buf2901, *(uint32_t*)buf2902);
-    *(uint3*)buf2903 = rsGetElementAt_uint3(*(rs_allocation*)buf2904, *(uint32_t*)buf2905, *(uint32_t*)buf2906, *(uint32_t*)buf2907);
-    *(uint4*)buf2908 = rsGetElementAt_uint4(*(rs_allocation*)buf2909, *(uint32_t*)buf2910, *(uint32_t*)buf2911, *(uint32_t*)buf2912);
-    *(long*)buf2913 = rsGetElementAt_long(*(rs_allocation*)buf2914, *(uint32_t*)buf2915, *(uint32_t*)buf2916, *(uint32_t*)buf2917);
-    *(long2*)buf2918 = rsGetElementAt_long2(*(rs_allocation*)buf2919, *(uint32_t*)buf2920, *(uint32_t*)buf2921, *(uint32_t*)buf2922);
-    *(long3*)buf2923 = rsGetElementAt_long3(*(rs_allocation*)buf2924, *(uint32_t*)buf2925, *(uint32_t*)buf2926, *(uint32_t*)buf2927);
-    *(long4*)buf2928 = rsGetElementAt_long4(*(rs_allocation*)buf2929, *(uint32_t*)buf2930, *(uint32_t*)buf2931, *(uint32_t*)buf2932);
-    *(ulong*)buf2933 = rsGetElementAt_ulong(*(rs_allocation*)buf2934, *(uint32_t*)buf2935, *(uint32_t*)buf2936, *(uint32_t*)buf2937);
-    *(ulong2*)buf2938 = rsGetElementAt_ulong2(*(rs_allocation*)buf2939, *(uint32_t*)buf2940, *(uint32_t*)buf2941, *(uint32_t*)buf2942);
-    *(ulong3*)buf2943 = rsGetElementAt_ulong3(*(rs_allocation*)buf2944, *(uint32_t*)buf2945, *(uint32_t*)buf2946, *(uint32_t*)buf2947);
-    *(ulong4*)buf2948 = rsGetElementAt_ulong4(*(rs_allocation*)buf2949, *(uint32_t*)buf2950, *(uint32_t*)buf2951, *(uint32_t*)buf2952);
-    *(uchar*)buf2953 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf2954, *(uint32_t*)buf2955, *(uint32_t*)buf2956);
-    *(uchar*)buf2957 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf2958, *(uint32_t*)buf2959, *(uint32_t*)buf2960);
-    *(uchar*)buf2961 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf2962, *(uint32_t*)buf2963, *(uint32_t*)buf2964);
-    *(bool*)buf2965 = rsIsObject(*(rs_element*)buf2966);
-    *(bool*)buf2967 = rsIsObject(*(rs_type*)buf2968);
-    *(bool*)buf2969 = rsIsObject(*(rs_allocation*)buf2970);
-    *(bool*)buf2971 = rsIsObject(*(rs_sampler*)buf2972);
-    *(bool*)buf2973 = rsIsObject(*(rs_script*)buf2974);
+    rsDebug((const char*) buf2339, *(double*)buf2340);
+    rsDebug((const char*) buf2341, *(int*)buf2342);
+    rsDebug((const char*) buf2343, *(uint*)buf2344);
+    rsDebug((const char*) buf2345, *(long*)buf2346);
+    rsDebug((const char*) buf2347, *(ulong*)buf2348);
+    rsDebug((const char*) buf2349, *(int2*)buf2350);
+    rsDebug((const char*) buf2351, *(int3*)buf2352);
+    rsDebug((const char*) buf2353, *(int4*)buf2354);
+    rsDebug((const char*) buf2355, *(uint2*)buf2356);
+    rsDebug((const char*) buf2357, *(uint3*)buf2358);
+    rsDebug((const char*) buf2359, *(uint4*)buf2360);
+    rsDebug((const char*) buf2361, *(long2*)buf2362);
+    rsDebug((const char*) buf2363, *(long3*)buf2364);
+    rsDebug((const char*) buf2365, *(long4*)buf2366);
+    rsDebug((const char*) buf2367, *(ulong2*)buf2368);
+    rsDebug((const char*) buf2369, *(ulong3*)buf2370);
+    rsDebug((const char*) buf2371, *(ulong4*)buf2372);
+    rsDebug((const char*) buf2373, *(float*)buf2374);
+    rsDebug((const char*) buf2375, *(float2*)buf2376);
+    rsDebug((const char*) buf2377, *(float3*)buf2378);
+    rsDebug((const char*) buf2379, *(float4*)buf2380);
+    rsDebug((const char*) buf2381, *(char*)buf2382);
+    rsDebug((const char*) buf2383, *(char2*)buf2384);
+    rsDebug((const char*) buf2385, *(char3*)buf2386);
+    rsDebug((const char*) buf2387, *(char4*)buf2388);
+    rsDebug((const char*) buf2389, *(uchar*)buf2390);
+    rsDebug((const char*) buf2391, *(uchar2*)buf2392);
+    rsDebug((const char*) buf2393, *(uchar3*)buf2394);
+    rsDebug((const char*) buf2395, *(uchar4*)buf2396);
+    rsDebug((const char*) buf2397, *(short*)buf2398);
+    rsDebug((const char*) buf2399, *(short2*)buf2400);
+    rsDebug((const char*) buf2401, *(short3*)buf2402);
+    rsDebug((const char*) buf2403, *(short4*)buf2404);
+    rsDebug((const char*) buf2405, *(ushort*)buf2406);
+    rsDebug((const char*) buf2407, *(ushort2*)buf2408);
+    rsDebug((const char*) buf2409, *(ushort3*)buf2410);
+    rsDebug((const char*) buf2411, *(ushort4*)buf2412);
+    rsDebug((const char*) buf2413, *(float*)buf2414, *(float*)buf2415);
+    rsDebug((const char*) buf2416, *(float*)buf2417, *(float*)buf2418, *(float*)buf2419);
+    rsDebug((const char*) buf2420, *(float*)buf2421, *(float*)buf2422, *(float*)buf2423, *(float*)buf2424);
+    rsDebug((const char*) buf2425, *(long long*)buf2426);
+    rsDebug((const char*) buf2427, *(unsigned long long*)buf2428);
+    rsDebug((const char*) buf2429, (const void*) buf2430);
+    rsDebug((const char*) buf2431, (const rs_matrix4x4*) buf2432);
+    rsDebug((const char*) buf2433, (const rs_matrix3x3*) buf2434);
+    rsDebug((const char*) buf2435, (const rs_matrix2x2*) buf2436);
+    *(uint32_t*)buf2437 = rsElementGetBytesSize(*(rs_element*)buf2438);
+    *(rs_data_kind*)buf2439 = rsElementGetDataKind(*(rs_element*)buf2440);
+    *(rs_data_type*)buf2441 = rsElementGetDataType(*(rs_element*)buf2442);
+    *(rs_element*)buf2443 = rsElementGetSubElement(*(rs_element*)buf2444, *(uint32_t*)buf2445);
+    *(uint32_t*)buf2446 = rsElementGetSubElementArraySize(*(rs_element*)buf2447, *(uint32_t*)buf2448);
+    *(uint32_t*)buf2449 = rsElementGetSubElementCount(*(rs_element*)buf2450);
+    *(uint32_t*)buf2451 = rsElementGetSubElementName(*(rs_element*)buf2452, *(uint32_t*)buf2453, (char*) buf2454, *(uint32_t*)buf2455);
+    *(uint32_t*)buf2456 = rsElementGetSubElementNameLength(*(rs_element*)buf2457, *(uint32_t*)buf2458);
+    *(uint32_t*)buf2459 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf2460, *(uint32_t*)buf2461);
+    *(uint32_t*)buf2462 = rsElementGetVectorSize(*(rs_element*)buf2463);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf2464, (float4*) buf2465, (float4*) buf2466, (float4*) buf2467, (float4*) buf2468, (float4*) buf2469, (float4*) buf2470);
+    rsForEach(*(rs_script*)buf2471, *(rs_allocation*)buf2472, *(rs_allocation*)buf2473);
+    *(float*)buf2474 = rsFrac(*(float*)buf2475);
+    *(rs_allocation*)buf2476 = rsGetAllocation((const void*) buf2477);
+    *(float*)buf2478 = rsGetDt();
+    *(const void**)buf2479 = rsGetElementAt(*(rs_allocation*)buf2480, *(uint32_t*)buf2481);
+    *(const void**)buf2482 = rsGetElementAt(*(rs_allocation*)buf2483, *(uint32_t*)buf2484, *(uint32_t*)buf2485);
+    *(const void**)buf2486 = rsGetElementAt(*(rs_allocation*)buf2487, *(uint32_t*)buf2488, *(uint32_t*)buf2489, *(uint32_t*)buf2490);
+    *(float*)buf2491 = rsGetElementAt_float(*(rs_allocation*)buf2492, *(uint32_t*)buf2493);
+    *(float2*)buf2494 = rsGetElementAt_float2(*(rs_allocation*)buf2495, *(uint32_t*)buf2496);
+    *(float3*)buf2497 = rsGetElementAt_float3(*(rs_allocation*)buf2498, *(uint32_t*)buf2499);
+    *(float4*)buf2500 = rsGetElementAt_float4(*(rs_allocation*)buf2501, *(uint32_t*)buf2502);
+    *(double*)buf2503 = rsGetElementAt_double(*(rs_allocation*)buf2504, *(uint32_t*)buf2505);
+    *(double2*)buf2506 = rsGetElementAt_double2(*(rs_allocation*)buf2507, *(uint32_t*)buf2508);
+    *(double3*)buf2509 = rsGetElementAt_double3(*(rs_allocation*)buf2510, *(uint32_t*)buf2511);
+    *(double4*)buf2512 = rsGetElementAt_double4(*(rs_allocation*)buf2513, *(uint32_t*)buf2514);
+    *(char*)buf2515 = rsGetElementAt_char(*(rs_allocation*)buf2516, *(uint32_t*)buf2517);
+    *(char2*)buf2518 = rsGetElementAt_char2(*(rs_allocation*)buf2519, *(uint32_t*)buf2520);
+    *(char3*)buf2521 = rsGetElementAt_char3(*(rs_allocation*)buf2522, *(uint32_t*)buf2523);
+    *(char4*)buf2524 = rsGetElementAt_char4(*(rs_allocation*)buf2525, *(uint32_t*)buf2526);
+    *(uchar*)buf2527 = rsGetElementAt_uchar(*(rs_allocation*)buf2528, *(uint32_t*)buf2529);
+    *(uchar2*)buf2530 = rsGetElementAt_uchar2(*(rs_allocation*)buf2531, *(uint32_t*)buf2532);
+    *(uchar3*)buf2533 = rsGetElementAt_uchar3(*(rs_allocation*)buf2534, *(uint32_t*)buf2535);
+    *(uchar4*)buf2536 = rsGetElementAt_uchar4(*(rs_allocation*)buf2537, *(uint32_t*)buf2538);
+    *(short*)buf2539 = rsGetElementAt_short(*(rs_allocation*)buf2540, *(uint32_t*)buf2541);
+    *(short2*)buf2542 = rsGetElementAt_short2(*(rs_allocation*)buf2543, *(uint32_t*)buf2544);
+    *(short3*)buf2545 = rsGetElementAt_short3(*(rs_allocation*)buf2546, *(uint32_t*)buf2547);
+    *(short4*)buf2548 = rsGetElementAt_short4(*(rs_allocation*)buf2549, *(uint32_t*)buf2550);
+    *(ushort*)buf2551 = rsGetElementAt_ushort(*(rs_allocation*)buf2552, *(uint32_t*)buf2553);
+    *(ushort2*)buf2554 = rsGetElementAt_ushort2(*(rs_allocation*)buf2555, *(uint32_t*)buf2556);
+    *(ushort3*)buf2557 = rsGetElementAt_ushort3(*(rs_allocation*)buf2558, *(uint32_t*)buf2559);
+    *(ushort4*)buf2560 = rsGetElementAt_ushort4(*(rs_allocation*)buf2561, *(uint32_t*)buf2562);
+    *(int*)buf2563 = rsGetElementAt_int(*(rs_allocation*)buf2564, *(uint32_t*)buf2565);
+    *(int2*)buf2566 = rsGetElementAt_int2(*(rs_allocation*)buf2567, *(uint32_t*)buf2568);
+    *(int3*)buf2569 = rsGetElementAt_int3(*(rs_allocation*)buf2570, *(uint32_t*)buf2571);
+    *(int4*)buf2572 = rsGetElementAt_int4(*(rs_allocation*)buf2573, *(uint32_t*)buf2574);
+    *(uint*)buf2575 = rsGetElementAt_uint(*(rs_allocation*)buf2576, *(uint32_t*)buf2577);
+    *(uint2*)buf2578 = rsGetElementAt_uint2(*(rs_allocation*)buf2579, *(uint32_t*)buf2580);
+    *(uint3*)buf2581 = rsGetElementAt_uint3(*(rs_allocation*)buf2582, *(uint32_t*)buf2583);
+    *(uint4*)buf2584 = rsGetElementAt_uint4(*(rs_allocation*)buf2585, *(uint32_t*)buf2586);
+    *(long*)buf2587 = rsGetElementAt_long(*(rs_allocation*)buf2588, *(uint32_t*)buf2589);
+    *(long2*)buf2590 = rsGetElementAt_long2(*(rs_allocation*)buf2591, *(uint32_t*)buf2592);
+    *(long3*)buf2593 = rsGetElementAt_long3(*(rs_allocation*)buf2594, *(uint32_t*)buf2595);
+    *(long4*)buf2596 = rsGetElementAt_long4(*(rs_allocation*)buf2597, *(uint32_t*)buf2598);
+    *(ulong*)buf2599 = rsGetElementAt_ulong(*(rs_allocation*)buf2600, *(uint32_t*)buf2601);
+    *(ulong2*)buf2602 = rsGetElementAt_ulong2(*(rs_allocation*)buf2603, *(uint32_t*)buf2604);
+    *(ulong3*)buf2605 = rsGetElementAt_ulong3(*(rs_allocation*)buf2606, *(uint32_t*)buf2607);
+    *(ulong4*)buf2608 = rsGetElementAt_ulong4(*(rs_allocation*)buf2609, *(uint32_t*)buf2610);
+    *(float*)buf2611 = rsGetElementAt_float(*(rs_allocation*)buf2612, *(uint32_t*)buf2613, *(uint32_t*)buf2614);
+    *(float2*)buf2615 = rsGetElementAt_float2(*(rs_allocation*)buf2616, *(uint32_t*)buf2617, *(uint32_t*)buf2618);
+    *(float3*)buf2619 = rsGetElementAt_float3(*(rs_allocation*)buf2620, *(uint32_t*)buf2621, *(uint32_t*)buf2622);
+    *(float4*)buf2623 = rsGetElementAt_float4(*(rs_allocation*)buf2624, *(uint32_t*)buf2625, *(uint32_t*)buf2626);
+    *(double*)buf2627 = rsGetElementAt_double(*(rs_allocation*)buf2628, *(uint32_t*)buf2629, *(uint32_t*)buf2630);
+    *(double2*)buf2631 = rsGetElementAt_double2(*(rs_allocation*)buf2632, *(uint32_t*)buf2633, *(uint32_t*)buf2634);
+    *(double3*)buf2635 = rsGetElementAt_double3(*(rs_allocation*)buf2636, *(uint32_t*)buf2637, *(uint32_t*)buf2638);
+    *(double4*)buf2639 = rsGetElementAt_double4(*(rs_allocation*)buf2640, *(uint32_t*)buf2641, *(uint32_t*)buf2642);
+    *(char*)buf2643 = rsGetElementAt_char(*(rs_allocation*)buf2644, *(uint32_t*)buf2645, *(uint32_t*)buf2646);
+    *(char2*)buf2647 = rsGetElementAt_char2(*(rs_allocation*)buf2648, *(uint32_t*)buf2649, *(uint32_t*)buf2650);
+    *(char3*)buf2651 = rsGetElementAt_char3(*(rs_allocation*)buf2652, *(uint32_t*)buf2653, *(uint32_t*)buf2654);
+    *(char4*)buf2655 = rsGetElementAt_char4(*(rs_allocation*)buf2656, *(uint32_t*)buf2657, *(uint32_t*)buf2658);
+    *(uchar*)buf2659 = rsGetElementAt_uchar(*(rs_allocation*)buf2660, *(uint32_t*)buf2661, *(uint32_t*)buf2662);
+    *(uchar2*)buf2663 = rsGetElementAt_uchar2(*(rs_allocation*)buf2664, *(uint32_t*)buf2665, *(uint32_t*)buf2666);
+    *(uchar3*)buf2667 = rsGetElementAt_uchar3(*(rs_allocation*)buf2668, *(uint32_t*)buf2669, *(uint32_t*)buf2670);
+    *(uchar4*)buf2671 = rsGetElementAt_uchar4(*(rs_allocation*)buf2672, *(uint32_t*)buf2673, *(uint32_t*)buf2674);
+    *(short*)buf2675 = rsGetElementAt_short(*(rs_allocation*)buf2676, *(uint32_t*)buf2677, *(uint32_t*)buf2678);
+    *(short2*)buf2679 = rsGetElementAt_short2(*(rs_allocation*)buf2680, *(uint32_t*)buf2681, *(uint32_t*)buf2682);
+    *(short3*)buf2683 = rsGetElementAt_short3(*(rs_allocation*)buf2684, *(uint32_t*)buf2685, *(uint32_t*)buf2686);
+    *(short4*)buf2687 = rsGetElementAt_short4(*(rs_allocation*)buf2688, *(uint32_t*)buf2689, *(uint32_t*)buf2690);
+    *(ushort*)buf2691 = rsGetElementAt_ushort(*(rs_allocation*)buf2692, *(uint32_t*)buf2693, *(uint32_t*)buf2694);
+    *(ushort2*)buf2695 = rsGetElementAt_ushort2(*(rs_allocation*)buf2696, *(uint32_t*)buf2697, *(uint32_t*)buf2698);
+    *(ushort3*)buf2699 = rsGetElementAt_ushort3(*(rs_allocation*)buf2700, *(uint32_t*)buf2701, *(uint32_t*)buf2702);
+    *(ushort4*)buf2703 = rsGetElementAt_ushort4(*(rs_allocation*)buf2704, *(uint32_t*)buf2705, *(uint32_t*)buf2706);
+    *(int*)buf2707 = rsGetElementAt_int(*(rs_allocation*)buf2708, *(uint32_t*)buf2709, *(uint32_t*)buf2710);
+    *(int2*)buf2711 = rsGetElementAt_int2(*(rs_allocation*)buf2712, *(uint32_t*)buf2713, *(uint32_t*)buf2714);
+    *(int3*)buf2715 = rsGetElementAt_int3(*(rs_allocation*)buf2716, *(uint32_t*)buf2717, *(uint32_t*)buf2718);
+    *(int4*)buf2719 = rsGetElementAt_int4(*(rs_allocation*)buf2720, *(uint32_t*)buf2721, *(uint32_t*)buf2722);
+    *(uint*)buf2723 = rsGetElementAt_uint(*(rs_allocation*)buf2724, *(uint32_t*)buf2725, *(uint32_t*)buf2726);
+    *(uint2*)buf2727 = rsGetElementAt_uint2(*(rs_allocation*)buf2728, *(uint32_t*)buf2729, *(uint32_t*)buf2730);
+    *(uint3*)buf2731 = rsGetElementAt_uint3(*(rs_allocation*)buf2732, *(uint32_t*)buf2733, *(uint32_t*)buf2734);
+    *(uint4*)buf2735 = rsGetElementAt_uint4(*(rs_allocation*)buf2736, *(uint32_t*)buf2737, *(uint32_t*)buf2738);
+    *(long*)buf2739 = rsGetElementAt_long(*(rs_allocation*)buf2740, *(uint32_t*)buf2741, *(uint32_t*)buf2742);
+    *(long2*)buf2743 = rsGetElementAt_long2(*(rs_allocation*)buf2744, *(uint32_t*)buf2745, *(uint32_t*)buf2746);
+    *(long3*)buf2747 = rsGetElementAt_long3(*(rs_allocation*)buf2748, *(uint32_t*)buf2749, *(uint32_t*)buf2750);
+    *(long4*)buf2751 = rsGetElementAt_long4(*(rs_allocation*)buf2752, *(uint32_t*)buf2753, *(uint32_t*)buf2754);
+    *(ulong*)buf2755 = rsGetElementAt_ulong(*(rs_allocation*)buf2756, *(uint32_t*)buf2757, *(uint32_t*)buf2758);
+    *(ulong2*)buf2759 = rsGetElementAt_ulong2(*(rs_allocation*)buf2760, *(uint32_t*)buf2761, *(uint32_t*)buf2762);
+    *(ulong3*)buf2763 = rsGetElementAt_ulong3(*(rs_allocation*)buf2764, *(uint32_t*)buf2765, *(uint32_t*)buf2766);
+    *(ulong4*)buf2767 = rsGetElementAt_ulong4(*(rs_allocation*)buf2768, *(uint32_t*)buf2769, *(uint32_t*)buf2770);
+    *(float*)buf2771 = rsGetElementAt_float(*(rs_allocation*)buf2772, *(uint32_t*)buf2773, *(uint32_t*)buf2774, *(uint32_t*)buf2775);
+    *(float2*)buf2776 = rsGetElementAt_float2(*(rs_allocation*)buf2777, *(uint32_t*)buf2778, *(uint32_t*)buf2779, *(uint32_t*)buf2780);
+    *(float3*)buf2781 = rsGetElementAt_float3(*(rs_allocation*)buf2782, *(uint32_t*)buf2783, *(uint32_t*)buf2784, *(uint32_t*)buf2785);
+    *(float4*)buf2786 = rsGetElementAt_float4(*(rs_allocation*)buf2787, *(uint32_t*)buf2788, *(uint32_t*)buf2789, *(uint32_t*)buf2790);
+    *(double*)buf2791 = rsGetElementAt_double(*(rs_allocation*)buf2792, *(uint32_t*)buf2793, *(uint32_t*)buf2794, *(uint32_t*)buf2795);
+    *(double2*)buf2796 = rsGetElementAt_double2(*(rs_allocation*)buf2797, *(uint32_t*)buf2798, *(uint32_t*)buf2799, *(uint32_t*)buf2800);
+    *(double3*)buf2801 = rsGetElementAt_double3(*(rs_allocation*)buf2802, *(uint32_t*)buf2803, *(uint32_t*)buf2804, *(uint32_t*)buf2805);
+    *(double4*)buf2806 = rsGetElementAt_double4(*(rs_allocation*)buf2807, *(uint32_t*)buf2808, *(uint32_t*)buf2809, *(uint32_t*)buf2810);
+    *(char*)buf2811 = rsGetElementAt_char(*(rs_allocation*)buf2812, *(uint32_t*)buf2813, *(uint32_t*)buf2814, *(uint32_t*)buf2815);
+    *(char2*)buf2816 = rsGetElementAt_char2(*(rs_allocation*)buf2817, *(uint32_t*)buf2818, *(uint32_t*)buf2819, *(uint32_t*)buf2820);
+    *(char3*)buf2821 = rsGetElementAt_char3(*(rs_allocation*)buf2822, *(uint32_t*)buf2823, *(uint32_t*)buf2824, *(uint32_t*)buf2825);
+    *(char4*)buf2826 = rsGetElementAt_char4(*(rs_allocation*)buf2827, *(uint32_t*)buf2828, *(uint32_t*)buf2829, *(uint32_t*)buf2830);
+    *(uchar*)buf2831 = rsGetElementAt_uchar(*(rs_allocation*)buf2832, *(uint32_t*)buf2833, *(uint32_t*)buf2834, *(uint32_t*)buf2835);
+    *(uchar2*)buf2836 = rsGetElementAt_uchar2(*(rs_allocation*)buf2837, *(uint32_t*)buf2838, *(uint32_t*)buf2839, *(uint32_t*)buf2840);
+    *(uchar3*)buf2841 = rsGetElementAt_uchar3(*(rs_allocation*)buf2842, *(uint32_t*)buf2843, *(uint32_t*)buf2844, *(uint32_t*)buf2845);
+    *(uchar4*)buf2846 = rsGetElementAt_uchar4(*(rs_allocation*)buf2847, *(uint32_t*)buf2848, *(uint32_t*)buf2849, *(uint32_t*)buf2850);
+    *(short*)buf2851 = rsGetElementAt_short(*(rs_allocation*)buf2852, *(uint32_t*)buf2853, *(uint32_t*)buf2854, *(uint32_t*)buf2855);
+    *(short2*)buf2856 = rsGetElementAt_short2(*(rs_allocation*)buf2857, *(uint32_t*)buf2858, *(uint32_t*)buf2859, *(uint32_t*)buf2860);
+    *(short3*)buf2861 = rsGetElementAt_short3(*(rs_allocation*)buf2862, *(uint32_t*)buf2863, *(uint32_t*)buf2864, *(uint32_t*)buf2865);
+    *(short4*)buf2866 = rsGetElementAt_short4(*(rs_allocation*)buf2867, *(uint32_t*)buf2868, *(uint32_t*)buf2869, *(uint32_t*)buf2870);
+    *(ushort*)buf2871 = rsGetElementAt_ushort(*(rs_allocation*)buf2872, *(uint32_t*)buf2873, *(uint32_t*)buf2874, *(uint32_t*)buf2875);
+    *(ushort2*)buf2876 = rsGetElementAt_ushort2(*(rs_allocation*)buf2877, *(uint32_t*)buf2878, *(uint32_t*)buf2879, *(uint32_t*)buf2880);
+    *(ushort3*)buf2881 = rsGetElementAt_ushort3(*(rs_allocation*)buf2882, *(uint32_t*)buf2883, *(uint32_t*)buf2884, *(uint32_t*)buf2885);
+    *(ushort4*)buf2886 = rsGetElementAt_ushort4(*(rs_allocation*)buf2887, *(uint32_t*)buf2888, *(uint32_t*)buf2889, *(uint32_t*)buf2890);
+    *(int*)buf2891 = rsGetElementAt_int(*(rs_allocation*)buf2892, *(uint32_t*)buf2893, *(uint32_t*)buf2894, *(uint32_t*)buf2895);
+    *(int2*)buf2896 = rsGetElementAt_int2(*(rs_allocation*)buf2897, *(uint32_t*)buf2898, *(uint32_t*)buf2899, *(uint32_t*)buf2900);
+    *(int3*)buf2901 = rsGetElementAt_int3(*(rs_allocation*)buf2902, *(uint32_t*)buf2903, *(uint32_t*)buf2904, *(uint32_t*)buf2905);
+    *(int4*)buf2906 = rsGetElementAt_int4(*(rs_allocation*)buf2907, *(uint32_t*)buf2908, *(uint32_t*)buf2909, *(uint32_t*)buf2910);
+    *(uint*)buf2911 = rsGetElementAt_uint(*(rs_allocation*)buf2912, *(uint32_t*)buf2913, *(uint32_t*)buf2914, *(uint32_t*)buf2915);
+    *(uint2*)buf2916 = rsGetElementAt_uint2(*(rs_allocation*)buf2917, *(uint32_t*)buf2918, *(uint32_t*)buf2919, *(uint32_t*)buf2920);
+    *(uint3*)buf2921 = rsGetElementAt_uint3(*(rs_allocation*)buf2922, *(uint32_t*)buf2923, *(uint32_t*)buf2924, *(uint32_t*)buf2925);
+    *(uint4*)buf2926 = rsGetElementAt_uint4(*(rs_allocation*)buf2927, *(uint32_t*)buf2928, *(uint32_t*)buf2929, *(uint32_t*)buf2930);
+    *(long*)buf2931 = rsGetElementAt_long(*(rs_allocation*)buf2932, *(uint32_t*)buf2933, *(uint32_t*)buf2934, *(uint32_t*)buf2935);
+    *(long2*)buf2936 = rsGetElementAt_long2(*(rs_allocation*)buf2937, *(uint32_t*)buf2938, *(uint32_t*)buf2939, *(uint32_t*)buf2940);
+    *(long3*)buf2941 = rsGetElementAt_long3(*(rs_allocation*)buf2942, *(uint32_t*)buf2943, *(uint32_t*)buf2944, *(uint32_t*)buf2945);
+    *(long4*)buf2946 = rsGetElementAt_long4(*(rs_allocation*)buf2947, *(uint32_t*)buf2948, *(uint32_t*)buf2949, *(uint32_t*)buf2950);
+    *(ulong*)buf2951 = rsGetElementAt_ulong(*(rs_allocation*)buf2952, *(uint32_t*)buf2953, *(uint32_t*)buf2954, *(uint32_t*)buf2955);
+    *(ulong2*)buf2956 = rsGetElementAt_ulong2(*(rs_allocation*)buf2957, *(uint32_t*)buf2958, *(uint32_t*)buf2959, *(uint32_t*)buf2960);
+    *(ulong3*)buf2961 = rsGetElementAt_ulong3(*(rs_allocation*)buf2962, *(uint32_t*)buf2963, *(uint32_t*)buf2964, *(uint32_t*)buf2965);
+    *(ulong4*)buf2966 = rsGetElementAt_ulong4(*(rs_allocation*)buf2967, *(uint32_t*)buf2968, *(uint32_t*)buf2969, *(uint32_t*)buf2970);
+    *(uchar*)buf2971 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf2972, *(uint32_t*)buf2973, *(uint32_t*)buf2974);
+    *(uchar*)buf2975 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf2976, *(uint32_t*)buf2977, *(uint32_t*)buf2978);
+    *(uchar*)buf2979 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf2980, *(uint32_t*)buf2981, *(uint32_t*)buf2982);
+    *(bool*)buf2983 = rsIsObject(*(rs_element*)buf2984);
+    *(bool*)buf2985 = rsIsObject(*(rs_type*)buf2986);
+    *(bool*)buf2987 = rsIsObject(*(rs_allocation*)buf2988);
+    *(bool*)buf2989 = rsIsObject(*(rs_sampler*)buf2990);
+    *(bool*)buf2991 = rsIsObject(*(rs_script*)buf2992);
 #ifndef __LP64__
-    *(bool*)buf2975 = rsIsObject(*(rs_mesh*)buf2976);
-    *(bool*)buf2977 = rsIsObject(*(rs_program_fragment*)buf2978);
-    *(bool*)buf2979 = rsIsObject(*(rs_program_vertex*)buf2980);
-    *(bool*)buf2981 = rsIsObject(*(rs_program_raster*)buf2982);
-    *(bool*)buf2983 = rsIsObject(*(rs_program_store*)buf2984);
-    *(bool*)buf2985 = rsIsObject(*(rs_font*)buf2986);
+    *(bool*)buf2993 = rsIsObject(*(rs_mesh*)buf2994);
+    *(bool*)buf2995 = rsIsObject(*(rs_program_fragment*)buf2996);
+    *(bool*)buf2997 = rsIsObject(*(rs_program_vertex*)buf2998);
+    *(bool*)buf2999 = rsIsObject(*(rs_program_raster*)buf3000);
+    *(bool*)buf3001 = rsIsObject(*(rs_program_store*)buf3002);
+    *(bool*)buf3003 = rsIsObject(*(rs_font*)buf3004);
 #endif
-    *(bool*)buf2987 = rsIsSphereInFrustum((float4*) buf2988, (float4*) buf2989, (float4*) buf2990, (float4*) buf2991, (float4*) buf2992, (float4*) buf2993, (float4*) buf2994);
-    *(rs_tm**)buf2995 = rsLocaltime((rs_tm*) buf2996, (const rs_time_t*) buf2997);
-    *(float*)buf2998 = rsMatrixGet((const rs_matrix4x4*) buf2999, *(uint32_t*)buf3000, *(uint32_t*)buf3001);
-    *(float*)buf3002 = rsMatrixGet((const rs_matrix3x3*) buf3003, *(uint32_t*)buf3004, *(uint32_t*)buf3005);
-    *(float*)buf3006 = rsMatrixGet((const rs_matrix2x2*) buf3007, *(uint32_t*)buf3008, *(uint32_t*)buf3009);
-    *(bool*)buf3010 = rsMatrixInverse((rs_matrix4x4*) buf3011);
-    *(bool*)buf3012 = rsMatrixInverseTranspose((rs_matrix4x4*) buf3013);
-    rsMatrixLoad((rs_matrix4x4*) buf3014, (const float*) buf3015);
-    rsMatrixLoad((rs_matrix3x3*) buf3016, (const float*) buf3017);
-    rsMatrixLoad((rs_matrix2x2*) buf3018, (const float*) buf3019);
-    rsMatrixLoad((rs_matrix4x4*) buf3020, (const rs_matrix4x4*) buf3021);
-    rsMatrixLoad((rs_matrix3x3*) buf3022, (const rs_matrix3x3*) buf3023);
-    rsMatrixLoad((rs_matrix2x2*) buf3024, (const rs_matrix2x2*) buf3025);
-    rsMatrixLoad((rs_matrix4x4*) buf3026, (const rs_matrix3x3*) buf3027);
-    rsMatrixLoad((rs_matrix4x4*) buf3028, (const rs_matrix2x2*) buf3029);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf3030, *(float*)buf3031, *(float*)buf3032, *(float*)buf3033, *(float*)buf3034, *(float*)buf3035, *(float*)buf3036);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf3037);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf3038);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf3039);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf3040, (const rs_matrix4x4*) buf3041, (const rs_matrix4x4*) buf3042);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf3043, (const rs_matrix3x3*) buf3044, (const rs_matrix3x3*) buf3045);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf3046, (const rs_matrix2x2*) buf3047, (const rs_matrix2x2*) buf3048);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf3049, *(float*)buf3050, *(float*)buf3051, *(float*)buf3052, *(float*)buf3053, *(float*)buf3054, *(float*)buf3055);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf3056, *(float*)buf3057, *(float*)buf3058, *(float*)buf3059, *(float*)buf3060);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf3061, *(float*)buf3062, *(float*)buf3063, *(float*)buf3064, *(float*)buf3065);
-    rsMatrixLoadScale((rs_matrix4x4*) buf3066, *(float*)buf3067, *(float*)buf3068, *(float*)buf3069);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf3070, *(float*)buf3071, *(float*)buf3072, *(float*)buf3073);
-    rsMatrixMultiply((rs_matrix4x4*) buf3074, (const rs_matrix4x4*) buf3075);
-    rsMatrixMultiply((rs_matrix3x3*) buf3076, (const rs_matrix3x3*) buf3077);
-    rsMatrixMultiply((rs_matrix2x2*) buf3078, (const rs_matrix2x2*) buf3079);
-    *(float4*)buf3080 = rsMatrixMultiply((const rs_matrix4x4*) buf3081, *(float4*)buf3082);
-    *(float4*)buf3083 = rsMatrixMultiply((const rs_matrix4x4*) buf3084, *(float3*)buf3085);
-    *(float4*)buf3086 = rsMatrixMultiply((const rs_matrix4x4*) buf3087, *(float2*)buf3088);
-    *(float3*)buf3089 = rsMatrixMultiply((const rs_matrix3x3*) buf3090, *(float3*)buf3091);
-    *(float3*)buf3092 = rsMatrixMultiply((const rs_matrix3x3*) buf3093, *(float2*)buf3094);
-    *(float2*)buf3095 = rsMatrixMultiply((const rs_matrix2x2*) buf3096, *(float2*)buf3097);
-    rsMatrixRotate((rs_matrix4x4*) buf3098, *(float*)buf3099, *(float*)buf3100, *(float*)buf3101, *(float*)buf3102);
-    rsMatrixScale((rs_matrix4x4*) buf3103, *(float*)buf3104, *(float*)buf3105, *(float*)buf3106);
-    rsMatrixSet((rs_matrix4x4*) buf3107, *(uint32_t*)buf3108, *(uint32_t*)buf3109, *(float*)buf3110);
-    rsMatrixSet((rs_matrix3x3*) buf3111, *(uint32_t*)buf3112, *(uint32_t*)buf3113, *(float*)buf3114);
-    rsMatrixSet((rs_matrix2x2*) buf3115, *(uint32_t*)buf3116, *(uint32_t*)buf3117, *(float*)buf3118);
-    rsMatrixTranslate((rs_matrix4x4*) buf3119, *(float*)buf3120, *(float*)buf3121, *(float*)buf3122);
-    rsMatrixTranspose((rs_matrix4x4*) buf3123);
-    rsMatrixTranspose((rs_matrix3x3*) buf3124);
-    rsMatrixTranspose((rs_matrix2x2*) buf3125);
-    *(uchar4*)buf3126 = rsPackColorTo8888(*(float*)buf3127, *(float*)buf3128, *(float*)buf3129);
-    *(uchar4*)buf3130 = rsPackColorTo8888(*(float*)buf3131, *(float*)buf3132, *(float*)buf3133, *(float*)buf3134);
-    *(uchar4*)buf3135 = rsPackColorTo8888(*(float3*)buf3136);
-    *(uchar4*)buf3137 = rsPackColorTo8888(*(float4*)buf3138);
-    rsQuaternionAdd((rs_quaternion*) buf3139, (const rs_quaternion*) buf3140);
-    rsQuaternionConjugate((rs_quaternion*) buf3141);
-    *(float*)buf3142 = rsQuaternionDot((const rs_quaternion*) buf3143, (const rs_quaternion*) buf3144);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf3145, (const rs_quaternion*) buf3146);
-    rsQuaternionLoadRotate((rs_quaternion*) buf3147, *(float*)buf3148, *(float*)buf3149, *(float*)buf3150, *(float*)buf3151);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf3152, *(float*)buf3153, *(float*)buf3154, *(float*)buf3155, *(float*)buf3156);
-    rsQuaternionMultiply((rs_quaternion*) buf3157, *(float*)buf3158);
-    rsQuaternionMultiply((rs_quaternion*) buf3159, (const rs_quaternion*) buf3160);
-    rsQuaternionNormalize((rs_quaternion*) buf3161);
-    rsQuaternionSet((rs_quaternion*) buf3162, *(float*)buf3163, *(float*)buf3164, *(float*)buf3165, *(float*)buf3166);
-    rsQuaternionSet((rs_quaternion*) buf3167, (const rs_quaternion*) buf3168);
-    rsQuaternionSlerp((rs_quaternion*) buf3169, (const rs_quaternion*) buf3170, (const rs_quaternion*) buf3171, *(float*)buf3172);
-    *(int*)buf3173 = rsRand(*(int*)buf3174);
-    *(int*)buf3175 = rsRand(*(int*)buf3176, *(int*)buf3177);
-    *(float*)buf3178 = rsRand(*(float*)buf3179);
-    *(float*)buf3180 = rsRand(*(float*)buf3181, *(float*)buf3182);
-    *(float4*)buf3183 = rsSample(*(rs_allocation*)buf3184, *(rs_sampler*)buf3185, *(float*)buf3186);
-    *(float4*)buf3187 = rsSample(*(rs_allocation*)buf3188, *(rs_sampler*)buf3189, *(float*)buf3190, *(float*)buf3191);
-    *(float4*)buf3192 = rsSample(*(rs_allocation*)buf3193, *(rs_sampler*)buf3194, *(float2*)buf3195);
-    *(float4*)buf3196 = rsSample(*(rs_allocation*)buf3197, *(rs_sampler*)buf3198, *(float2*)buf3199, *(float*)buf3200);
-    *(float*)buf3201 = rsSamplerGetAnisotropy(*(rs_sampler*)buf3202);
-    *(rs_sampler_value*)buf3203 = rsSamplerGetMagnification(*(rs_sampler*)buf3204);
-    *(rs_sampler_value*)buf3205 = rsSamplerGetMinification(*(rs_sampler*)buf3206);
-    *(rs_sampler_value*)buf3207 = rsSamplerGetWrapS(*(rs_sampler*)buf3208);
-    *(rs_sampler_value*)buf3209 = rsSamplerGetWrapT(*(rs_sampler*)buf3210);
-    *(bool*)buf3211 = rsSendToClient(*(int*)buf3212);
-    *(bool*)buf3213 = rsSendToClient(*(int*)buf3214, (const void*) buf3215, *(uint*)buf3216);
-    rsSendToClientBlocking(*(int*)buf3217);
-    rsSendToClientBlocking(*(int*)buf3218, (const void*) buf3219, *(uint*)buf3220);
-    rsSetElementAt(*(rs_allocation*)buf3221, (void*) buf3222, *(uint32_t*)buf3223);
-    rsSetElementAt(*(rs_allocation*)buf3224, (void*) buf3225, *(uint32_t*)buf3226, *(uint32_t*)buf3227);
-    rsSetElementAt_float(*(rs_allocation*)buf3228, *(float*)buf3229, *(uint32_t*)buf3230);
-    rsSetElementAt_float2(*(rs_allocation*)buf3231, *(float2*)buf3232, *(uint32_t*)buf3233);
-    rsSetElementAt_float3(*(rs_allocation*)buf3234, *(float3*)buf3235, *(uint32_t*)buf3236);
-    rsSetElementAt_float4(*(rs_allocation*)buf3237, *(float4*)buf3238, *(uint32_t*)buf3239);
-    rsSetElementAt_double(*(rs_allocation*)buf3240, *(double*)buf3241, *(uint32_t*)buf3242);
-    rsSetElementAt_double2(*(rs_allocation*)buf3243, *(double2*)buf3244, *(uint32_t*)buf3245);
-    rsSetElementAt_double3(*(rs_allocation*)buf3246, *(double3*)buf3247, *(uint32_t*)buf3248);
-    rsSetElementAt_double4(*(rs_allocation*)buf3249, *(double4*)buf3250, *(uint32_t*)buf3251);
-    rsSetElementAt_char(*(rs_allocation*)buf3252, *(char*)buf3253, *(uint32_t*)buf3254);
-    rsSetElementAt_char2(*(rs_allocation*)buf3255, *(char2*)buf3256, *(uint32_t*)buf3257);
-    rsSetElementAt_char3(*(rs_allocation*)buf3258, *(char3*)buf3259, *(uint32_t*)buf3260);
-    rsSetElementAt_char4(*(rs_allocation*)buf3261, *(char4*)buf3262, *(uint32_t*)buf3263);
-    rsSetElementAt_uchar(*(rs_allocation*)buf3264, *(uchar*)buf3265, *(uint32_t*)buf3266);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf3267, *(uchar2*)buf3268, *(uint32_t*)buf3269);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf3270, *(uchar3*)buf3271, *(uint32_t*)buf3272);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf3273, *(uchar4*)buf3274, *(uint32_t*)buf3275);
-    rsSetElementAt_short(*(rs_allocation*)buf3276, *(short*)buf3277, *(uint32_t*)buf3278);
-    rsSetElementAt_short2(*(rs_allocation*)buf3279, *(short2*)buf3280, *(uint32_t*)buf3281);
-    rsSetElementAt_short3(*(rs_allocation*)buf3282, *(short3*)buf3283, *(uint32_t*)buf3284);
-    rsSetElementAt_short4(*(rs_allocation*)buf3285, *(short4*)buf3286, *(uint32_t*)buf3287);
-    rsSetElementAt_ushort(*(rs_allocation*)buf3288, *(ushort*)buf3289, *(uint32_t*)buf3290);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf3291, *(ushort2*)buf3292, *(uint32_t*)buf3293);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf3294, *(ushort3*)buf3295, *(uint32_t*)buf3296);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf3297, *(ushort4*)buf3298, *(uint32_t*)buf3299);
-    rsSetElementAt_int(*(rs_allocation*)buf3300, *(int*)buf3301, *(uint32_t*)buf3302);
-    rsSetElementAt_int2(*(rs_allocation*)buf3303, *(int2*)buf3304, *(uint32_t*)buf3305);
-    rsSetElementAt_int3(*(rs_allocation*)buf3306, *(int3*)buf3307, *(uint32_t*)buf3308);
-    rsSetElementAt_int4(*(rs_allocation*)buf3309, *(int4*)buf3310, *(uint32_t*)buf3311);
-    rsSetElementAt_uint(*(rs_allocation*)buf3312, *(uint*)buf3313, *(uint32_t*)buf3314);
-    rsSetElementAt_uint2(*(rs_allocation*)buf3315, *(uint2*)buf3316, *(uint32_t*)buf3317);
-    rsSetElementAt_uint3(*(rs_allocation*)buf3318, *(uint3*)buf3319, *(uint32_t*)buf3320);
-    rsSetElementAt_uint4(*(rs_allocation*)buf3321, *(uint4*)buf3322, *(uint32_t*)buf3323);
-    rsSetElementAt_long(*(rs_allocation*)buf3324, *(long*)buf3325, *(uint32_t*)buf3326);
-    rsSetElementAt_long2(*(rs_allocation*)buf3327, *(long2*)buf3328, *(uint32_t*)buf3329);
-    rsSetElementAt_long3(*(rs_allocation*)buf3330, *(long3*)buf3331, *(uint32_t*)buf3332);
-    rsSetElementAt_long4(*(rs_allocation*)buf3333, *(long4*)buf3334, *(uint32_t*)buf3335);
-    rsSetElementAt_ulong(*(rs_allocation*)buf3336, *(ulong*)buf3337, *(uint32_t*)buf3338);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf3339, *(ulong2*)buf3340, *(uint32_t*)buf3341);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf3342, *(ulong3*)buf3343, *(uint32_t*)buf3344);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf3345, *(ulong4*)buf3346, *(uint32_t*)buf3347);
-    rsSetElementAt_float(*(rs_allocation*)buf3348, *(float*)buf3349, *(uint32_t*)buf3350, *(uint32_t*)buf3351);
-    rsSetElementAt_float2(*(rs_allocation*)buf3352, *(float2*)buf3353, *(uint32_t*)buf3354, *(uint32_t*)buf3355);
-    rsSetElementAt_float3(*(rs_allocation*)buf3356, *(float3*)buf3357, *(uint32_t*)buf3358, *(uint32_t*)buf3359);
-    rsSetElementAt_float4(*(rs_allocation*)buf3360, *(float4*)buf3361, *(uint32_t*)buf3362, *(uint32_t*)buf3363);
-    rsSetElementAt_double(*(rs_allocation*)buf3364, *(double*)buf3365, *(uint32_t*)buf3366, *(uint32_t*)buf3367);
-    rsSetElementAt_double2(*(rs_allocation*)buf3368, *(double2*)buf3369, *(uint32_t*)buf3370, *(uint32_t*)buf3371);
-    rsSetElementAt_double3(*(rs_allocation*)buf3372, *(double3*)buf3373, *(uint32_t*)buf3374, *(uint32_t*)buf3375);
-    rsSetElementAt_double4(*(rs_allocation*)buf3376, *(double4*)buf3377, *(uint32_t*)buf3378, *(uint32_t*)buf3379);
-    rsSetElementAt_char(*(rs_allocation*)buf3380, *(char*)buf3381, *(uint32_t*)buf3382, *(uint32_t*)buf3383);
-    rsSetElementAt_char2(*(rs_allocation*)buf3384, *(char2*)buf3385, *(uint32_t*)buf3386, *(uint32_t*)buf3387);
-    rsSetElementAt_char3(*(rs_allocation*)buf3388, *(char3*)buf3389, *(uint32_t*)buf3390, *(uint32_t*)buf3391);
-    rsSetElementAt_char4(*(rs_allocation*)buf3392, *(char4*)buf3393, *(uint32_t*)buf3394, *(uint32_t*)buf3395);
-    rsSetElementAt_uchar(*(rs_allocation*)buf3396, *(uchar*)buf3397, *(uint32_t*)buf3398, *(uint32_t*)buf3399);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf3400, *(uchar2*)buf3401, *(uint32_t*)buf3402, *(uint32_t*)buf3403);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf3404, *(uchar3*)buf3405, *(uint32_t*)buf3406, *(uint32_t*)buf3407);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf3408, *(uchar4*)buf3409, *(uint32_t*)buf3410, *(uint32_t*)buf3411);
-    rsSetElementAt_short(*(rs_allocation*)buf3412, *(short*)buf3413, *(uint32_t*)buf3414, *(uint32_t*)buf3415);
-    rsSetElementAt_short2(*(rs_allocation*)buf3416, *(short2*)buf3417, *(uint32_t*)buf3418, *(uint32_t*)buf3419);
-    rsSetElementAt_short3(*(rs_allocation*)buf3420, *(short3*)buf3421, *(uint32_t*)buf3422, *(uint32_t*)buf3423);
-    rsSetElementAt_short4(*(rs_allocation*)buf3424, *(short4*)buf3425, *(uint32_t*)buf3426, *(uint32_t*)buf3427);
-    rsSetElementAt_ushort(*(rs_allocation*)buf3428, *(ushort*)buf3429, *(uint32_t*)buf3430, *(uint32_t*)buf3431);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf3432, *(ushort2*)buf3433, *(uint32_t*)buf3434, *(uint32_t*)buf3435);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf3436, *(ushort3*)buf3437, *(uint32_t*)buf3438, *(uint32_t*)buf3439);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf3440, *(ushort4*)buf3441, *(uint32_t*)buf3442, *(uint32_t*)buf3443);
-    rsSetElementAt_int(*(rs_allocation*)buf3444, *(int*)buf3445, *(uint32_t*)buf3446, *(uint32_t*)buf3447);
-    rsSetElementAt_int2(*(rs_allocation*)buf3448, *(int2*)buf3449, *(uint32_t*)buf3450, *(uint32_t*)buf3451);
-    rsSetElementAt_int3(*(rs_allocation*)buf3452, *(int3*)buf3453, *(uint32_t*)buf3454, *(uint32_t*)buf3455);
-    rsSetElementAt_int4(*(rs_allocation*)buf3456, *(int4*)buf3457, *(uint32_t*)buf3458, *(uint32_t*)buf3459);
-    rsSetElementAt_uint(*(rs_allocation*)buf3460, *(uint*)buf3461, *(uint32_t*)buf3462, *(uint32_t*)buf3463);
-    rsSetElementAt_uint2(*(rs_allocation*)buf3464, *(uint2*)buf3465, *(uint32_t*)buf3466, *(uint32_t*)buf3467);
-    rsSetElementAt_uint3(*(rs_allocation*)buf3468, *(uint3*)buf3469, *(uint32_t*)buf3470, *(uint32_t*)buf3471);
-    rsSetElementAt_uint4(*(rs_allocation*)buf3472, *(uint4*)buf3473, *(uint32_t*)buf3474, *(uint32_t*)buf3475);
-    rsSetElementAt_long(*(rs_allocation*)buf3476, *(long*)buf3477, *(uint32_t*)buf3478, *(uint32_t*)buf3479);
-    rsSetElementAt_long2(*(rs_allocation*)buf3480, *(long2*)buf3481, *(uint32_t*)buf3482, *(uint32_t*)buf3483);
-    rsSetElementAt_long3(*(rs_allocation*)buf3484, *(long3*)buf3485, *(uint32_t*)buf3486, *(uint32_t*)buf3487);
-    rsSetElementAt_long4(*(rs_allocation*)buf3488, *(long4*)buf3489, *(uint32_t*)buf3490, *(uint32_t*)buf3491);
-    rsSetElementAt_ulong(*(rs_allocation*)buf3492, *(ulong*)buf3493, *(uint32_t*)buf3494, *(uint32_t*)buf3495);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf3496, *(ulong2*)buf3497, *(uint32_t*)buf3498, *(uint32_t*)buf3499);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf3500, *(ulong3*)buf3501, *(uint32_t*)buf3502, *(uint32_t*)buf3503);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf3504, *(ulong4*)buf3505, *(uint32_t*)buf3506, *(uint32_t*)buf3507);
-    rsSetElementAt_float(*(rs_allocation*)buf3508, *(float*)buf3509, *(uint32_t*)buf3510, *(uint32_t*)buf3511, *(uint32_t*)buf3512);
-    rsSetElementAt_float2(*(rs_allocation*)buf3513, *(float2*)buf3514, *(uint32_t*)buf3515, *(uint32_t*)buf3516, *(uint32_t*)buf3517);
-    rsSetElementAt_float3(*(rs_allocation*)buf3518, *(float3*)buf3519, *(uint32_t*)buf3520, *(uint32_t*)buf3521, *(uint32_t*)buf3522);
-    rsSetElementAt_float4(*(rs_allocation*)buf3523, *(float4*)buf3524, *(uint32_t*)buf3525, *(uint32_t*)buf3526, *(uint32_t*)buf3527);
-    rsSetElementAt_double(*(rs_allocation*)buf3528, *(double*)buf3529, *(uint32_t*)buf3530, *(uint32_t*)buf3531, *(uint32_t*)buf3532);
-    rsSetElementAt_double2(*(rs_allocation*)buf3533, *(double2*)buf3534, *(uint32_t*)buf3535, *(uint32_t*)buf3536, *(uint32_t*)buf3537);
-    rsSetElementAt_double3(*(rs_allocation*)buf3538, *(double3*)buf3539, *(uint32_t*)buf3540, *(uint32_t*)buf3541, *(uint32_t*)buf3542);
-    rsSetElementAt_double4(*(rs_allocation*)buf3543, *(double4*)buf3544, *(uint32_t*)buf3545, *(uint32_t*)buf3546, *(uint32_t*)buf3547);
-    rsSetElementAt_char(*(rs_allocation*)buf3548, *(char*)buf3549, *(uint32_t*)buf3550, *(uint32_t*)buf3551, *(uint32_t*)buf3552);
-    rsSetElementAt_char2(*(rs_allocation*)buf3553, *(char2*)buf3554, *(uint32_t*)buf3555, *(uint32_t*)buf3556, *(uint32_t*)buf3557);
-    rsSetElementAt_char3(*(rs_allocation*)buf3558, *(char3*)buf3559, *(uint32_t*)buf3560, *(uint32_t*)buf3561, *(uint32_t*)buf3562);
-    rsSetElementAt_char4(*(rs_allocation*)buf3563, *(char4*)buf3564, *(uint32_t*)buf3565, *(uint32_t*)buf3566, *(uint32_t*)buf3567);
-    rsSetElementAt_uchar(*(rs_allocation*)buf3568, *(uchar*)buf3569, *(uint32_t*)buf3570, *(uint32_t*)buf3571, *(uint32_t*)buf3572);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf3573, *(uchar2*)buf3574, *(uint32_t*)buf3575, *(uint32_t*)buf3576, *(uint32_t*)buf3577);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf3578, *(uchar3*)buf3579, *(uint32_t*)buf3580, *(uint32_t*)buf3581, *(uint32_t*)buf3582);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf3583, *(uchar4*)buf3584, *(uint32_t*)buf3585, *(uint32_t*)buf3586, *(uint32_t*)buf3587);
-    rsSetElementAt_short(*(rs_allocation*)buf3588, *(short*)buf3589, *(uint32_t*)buf3590, *(uint32_t*)buf3591, *(uint32_t*)buf3592);
-    rsSetElementAt_short2(*(rs_allocation*)buf3593, *(short2*)buf3594, *(uint32_t*)buf3595, *(uint32_t*)buf3596, *(uint32_t*)buf3597);
-    rsSetElementAt_short3(*(rs_allocation*)buf3598, *(short3*)buf3599, *(uint32_t*)buf3600, *(uint32_t*)buf3601, *(uint32_t*)buf3602);
-    rsSetElementAt_short4(*(rs_allocation*)buf3603, *(short4*)buf3604, *(uint32_t*)buf3605, *(uint32_t*)buf3606, *(uint32_t*)buf3607);
-    rsSetElementAt_ushort(*(rs_allocation*)buf3608, *(ushort*)buf3609, *(uint32_t*)buf3610, *(uint32_t*)buf3611, *(uint32_t*)buf3612);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf3613, *(ushort2*)buf3614, *(uint32_t*)buf3615, *(uint32_t*)buf3616, *(uint32_t*)buf3617);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf3618, *(ushort3*)buf3619, *(uint32_t*)buf3620, *(uint32_t*)buf3621, *(uint32_t*)buf3622);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf3623, *(ushort4*)buf3624, *(uint32_t*)buf3625, *(uint32_t*)buf3626, *(uint32_t*)buf3627);
-    rsSetElementAt_int(*(rs_allocation*)buf3628, *(int*)buf3629, *(uint32_t*)buf3630, *(uint32_t*)buf3631, *(uint32_t*)buf3632);
-    rsSetElementAt_int2(*(rs_allocation*)buf3633, *(int2*)buf3634, *(uint32_t*)buf3635, *(uint32_t*)buf3636, *(uint32_t*)buf3637);
-    rsSetElementAt_int3(*(rs_allocation*)buf3638, *(int3*)buf3639, *(uint32_t*)buf3640, *(uint32_t*)buf3641, *(uint32_t*)buf3642);
-    rsSetElementAt_int4(*(rs_allocation*)buf3643, *(int4*)buf3644, *(uint32_t*)buf3645, *(uint32_t*)buf3646, *(uint32_t*)buf3647);
-    rsSetElementAt_uint(*(rs_allocation*)buf3648, *(uint*)buf3649, *(uint32_t*)buf3650, *(uint32_t*)buf3651, *(uint32_t*)buf3652);
-    rsSetElementAt_uint2(*(rs_allocation*)buf3653, *(uint2*)buf3654, *(uint32_t*)buf3655, *(uint32_t*)buf3656, *(uint32_t*)buf3657);
-    rsSetElementAt_uint3(*(rs_allocation*)buf3658, *(uint3*)buf3659, *(uint32_t*)buf3660, *(uint32_t*)buf3661, *(uint32_t*)buf3662);
-    rsSetElementAt_uint4(*(rs_allocation*)buf3663, *(uint4*)buf3664, *(uint32_t*)buf3665, *(uint32_t*)buf3666, *(uint32_t*)buf3667);
-    rsSetElementAt_long(*(rs_allocation*)buf3668, *(long*)buf3669, *(uint32_t*)buf3670, *(uint32_t*)buf3671, *(uint32_t*)buf3672);
-    rsSetElementAt_long2(*(rs_allocation*)buf3673, *(long2*)buf3674, *(uint32_t*)buf3675, *(uint32_t*)buf3676, *(uint32_t*)buf3677);
-    rsSetElementAt_long3(*(rs_allocation*)buf3678, *(long3*)buf3679, *(uint32_t*)buf3680, *(uint32_t*)buf3681, *(uint32_t*)buf3682);
-    rsSetElementAt_long4(*(rs_allocation*)buf3683, *(long4*)buf3684, *(uint32_t*)buf3685, *(uint32_t*)buf3686, *(uint32_t*)buf3687);
-    rsSetElementAt_ulong(*(rs_allocation*)buf3688, *(ulong*)buf3689, *(uint32_t*)buf3690, *(uint32_t*)buf3691, *(uint32_t*)buf3692);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf3693, *(ulong2*)buf3694, *(uint32_t*)buf3695, *(uint32_t*)buf3696, *(uint32_t*)buf3697);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf3698, *(ulong3*)buf3699, *(uint32_t*)buf3700, *(uint32_t*)buf3701, *(uint32_t*)buf3702);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf3703, *(ulong4*)buf3704, *(uint32_t*)buf3705, *(uint32_t*)buf3706, *(uint32_t*)buf3707);
-    rsSetObject((rs_element*) buf3708, *(rs_element*)buf3709);
-    rsSetObject((rs_type*) buf3710, *(rs_type*)buf3711);
-    rsSetObject((rs_allocation*) buf3712, *(rs_allocation*)buf3713);
-    rsSetObject((rs_sampler*) buf3714, *(rs_sampler*)buf3715);
-    rsSetObject((rs_script*) buf3716, *(rs_script*)buf3717);
+    *(bool*)buf3005 = rsIsSphereInFrustum((float4*) buf3006, (float4*) buf3007, (float4*) buf3008, (float4*) buf3009, (float4*) buf3010, (float4*) buf3011, (float4*) buf3012);
+    *(rs_tm**)buf3013 = rsLocaltime((rs_tm*) buf3014, (const rs_time_t*) buf3015);
+    *(float*)buf3016 = rsMatrixGet((const rs_matrix4x4*) buf3017, *(uint32_t*)buf3018, *(uint32_t*)buf3019);
+    *(float*)buf3020 = rsMatrixGet((const rs_matrix3x3*) buf3021, *(uint32_t*)buf3022, *(uint32_t*)buf3023);
+    *(float*)buf3024 = rsMatrixGet((const rs_matrix2x2*) buf3025, *(uint32_t*)buf3026, *(uint32_t*)buf3027);
+    *(bool*)buf3028 = rsMatrixInverse((rs_matrix4x4*) buf3029);
+    *(bool*)buf3030 = rsMatrixInverseTranspose((rs_matrix4x4*) buf3031);
+    rsMatrixLoad((rs_matrix4x4*) buf3032, (const float*) buf3033);
+    rsMatrixLoad((rs_matrix3x3*) buf3034, (const float*) buf3035);
+    rsMatrixLoad((rs_matrix2x2*) buf3036, (const float*) buf3037);
+    rsMatrixLoad((rs_matrix4x4*) buf3038, (const rs_matrix4x4*) buf3039);
+    rsMatrixLoad((rs_matrix3x3*) buf3040, (const rs_matrix3x3*) buf3041);
+    rsMatrixLoad((rs_matrix2x2*) buf3042, (const rs_matrix2x2*) buf3043);
+    rsMatrixLoad((rs_matrix4x4*) buf3044, (const rs_matrix3x3*) buf3045);
+    rsMatrixLoad((rs_matrix4x4*) buf3046, (const rs_matrix2x2*) buf3047);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf3048, *(float*)buf3049, *(float*)buf3050, *(float*)buf3051, *(float*)buf3052, *(float*)buf3053, *(float*)buf3054);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf3055);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf3056);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf3057);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf3058, (const rs_matrix4x4*) buf3059, (const rs_matrix4x4*) buf3060);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf3061, (const rs_matrix3x3*) buf3062, (const rs_matrix3x3*) buf3063);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf3064, (const rs_matrix2x2*) buf3065, (const rs_matrix2x2*) buf3066);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf3067, *(float*)buf3068, *(float*)buf3069, *(float*)buf3070, *(float*)buf3071, *(float*)buf3072, *(float*)buf3073);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf3074, *(float*)buf3075, *(float*)buf3076, *(float*)buf3077, *(float*)buf3078);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf3079, *(float*)buf3080, *(float*)buf3081, *(float*)buf3082, *(float*)buf3083);
+    rsMatrixLoadScale((rs_matrix4x4*) buf3084, *(float*)buf3085, *(float*)buf3086, *(float*)buf3087);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf3088, *(float*)buf3089, *(float*)buf3090, *(float*)buf3091);
+    rsMatrixMultiply((rs_matrix4x4*) buf3092, (const rs_matrix4x4*) buf3093);
+    rsMatrixMultiply((rs_matrix3x3*) buf3094, (const rs_matrix3x3*) buf3095);
+    rsMatrixMultiply((rs_matrix2x2*) buf3096, (const rs_matrix2x2*) buf3097);
+    *(float4*)buf3098 = rsMatrixMultiply((const rs_matrix4x4*) buf3099, *(float4*)buf3100);
+    *(float4*)buf3101 = rsMatrixMultiply((const rs_matrix4x4*) buf3102, *(float3*)buf3103);
+    *(float4*)buf3104 = rsMatrixMultiply((const rs_matrix4x4*) buf3105, *(float2*)buf3106);
+    *(float3*)buf3107 = rsMatrixMultiply((const rs_matrix3x3*) buf3108, *(float3*)buf3109);
+    *(float3*)buf3110 = rsMatrixMultiply((const rs_matrix3x3*) buf3111, *(float2*)buf3112);
+    *(float2*)buf3113 = rsMatrixMultiply((const rs_matrix2x2*) buf3114, *(float2*)buf3115);
+    rsMatrixRotate((rs_matrix4x4*) buf3116, *(float*)buf3117, *(float*)buf3118, *(float*)buf3119, *(float*)buf3120);
+    rsMatrixScale((rs_matrix4x4*) buf3121, *(float*)buf3122, *(float*)buf3123, *(float*)buf3124);
+    rsMatrixSet((rs_matrix4x4*) buf3125, *(uint32_t*)buf3126, *(uint32_t*)buf3127, *(float*)buf3128);
+    rsMatrixSet((rs_matrix3x3*) buf3129, *(uint32_t*)buf3130, *(uint32_t*)buf3131, *(float*)buf3132);
+    rsMatrixSet((rs_matrix2x2*) buf3133, *(uint32_t*)buf3134, *(uint32_t*)buf3135, *(float*)buf3136);
+    rsMatrixTranslate((rs_matrix4x4*) buf3137, *(float*)buf3138, *(float*)buf3139, *(float*)buf3140);
+    rsMatrixTranspose((rs_matrix4x4*) buf3141);
+    rsMatrixTranspose((rs_matrix3x3*) buf3142);
+    rsMatrixTranspose((rs_matrix2x2*) buf3143);
+    *(uchar4*)buf3144 = rsPackColorTo8888(*(float*)buf3145, *(float*)buf3146, *(float*)buf3147);
+    *(uchar4*)buf3148 = rsPackColorTo8888(*(float*)buf3149, *(float*)buf3150, *(float*)buf3151, *(float*)buf3152);
+    *(uchar4*)buf3153 = rsPackColorTo8888(*(float3*)buf3154);
+    *(uchar4*)buf3155 = rsPackColorTo8888(*(float4*)buf3156);
+    rsQuaternionAdd((rs_quaternion*) buf3157, (const rs_quaternion*) buf3158);
+    rsQuaternionConjugate((rs_quaternion*) buf3159);
+    *(float*)buf3160 = rsQuaternionDot((const rs_quaternion*) buf3161, (const rs_quaternion*) buf3162);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf3163, (const rs_quaternion*) buf3164);
+    rsQuaternionLoadRotate((rs_quaternion*) buf3165, *(float*)buf3166, *(float*)buf3167, *(float*)buf3168, *(float*)buf3169);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf3170, *(float*)buf3171, *(float*)buf3172, *(float*)buf3173, *(float*)buf3174);
+    rsQuaternionMultiply((rs_quaternion*) buf3175, *(float*)buf3176);
+    rsQuaternionMultiply((rs_quaternion*) buf3177, (const rs_quaternion*) buf3178);
+    rsQuaternionNormalize((rs_quaternion*) buf3179);
+    rsQuaternionSet((rs_quaternion*) buf3180, *(float*)buf3181, *(float*)buf3182, *(float*)buf3183, *(float*)buf3184);
+    rsQuaternionSet((rs_quaternion*) buf3185, (const rs_quaternion*) buf3186);
+    rsQuaternionSlerp((rs_quaternion*) buf3187, (const rs_quaternion*) buf3188, (const rs_quaternion*) buf3189, *(float*)buf3190);
+    *(int*)buf3191 = rsRand(*(int*)buf3192);
+    *(int*)buf3193 = rsRand(*(int*)buf3194, *(int*)buf3195);
+    *(float*)buf3196 = rsRand(*(float*)buf3197);
+    *(float*)buf3198 = rsRand(*(float*)buf3199, *(float*)buf3200);
+    *(float4*)buf3201 = rsSample(*(rs_allocation*)buf3202, *(rs_sampler*)buf3203, *(float*)buf3204);
+    *(float4*)buf3205 = rsSample(*(rs_allocation*)buf3206, *(rs_sampler*)buf3207, *(float*)buf3208, *(float*)buf3209);
+    *(float4*)buf3210 = rsSample(*(rs_allocation*)buf3211, *(rs_sampler*)buf3212, *(float2*)buf3213);
+    *(float4*)buf3214 = rsSample(*(rs_allocation*)buf3215, *(rs_sampler*)buf3216, *(float2*)buf3217, *(float*)buf3218);
+    *(float*)buf3219 = rsSamplerGetAnisotropy(*(rs_sampler*)buf3220);
+    *(rs_sampler_value*)buf3221 = rsSamplerGetMagnification(*(rs_sampler*)buf3222);
+    *(rs_sampler_value*)buf3223 = rsSamplerGetMinification(*(rs_sampler*)buf3224);
+    *(rs_sampler_value*)buf3225 = rsSamplerGetWrapS(*(rs_sampler*)buf3226);
+    *(rs_sampler_value*)buf3227 = rsSamplerGetWrapT(*(rs_sampler*)buf3228);
+    *(bool*)buf3229 = rsSendToClient(*(int*)buf3230);
+    *(bool*)buf3231 = rsSendToClient(*(int*)buf3232, (const void*) buf3233, *(uint*)buf3234);
+    rsSendToClientBlocking(*(int*)buf3235);
+    rsSendToClientBlocking(*(int*)buf3236, (const void*) buf3237, *(uint*)buf3238);
+    rsSetElementAt(*(rs_allocation*)buf3239, (void*) buf3240, *(uint32_t*)buf3241);
+    rsSetElementAt(*(rs_allocation*)buf3242, (void*) buf3243, *(uint32_t*)buf3244, *(uint32_t*)buf3245);
+    rsSetElementAt_float(*(rs_allocation*)buf3246, *(float*)buf3247, *(uint32_t*)buf3248);
+    rsSetElementAt_float2(*(rs_allocation*)buf3249, *(float2*)buf3250, *(uint32_t*)buf3251);
+    rsSetElementAt_float3(*(rs_allocation*)buf3252, *(float3*)buf3253, *(uint32_t*)buf3254);
+    rsSetElementAt_float4(*(rs_allocation*)buf3255, *(float4*)buf3256, *(uint32_t*)buf3257);
+    rsSetElementAt_double(*(rs_allocation*)buf3258, *(double*)buf3259, *(uint32_t*)buf3260);
+    rsSetElementAt_double2(*(rs_allocation*)buf3261, *(double2*)buf3262, *(uint32_t*)buf3263);
+    rsSetElementAt_double3(*(rs_allocation*)buf3264, *(double3*)buf3265, *(uint32_t*)buf3266);
+    rsSetElementAt_double4(*(rs_allocation*)buf3267, *(double4*)buf3268, *(uint32_t*)buf3269);
+    rsSetElementAt_char(*(rs_allocation*)buf3270, *(char*)buf3271, *(uint32_t*)buf3272);
+    rsSetElementAt_char2(*(rs_allocation*)buf3273, *(char2*)buf3274, *(uint32_t*)buf3275);
+    rsSetElementAt_char3(*(rs_allocation*)buf3276, *(char3*)buf3277, *(uint32_t*)buf3278);
+    rsSetElementAt_char4(*(rs_allocation*)buf3279, *(char4*)buf3280, *(uint32_t*)buf3281);
+    rsSetElementAt_uchar(*(rs_allocation*)buf3282, *(uchar*)buf3283, *(uint32_t*)buf3284);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf3285, *(uchar2*)buf3286, *(uint32_t*)buf3287);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf3288, *(uchar3*)buf3289, *(uint32_t*)buf3290);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf3291, *(uchar4*)buf3292, *(uint32_t*)buf3293);
+    rsSetElementAt_short(*(rs_allocation*)buf3294, *(short*)buf3295, *(uint32_t*)buf3296);
+    rsSetElementAt_short2(*(rs_allocation*)buf3297, *(short2*)buf3298, *(uint32_t*)buf3299);
+    rsSetElementAt_short3(*(rs_allocation*)buf3300, *(short3*)buf3301, *(uint32_t*)buf3302);
+    rsSetElementAt_short4(*(rs_allocation*)buf3303, *(short4*)buf3304, *(uint32_t*)buf3305);
+    rsSetElementAt_ushort(*(rs_allocation*)buf3306, *(ushort*)buf3307, *(uint32_t*)buf3308);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf3309, *(ushort2*)buf3310, *(uint32_t*)buf3311);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf3312, *(ushort3*)buf3313, *(uint32_t*)buf3314);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf3315, *(ushort4*)buf3316, *(uint32_t*)buf3317);
+    rsSetElementAt_int(*(rs_allocation*)buf3318, *(int*)buf3319, *(uint32_t*)buf3320);
+    rsSetElementAt_int2(*(rs_allocation*)buf3321, *(int2*)buf3322, *(uint32_t*)buf3323);
+    rsSetElementAt_int3(*(rs_allocation*)buf3324, *(int3*)buf3325, *(uint32_t*)buf3326);
+    rsSetElementAt_int4(*(rs_allocation*)buf3327, *(int4*)buf3328, *(uint32_t*)buf3329);
+    rsSetElementAt_uint(*(rs_allocation*)buf3330, *(uint*)buf3331, *(uint32_t*)buf3332);
+    rsSetElementAt_uint2(*(rs_allocation*)buf3333, *(uint2*)buf3334, *(uint32_t*)buf3335);
+    rsSetElementAt_uint3(*(rs_allocation*)buf3336, *(uint3*)buf3337, *(uint32_t*)buf3338);
+    rsSetElementAt_uint4(*(rs_allocation*)buf3339, *(uint4*)buf3340, *(uint32_t*)buf3341);
+    rsSetElementAt_long(*(rs_allocation*)buf3342, *(long*)buf3343, *(uint32_t*)buf3344);
+    rsSetElementAt_long2(*(rs_allocation*)buf3345, *(long2*)buf3346, *(uint32_t*)buf3347);
+    rsSetElementAt_long3(*(rs_allocation*)buf3348, *(long3*)buf3349, *(uint32_t*)buf3350);
+    rsSetElementAt_long4(*(rs_allocation*)buf3351, *(long4*)buf3352, *(uint32_t*)buf3353);
+    rsSetElementAt_ulong(*(rs_allocation*)buf3354, *(ulong*)buf3355, *(uint32_t*)buf3356);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf3357, *(ulong2*)buf3358, *(uint32_t*)buf3359);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf3360, *(ulong3*)buf3361, *(uint32_t*)buf3362);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf3363, *(ulong4*)buf3364, *(uint32_t*)buf3365);
+    rsSetElementAt_float(*(rs_allocation*)buf3366, *(float*)buf3367, *(uint32_t*)buf3368, *(uint32_t*)buf3369);
+    rsSetElementAt_float2(*(rs_allocation*)buf3370, *(float2*)buf3371, *(uint32_t*)buf3372, *(uint32_t*)buf3373);
+    rsSetElementAt_float3(*(rs_allocation*)buf3374, *(float3*)buf3375, *(uint32_t*)buf3376, *(uint32_t*)buf3377);
+    rsSetElementAt_float4(*(rs_allocation*)buf3378, *(float4*)buf3379, *(uint32_t*)buf3380, *(uint32_t*)buf3381);
+    rsSetElementAt_double(*(rs_allocation*)buf3382, *(double*)buf3383, *(uint32_t*)buf3384, *(uint32_t*)buf3385);
+    rsSetElementAt_double2(*(rs_allocation*)buf3386, *(double2*)buf3387, *(uint32_t*)buf3388, *(uint32_t*)buf3389);
+    rsSetElementAt_double3(*(rs_allocation*)buf3390, *(double3*)buf3391, *(uint32_t*)buf3392, *(uint32_t*)buf3393);
+    rsSetElementAt_double4(*(rs_allocation*)buf3394, *(double4*)buf3395, *(uint32_t*)buf3396, *(uint32_t*)buf3397);
+    rsSetElementAt_char(*(rs_allocation*)buf3398, *(char*)buf3399, *(uint32_t*)buf3400, *(uint32_t*)buf3401);
+    rsSetElementAt_char2(*(rs_allocation*)buf3402, *(char2*)buf3403, *(uint32_t*)buf3404, *(uint32_t*)buf3405);
+    rsSetElementAt_char3(*(rs_allocation*)buf3406, *(char3*)buf3407, *(uint32_t*)buf3408, *(uint32_t*)buf3409);
+    rsSetElementAt_char4(*(rs_allocation*)buf3410, *(char4*)buf3411, *(uint32_t*)buf3412, *(uint32_t*)buf3413);
+    rsSetElementAt_uchar(*(rs_allocation*)buf3414, *(uchar*)buf3415, *(uint32_t*)buf3416, *(uint32_t*)buf3417);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf3418, *(uchar2*)buf3419, *(uint32_t*)buf3420, *(uint32_t*)buf3421);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf3422, *(uchar3*)buf3423, *(uint32_t*)buf3424, *(uint32_t*)buf3425);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf3426, *(uchar4*)buf3427, *(uint32_t*)buf3428, *(uint32_t*)buf3429);
+    rsSetElementAt_short(*(rs_allocation*)buf3430, *(short*)buf3431, *(uint32_t*)buf3432, *(uint32_t*)buf3433);
+    rsSetElementAt_short2(*(rs_allocation*)buf3434, *(short2*)buf3435, *(uint32_t*)buf3436, *(uint32_t*)buf3437);
+    rsSetElementAt_short3(*(rs_allocation*)buf3438, *(short3*)buf3439, *(uint32_t*)buf3440, *(uint32_t*)buf3441);
+    rsSetElementAt_short4(*(rs_allocation*)buf3442, *(short4*)buf3443, *(uint32_t*)buf3444, *(uint32_t*)buf3445);
+    rsSetElementAt_ushort(*(rs_allocation*)buf3446, *(ushort*)buf3447, *(uint32_t*)buf3448, *(uint32_t*)buf3449);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf3450, *(ushort2*)buf3451, *(uint32_t*)buf3452, *(uint32_t*)buf3453);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf3454, *(ushort3*)buf3455, *(uint32_t*)buf3456, *(uint32_t*)buf3457);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf3458, *(ushort4*)buf3459, *(uint32_t*)buf3460, *(uint32_t*)buf3461);
+    rsSetElementAt_int(*(rs_allocation*)buf3462, *(int*)buf3463, *(uint32_t*)buf3464, *(uint32_t*)buf3465);
+    rsSetElementAt_int2(*(rs_allocation*)buf3466, *(int2*)buf3467, *(uint32_t*)buf3468, *(uint32_t*)buf3469);
+    rsSetElementAt_int3(*(rs_allocation*)buf3470, *(int3*)buf3471, *(uint32_t*)buf3472, *(uint32_t*)buf3473);
+    rsSetElementAt_int4(*(rs_allocation*)buf3474, *(int4*)buf3475, *(uint32_t*)buf3476, *(uint32_t*)buf3477);
+    rsSetElementAt_uint(*(rs_allocation*)buf3478, *(uint*)buf3479, *(uint32_t*)buf3480, *(uint32_t*)buf3481);
+    rsSetElementAt_uint2(*(rs_allocation*)buf3482, *(uint2*)buf3483, *(uint32_t*)buf3484, *(uint32_t*)buf3485);
+    rsSetElementAt_uint3(*(rs_allocation*)buf3486, *(uint3*)buf3487, *(uint32_t*)buf3488, *(uint32_t*)buf3489);
+    rsSetElementAt_uint4(*(rs_allocation*)buf3490, *(uint4*)buf3491, *(uint32_t*)buf3492, *(uint32_t*)buf3493);
+    rsSetElementAt_long(*(rs_allocation*)buf3494, *(long*)buf3495, *(uint32_t*)buf3496, *(uint32_t*)buf3497);
+    rsSetElementAt_long2(*(rs_allocation*)buf3498, *(long2*)buf3499, *(uint32_t*)buf3500, *(uint32_t*)buf3501);
+    rsSetElementAt_long3(*(rs_allocation*)buf3502, *(long3*)buf3503, *(uint32_t*)buf3504, *(uint32_t*)buf3505);
+    rsSetElementAt_long4(*(rs_allocation*)buf3506, *(long4*)buf3507, *(uint32_t*)buf3508, *(uint32_t*)buf3509);
+    rsSetElementAt_ulong(*(rs_allocation*)buf3510, *(ulong*)buf3511, *(uint32_t*)buf3512, *(uint32_t*)buf3513);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf3514, *(ulong2*)buf3515, *(uint32_t*)buf3516, *(uint32_t*)buf3517);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf3518, *(ulong3*)buf3519, *(uint32_t*)buf3520, *(uint32_t*)buf3521);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf3522, *(ulong4*)buf3523, *(uint32_t*)buf3524, *(uint32_t*)buf3525);
+    rsSetElementAt_float(*(rs_allocation*)buf3526, *(float*)buf3527, *(uint32_t*)buf3528, *(uint32_t*)buf3529, *(uint32_t*)buf3530);
+    rsSetElementAt_float2(*(rs_allocation*)buf3531, *(float2*)buf3532, *(uint32_t*)buf3533, *(uint32_t*)buf3534, *(uint32_t*)buf3535);
+    rsSetElementAt_float3(*(rs_allocation*)buf3536, *(float3*)buf3537, *(uint32_t*)buf3538, *(uint32_t*)buf3539, *(uint32_t*)buf3540);
+    rsSetElementAt_float4(*(rs_allocation*)buf3541, *(float4*)buf3542, *(uint32_t*)buf3543, *(uint32_t*)buf3544, *(uint32_t*)buf3545);
+    rsSetElementAt_double(*(rs_allocation*)buf3546, *(double*)buf3547, *(uint32_t*)buf3548, *(uint32_t*)buf3549, *(uint32_t*)buf3550);
+    rsSetElementAt_double2(*(rs_allocation*)buf3551, *(double2*)buf3552, *(uint32_t*)buf3553, *(uint32_t*)buf3554, *(uint32_t*)buf3555);
+    rsSetElementAt_double3(*(rs_allocation*)buf3556, *(double3*)buf3557, *(uint32_t*)buf3558, *(uint32_t*)buf3559, *(uint32_t*)buf3560);
+    rsSetElementAt_double4(*(rs_allocation*)buf3561, *(double4*)buf3562, *(uint32_t*)buf3563, *(uint32_t*)buf3564, *(uint32_t*)buf3565);
+    rsSetElementAt_char(*(rs_allocation*)buf3566, *(char*)buf3567, *(uint32_t*)buf3568, *(uint32_t*)buf3569, *(uint32_t*)buf3570);
+    rsSetElementAt_char2(*(rs_allocation*)buf3571, *(char2*)buf3572, *(uint32_t*)buf3573, *(uint32_t*)buf3574, *(uint32_t*)buf3575);
+    rsSetElementAt_char3(*(rs_allocation*)buf3576, *(char3*)buf3577, *(uint32_t*)buf3578, *(uint32_t*)buf3579, *(uint32_t*)buf3580);
+    rsSetElementAt_char4(*(rs_allocation*)buf3581, *(char4*)buf3582, *(uint32_t*)buf3583, *(uint32_t*)buf3584, *(uint32_t*)buf3585);
+    rsSetElementAt_uchar(*(rs_allocation*)buf3586, *(uchar*)buf3587, *(uint32_t*)buf3588, *(uint32_t*)buf3589, *(uint32_t*)buf3590);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf3591, *(uchar2*)buf3592, *(uint32_t*)buf3593, *(uint32_t*)buf3594, *(uint32_t*)buf3595);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf3596, *(uchar3*)buf3597, *(uint32_t*)buf3598, *(uint32_t*)buf3599, *(uint32_t*)buf3600);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf3601, *(uchar4*)buf3602, *(uint32_t*)buf3603, *(uint32_t*)buf3604, *(uint32_t*)buf3605);
+    rsSetElementAt_short(*(rs_allocation*)buf3606, *(short*)buf3607, *(uint32_t*)buf3608, *(uint32_t*)buf3609, *(uint32_t*)buf3610);
+    rsSetElementAt_short2(*(rs_allocation*)buf3611, *(short2*)buf3612, *(uint32_t*)buf3613, *(uint32_t*)buf3614, *(uint32_t*)buf3615);
+    rsSetElementAt_short3(*(rs_allocation*)buf3616, *(short3*)buf3617, *(uint32_t*)buf3618, *(uint32_t*)buf3619, *(uint32_t*)buf3620);
+    rsSetElementAt_short4(*(rs_allocation*)buf3621, *(short4*)buf3622, *(uint32_t*)buf3623, *(uint32_t*)buf3624, *(uint32_t*)buf3625);
+    rsSetElementAt_ushort(*(rs_allocation*)buf3626, *(ushort*)buf3627, *(uint32_t*)buf3628, *(uint32_t*)buf3629, *(uint32_t*)buf3630);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf3631, *(ushort2*)buf3632, *(uint32_t*)buf3633, *(uint32_t*)buf3634, *(uint32_t*)buf3635);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf3636, *(ushort3*)buf3637, *(uint32_t*)buf3638, *(uint32_t*)buf3639, *(uint32_t*)buf3640);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf3641, *(ushort4*)buf3642, *(uint32_t*)buf3643, *(uint32_t*)buf3644, *(uint32_t*)buf3645);
+    rsSetElementAt_int(*(rs_allocation*)buf3646, *(int*)buf3647, *(uint32_t*)buf3648, *(uint32_t*)buf3649, *(uint32_t*)buf3650);
+    rsSetElementAt_int2(*(rs_allocation*)buf3651, *(int2*)buf3652, *(uint32_t*)buf3653, *(uint32_t*)buf3654, *(uint32_t*)buf3655);
+    rsSetElementAt_int3(*(rs_allocation*)buf3656, *(int3*)buf3657, *(uint32_t*)buf3658, *(uint32_t*)buf3659, *(uint32_t*)buf3660);
+    rsSetElementAt_int4(*(rs_allocation*)buf3661, *(int4*)buf3662, *(uint32_t*)buf3663, *(uint32_t*)buf3664, *(uint32_t*)buf3665);
+    rsSetElementAt_uint(*(rs_allocation*)buf3666, *(uint*)buf3667, *(uint32_t*)buf3668, *(uint32_t*)buf3669, *(uint32_t*)buf3670);
+    rsSetElementAt_uint2(*(rs_allocation*)buf3671, *(uint2*)buf3672, *(uint32_t*)buf3673, *(uint32_t*)buf3674, *(uint32_t*)buf3675);
+    rsSetElementAt_uint3(*(rs_allocation*)buf3676, *(uint3*)buf3677, *(uint32_t*)buf3678, *(uint32_t*)buf3679, *(uint32_t*)buf3680);
+    rsSetElementAt_uint4(*(rs_allocation*)buf3681, *(uint4*)buf3682, *(uint32_t*)buf3683, *(uint32_t*)buf3684, *(uint32_t*)buf3685);
+    rsSetElementAt_long(*(rs_allocation*)buf3686, *(long*)buf3687, *(uint32_t*)buf3688, *(uint32_t*)buf3689, *(uint32_t*)buf3690);
+    rsSetElementAt_long2(*(rs_allocation*)buf3691, *(long2*)buf3692, *(uint32_t*)buf3693, *(uint32_t*)buf3694, *(uint32_t*)buf3695);
+    rsSetElementAt_long3(*(rs_allocation*)buf3696, *(long3*)buf3697, *(uint32_t*)buf3698, *(uint32_t*)buf3699, *(uint32_t*)buf3700);
+    rsSetElementAt_long4(*(rs_allocation*)buf3701, *(long4*)buf3702, *(uint32_t*)buf3703, *(uint32_t*)buf3704, *(uint32_t*)buf3705);
+    rsSetElementAt_ulong(*(rs_allocation*)buf3706, *(ulong*)buf3707, *(uint32_t*)buf3708, *(uint32_t*)buf3709, *(uint32_t*)buf3710);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf3711, *(ulong2*)buf3712, *(uint32_t*)buf3713, *(uint32_t*)buf3714, *(uint32_t*)buf3715);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf3716, *(ulong3*)buf3717, *(uint32_t*)buf3718, *(uint32_t*)buf3719, *(uint32_t*)buf3720);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf3721, *(ulong4*)buf3722, *(uint32_t*)buf3723, *(uint32_t*)buf3724, *(uint32_t*)buf3725);
+    rsSetObject((rs_element*) buf3726, *(rs_element*)buf3727);
+    rsSetObject((rs_type*) buf3728, *(rs_type*)buf3729);
+    rsSetObject((rs_allocation*) buf3730, *(rs_allocation*)buf3731);
+    rsSetObject((rs_sampler*) buf3732, *(rs_sampler*)buf3733);
+    rsSetObject((rs_script*) buf3734, *(rs_script*)buf3735);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf3718, *(rs_mesh*)buf3719);
-    rsSetObject((rs_program_fragment*) buf3720, *(rs_program_fragment*)buf3721);
-    rsSetObject((rs_program_vertex*) buf3722, *(rs_program_vertex*)buf3723);
-    rsSetObject((rs_program_raster*) buf3724, *(rs_program_raster*)buf3725);
-    rsSetObject((rs_program_store*) buf3726, *(rs_program_store*)buf3727);
-    rsSetObject((rs_font*) buf3728, *(rs_font*)buf3729);
+    rsSetObject((rs_mesh*) buf3736, *(rs_mesh*)buf3737);
+    rsSetObject((rs_program_fragment*) buf3738, *(rs_program_fragment*)buf3739);
+    rsSetObject((rs_program_vertex*) buf3740, *(rs_program_vertex*)buf3741);
+    rsSetObject((rs_program_raster*) buf3742, *(rs_program_raster*)buf3743);
+    rsSetObject((rs_program_store*) buf3744, *(rs_program_store*)buf3745);
+    rsSetObject((rs_font*) buf3746, *(rs_font*)buf3747);
 #endif
-    *(rs_time_t*)buf3730 = rsTime((rs_time_t*) buf3731);
-    *(float4*)buf3732 = rsUnpackColor8888(*(uchar4*)buf3733);
-    *(int64_t*)buf3734 = rsUptimeMillis();
-    *(int64_t*)buf3735 = rsUptimeNanos();
-    *(float4*)buf3736 = rsYuvToRGBA_float4(*(uchar*)buf3737, *(uchar*)buf3738, *(uchar*)buf3739);
-    *(uchar4*)buf3740 = rsYuvToRGBA_uchar4(*(uchar*)buf3741, *(uchar*)buf3742, *(uchar*)buf3743);
+    *(rs_time_t*)buf3748 = rsTime((rs_time_t*) buf3749);
+    *(float4*)buf3750 = rsUnpackColor8888(*(uchar4*)buf3751);
+    *(int64_t*)buf3752 = rsUptimeMillis();
+    *(int64_t*)buf3753 = rsUptimeNanos();
+    *(float4*)buf3754 = rsYuvToRGBA_float4(*(uchar*)buf3755, *(uchar*)buf3756, *(uchar*)buf3757);
+    *(uchar4*)buf3758 = rsYuvToRGBA_uchar4(*(uchar*)buf3759, *(uchar*)buf3760, *(uchar*)buf3761);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf3744);
+    rsgAllocationSyncAll(*(rs_allocation*)buf3762);
 #endif
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf3745, *(rs_allocation_usage_type*)buf3746);
+    rsgAllocationSyncAll(*(rs_allocation*)buf3763, *(rs_allocation_usage_type*)buf3764);
 #endif
 #ifndef __LP64__
-    rsgBindColorTarget(*(rs_allocation*)buf3747, *(uint*)buf3748);
+    rsgBindColorTarget(*(rs_allocation*)buf3765, *(uint*)buf3766);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf3749, *(uint*)buf3750, *(rs_allocation*)buf3751);
+    rsgBindConstant(*(rs_program_fragment*)buf3767, *(uint*)buf3768, *(rs_allocation*)buf3769);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf3752, *(uint*)buf3753, *(rs_allocation*)buf3754);
+    rsgBindConstant(*(rs_program_vertex*)buf3770, *(uint*)buf3771, *(rs_allocation*)buf3772);
 #endif
 #ifndef __LP64__
-    rsgBindDepthTarget(*(rs_allocation*)buf3755);
+    rsgBindDepthTarget(*(rs_allocation*)buf3773);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf3756);
+    rsgBindFont(*(rs_font*)buf3774);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf3757);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf3775);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf3758);
+    rsgBindProgramRaster(*(rs_program_raster*)buf3776);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf3759);
+    rsgBindProgramStore(*(rs_program_store*)buf3777);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf3760);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf3778);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf3761, *(uint*)buf3762, *(rs_sampler*)buf3763);
+    rsgBindSampler(*(rs_program_fragment*)buf3779, *(uint*)buf3780, *(rs_sampler*)buf3781);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf3764, *(uint*)buf3765, *(rs_allocation*)buf3766);
+    rsgBindTexture(*(rs_program_fragment*)buf3782, *(uint*)buf3783, *(rs_allocation*)buf3784);
 #endif
 #ifndef __LP64__
     rsgClearAllRenderTargets();
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf3767, *(float*)buf3768, *(float*)buf3769, *(float*)buf3770);
+    rsgClearColor(*(float*)buf3785, *(float*)buf3786, *(float*)buf3787, *(float*)buf3788);
 #endif
 #ifndef __LP64__
-    rsgClearColorTarget(*(uint*)buf3771);
+    rsgClearColorTarget(*(uint*)buf3789);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf3772);
+    rsgClearDepth(*(float*)buf3790);
 #endif
 #ifndef __LP64__
     rsgClearDepthTarget();
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf3773);
+    rsgDrawMesh(*(rs_mesh*)buf3791);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf3774, *(uint*)buf3775);
+    rsgDrawMesh(*(rs_mesh*)buf3792, *(uint*)buf3793);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf3776, *(uint*)buf3777, *(uint*)buf3778, *(uint*)buf3779);
+    rsgDrawMesh(*(rs_mesh*)buf3794, *(uint*)buf3795, *(uint*)buf3796, *(uint*)buf3797);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf3780, *(float*)buf3781, *(float*)buf3782, *(float*)buf3783, *(float*)buf3784, *(float*)buf3785, *(float*)buf3786, *(float*)buf3787, *(float*)buf3788, *(float*)buf3789, *(float*)buf3790, *(float*)buf3791);
+    rsgDrawQuad(*(float*)buf3798, *(float*)buf3799, *(float*)buf3800, *(float*)buf3801, *(float*)buf3802, *(float*)buf3803, *(float*)buf3804, *(float*)buf3805, *(float*)buf3806, *(float*)buf3807, *(float*)buf3808, *(float*)buf3809);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf3792, *(float*)buf3793, *(float*)buf3794, *(float*)buf3795, *(float*)buf3796, *(float*)buf3797, *(float*)buf3798, *(float*)buf3799, *(float*)buf3800, *(float*)buf3801, *(float*)buf3802, *(float*)buf3803, *(float*)buf3804, *(float*)buf3805, *(float*)buf3806, *(float*)buf3807, *(float*)buf3808, *(float*)buf3809, *(float*)buf3810, *(float*)buf3811);
+    rsgDrawQuadTexCoords(*(float*)buf3810, *(float*)buf3811, *(float*)buf3812, *(float*)buf3813, *(float*)buf3814, *(float*)buf3815, *(float*)buf3816, *(float*)buf3817, *(float*)buf3818, *(float*)buf3819, *(float*)buf3820, *(float*)buf3821, *(float*)buf3822, *(float*)buf3823, *(float*)buf3824, *(float*)buf3825, *(float*)buf3826, *(float*)buf3827, *(float*)buf3828, *(float*)buf3829);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf3812, *(float*)buf3813, *(float*)buf3814, *(float*)buf3815, *(float*)buf3816);
+    rsgDrawRect(*(float*)buf3830, *(float*)buf3831, *(float*)buf3832, *(float*)buf3833, *(float*)buf3834);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf3817, *(float*)buf3818, *(float*)buf3819, *(float*)buf3820, *(float*)buf3821);
+    rsgDrawSpriteScreenspace(*(float*)buf3835, *(float*)buf3836, *(float*)buf3837, *(float*)buf3838, *(float*)buf3839);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf3822, *(int*)buf3823, *(int*)buf3824);
+    rsgDrawText((const char*) buf3840, *(int*)buf3841, *(int*)buf3842);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf3825, *(int*)buf3826, *(int*)buf3827);
+    rsgDrawText(*(rs_allocation*)buf3843, *(int*)buf3844, *(int*)buf3845);
 #endif
 #ifndef __LP64__
-    *(uint*)buf3828 = rsgFinish();
+    *(uint*)buf3846 = rsgFinish();
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf3829, *(float*)buf3830, *(float*)buf3831, *(float*)buf3832);
+    rsgFontColor(*(float*)buf3847, *(float*)buf3848, *(float*)buf3849, *(float*)buf3850);
 #endif
 #ifndef __LP64__
-    *(uint*)buf3833 = rsgGetHeight();
+    *(uint*)buf3851 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf3834 = rsgGetWidth();
+    *(uint*)buf3852 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf3835, (int*) buf3836, (int*) buf3837, (int*) buf3838, (int*) buf3839);
+    rsgMeasureText((const char*) buf3853, (int*) buf3854, (int*) buf3855, (int*) buf3856, (int*) buf3857);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf3840, (int*) buf3841, (int*) buf3842, (int*) buf3843, (int*) buf3844);
+    rsgMeasureText(*(rs_allocation*)buf3858, (int*) buf3859, (int*) buf3860, (int*) buf3861, (int*) buf3862);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3845, (float*) buf3846, (float*) buf3847, (float*) buf3848, (float*) buf3849, (float*) buf3850, (float*) buf3851);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3863, (float*) buf3864, (float*) buf3865, (float*) buf3866, (float*) buf3867, (float*) buf3868, (float*) buf3869);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3852, (float3*) buf3853, (float3*) buf3854);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf3870, (float3*) buf3871, (float3*) buf3872);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf3855 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf3856, *(uint32_t*)buf3857);
+    *(rs_allocation*)buf3873 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf3874, *(uint32_t*)buf3875);
 #endif
 #ifndef __LP64__
-    *(rs_primitive*)buf3858 = rsgMeshGetPrimitive(*(rs_mesh*)buf3859, *(uint32_t*)buf3860);
+    *(rs_primitive*)buf3876 = rsgMeshGetPrimitive(*(rs_mesh*)buf3877, *(uint32_t*)buf3878);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf3861 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf3862);
+    *(uint32_t*)buf3879 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf3880);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf3863 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf3864, *(uint32_t*)buf3865);
+    *(rs_allocation*)buf3881 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf3882, *(uint32_t*)buf3883);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf3866 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf3867);
+    *(uint32_t*)buf3884 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf3885);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf3868, *(float*)buf3869, *(float*)buf3870, *(float*)buf3871, *(float*)buf3872);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf3886, *(float*)buf3887, *(float*)buf3888, *(float*)buf3889, *(float*)buf3890);
 #endif
 #ifndef __LP64__
-    *(rs_cull_mode*)buf3873 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf3874);
+    *(rs_cull_mode*)buf3891 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf3892);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3875 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf3876);
+    *(bool*)buf3893 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf3894);
 #endif
 #ifndef __LP64__
-    *(rs_blend_dst_func*)buf3877 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf3878);
+    *(rs_blend_dst_func*)buf3895 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf3896);
 #endif
 #ifndef __LP64__
-    *(rs_blend_src_func*)buf3879 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf3880);
+    *(rs_blend_src_func*)buf3897 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf3898);
 #endif
 #ifndef __LP64__
-    *(rs_depth_func*)buf3881 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf3882);
+    *(rs_depth_func*)buf3899 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf3900);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3883 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf3884);
+    *(bool*)buf3901 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf3902);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3885 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf3886);
+    *(bool*)buf3903 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf3904);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3887 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf3888);
+    *(bool*)buf3905 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf3906);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3889 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf3890);
+    *(bool*)buf3907 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf3908);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3891 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf3892);
+    *(bool*)buf3909 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf3910);
 #endif
 #ifndef __LP64__
-    *(bool*)buf3893 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf3894);
+    *(bool*)buf3911 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf3912);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf3895);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf3913);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf3896);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf3914);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf3897);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf3915);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf3898);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf3916);
 #endif
-    *(float*)buf3899 = rsqrt(*(float*)buf3900);
-    *(float2*)buf3901 = rsqrt(*(float2*)buf3902);
-    *(float3*)buf3903 = rsqrt(*(float3*)buf3904);
-    *(float4*)buf3905 = rsqrt(*(float4*)buf3906);
-    *(float*)buf3907 = sign(*(float*)buf3908);
-    *(float2*)buf3909 = sign(*(float2*)buf3910);
-    *(float3*)buf3911 = sign(*(float3*)buf3912);
-    *(float4*)buf3913 = sign(*(float4*)buf3914);
-    *(float*)buf3915 = sin(*(float*)buf3916);
-    *(float2*)buf3917 = sin(*(float2*)buf3918);
-    *(float3*)buf3919 = sin(*(float3*)buf3920);
-    *(float4*)buf3921 = sin(*(float4*)buf3922);
-    *(float*)buf3923 = sincos(*(float*)buf3924, (float*) buf3925);
-    *(float2*)buf3926 = sincos(*(float2*)buf3927, (float2*) buf3928);
-    *(float3*)buf3929 = sincos(*(float3*)buf3930, (float3*) buf3931);
-    *(float4*)buf3932 = sincos(*(float4*)buf3933, (float4*) buf3934);
-    *(float*)buf3935 = sinh(*(float*)buf3936);
-    *(float2*)buf3937 = sinh(*(float2*)buf3938);
-    *(float3*)buf3939 = sinh(*(float3*)buf3940);
-    *(float4*)buf3941 = sinh(*(float4*)buf3942);
-    *(float*)buf3943 = sinpi(*(float*)buf3944);
-    *(float2*)buf3945 = sinpi(*(float2*)buf3946);
-    *(float3*)buf3947 = sinpi(*(float3*)buf3948);
-    *(float4*)buf3949 = sinpi(*(float4*)buf3950);
-    *(float*)buf3951 = sqrt(*(float*)buf3952);
-    *(float2*)buf3953 = sqrt(*(float2*)buf3954);
-    *(float3*)buf3955 = sqrt(*(float3*)buf3956);
-    *(float4*)buf3957 = sqrt(*(float4*)buf3958);
-    *(float*)buf3959 = step(*(float*)buf3960, *(float*)buf3961);
-    *(float2*)buf3962 = step(*(float2*)buf3963, *(float2*)buf3964);
-    *(float3*)buf3965 = step(*(float3*)buf3966, *(float3*)buf3967);
-    *(float4*)buf3968 = step(*(float4*)buf3969, *(float4*)buf3970);
-    *(float2*)buf3971 = step(*(float2*)buf3972, *(float*)buf3973);
-    *(float3*)buf3974 = step(*(float3*)buf3975, *(float*)buf3976);
-    *(float4*)buf3977 = step(*(float4*)buf3978, *(float*)buf3979);
-    *(float2*)buf3980 = step(*(float*)buf3981, *(float2*)buf3982);
-    *(float3*)buf3983 = step(*(float*)buf3984, *(float3*)buf3985);
-    *(float4*)buf3986 = step(*(float*)buf3987, *(float4*)buf3988);
-    *(float*)buf3989 = tan(*(float*)buf3990);
-    *(float2*)buf3991 = tan(*(float2*)buf3992);
-    *(float3*)buf3993 = tan(*(float3*)buf3994);
-    *(float4*)buf3995 = tan(*(float4*)buf3996);
-    *(float*)buf3997 = tanh(*(float*)buf3998);
-    *(float2*)buf3999 = tanh(*(float2*)buf4000);
-    *(float3*)buf4001 = tanh(*(float3*)buf4002);
-    *(float4*)buf4003 = tanh(*(float4*)buf4004);
-    *(float*)buf4005 = tanpi(*(float*)buf4006);
-    *(float2*)buf4007 = tanpi(*(float2*)buf4008);
-    *(float3*)buf4009 = tanpi(*(float3*)buf4010);
-    *(float4*)buf4011 = tanpi(*(float4*)buf4012);
-    *(float*)buf4013 = tgamma(*(float*)buf4014);
-    *(float2*)buf4015 = tgamma(*(float2*)buf4016);
-    *(float3*)buf4017 = tgamma(*(float3*)buf4018);
-    *(float4*)buf4019 = tgamma(*(float4*)buf4020);
-    *(float*)buf4021 = trunc(*(float*)buf4022);
-    *(float2*)buf4023 = trunc(*(float2*)buf4024);
-    *(float3*)buf4025 = trunc(*(float3*)buf4026);
-    *(float4*)buf4027 = trunc(*(float4*)buf4028);
+    *(float*)buf3917 = rsqrt(*(float*)buf3918);
+    *(float2*)buf3919 = rsqrt(*(float2*)buf3920);
+    *(float3*)buf3921 = rsqrt(*(float3*)buf3922);
+    *(float4*)buf3923 = rsqrt(*(float4*)buf3924);
+    *(float*)buf3925 = sign(*(float*)buf3926);
+    *(float2*)buf3927 = sign(*(float2*)buf3928);
+    *(float3*)buf3929 = sign(*(float3*)buf3930);
+    *(float4*)buf3931 = sign(*(float4*)buf3932);
+    *(float*)buf3933 = sin(*(float*)buf3934);
+    *(float2*)buf3935 = sin(*(float2*)buf3936);
+    *(float3*)buf3937 = sin(*(float3*)buf3938);
+    *(float4*)buf3939 = sin(*(float4*)buf3940);
+    *(float*)buf3941 = sincos(*(float*)buf3942, (float*) buf3943);
+    *(float2*)buf3944 = sincos(*(float2*)buf3945, (float2*) buf3946);
+    *(float3*)buf3947 = sincos(*(float3*)buf3948, (float3*) buf3949);
+    *(float4*)buf3950 = sincos(*(float4*)buf3951, (float4*) buf3952);
+    *(float*)buf3953 = sinh(*(float*)buf3954);
+    *(float2*)buf3955 = sinh(*(float2*)buf3956);
+    *(float3*)buf3957 = sinh(*(float3*)buf3958);
+    *(float4*)buf3959 = sinh(*(float4*)buf3960);
+    *(float*)buf3961 = sinpi(*(float*)buf3962);
+    *(float2*)buf3963 = sinpi(*(float2*)buf3964);
+    *(float3*)buf3965 = sinpi(*(float3*)buf3966);
+    *(float4*)buf3967 = sinpi(*(float4*)buf3968);
+    *(float*)buf3969 = sqrt(*(float*)buf3970);
+    *(float2*)buf3971 = sqrt(*(float2*)buf3972);
+    *(float3*)buf3973 = sqrt(*(float3*)buf3974);
+    *(float4*)buf3975 = sqrt(*(float4*)buf3976);
+    *(float*)buf3977 = step(*(float*)buf3978, *(float*)buf3979);
+    *(float2*)buf3980 = step(*(float2*)buf3981, *(float2*)buf3982);
+    *(float3*)buf3983 = step(*(float3*)buf3984, *(float3*)buf3985);
+    *(float4*)buf3986 = step(*(float4*)buf3987, *(float4*)buf3988);
+    *(float2*)buf3989 = step(*(float2*)buf3990, *(float*)buf3991);
+    *(float3*)buf3992 = step(*(float3*)buf3993, *(float*)buf3994);
+    *(float4*)buf3995 = step(*(float4*)buf3996, *(float*)buf3997);
+    *(float2*)buf3998 = step(*(float*)buf3999, *(float2*)buf4000);
+    *(float3*)buf4001 = step(*(float*)buf4002, *(float3*)buf4003);
+    *(float4*)buf4004 = step(*(float*)buf4005, *(float4*)buf4006);
+    *(float*)buf4007 = tan(*(float*)buf4008);
+    *(float2*)buf4009 = tan(*(float2*)buf4010);
+    *(float3*)buf4011 = tan(*(float3*)buf4012);
+    *(float4*)buf4013 = tan(*(float4*)buf4014);
+    *(float*)buf4015 = tanh(*(float*)buf4016);
+    *(float2*)buf4017 = tanh(*(float2*)buf4018);
+    *(float3*)buf4019 = tanh(*(float3*)buf4020);
+    *(float4*)buf4021 = tanh(*(float4*)buf4022);
+    *(float*)buf4023 = tanpi(*(float*)buf4024);
+    *(float2*)buf4025 = tanpi(*(float2*)buf4026);
+    *(float3*)buf4027 = tanpi(*(float3*)buf4028);
+    *(float4*)buf4029 = tanpi(*(float4*)buf4030);
+    *(float*)buf4031 = tgamma(*(float*)buf4032);
+    *(float2*)buf4033 = tgamma(*(float2*)buf4034);
+    *(float3*)buf4035 = tgamma(*(float3*)buf4036);
+    *(float4*)buf4037 = tgamma(*(float4*)buf4038);
+    *(float*)buf4039 = trunc(*(float*)buf4040);
+    *(float2*)buf4041 = trunc(*(float2*)buf4042);
+    *(float3*)buf4043 = trunc(*(float3*)buf4044);
+    *(float4*)buf4045 = trunc(*(float4*)buf4046);
 }
diff --git a/tests/P_all_api_22/all22.rs b/tests/P_all_api_22/all22.rs
index bb06c21..a5e8018 100644
--- a/tests/P_all_api_22/all22.rs
+++ b/tests/P_all_api_22/all22.rs
@@ -4771,6 +4771,24 @@
 char buf4746[200];
 char buf4747[200];
 char buf4748[200];
+char buf4749[200];
+char buf4750[200];
+char buf4751[200];
+char buf4752[200];
+char buf4753[200];
+char buf4754[200];
+char buf4755[200];
+char buf4756[200];
+char buf4757[200];
+char buf4758[200];
+char buf4759[200];
+char buf4760[200];
+char buf4761[200];
+char buf4762[200];
+char buf4763[200];
+char buf4764[200];
+char buf4765[200];
+char buf4766[200];
 
 void RS_KERNEL test(int in) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -5403,1162 +5421,1168 @@
     *(float2*)buf1468 = max(*(float2*)buf1469, *(float2*)buf1470);
     *(float3*)buf1471 = max(*(float3*)buf1472, *(float3*)buf1473);
     *(float4*)buf1474 = max(*(float4*)buf1475, *(float4*)buf1476);
-    *(char*)buf1477 = max(*(char*)buf1478, *(char*)buf1479);
-    *(char2*)buf1480 = max(*(char2*)buf1481, *(char2*)buf1482);
-    *(char3*)buf1483 = max(*(char3*)buf1484, *(char3*)buf1485);
-    *(char4*)buf1486 = max(*(char4*)buf1487, *(char4*)buf1488);
-    *(uchar*)buf1489 = max(*(uchar*)buf1490, *(uchar*)buf1491);
-    *(uchar2*)buf1492 = max(*(uchar2*)buf1493, *(uchar2*)buf1494);
-    *(uchar3*)buf1495 = max(*(uchar3*)buf1496, *(uchar3*)buf1497);
-    *(uchar4*)buf1498 = max(*(uchar4*)buf1499, *(uchar4*)buf1500);
-    *(short*)buf1501 = max(*(short*)buf1502, *(short*)buf1503);
-    *(short2*)buf1504 = max(*(short2*)buf1505, *(short2*)buf1506);
-    *(short3*)buf1507 = max(*(short3*)buf1508, *(short3*)buf1509);
-    *(short4*)buf1510 = max(*(short4*)buf1511, *(short4*)buf1512);
-    *(ushort*)buf1513 = max(*(ushort*)buf1514, *(ushort*)buf1515);
-    *(ushort2*)buf1516 = max(*(ushort2*)buf1517, *(ushort2*)buf1518);
-    *(ushort3*)buf1519 = max(*(ushort3*)buf1520, *(ushort3*)buf1521);
-    *(ushort4*)buf1522 = max(*(ushort4*)buf1523, *(ushort4*)buf1524);
-    *(int*)buf1525 = max(*(int*)buf1526, *(int*)buf1527);
-    *(int2*)buf1528 = max(*(int2*)buf1529, *(int2*)buf1530);
-    *(int3*)buf1531 = max(*(int3*)buf1532, *(int3*)buf1533);
-    *(int4*)buf1534 = max(*(int4*)buf1535, *(int4*)buf1536);
-    *(uint*)buf1537 = max(*(uint*)buf1538, *(uint*)buf1539);
-    *(uint2*)buf1540 = max(*(uint2*)buf1541, *(uint2*)buf1542);
-    *(uint3*)buf1543 = max(*(uint3*)buf1544, *(uint3*)buf1545);
-    *(uint4*)buf1546 = max(*(uint4*)buf1547, *(uint4*)buf1548);
-    *(long*)buf1549 = max(*(long*)buf1550, *(long*)buf1551);
-    *(long2*)buf1552 = max(*(long2*)buf1553, *(long2*)buf1554);
-    *(long3*)buf1555 = max(*(long3*)buf1556, *(long3*)buf1557);
-    *(long4*)buf1558 = max(*(long4*)buf1559, *(long4*)buf1560);
-    *(ulong*)buf1561 = max(*(ulong*)buf1562, *(ulong*)buf1563);
-    *(ulong2*)buf1564 = max(*(ulong2*)buf1565, *(ulong2*)buf1566);
-    *(ulong3*)buf1567 = max(*(ulong3*)buf1568, *(ulong3*)buf1569);
-    *(ulong4*)buf1570 = max(*(ulong4*)buf1571, *(ulong4*)buf1572);
-    *(float*)buf1573 = min(*(float*)buf1574, *(float*)buf1575);
-    *(float2*)buf1576 = min(*(float2*)buf1577, *(float2*)buf1578);
-    *(float3*)buf1579 = min(*(float3*)buf1580, *(float3*)buf1581);
-    *(float4*)buf1582 = min(*(float4*)buf1583, *(float4*)buf1584);
-    *(char*)buf1585 = min(*(char*)buf1586, *(char*)buf1587);
-    *(char2*)buf1588 = min(*(char2*)buf1589, *(char2*)buf1590);
-    *(char3*)buf1591 = min(*(char3*)buf1592, *(char3*)buf1593);
-    *(char4*)buf1594 = min(*(char4*)buf1595, *(char4*)buf1596);
-    *(uchar*)buf1597 = min(*(uchar*)buf1598, *(uchar*)buf1599);
-    *(uchar2*)buf1600 = min(*(uchar2*)buf1601, *(uchar2*)buf1602);
-    *(uchar3*)buf1603 = min(*(uchar3*)buf1604, *(uchar3*)buf1605);
-    *(uchar4*)buf1606 = min(*(uchar4*)buf1607, *(uchar4*)buf1608);
-    *(short*)buf1609 = min(*(short*)buf1610, *(short*)buf1611);
-    *(short2*)buf1612 = min(*(short2*)buf1613, *(short2*)buf1614);
-    *(short3*)buf1615 = min(*(short3*)buf1616, *(short3*)buf1617);
-    *(short4*)buf1618 = min(*(short4*)buf1619, *(short4*)buf1620);
-    *(ushort*)buf1621 = min(*(ushort*)buf1622, *(ushort*)buf1623);
-    *(ushort2*)buf1624 = min(*(ushort2*)buf1625, *(ushort2*)buf1626);
-    *(ushort3*)buf1627 = min(*(ushort3*)buf1628, *(ushort3*)buf1629);
-    *(ushort4*)buf1630 = min(*(ushort4*)buf1631, *(ushort4*)buf1632);
-    *(int*)buf1633 = min(*(int*)buf1634, *(int*)buf1635);
-    *(int2*)buf1636 = min(*(int2*)buf1637, *(int2*)buf1638);
-    *(int3*)buf1639 = min(*(int3*)buf1640, *(int3*)buf1641);
-    *(int4*)buf1642 = min(*(int4*)buf1643, *(int4*)buf1644);
-    *(uint*)buf1645 = min(*(uint*)buf1646, *(uint*)buf1647);
-    *(uint2*)buf1648 = min(*(uint2*)buf1649, *(uint2*)buf1650);
-    *(uint3*)buf1651 = min(*(uint3*)buf1652, *(uint3*)buf1653);
-    *(uint4*)buf1654 = min(*(uint4*)buf1655, *(uint4*)buf1656);
-    *(long*)buf1657 = min(*(long*)buf1658, *(long*)buf1659);
-    *(long2*)buf1660 = min(*(long2*)buf1661, *(long2*)buf1662);
-    *(long3*)buf1663 = min(*(long3*)buf1664, *(long3*)buf1665);
-    *(long4*)buf1666 = min(*(long4*)buf1667, *(long4*)buf1668);
-    *(ulong*)buf1669 = min(*(ulong*)buf1670, *(ulong*)buf1671);
-    *(ulong2*)buf1672 = min(*(ulong2*)buf1673, *(ulong2*)buf1674);
-    *(ulong3*)buf1675 = min(*(ulong3*)buf1676, *(ulong3*)buf1677);
-    *(ulong4*)buf1678 = min(*(ulong4*)buf1679, *(ulong4*)buf1680);
-    *(float*)buf1681 = mix(*(float*)buf1682, *(float*)buf1683, *(float*)buf1684);
-    *(float2*)buf1685 = mix(*(float2*)buf1686, *(float2*)buf1687, *(float2*)buf1688);
-    *(float3*)buf1689 = mix(*(float3*)buf1690, *(float3*)buf1691, *(float3*)buf1692);
-    *(float4*)buf1693 = mix(*(float4*)buf1694, *(float4*)buf1695, *(float4*)buf1696);
-    *(float2*)buf1697 = mix(*(float2*)buf1698, *(float2*)buf1699, *(float*)buf1700);
-    *(float3*)buf1701 = mix(*(float3*)buf1702, *(float3*)buf1703, *(float*)buf1704);
-    *(float4*)buf1705 = mix(*(float4*)buf1706, *(float4*)buf1707, *(float*)buf1708);
-    *(float*)buf1709 = modf(*(float*)buf1710, (float*) buf1711);
-    *(float2*)buf1712 = modf(*(float2*)buf1713, (float2*) buf1714);
-    *(float3*)buf1715 = modf(*(float3*)buf1716, (float3*) buf1717);
-    *(float4*)buf1718 = modf(*(float4*)buf1719, (float4*) buf1720);
-    *(float*)buf1721 = nan(*(uint*)buf1722);
-    *(float*)buf1723 = native_acos(*(float*)buf1724);
-    *(float2*)buf1725 = native_acos(*(float2*)buf1726);
-    *(float3*)buf1727 = native_acos(*(float3*)buf1728);
-    *(float4*)buf1729 = native_acos(*(float4*)buf1730);
-    *(float*)buf1731 = native_acosh(*(float*)buf1732);
-    *(float2*)buf1733 = native_acosh(*(float2*)buf1734);
-    *(float3*)buf1735 = native_acosh(*(float3*)buf1736);
-    *(float4*)buf1737 = native_acosh(*(float4*)buf1738);
-    *(float*)buf1739 = native_acospi(*(float*)buf1740);
-    *(float2*)buf1741 = native_acospi(*(float2*)buf1742);
-    *(float3*)buf1743 = native_acospi(*(float3*)buf1744);
-    *(float4*)buf1745 = native_acospi(*(float4*)buf1746);
-    *(float*)buf1747 = native_asin(*(float*)buf1748);
-    *(float2*)buf1749 = native_asin(*(float2*)buf1750);
-    *(float3*)buf1751 = native_asin(*(float3*)buf1752);
-    *(float4*)buf1753 = native_asin(*(float4*)buf1754);
-    *(float*)buf1755 = native_asinh(*(float*)buf1756);
-    *(float2*)buf1757 = native_asinh(*(float2*)buf1758);
-    *(float3*)buf1759 = native_asinh(*(float3*)buf1760);
-    *(float4*)buf1761 = native_asinh(*(float4*)buf1762);
-    *(float*)buf1763 = native_asinpi(*(float*)buf1764);
-    *(float2*)buf1765 = native_asinpi(*(float2*)buf1766);
-    *(float3*)buf1767 = native_asinpi(*(float3*)buf1768);
-    *(float4*)buf1769 = native_asinpi(*(float4*)buf1770);
-    *(float*)buf1771 = native_atan(*(float*)buf1772);
-    *(float2*)buf1773 = native_atan(*(float2*)buf1774);
-    *(float3*)buf1775 = native_atan(*(float3*)buf1776);
-    *(float4*)buf1777 = native_atan(*(float4*)buf1778);
-    *(float*)buf1779 = native_atan2(*(float*)buf1780, *(float*)buf1781);
-    *(float2*)buf1782 = native_atan2(*(float2*)buf1783, *(float2*)buf1784);
-    *(float3*)buf1785 = native_atan2(*(float3*)buf1786, *(float3*)buf1787);
-    *(float4*)buf1788 = native_atan2(*(float4*)buf1789, *(float4*)buf1790);
-    *(float*)buf1791 = native_atan2pi(*(float*)buf1792, *(float*)buf1793);
-    *(float2*)buf1794 = native_atan2pi(*(float2*)buf1795, *(float2*)buf1796);
-    *(float3*)buf1797 = native_atan2pi(*(float3*)buf1798, *(float3*)buf1799);
-    *(float4*)buf1800 = native_atan2pi(*(float4*)buf1801, *(float4*)buf1802);
-    *(float*)buf1803 = native_atanh(*(float*)buf1804);
-    *(float2*)buf1805 = native_atanh(*(float2*)buf1806);
-    *(float3*)buf1807 = native_atanh(*(float3*)buf1808);
-    *(float4*)buf1809 = native_atanh(*(float4*)buf1810);
-    *(float*)buf1811 = native_atanpi(*(float*)buf1812);
-    *(float2*)buf1813 = native_atanpi(*(float2*)buf1814);
-    *(float3*)buf1815 = native_atanpi(*(float3*)buf1816);
-    *(float4*)buf1817 = native_atanpi(*(float4*)buf1818);
-    *(float*)buf1819 = native_cbrt(*(float*)buf1820);
-    *(float2*)buf1821 = native_cbrt(*(float2*)buf1822);
-    *(float3*)buf1823 = native_cbrt(*(float3*)buf1824);
-    *(float4*)buf1825 = native_cbrt(*(float4*)buf1826);
-    *(float*)buf1827 = native_cos(*(float*)buf1828);
-    *(float2*)buf1829 = native_cos(*(float2*)buf1830);
-    *(float3*)buf1831 = native_cos(*(float3*)buf1832);
-    *(float4*)buf1833 = native_cos(*(float4*)buf1834);
-    *(float*)buf1835 = native_cosh(*(float*)buf1836);
-    *(float2*)buf1837 = native_cosh(*(float2*)buf1838);
-    *(float3*)buf1839 = native_cosh(*(float3*)buf1840);
-    *(float4*)buf1841 = native_cosh(*(float4*)buf1842);
-    *(float*)buf1843 = native_cospi(*(float*)buf1844);
-    *(float2*)buf1845 = native_cospi(*(float2*)buf1846);
-    *(float3*)buf1847 = native_cospi(*(float3*)buf1848);
-    *(float4*)buf1849 = native_cospi(*(float4*)buf1850);
-    *(float*)buf1851 = native_distance(*(float*)buf1852, *(float*)buf1853);
-    *(float*)buf1854 = native_distance(*(float2*)buf1855, *(float2*)buf1856);
-    *(float*)buf1857 = native_distance(*(float3*)buf1858, *(float3*)buf1859);
-    *(float*)buf1860 = native_distance(*(float4*)buf1861, *(float4*)buf1862);
-    *(float*)buf1863 = native_divide(*(float*)buf1864, *(float*)buf1865);
-    *(float2*)buf1866 = native_divide(*(float2*)buf1867, *(float2*)buf1868);
-    *(float3*)buf1869 = native_divide(*(float3*)buf1870, *(float3*)buf1871);
-    *(float4*)buf1872 = native_divide(*(float4*)buf1873, *(float4*)buf1874);
-    *(float*)buf1875 = native_exp(*(float*)buf1876);
-    *(float2*)buf1877 = native_exp(*(float2*)buf1878);
-    *(float3*)buf1879 = native_exp(*(float3*)buf1880);
-    *(float4*)buf1881 = native_exp(*(float4*)buf1882);
-    *(float*)buf1883 = native_exp10(*(float*)buf1884);
-    *(float2*)buf1885 = native_exp10(*(float2*)buf1886);
-    *(float3*)buf1887 = native_exp10(*(float3*)buf1888);
-    *(float4*)buf1889 = native_exp10(*(float4*)buf1890);
-    *(float*)buf1891 = native_exp2(*(float*)buf1892);
-    *(float2*)buf1893 = native_exp2(*(float2*)buf1894);
-    *(float3*)buf1895 = native_exp2(*(float3*)buf1896);
-    *(float4*)buf1897 = native_exp2(*(float4*)buf1898);
-    *(float*)buf1899 = native_expm1(*(float*)buf1900);
-    *(float2*)buf1901 = native_expm1(*(float2*)buf1902);
-    *(float3*)buf1903 = native_expm1(*(float3*)buf1904);
-    *(float4*)buf1905 = native_expm1(*(float4*)buf1906);
-    *(float*)buf1907 = native_hypot(*(float*)buf1908, *(float*)buf1909);
-    *(float2*)buf1910 = native_hypot(*(float2*)buf1911, *(float2*)buf1912);
-    *(float3*)buf1913 = native_hypot(*(float3*)buf1914, *(float3*)buf1915);
-    *(float4*)buf1916 = native_hypot(*(float4*)buf1917, *(float4*)buf1918);
-    *(float*)buf1919 = native_length(*(float*)buf1920);
-    *(float*)buf1921 = native_length(*(float2*)buf1922);
-    *(float*)buf1923 = native_length(*(float3*)buf1924);
-    *(float*)buf1925 = native_length(*(float4*)buf1926);
-    *(float*)buf1927 = native_log(*(float*)buf1928);
-    *(float2*)buf1929 = native_log(*(float2*)buf1930);
-    *(float3*)buf1931 = native_log(*(float3*)buf1932);
-    *(float4*)buf1933 = native_log(*(float4*)buf1934);
-    *(float*)buf1935 = native_log10(*(float*)buf1936);
-    *(float2*)buf1937 = native_log10(*(float2*)buf1938);
-    *(float3*)buf1939 = native_log10(*(float3*)buf1940);
-    *(float4*)buf1941 = native_log10(*(float4*)buf1942);
-    *(float*)buf1943 = native_log1p(*(float*)buf1944);
-    *(float2*)buf1945 = native_log1p(*(float2*)buf1946);
-    *(float3*)buf1947 = native_log1p(*(float3*)buf1948);
-    *(float4*)buf1949 = native_log1p(*(float4*)buf1950);
-    *(float*)buf1951 = native_log2(*(float*)buf1952);
-    *(float2*)buf1953 = native_log2(*(float2*)buf1954);
-    *(float3*)buf1955 = native_log2(*(float3*)buf1956);
-    *(float4*)buf1957 = native_log2(*(float4*)buf1958);
-    *(float*)buf1959 = native_normalize(*(float*)buf1960);
-    *(float2*)buf1961 = native_normalize(*(float2*)buf1962);
-    *(float3*)buf1963 = native_normalize(*(float3*)buf1964);
-    *(float4*)buf1965 = native_normalize(*(float4*)buf1966);
-    *(float*)buf1967 = native_powr(*(float*)buf1968, *(float*)buf1969);
-    *(float2*)buf1970 = native_powr(*(float2*)buf1971, *(float2*)buf1972);
-    *(float3*)buf1973 = native_powr(*(float3*)buf1974, *(float3*)buf1975);
-    *(float4*)buf1976 = native_powr(*(float4*)buf1977, *(float4*)buf1978);
-    *(float*)buf1979 = native_recip(*(float*)buf1980);
-    *(float2*)buf1981 = native_recip(*(float2*)buf1982);
-    *(float3*)buf1983 = native_recip(*(float3*)buf1984);
-    *(float4*)buf1985 = native_recip(*(float4*)buf1986);
-    *(float*)buf1987 = native_rootn(*(float*)buf1988, *(int*)buf1989);
-    *(float2*)buf1990 = native_rootn(*(float2*)buf1991, *(int2*)buf1992);
-    *(float3*)buf1993 = native_rootn(*(float3*)buf1994, *(int3*)buf1995);
-    *(float4*)buf1996 = native_rootn(*(float4*)buf1997, *(int4*)buf1998);
-    *(float*)buf1999 = native_rsqrt(*(float*)buf2000);
-    *(float2*)buf2001 = native_rsqrt(*(float2*)buf2002);
-    *(float3*)buf2003 = native_rsqrt(*(float3*)buf2004);
-    *(float4*)buf2005 = native_rsqrt(*(float4*)buf2006);
-    *(float*)buf2007 = native_sin(*(float*)buf2008);
-    *(float2*)buf2009 = native_sin(*(float2*)buf2010);
-    *(float3*)buf2011 = native_sin(*(float3*)buf2012);
-    *(float4*)buf2013 = native_sin(*(float4*)buf2014);
-    *(float*)buf2015 = native_sincos(*(float*)buf2016, (float*) buf2017);
-    *(float2*)buf2018 = native_sincos(*(float2*)buf2019, (float2*) buf2020);
-    *(float3*)buf2021 = native_sincos(*(float3*)buf2022, (float3*) buf2023);
-    *(float4*)buf2024 = native_sincos(*(float4*)buf2025, (float4*) buf2026);
-    *(float*)buf2027 = native_sinh(*(float*)buf2028);
-    *(float2*)buf2029 = native_sinh(*(float2*)buf2030);
-    *(float3*)buf2031 = native_sinh(*(float3*)buf2032);
-    *(float4*)buf2033 = native_sinh(*(float4*)buf2034);
-    *(float*)buf2035 = native_sinpi(*(float*)buf2036);
-    *(float2*)buf2037 = native_sinpi(*(float2*)buf2038);
-    *(float3*)buf2039 = native_sinpi(*(float3*)buf2040);
-    *(float4*)buf2041 = native_sinpi(*(float4*)buf2042);
-    *(float*)buf2043 = native_sqrt(*(float*)buf2044);
-    *(float2*)buf2045 = native_sqrt(*(float2*)buf2046);
-    *(float3*)buf2047 = native_sqrt(*(float3*)buf2048);
-    *(float4*)buf2049 = native_sqrt(*(float4*)buf2050);
-    *(float*)buf2051 = native_tan(*(float*)buf2052);
-    *(float2*)buf2053 = native_tan(*(float2*)buf2054);
-    *(float3*)buf2055 = native_tan(*(float3*)buf2056);
-    *(float4*)buf2057 = native_tan(*(float4*)buf2058);
-    *(float*)buf2059 = native_tanh(*(float*)buf2060);
-    *(float2*)buf2061 = native_tanh(*(float2*)buf2062);
-    *(float3*)buf2063 = native_tanh(*(float3*)buf2064);
-    *(float4*)buf2065 = native_tanh(*(float4*)buf2066);
-    *(float*)buf2067 = native_tanpi(*(float*)buf2068);
-    *(float2*)buf2069 = native_tanpi(*(float2*)buf2070);
-    *(float3*)buf2071 = native_tanpi(*(float3*)buf2072);
-    *(float4*)buf2073 = native_tanpi(*(float4*)buf2074);
-    *(float*)buf2075 = nextafter(*(float*)buf2076, *(float*)buf2077);
-    *(float2*)buf2078 = nextafter(*(float2*)buf2079, *(float2*)buf2080);
-    *(float3*)buf2081 = nextafter(*(float3*)buf2082, *(float3*)buf2083);
-    *(float4*)buf2084 = nextafter(*(float4*)buf2085, *(float4*)buf2086);
-    *(float*)buf2087 = normalize(*(float*)buf2088);
-    *(float2*)buf2089 = normalize(*(float2*)buf2090);
-    *(float3*)buf2091 = normalize(*(float3*)buf2092);
-    *(float4*)buf2093 = normalize(*(float4*)buf2094);
-    *(float*)buf2095 = pow(*(float*)buf2096, *(float*)buf2097);
-    *(float2*)buf2098 = pow(*(float2*)buf2099, *(float2*)buf2100);
-    *(float3*)buf2101 = pow(*(float3*)buf2102, *(float3*)buf2103);
-    *(float4*)buf2104 = pow(*(float4*)buf2105, *(float4*)buf2106);
-    *(float*)buf2107 = pown(*(float*)buf2108, *(int*)buf2109);
-    *(float2*)buf2110 = pown(*(float2*)buf2111, *(int2*)buf2112);
-    *(float3*)buf2113 = pown(*(float3*)buf2114, *(int3*)buf2115);
-    *(float4*)buf2116 = pown(*(float4*)buf2117, *(int4*)buf2118);
-    *(float*)buf2119 = powr(*(float*)buf2120, *(float*)buf2121);
-    *(float2*)buf2122 = powr(*(float2*)buf2123, *(float2*)buf2124);
-    *(float3*)buf2125 = powr(*(float3*)buf2126, *(float3*)buf2127);
-    *(float4*)buf2128 = powr(*(float4*)buf2129, *(float4*)buf2130);
-    *(float*)buf2131 = radians(*(float*)buf2132);
-    *(float2*)buf2133 = radians(*(float2*)buf2134);
-    *(float3*)buf2135 = radians(*(float3*)buf2136);
-    *(float4*)buf2137 = radians(*(float4*)buf2138);
-    *(float*)buf2139 = remainder(*(float*)buf2140, *(float*)buf2141);
-    *(float2*)buf2142 = remainder(*(float2*)buf2143, *(float2*)buf2144);
-    *(float3*)buf2145 = remainder(*(float3*)buf2146, *(float3*)buf2147);
-    *(float4*)buf2148 = remainder(*(float4*)buf2149, *(float4*)buf2150);
-    *(float*)buf2151 = remquo(*(float*)buf2152, *(float*)buf2153, (int*) buf2154);
-    *(float2*)buf2155 = remquo(*(float2*)buf2156, *(float2*)buf2157, (int2*) buf2158);
-    *(float3*)buf2159 = remquo(*(float3*)buf2160, *(float3*)buf2161, (int3*) buf2162);
-    *(float4*)buf2163 = remquo(*(float4*)buf2164, *(float4*)buf2165, (int4*) buf2166);
-    *(float*)buf2167 = rint(*(float*)buf2168);
-    *(float2*)buf2169 = rint(*(float2*)buf2170);
-    *(float3*)buf2171 = rint(*(float3*)buf2172);
-    *(float4*)buf2173 = rint(*(float4*)buf2174);
-    *(float*)buf2175 = rootn(*(float*)buf2176, *(int*)buf2177);
-    *(float2*)buf2178 = rootn(*(float2*)buf2179, *(int2*)buf2180);
-    *(float3*)buf2181 = rootn(*(float3*)buf2182, *(int3*)buf2183);
-    *(float4*)buf2184 = rootn(*(float4*)buf2185, *(int4*)buf2186);
-    *(float*)buf2187 = round(*(float*)buf2188);
-    *(float2*)buf2189 = round(*(float2*)buf2190);
-    *(float3*)buf2191 = round(*(float3*)buf2192);
-    *(float4*)buf2193 = round(*(float4*)buf2194);
-    rsAllocationCopy1DRange(*(rs_allocation*)buf2195, *(uint32_t*)buf2196, *(uint32_t*)buf2197, *(uint32_t*)buf2198, *(rs_allocation*)buf2199, *(uint32_t*)buf2200, *(uint32_t*)buf2201);
-    rsAllocationCopy2DRange(*(rs_allocation*)buf2202, *(uint32_t*)buf2203, *(uint32_t*)buf2204, *(uint32_t*)buf2205, *(rs_allocation_cubemap_face*)buf2206, *(uint32_t*)buf2207, *(uint32_t*)buf2208, *(rs_allocation*)buf2209, *(uint32_t*)buf2210, *(uint32_t*)buf2211, *(uint32_t*)buf2212, *(rs_allocation_cubemap_face*)buf2213);
-    *(uint32_t*)buf2214 = rsAllocationGetDimFaces(*(rs_allocation*)buf2215);
-    *(uint32_t*)buf2216 = rsAllocationGetDimLOD(*(rs_allocation*)buf2217);
-    *(uint32_t*)buf2218 = rsAllocationGetDimX(*(rs_allocation*)buf2219);
-    *(uint32_t*)buf2220 = rsAllocationGetDimY(*(rs_allocation*)buf2221);
-    *(uint32_t*)buf2222 = rsAllocationGetDimZ(*(rs_allocation*)buf2223);
-    *(rs_element*)buf2224 = rsAllocationGetElement(*(rs_allocation*)buf2225);
-    rsAllocationIoReceive(*(rs_allocation*)buf2226);
-    rsAllocationIoSend(*(rs_allocation*)buf2227);
-    *(float2*)buf2228 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2229, *(uint32_t*)buf2230);
-    *(float3*)buf2231 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2232, *(uint32_t*)buf2233);
-    *(float4*)buf2234 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2235, *(uint32_t*)buf2236);
-    *(double2*)buf2237 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2238, *(uint32_t*)buf2239);
-    *(double3*)buf2240 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2241, *(uint32_t*)buf2242);
-    *(double4*)buf2243 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2244, *(uint32_t*)buf2245);
-    *(char2*)buf2246 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2247, *(uint32_t*)buf2248);
-    *(char3*)buf2249 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2250, *(uint32_t*)buf2251);
-    *(char4*)buf2252 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2253, *(uint32_t*)buf2254);
-    *(uchar2*)buf2255 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2256, *(uint32_t*)buf2257);
-    *(uchar3*)buf2258 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2259, *(uint32_t*)buf2260);
-    *(uchar4*)buf2261 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2262, *(uint32_t*)buf2263);
-    *(short2*)buf2264 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2265, *(uint32_t*)buf2266);
-    *(short3*)buf2267 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2268, *(uint32_t*)buf2269);
-    *(short4*)buf2270 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2271, *(uint32_t*)buf2272);
-    *(ushort2*)buf2273 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2274, *(uint32_t*)buf2275);
-    *(ushort3*)buf2276 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2277, *(uint32_t*)buf2278);
-    *(ushort4*)buf2279 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2280, *(uint32_t*)buf2281);
-    *(int2*)buf2282 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2283, *(uint32_t*)buf2284);
-    *(int3*)buf2285 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2286, *(uint32_t*)buf2287);
-    *(int4*)buf2288 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2289, *(uint32_t*)buf2290);
-    *(uint2*)buf2291 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2292, *(uint32_t*)buf2293);
-    *(uint3*)buf2294 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2295, *(uint32_t*)buf2296);
-    *(uint4*)buf2297 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2298, *(uint32_t*)buf2299);
-    *(long2*)buf2300 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2301, *(uint32_t*)buf2302);
-    *(long3*)buf2303 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2304, *(uint32_t*)buf2305);
-    *(long4*)buf2306 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2307, *(uint32_t*)buf2308);
-    *(ulong2*)buf2309 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2310, *(uint32_t*)buf2311);
-    *(ulong3*)buf2312 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2313, *(uint32_t*)buf2314);
-    *(ulong4*)buf2315 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2316, *(uint32_t*)buf2317);
-    *(float2*)buf2318 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2319, *(uint32_t*)buf2320, *(uint32_t*)buf2321);
-    *(float3*)buf2322 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2323, *(uint32_t*)buf2324, *(uint32_t*)buf2325);
-    *(float4*)buf2326 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2327, *(uint32_t*)buf2328, *(uint32_t*)buf2329);
-    *(double2*)buf2330 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2331, *(uint32_t*)buf2332, *(uint32_t*)buf2333);
-    *(double3*)buf2334 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2335, *(uint32_t*)buf2336, *(uint32_t*)buf2337);
-    *(double4*)buf2338 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2339, *(uint32_t*)buf2340, *(uint32_t*)buf2341);
-    *(char2*)buf2342 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2343, *(uint32_t*)buf2344, *(uint32_t*)buf2345);
-    *(char3*)buf2346 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2347, *(uint32_t*)buf2348, *(uint32_t*)buf2349);
-    *(char4*)buf2350 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2351, *(uint32_t*)buf2352, *(uint32_t*)buf2353);
-    *(uchar2*)buf2354 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2355, *(uint32_t*)buf2356, *(uint32_t*)buf2357);
-    *(uchar3*)buf2358 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2359, *(uint32_t*)buf2360, *(uint32_t*)buf2361);
-    *(uchar4*)buf2362 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2363, *(uint32_t*)buf2364, *(uint32_t*)buf2365);
-    *(short2*)buf2366 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2367, *(uint32_t*)buf2368, *(uint32_t*)buf2369);
-    *(short3*)buf2370 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2371, *(uint32_t*)buf2372, *(uint32_t*)buf2373);
-    *(short4*)buf2374 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2375, *(uint32_t*)buf2376, *(uint32_t*)buf2377);
-    *(ushort2*)buf2378 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2379, *(uint32_t*)buf2380, *(uint32_t*)buf2381);
-    *(ushort3*)buf2382 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2383, *(uint32_t*)buf2384, *(uint32_t*)buf2385);
-    *(ushort4*)buf2386 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2387, *(uint32_t*)buf2388, *(uint32_t*)buf2389);
-    *(int2*)buf2390 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2391, *(uint32_t*)buf2392, *(uint32_t*)buf2393);
-    *(int3*)buf2394 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2395, *(uint32_t*)buf2396, *(uint32_t*)buf2397);
-    *(int4*)buf2398 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2399, *(uint32_t*)buf2400, *(uint32_t*)buf2401);
-    *(uint2*)buf2402 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2403, *(uint32_t*)buf2404, *(uint32_t*)buf2405);
-    *(uint3*)buf2406 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2407, *(uint32_t*)buf2408, *(uint32_t*)buf2409);
-    *(uint4*)buf2410 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2411, *(uint32_t*)buf2412, *(uint32_t*)buf2413);
-    *(long2*)buf2414 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2415, *(uint32_t*)buf2416, *(uint32_t*)buf2417);
-    *(long3*)buf2418 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2419, *(uint32_t*)buf2420, *(uint32_t*)buf2421);
-    *(long4*)buf2422 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2423, *(uint32_t*)buf2424, *(uint32_t*)buf2425);
-    *(ulong2*)buf2426 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2427, *(uint32_t*)buf2428, *(uint32_t*)buf2429);
-    *(ulong3*)buf2430 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2431, *(uint32_t*)buf2432, *(uint32_t*)buf2433);
-    *(ulong4*)buf2434 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2435, *(uint32_t*)buf2436, *(uint32_t*)buf2437);
-    *(float2*)buf2438 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2439, *(uint32_t*)buf2440, *(uint32_t*)buf2441, *(uint32_t*)buf2442);
-    *(float3*)buf2443 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2444, *(uint32_t*)buf2445, *(uint32_t*)buf2446, *(uint32_t*)buf2447);
-    *(float4*)buf2448 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2449, *(uint32_t*)buf2450, *(uint32_t*)buf2451, *(uint32_t*)buf2452);
-    *(double2*)buf2453 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2454, *(uint32_t*)buf2455, *(uint32_t*)buf2456, *(uint32_t*)buf2457);
-    *(double3*)buf2458 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2459, *(uint32_t*)buf2460, *(uint32_t*)buf2461, *(uint32_t*)buf2462);
-    *(double4*)buf2463 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2464, *(uint32_t*)buf2465, *(uint32_t*)buf2466, *(uint32_t*)buf2467);
-    *(char2*)buf2468 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2469, *(uint32_t*)buf2470, *(uint32_t*)buf2471, *(uint32_t*)buf2472);
-    *(char3*)buf2473 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2474, *(uint32_t*)buf2475, *(uint32_t*)buf2476, *(uint32_t*)buf2477);
-    *(char4*)buf2478 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2479, *(uint32_t*)buf2480, *(uint32_t*)buf2481, *(uint32_t*)buf2482);
-    *(uchar2*)buf2483 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2484, *(uint32_t*)buf2485, *(uint32_t*)buf2486, *(uint32_t*)buf2487);
-    *(uchar3*)buf2488 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2489, *(uint32_t*)buf2490, *(uint32_t*)buf2491, *(uint32_t*)buf2492);
-    *(uchar4*)buf2493 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2494, *(uint32_t*)buf2495, *(uint32_t*)buf2496, *(uint32_t*)buf2497);
-    *(short2*)buf2498 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2499, *(uint32_t*)buf2500, *(uint32_t*)buf2501, *(uint32_t*)buf2502);
-    *(short3*)buf2503 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2504, *(uint32_t*)buf2505, *(uint32_t*)buf2506, *(uint32_t*)buf2507);
-    *(short4*)buf2508 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2509, *(uint32_t*)buf2510, *(uint32_t*)buf2511, *(uint32_t*)buf2512);
-    *(ushort2*)buf2513 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2514, *(uint32_t*)buf2515, *(uint32_t*)buf2516, *(uint32_t*)buf2517);
-    *(ushort3*)buf2518 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2519, *(uint32_t*)buf2520, *(uint32_t*)buf2521, *(uint32_t*)buf2522);
-    *(ushort4*)buf2523 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2524, *(uint32_t*)buf2525, *(uint32_t*)buf2526, *(uint32_t*)buf2527);
-    *(int2*)buf2528 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2529, *(uint32_t*)buf2530, *(uint32_t*)buf2531, *(uint32_t*)buf2532);
-    *(int3*)buf2533 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2534, *(uint32_t*)buf2535, *(uint32_t*)buf2536, *(uint32_t*)buf2537);
-    *(int4*)buf2538 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2539, *(uint32_t*)buf2540, *(uint32_t*)buf2541, *(uint32_t*)buf2542);
-    *(uint2*)buf2543 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2544, *(uint32_t*)buf2545, *(uint32_t*)buf2546, *(uint32_t*)buf2547);
-    *(uint3*)buf2548 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2549, *(uint32_t*)buf2550, *(uint32_t*)buf2551, *(uint32_t*)buf2552);
-    *(uint4*)buf2553 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2554, *(uint32_t*)buf2555, *(uint32_t*)buf2556, *(uint32_t*)buf2557);
-    *(long2*)buf2558 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2559, *(uint32_t*)buf2560, *(uint32_t*)buf2561, *(uint32_t*)buf2562);
-    *(long3*)buf2563 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2564, *(uint32_t*)buf2565, *(uint32_t*)buf2566, *(uint32_t*)buf2567);
-    *(long4*)buf2568 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2569, *(uint32_t*)buf2570, *(uint32_t*)buf2571, *(uint32_t*)buf2572);
-    *(ulong2*)buf2573 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2574, *(uint32_t*)buf2575, *(uint32_t*)buf2576, *(uint32_t*)buf2577);
-    *(ulong3*)buf2578 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2579, *(uint32_t*)buf2580, *(uint32_t*)buf2581, *(uint32_t*)buf2582);
-    *(ulong4*)buf2583 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2584, *(uint32_t*)buf2585, *(uint32_t*)buf2586, *(uint32_t*)buf2587);
-    rsAllocationVStoreX_float2(*(rs_allocation*)buf2588, *(float2*)buf2589, *(uint32_t*)buf2590);
-    rsAllocationVStoreX_float3(*(rs_allocation*)buf2591, *(float3*)buf2592, *(uint32_t*)buf2593);
-    rsAllocationVStoreX_float4(*(rs_allocation*)buf2594, *(float4*)buf2595, *(uint32_t*)buf2596);
-    rsAllocationVStoreX_double2(*(rs_allocation*)buf2597, *(double2*)buf2598, *(uint32_t*)buf2599);
-    rsAllocationVStoreX_double3(*(rs_allocation*)buf2600, *(double3*)buf2601, *(uint32_t*)buf2602);
-    rsAllocationVStoreX_double4(*(rs_allocation*)buf2603, *(double4*)buf2604, *(uint32_t*)buf2605);
-    rsAllocationVStoreX_char2(*(rs_allocation*)buf2606, *(char2*)buf2607, *(uint32_t*)buf2608);
-    rsAllocationVStoreX_char3(*(rs_allocation*)buf2609, *(char3*)buf2610, *(uint32_t*)buf2611);
-    rsAllocationVStoreX_char4(*(rs_allocation*)buf2612, *(char4*)buf2613, *(uint32_t*)buf2614);
-    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2615, *(uchar2*)buf2616, *(uint32_t*)buf2617);
-    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2618, *(uchar3*)buf2619, *(uint32_t*)buf2620);
-    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2621, *(uchar4*)buf2622, *(uint32_t*)buf2623);
-    rsAllocationVStoreX_short2(*(rs_allocation*)buf2624, *(short2*)buf2625, *(uint32_t*)buf2626);
-    rsAllocationVStoreX_short3(*(rs_allocation*)buf2627, *(short3*)buf2628, *(uint32_t*)buf2629);
-    rsAllocationVStoreX_short4(*(rs_allocation*)buf2630, *(short4*)buf2631, *(uint32_t*)buf2632);
-    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2633, *(ushort2*)buf2634, *(uint32_t*)buf2635);
-    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2636, *(ushort3*)buf2637, *(uint32_t*)buf2638);
-    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2639, *(ushort4*)buf2640, *(uint32_t*)buf2641);
-    rsAllocationVStoreX_int2(*(rs_allocation*)buf2642, *(int2*)buf2643, *(uint32_t*)buf2644);
-    rsAllocationVStoreX_int3(*(rs_allocation*)buf2645, *(int3*)buf2646, *(uint32_t*)buf2647);
-    rsAllocationVStoreX_int4(*(rs_allocation*)buf2648, *(int4*)buf2649, *(uint32_t*)buf2650);
-    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2651, *(uint2*)buf2652, *(uint32_t*)buf2653);
-    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2654, *(uint3*)buf2655, *(uint32_t*)buf2656);
-    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2657, *(uint4*)buf2658, *(uint32_t*)buf2659);
-    rsAllocationVStoreX_long2(*(rs_allocation*)buf2660, *(long2*)buf2661, *(uint32_t*)buf2662);
-    rsAllocationVStoreX_long3(*(rs_allocation*)buf2663, *(long3*)buf2664, *(uint32_t*)buf2665);
-    rsAllocationVStoreX_long4(*(rs_allocation*)buf2666, *(long4*)buf2667, *(uint32_t*)buf2668);
-    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2669, *(ulong2*)buf2670, *(uint32_t*)buf2671);
-    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2672, *(ulong3*)buf2673, *(uint32_t*)buf2674);
-    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2675, *(ulong4*)buf2676, *(uint32_t*)buf2677);
-    rsAllocationVStoreX_float2(*(rs_allocation*)buf2678, *(float2*)buf2679, *(uint32_t*)buf2680, *(uint32_t*)buf2681);
-    rsAllocationVStoreX_float3(*(rs_allocation*)buf2682, *(float3*)buf2683, *(uint32_t*)buf2684, *(uint32_t*)buf2685);
-    rsAllocationVStoreX_float4(*(rs_allocation*)buf2686, *(float4*)buf2687, *(uint32_t*)buf2688, *(uint32_t*)buf2689);
-    rsAllocationVStoreX_double2(*(rs_allocation*)buf2690, *(double2*)buf2691, *(uint32_t*)buf2692, *(uint32_t*)buf2693);
-    rsAllocationVStoreX_double3(*(rs_allocation*)buf2694, *(double3*)buf2695, *(uint32_t*)buf2696, *(uint32_t*)buf2697);
-    rsAllocationVStoreX_double4(*(rs_allocation*)buf2698, *(double4*)buf2699, *(uint32_t*)buf2700, *(uint32_t*)buf2701);
-    rsAllocationVStoreX_char2(*(rs_allocation*)buf2702, *(char2*)buf2703, *(uint32_t*)buf2704, *(uint32_t*)buf2705);
-    rsAllocationVStoreX_char3(*(rs_allocation*)buf2706, *(char3*)buf2707, *(uint32_t*)buf2708, *(uint32_t*)buf2709);
-    rsAllocationVStoreX_char4(*(rs_allocation*)buf2710, *(char4*)buf2711, *(uint32_t*)buf2712, *(uint32_t*)buf2713);
-    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2714, *(uchar2*)buf2715, *(uint32_t*)buf2716, *(uint32_t*)buf2717);
-    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2718, *(uchar3*)buf2719, *(uint32_t*)buf2720, *(uint32_t*)buf2721);
-    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2722, *(uchar4*)buf2723, *(uint32_t*)buf2724, *(uint32_t*)buf2725);
-    rsAllocationVStoreX_short2(*(rs_allocation*)buf2726, *(short2*)buf2727, *(uint32_t*)buf2728, *(uint32_t*)buf2729);
-    rsAllocationVStoreX_short3(*(rs_allocation*)buf2730, *(short3*)buf2731, *(uint32_t*)buf2732, *(uint32_t*)buf2733);
-    rsAllocationVStoreX_short4(*(rs_allocation*)buf2734, *(short4*)buf2735, *(uint32_t*)buf2736, *(uint32_t*)buf2737);
-    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2738, *(ushort2*)buf2739, *(uint32_t*)buf2740, *(uint32_t*)buf2741);
-    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2742, *(ushort3*)buf2743, *(uint32_t*)buf2744, *(uint32_t*)buf2745);
-    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2746, *(ushort4*)buf2747, *(uint32_t*)buf2748, *(uint32_t*)buf2749);
-    rsAllocationVStoreX_int2(*(rs_allocation*)buf2750, *(int2*)buf2751, *(uint32_t*)buf2752, *(uint32_t*)buf2753);
-    rsAllocationVStoreX_int3(*(rs_allocation*)buf2754, *(int3*)buf2755, *(uint32_t*)buf2756, *(uint32_t*)buf2757);
-    rsAllocationVStoreX_int4(*(rs_allocation*)buf2758, *(int4*)buf2759, *(uint32_t*)buf2760, *(uint32_t*)buf2761);
-    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2762, *(uint2*)buf2763, *(uint32_t*)buf2764, *(uint32_t*)buf2765);
-    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2766, *(uint3*)buf2767, *(uint32_t*)buf2768, *(uint32_t*)buf2769);
-    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2770, *(uint4*)buf2771, *(uint32_t*)buf2772, *(uint32_t*)buf2773);
-    rsAllocationVStoreX_long2(*(rs_allocation*)buf2774, *(long2*)buf2775, *(uint32_t*)buf2776, *(uint32_t*)buf2777);
-    rsAllocationVStoreX_long3(*(rs_allocation*)buf2778, *(long3*)buf2779, *(uint32_t*)buf2780, *(uint32_t*)buf2781);
-    rsAllocationVStoreX_long4(*(rs_allocation*)buf2782, *(long4*)buf2783, *(uint32_t*)buf2784, *(uint32_t*)buf2785);
-    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2786, *(ulong2*)buf2787, *(uint32_t*)buf2788, *(uint32_t*)buf2789);
-    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2790, *(ulong3*)buf2791, *(uint32_t*)buf2792, *(uint32_t*)buf2793);
-    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2794, *(ulong4*)buf2795, *(uint32_t*)buf2796, *(uint32_t*)buf2797);
-    rsAllocationVStoreX_float2(*(rs_allocation*)buf2798, *(float2*)buf2799, *(uint32_t*)buf2800, *(uint32_t*)buf2801, *(uint32_t*)buf2802);
-    rsAllocationVStoreX_float3(*(rs_allocation*)buf2803, *(float3*)buf2804, *(uint32_t*)buf2805, *(uint32_t*)buf2806, *(uint32_t*)buf2807);
-    rsAllocationVStoreX_float4(*(rs_allocation*)buf2808, *(float4*)buf2809, *(uint32_t*)buf2810, *(uint32_t*)buf2811, *(uint32_t*)buf2812);
-    rsAllocationVStoreX_double2(*(rs_allocation*)buf2813, *(double2*)buf2814, *(uint32_t*)buf2815, *(uint32_t*)buf2816, *(uint32_t*)buf2817);
-    rsAllocationVStoreX_double3(*(rs_allocation*)buf2818, *(double3*)buf2819, *(uint32_t*)buf2820, *(uint32_t*)buf2821, *(uint32_t*)buf2822);
-    rsAllocationVStoreX_double4(*(rs_allocation*)buf2823, *(double4*)buf2824, *(uint32_t*)buf2825, *(uint32_t*)buf2826, *(uint32_t*)buf2827);
-    rsAllocationVStoreX_char2(*(rs_allocation*)buf2828, *(char2*)buf2829, *(uint32_t*)buf2830, *(uint32_t*)buf2831, *(uint32_t*)buf2832);
-    rsAllocationVStoreX_char3(*(rs_allocation*)buf2833, *(char3*)buf2834, *(uint32_t*)buf2835, *(uint32_t*)buf2836, *(uint32_t*)buf2837);
-    rsAllocationVStoreX_char4(*(rs_allocation*)buf2838, *(char4*)buf2839, *(uint32_t*)buf2840, *(uint32_t*)buf2841, *(uint32_t*)buf2842);
-    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2843, *(uchar2*)buf2844, *(uint32_t*)buf2845, *(uint32_t*)buf2846, *(uint32_t*)buf2847);
-    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2848, *(uchar3*)buf2849, *(uint32_t*)buf2850, *(uint32_t*)buf2851, *(uint32_t*)buf2852);
-    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2853, *(uchar4*)buf2854, *(uint32_t*)buf2855, *(uint32_t*)buf2856, *(uint32_t*)buf2857);
-    rsAllocationVStoreX_short2(*(rs_allocation*)buf2858, *(short2*)buf2859, *(uint32_t*)buf2860, *(uint32_t*)buf2861, *(uint32_t*)buf2862);
-    rsAllocationVStoreX_short3(*(rs_allocation*)buf2863, *(short3*)buf2864, *(uint32_t*)buf2865, *(uint32_t*)buf2866, *(uint32_t*)buf2867);
-    rsAllocationVStoreX_short4(*(rs_allocation*)buf2868, *(short4*)buf2869, *(uint32_t*)buf2870, *(uint32_t*)buf2871, *(uint32_t*)buf2872);
-    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2873, *(ushort2*)buf2874, *(uint32_t*)buf2875, *(uint32_t*)buf2876, *(uint32_t*)buf2877);
-    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2878, *(ushort3*)buf2879, *(uint32_t*)buf2880, *(uint32_t*)buf2881, *(uint32_t*)buf2882);
-    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2883, *(ushort4*)buf2884, *(uint32_t*)buf2885, *(uint32_t*)buf2886, *(uint32_t*)buf2887);
-    rsAllocationVStoreX_int2(*(rs_allocation*)buf2888, *(int2*)buf2889, *(uint32_t*)buf2890, *(uint32_t*)buf2891, *(uint32_t*)buf2892);
-    rsAllocationVStoreX_int3(*(rs_allocation*)buf2893, *(int3*)buf2894, *(uint32_t*)buf2895, *(uint32_t*)buf2896, *(uint32_t*)buf2897);
-    rsAllocationVStoreX_int4(*(rs_allocation*)buf2898, *(int4*)buf2899, *(uint32_t*)buf2900, *(uint32_t*)buf2901, *(uint32_t*)buf2902);
-    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2903, *(uint2*)buf2904, *(uint32_t*)buf2905, *(uint32_t*)buf2906, *(uint32_t*)buf2907);
-    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2908, *(uint3*)buf2909, *(uint32_t*)buf2910, *(uint32_t*)buf2911, *(uint32_t*)buf2912);
-    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2913, *(uint4*)buf2914, *(uint32_t*)buf2915, *(uint32_t*)buf2916, *(uint32_t*)buf2917);
-    rsAllocationVStoreX_long2(*(rs_allocation*)buf2918, *(long2*)buf2919, *(uint32_t*)buf2920, *(uint32_t*)buf2921, *(uint32_t*)buf2922);
-    rsAllocationVStoreX_long3(*(rs_allocation*)buf2923, *(long3*)buf2924, *(uint32_t*)buf2925, *(uint32_t*)buf2926, *(uint32_t*)buf2927);
-    rsAllocationVStoreX_long4(*(rs_allocation*)buf2928, *(long4*)buf2929, *(uint32_t*)buf2930, *(uint32_t*)buf2931, *(uint32_t*)buf2932);
-    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2933, *(ulong2*)buf2934, *(uint32_t*)buf2935, *(uint32_t*)buf2936, *(uint32_t*)buf2937);
-    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2938, *(ulong3*)buf2939, *(uint32_t*)buf2940, *(uint32_t*)buf2941, *(uint32_t*)buf2942);
-    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2943, *(ulong4*)buf2944, *(uint32_t*)buf2945, *(uint32_t*)buf2946, *(uint32_t*)buf2947);
-    *(int32_t*)buf2948 = rsAtomicAdd((volatile int32_t*) buf2949, *(int32_t*)buf2950);
-    *(int32_t*)buf2951 = rsAtomicAdd((volatile uint32_t*) buf2952, *(uint32_t*)buf2953);
-    *(int32_t*)buf2954 = rsAtomicAnd((volatile int32_t*) buf2955, *(int32_t*)buf2956);
-    *(int32_t*)buf2957 = rsAtomicAnd((volatile uint32_t*) buf2958, *(uint32_t*)buf2959);
-    *(int32_t*)buf2960 = rsAtomicCas((volatile int32_t*) buf2961, *(int32_t*)buf2962, *(int32_t*)buf2963);
-    *(uint32_t*)buf2964 = rsAtomicCas((volatile uint32_t*) buf2965, *(uint32_t*)buf2966, *(uint32_t*)buf2967);
-    *(int32_t*)buf2968 = rsAtomicDec((volatile int32_t*) buf2969);
-    *(int32_t*)buf2970 = rsAtomicDec((volatile uint32_t*) buf2971);
-    *(int32_t*)buf2972 = rsAtomicInc((volatile int32_t*) buf2973);
-    *(int32_t*)buf2974 = rsAtomicInc((volatile uint32_t*) buf2975);
-    *(uint32_t*)buf2976 = rsAtomicMax((volatile uint32_t*) buf2977, *(uint32_t*)buf2978);
-    *(int32_t*)buf2979 = rsAtomicMax((volatile int32_t*) buf2980, *(int32_t*)buf2981);
-    *(uint32_t*)buf2982 = rsAtomicMin((volatile uint32_t*) buf2983, *(uint32_t*)buf2984);
-    *(int32_t*)buf2985 = rsAtomicMin((volatile int32_t*) buf2986, *(int32_t*)buf2987);
-    *(int32_t*)buf2988 = rsAtomicOr((volatile int32_t*) buf2989, *(int32_t*)buf2990);
-    *(int32_t*)buf2991 = rsAtomicOr((volatile uint32_t*) buf2992, *(uint32_t*)buf2993);
-    *(int32_t*)buf2994 = rsAtomicSub((volatile int32_t*) buf2995, *(int32_t*)buf2996);
-    *(int32_t*)buf2997 = rsAtomicSub((volatile uint32_t*) buf2998, *(uint32_t*)buf2999);
-    *(int32_t*)buf3000 = rsAtomicXor((volatile int32_t*) buf3001, *(int32_t*)buf3002);
-    *(int32_t*)buf3003 = rsAtomicXor((volatile uint32_t*) buf3004, *(uint32_t*)buf3005);
-    *(char*)buf3006 = rsClamp(*(char*)buf3007, *(char*)buf3008, *(char*)buf3009);
-    *(uchar*)buf3010 = rsClamp(*(uchar*)buf3011, *(uchar*)buf3012, *(uchar*)buf3013);
-    *(short*)buf3014 = rsClamp(*(short*)buf3015, *(short*)buf3016, *(short*)buf3017);
-    *(ushort*)buf3018 = rsClamp(*(ushort*)buf3019, *(ushort*)buf3020, *(ushort*)buf3021);
-    *(int*)buf3022 = rsClamp(*(int*)buf3023, *(int*)buf3024, *(int*)buf3025);
-    *(uint*)buf3026 = rsClamp(*(uint*)buf3027, *(uint*)buf3028, *(uint*)buf3029);
-    rsClearObject((rs_element*) buf3030);
-    rsClearObject((rs_type*) buf3031);
-    rsClearObject((rs_allocation*) buf3032);
-    rsClearObject((rs_sampler*) buf3033);
-    rsClearObject((rs_script*) buf3034);
+    *(float2*)buf1477 = max(*(float2*)buf1478, *(float*)buf1479);
+    *(float3*)buf1480 = max(*(float3*)buf1481, *(float*)buf1482);
+    *(float4*)buf1483 = max(*(float4*)buf1484, *(float*)buf1485);
+    *(char*)buf1486 = max(*(char*)buf1487, *(char*)buf1488);
+    *(char2*)buf1489 = max(*(char2*)buf1490, *(char2*)buf1491);
+    *(char3*)buf1492 = max(*(char3*)buf1493, *(char3*)buf1494);
+    *(char4*)buf1495 = max(*(char4*)buf1496, *(char4*)buf1497);
+    *(uchar*)buf1498 = max(*(uchar*)buf1499, *(uchar*)buf1500);
+    *(uchar2*)buf1501 = max(*(uchar2*)buf1502, *(uchar2*)buf1503);
+    *(uchar3*)buf1504 = max(*(uchar3*)buf1505, *(uchar3*)buf1506);
+    *(uchar4*)buf1507 = max(*(uchar4*)buf1508, *(uchar4*)buf1509);
+    *(short*)buf1510 = max(*(short*)buf1511, *(short*)buf1512);
+    *(short2*)buf1513 = max(*(short2*)buf1514, *(short2*)buf1515);
+    *(short3*)buf1516 = max(*(short3*)buf1517, *(short3*)buf1518);
+    *(short4*)buf1519 = max(*(short4*)buf1520, *(short4*)buf1521);
+    *(ushort*)buf1522 = max(*(ushort*)buf1523, *(ushort*)buf1524);
+    *(ushort2*)buf1525 = max(*(ushort2*)buf1526, *(ushort2*)buf1527);
+    *(ushort3*)buf1528 = max(*(ushort3*)buf1529, *(ushort3*)buf1530);
+    *(ushort4*)buf1531 = max(*(ushort4*)buf1532, *(ushort4*)buf1533);
+    *(int*)buf1534 = max(*(int*)buf1535, *(int*)buf1536);
+    *(int2*)buf1537 = max(*(int2*)buf1538, *(int2*)buf1539);
+    *(int3*)buf1540 = max(*(int3*)buf1541, *(int3*)buf1542);
+    *(int4*)buf1543 = max(*(int4*)buf1544, *(int4*)buf1545);
+    *(uint*)buf1546 = max(*(uint*)buf1547, *(uint*)buf1548);
+    *(uint2*)buf1549 = max(*(uint2*)buf1550, *(uint2*)buf1551);
+    *(uint3*)buf1552 = max(*(uint3*)buf1553, *(uint3*)buf1554);
+    *(uint4*)buf1555 = max(*(uint4*)buf1556, *(uint4*)buf1557);
+    *(long*)buf1558 = max(*(long*)buf1559, *(long*)buf1560);
+    *(long2*)buf1561 = max(*(long2*)buf1562, *(long2*)buf1563);
+    *(long3*)buf1564 = max(*(long3*)buf1565, *(long3*)buf1566);
+    *(long4*)buf1567 = max(*(long4*)buf1568, *(long4*)buf1569);
+    *(ulong*)buf1570 = max(*(ulong*)buf1571, *(ulong*)buf1572);
+    *(ulong2*)buf1573 = max(*(ulong2*)buf1574, *(ulong2*)buf1575);
+    *(ulong3*)buf1576 = max(*(ulong3*)buf1577, *(ulong3*)buf1578);
+    *(ulong4*)buf1579 = max(*(ulong4*)buf1580, *(ulong4*)buf1581);
+    *(float*)buf1582 = min(*(float*)buf1583, *(float*)buf1584);
+    *(float2*)buf1585 = min(*(float2*)buf1586, *(float2*)buf1587);
+    *(float3*)buf1588 = min(*(float3*)buf1589, *(float3*)buf1590);
+    *(float4*)buf1591 = min(*(float4*)buf1592, *(float4*)buf1593);
+    *(float2*)buf1594 = min(*(float2*)buf1595, *(float*)buf1596);
+    *(float3*)buf1597 = min(*(float3*)buf1598, *(float*)buf1599);
+    *(float4*)buf1600 = min(*(float4*)buf1601, *(float*)buf1602);
+    *(char*)buf1603 = min(*(char*)buf1604, *(char*)buf1605);
+    *(char2*)buf1606 = min(*(char2*)buf1607, *(char2*)buf1608);
+    *(char3*)buf1609 = min(*(char3*)buf1610, *(char3*)buf1611);
+    *(char4*)buf1612 = min(*(char4*)buf1613, *(char4*)buf1614);
+    *(uchar*)buf1615 = min(*(uchar*)buf1616, *(uchar*)buf1617);
+    *(uchar2*)buf1618 = min(*(uchar2*)buf1619, *(uchar2*)buf1620);
+    *(uchar3*)buf1621 = min(*(uchar3*)buf1622, *(uchar3*)buf1623);
+    *(uchar4*)buf1624 = min(*(uchar4*)buf1625, *(uchar4*)buf1626);
+    *(short*)buf1627 = min(*(short*)buf1628, *(short*)buf1629);
+    *(short2*)buf1630 = min(*(short2*)buf1631, *(short2*)buf1632);
+    *(short3*)buf1633 = min(*(short3*)buf1634, *(short3*)buf1635);
+    *(short4*)buf1636 = min(*(short4*)buf1637, *(short4*)buf1638);
+    *(ushort*)buf1639 = min(*(ushort*)buf1640, *(ushort*)buf1641);
+    *(ushort2*)buf1642 = min(*(ushort2*)buf1643, *(ushort2*)buf1644);
+    *(ushort3*)buf1645 = min(*(ushort3*)buf1646, *(ushort3*)buf1647);
+    *(ushort4*)buf1648 = min(*(ushort4*)buf1649, *(ushort4*)buf1650);
+    *(int*)buf1651 = min(*(int*)buf1652, *(int*)buf1653);
+    *(int2*)buf1654 = min(*(int2*)buf1655, *(int2*)buf1656);
+    *(int3*)buf1657 = min(*(int3*)buf1658, *(int3*)buf1659);
+    *(int4*)buf1660 = min(*(int4*)buf1661, *(int4*)buf1662);
+    *(uint*)buf1663 = min(*(uint*)buf1664, *(uint*)buf1665);
+    *(uint2*)buf1666 = min(*(uint2*)buf1667, *(uint2*)buf1668);
+    *(uint3*)buf1669 = min(*(uint3*)buf1670, *(uint3*)buf1671);
+    *(uint4*)buf1672 = min(*(uint4*)buf1673, *(uint4*)buf1674);
+    *(long*)buf1675 = min(*(long*)buf1676, *(long*)buf1677);
+    *(long2*)buf1678 = min(*(long2*)buf1679, *(long2*)buf1680);
+    *(long3*)buf1681 = min(*(long3*)buf1682, *(long3*)buf1683);
+    *(long4*)buf1684 = min(*(long4*)buf1685, *(long4*)buf1686);
+    *(ulong*)buf1687 = min(*(ulong*)buf1688, *(ulong*)buf1689);
+    *(ulong2*)buf1690 = min(*(ulong2*)buf1691, *(ulong2*)buf1692);
+    *(ulong3*)buf1693 = min(*(ulong3*)buf1694, *(ulong3*)buf1695);
+    *(ulong4*)buf1696 = min(*(ulong4*)buf1697, *(ulong4*)buf1698);
+    *(float*)buf1699 = mix(*(float*)buf1700, *(float*)buf1701, *(float*)buf1702);
+    *(float2*)buf1703 = mix(*(float2*)buf1704, *(float2*)buf1705, *(float2*)buf1706);
+    *(float3*)buf1707 = mix(*(float3*)buf1708, *(float3*)buf1709, *(float3*)buf1710);
+    *(float4*)buf1711 = mix(*(float4*)buf1712, *(float4*)buf1713, *(float4*)buf1714);
+    *(float2*)buf1715 = mix(*(float2*)buf1716, *(float2*)buf1717, *(float*)buf1718);
+    *(float3*)buf1719 = mix(*(float3*)buf1720, *(float3*)buf1721, *(float*)buf1722);
+    *(float4*)buf1723 = mix(*(float4*)buf1724, *(float4*)buf1725, *(float*)buf1726);
+    *(float*)buf1727 = modf(*(float*)buf1728, (float*) buf1729);
+    *(float2*)buf1730 = modf(*(float2*)buf1731, (float2*) buf1732);
+    *(float3*)buf1733 = modf(*(float3*)buf1734, (float3*) buf1735);
+    *(float4*)buf1736 = modf(*(float4*)buf1737, (float4*) buf1738);
+    *(float*)buf1739 = nan(*(uint*)buf1740);
+    *(float*)buf1741 = native_acos(*(float*)buf1742);
+    *(float2*)buf1743 = native_acos(*(float2*)buf1744);
+    *(float3*)buf1745 = native_acos(*(float3*)buf1746);
+    *(float4*)buf1747 = native_acos(*(float4*)buf1748);
+    *(float*)buf1749 = native_acosh(*(float*)buf1750);
+    *(float2*)buf1751 = native_acosh(*(float2*)buf1752);
+    *(float3*)buf1753 = native_acosh(*(float3*)buf1754);
+    *(float4*)buf1755 = native_acosh(*(float4*)buf1756);
+    *(float*)buf1757 = native_acospi(*(float*)buf1758);
+    *(float2*)buf1759 = native_acospi(*(float2*)buf1760);
+    *(float3*)buf1761 = native_acospi(*(float3*)buf1762);
+    *(float4*)buf1763 = native_acospi(*(float4*)buf1764);
+    *(float*)buf1765 = native_asin(*(float*)buf1766);
+    *(float2*)buf1767 = native_asin(*(float2*)buf1768);
+    *(float3*)buf1769 = native_asin(*(float3*)buf1770);
+    *(float4*)buf1771 = native_asin(*(float4*)buf1772);
+    *(float*)buf1773 = native_asinh(*(float*)buf1774);
+    *(float2*)buf1775 = native_asinh(*(float2*)buf1776);
+    *(float3*)buf1777 = native_asinh(*(float3*)buf1778);
+    *(float4*)buf1779 = native_asinh(*(float4*)buf1780);
+    *(float*)buf1781 = native_asinpi(*(float*)buf1782);
+    *(float2*)buf1783 = native_asinpi(*(float2*)buf1784);
+    *(float3*)buf1785 = native_asinpi(*(float3*)buf1786);
+    *(float4*)buf1787 = native_asinpi(*(float4*)buf1788);
+    *(float*)buf1789 = native_atan(*(float*)buf1790);
+    *(float2*)buf1791 = native_atan(*(float2*)buf1792);
+    *(float3*)buf1793 = native_atan(*(float3*)buf1794);
+    *(float4*)buf1795 = native_atan(*(float4*)buf1796);
+    *(float*)buf1797 = native_atan2(*(float*)buf1798, *(float*)buf1799);
+    *(float2*)buf1800 = native_atan2(*(float2*)buf1801, *(float2*)buf1802);
+    *(float3*)buf1803 = native_atan2(*(float3*)buf1804, *(float3*)buf1805);
+    *(float4*)buf1806 = native_atan2(*(float4*)buf1807, *(float4*)buf1808);
+    *(float*)buf1809 = native_atan2pi(*(float*)buf1810, *(float*)buf1811);
+    *(float2*)buf1812 = native_atan2pi(*(float2*)buf1813, *(float2*)buf1814);
+    *(float3*)buf1815 = native_atan2pi(*(float3*)buf1816, *(float3*)buf1817);
+    *(float4*)buf1818 = native_atan2pi(*(float4*)buf1819, *(float4*)buf1820);
+    *(float*)buf1821 = native_atanh(*(float*)buf1822);
+    *(float2*)buf1823 = native_atanh(*(float2*)buf1824);
+    *(float3*)buf1825 = native_atanh(*(float3*)buf1826);
+    *(float4*)buf1827 = native_atanh(*(float4*)buf1828);
+    *(float*)buf1829 = native_atanpi(*(float*)buf1830);
+    *(float2*)buf1831 = native_atanpi(*(float2*)buf1832);
+    *(float3*)buf1833 = native_atanpi(*(float3*)buf1834);
+    *(float4*)buf1835 = native_atanpi(*(float4*)buf1836);
+    *(float*)buf1837 = native_cbrt(*(float*)buf1838);
+    *(float2*)buf1839 = native_cbrt(*(float2*)buf1840);
+    *(float3*)buf1841 = native_cbrt(*(float3*)buf1842);
+    *(float4*)buf1843 = native_cbrt(*(float4*)buf1844);
+    *(float*)buf1845 = native_cos(*(float*)buf1846);
+    *(float2*)buf1847 = native_cos(*(float2*)buf1848);
+    *(float3*)buf1849 = native_cos(*(float3*)buf1850);
+    *(float4*)buf1851 = native_cos(*(float4*)buf1852);
+    *(float*)buf1853 = native_cosh(*(float*)buf1854);
+    *(float2*)buf1855 = native_cosh(*(float2*)buf1856);
+    *(float3*)buf1857 = native_cosh(*(float3*)buf1858);
+    *(float4*)buf1859 = native_cosh(*(float4*)buf1860);
+    *(float*)buf1861 = native_cospi(*(float*)buf1862);
+    *(float2*)buf1863 = native_cospi(*(float2*)buf1864);
+    *(float3*)buf1865 = native_cospi(*(float3*)buf1866);
+    *(float4*)buf1867 = native_cospi(*(float4*)buf1868);
+    *(float*)buf1869 = native_distance(*(float*)buf1870, *(float*)buf1871);
+    *(float*)buf1872 = native_distance(*(float2*)buf1873, *(float2*)buf1874);
+    *(float*)buf1875 = native_distance(*(float3*)buf1876, *(float3*)buf1877);
+    *(float*)buf1878 = native_distance(*(float4*)buf1879, *(float4*)buf1880);
+    *(float*)buf1881 = native_divide(*(float*)buf1882, *(float*)buf1883);
+    *(float2*)buf1884 = native_divide(*(float2*)buf1885, *(float2*)buf1886);
+    *(float3*)buf1887 = native_divide(*(float3*)buf1888, *(float3*)buf1889);
+    *(float4*)buf1890 = native_divide(*(float4*)buf1891, *(float4*)buf1892);
+    *(float*)buf1893 = native_exp(*(float*)buf1894);
+    *(float2*)buf1895 = native_exp(*(float2*)buf1896);
+    *(float3*)buf1897 = native_exp(*(float3*)buf1898);
+    *(float4*)buf1899 = native_exp(*(float4*)buf1900);
+    *(float*)buf1901 = native_exp10(*(float*)buf1902);
+    *(float2*)buf1903 = native_exp10(*(float2*)buf1904);
+    *(float3*)buf1905 = native_exp10(*(float3*)buf1906);
+    *(float4*)buf1907 = native_exp10(*(float4*)buf1908);
+    *(float*)buf1909 = native_exp2(*(float*)buf1910);
+    *(float2*)buf1911 = native_exp2(*(float2*)buf1912);
+    *(float3*)buf1913 = native_exp2(*(float3*)buf1914);
+    *(float4*)buf1915 = native_exp2(*(float4*)buf1916);
+    *(float*)buf1917 = native_expm1(*(float*)buf1918);
+    *(float2*)buf1919 = native_expm1(*(float2*)buf1920);
+    *(float3*)buf1921 = native_expm1(*(float3*)buf1922);
+    *(float4*)buf1923 = native_expm1(*(float4*)buf1924);
+    *(float*)buf1925 = native_hypot(*(float*)buf1926, *(float*)buf1927);
+    *(float2*)buf1928 = native_hypot(*(float2*)buf1929, *(float2*)buf1930);
+    *(float3*)buf1931 = native_hypot(*(float3*)buf1932, *(float3*)buf1933);
+    *(float4*)buf1934 = native_hypot(*(float4*)buf1935, *(float4*)buf1936);
+    *(float*)buf1937 = native_length(*(float*)buf1938);
+    *(float*)buf1939 = native_length(*(float2*)buf1940);
+    *(float*)buf1941 = native_length(*(float3*)buf1942);
+    *(float*)buf1943 = native_length(*(float4*)buf1944);
+    *(float*)buf1945 = native_log(*(float*)buf1946);
+    *(float2*)buf1947 = native_log(*(float2*)buf1948);
+    *(float3*)buf1949 = native_log(*(float3*)buf1950);
+    *(float4*)buf1951 = native_log(*(float4*)buf1952);
+    *(float*)buf1953 = native_log10(*(float*)buf1954);
+    *(float2*)buf1955 = native_log10(*(float2*)buf1956);
+    *(float3*)buf1957 = native_log10(*(float3*)buf1958);
+    *(float4*)buf1959 = native_log10(*(float4*)buf1960);
+    *(float*)buf1961 = native_log1p(*(float*)buf1962);
+    *(float2*)buf1963 = native_log1p(*(float2*)buf1964);
+    *(float3*)buf1965 = native_log1p(*(float3*)buf1966);
+    *(float4*)buf1967 = native_log1p(*(float4*)buf1968);
+    *(float*)buf1969 = native_log2(*(float*)buf1970);
+    *(float2*)buf1971 = native_log2(*(float2*)buf1972);
+    *(float3*)buf1973 = native_log2(*(float3*)buf1974);
+    *(float4*)buf1975 = native_log2(*(float4*)buf1976);
+    *(float*)buf1977 = native_normalize(*(float*)buf1978);
+    *(float2*)buf1979 = native_normalize(*(float2*)buf1980);
+    *(float3*)buf1981 = native_normalize(*(float3*)buf1982);
+    *(float4*)buf1983 = native_normalize(*(float4*)buf1984);
+    *(float*)buf1985 = native_powr(*(float*)buf1986, *(float*)buf1987);
+    *(float2*)buf1988 = native_powr(*(float2*)buf1989, *(float2*)buf1990);
+    *(float3*)buf1991 = native_powr(*(float3*)buf1992, *(float3*)buf1993);
+    *(float4*)buf1994 = native_powr(*(float4*)buf1995, *(float4*)buf1996);
+    *(float*)buf1997 = native_recip(*(float*)buf1998);
+    *(float2*)buf1999 = native_recip(*(float2*)buf2000);
+    *(float3*)buf2001 = native_recip(*(float3*)buf2002);
+    *(float4*)buf2003 = native_recip(*(float4*)buf2004);
+    *(float*)buf2005 = native_rootn(*(float*)buf2006, *(int*)buf2007);
+    *(float2*)buf2008 = native_rootn(*(float2*)buf2009, *(int2*)buf2010);
+    *(float3*)buf2011 = native_rootn(*(float3*)buf2012, *(int3*)buf2013);
+    *(float4*)buf2014 = native_rootn(*(float4*)buf2015, *(int4*)buf2016);
+    *(float*)buf2017 = native_rsqrt(*(float*)buf2018);
+    *(float2*)buf2019 = native_rsqrt(*(float2*)buf2020);
+    *(float3*)buf2021 = native_rsqrt(*(float3*)buf2022);
+    *(float4*)buf2023 = native_rsqrt(*(float4*)buf2024);
+    *(float*)buf2025 = native_sin(*(float*)buf2026);
+    *(float2*)buf2027 = native_sin(*(float2*)buf2028);
+    *(float3*)buf2029 = native_sin(*(float3*)buf2030);
+    *(float4*)buf2031 = native_sin(*(float4*)buf2032);
+    *(float*)buf2033 = native_sincos(*(float*)buf2034, (float*) buf2035);
+    *(float2*)buf2036 = native_sincos(*(float2*)buf2037, (float2*) buf2038);
+    *(float3*)buf2039 = native_sincos(*(float3*)buf2040, (float3*) buf2041);
+    *(float4*)buf2042 = native_sincos(*(float4*)buf2043, (float4*) buf2044);
+    *(float*)buf2045 = native_sinh(*(float*)buf2046);
+    *(float2*)buf2047 = native_sinh(*(float2*)buf2048);
+    *(float3*)buf2049 = native_sinh(*(float3*)buf2050);
+    *(float4*)buf2051 = native_sinh(*(float4*)buf2052);
+    *(float*)buf2053 = native_sinpi(*(float*)buf2054);
+    *(float2*)buf2055 = native_sinpi(*(float2*)buf2056);
+    *(float3*)buf2057 = native_sinpi(*(float3*)buf2058);
+    *(float4*)buf2059 = native_sinpi(*(float4*)buf2060);
+    *(float*)buf2061 = native_sqrt(*(float*)buf2062);
+    *(float2*)buf2063 = native_sqrt(*(float2*)buf2064);
+    *(float3*)buf2065 = native_sqrt(*(float3*)buf2066);
+    *(float4*)buf2067 = native_sqrt(*(float4*)buf2068);
+    *(float*)buf2069 = native_tan(*(float*)buf2070);
+    *(float2*)buf2071 = native_tan(*(float2*)buf2072);
+    *(float3*)buf2073 = native_tan(*(float3*)buf2074);
+    *(float4*)buf2075 = native_tan(*(float4*)buf2076);
+    *(float*)buf2077 = native_tanh(*(float*)buf2078);
+    *(float2*)buf2079 = native_tanh(*(float2*)buf2080);
+    *(float3*)buf2081 = native_tanh(*(float3*)buf2082);
+    *(float4*)buf2083 = native_tanh(*(float4*)buf2084);
+    *(float*)buf2085 = native_tanpi(*(float*)buf2086);
+    *(float2*)buf2087 = native_tanpi(*(float2*)buf2088);
+    *(float3*)buf2089 = native_tanpi(*(float3*)buf2090);
+    *(float4*)buf2091 = native_tanpi(*(float4*)buf2092);
+    *(float*)buf2093 = nextafter(*(float*)buf2094, *(float*)buf2095);
+    *(float2*)buf2096 = nextafter(*(float2*)buf2097, *(float2*)buf2098);
+    *(float3*)buf2099 = nextafter(*(float3*)buf2100, *(float3*)buf2101);
+    *(float4*)buf2102 = nextafter(*(float4*)buf2103, *(float4*)buf2104);
+    *(float*)buf2105 = normalize(*(float*)buf2106);
+    *(float2*)buf2107 = normalize(*(float2*)buf2108);
+    *(float3*)buf2109 = normalize(*(float3*)buf2110);
+    *(float4*)buf2111 = normalize(*(float4*)buf2112);
+    *(float*)buf2113 = pow(*(float*)buf2114, *(float*)buf2115);
+    *(float2*)buf2116 = pow(*(float2*)buf2117, *(float2*)buf2118);
+    *(float3*)buf2119 = pow(*(float3*)buf2120, *(float3*)buf2121);
+    *(float4*)buf2122 = pow(*(float4*)buf2123, *(float4*)buf2124);
+    *(float*)buf2125 = pown(*(float*)buf2126, *(int*)buf2127);
+    *(float2*)buf2128 = pown(*(float2*)buf2129, *(int2*)buf2130);
+    *(float3*)buf2131 = pown(*(float3*)buf2132, *(int3*)buf2133);
+    *(float4*)buf2134 = pown(*(float4*)buf2135, *(int4*)buf2136);
+    *(float*)buf2137 = powr(*(float*)buf2138, *(float*)buf2139);
+    *(float2*)buf2140 = powr(*(float2*)buf2141, *(float2*)buf2142);
+    *(float3*)buf2143 = powr(*(float3*)buf2144, *(float3*)buf2145);
+    *(float4*)buf2146 = powr(*(float4*)buf2147, *(float4*)buf2148);
+    *(float*)buf2149 = radians(*(float*)buf2150);
+    *(float2*)buf2151 = radians(*(float2*)buf2152);
+    *(float3*)buf2153 = radians(*(float3*)buf2154);
+    *(float4*)buf2155 = radians(*(float4*)buf2156);
+    *(float*)buf2157 = remainder(*(float*)buf2158, *(float*)buf2159);
+    *(float2*)buf2160 = remainder(*(float2*)buf2161, *(float2*)buf2162);
+    *(float3*)buf2163 = remainder(*(float3*)buf2164, *(float3*)buf2165);
+    *(float4*)buf2166 = remainder(*(float4*)buf2167, *(float4*)buf2168);
+    *(float*)buf2169 = remquo(*(float*)buf2170, *(float*)buf2171, (int*) buf2172);
+    *(float2*)buf2173 = remquo(*(float2*)buf2174, *(float2*)buf2175, (int2*) buf2176);
+    *(float3*)buf2177 = remquo(*(float3*)buf2178, *(float3*)buf2179, (int3*) buf2180);
+    *(float4*)buf2181 = remquo(*(float4*)buf2182, *(float4*)buf2183, (int4*) buf2184);
+    *(float*)buf2185 = rint(*(float*)buf2186);
+    *(float2*)buf2187 = rint(*(float2*)buf2188);
+    *(float3*)buf2189 = rint(*(float3*)buf2190);
+    *(float4*)buf2191 = rint(*(float4*)buf2192);
+    *(float*)buf2193 = rootn(*(float*)buf2194, *(int*)buf2195);
+    *(float2*)buf2196 = rootn(*(float2*)buf2197, *(int2*)buf2198);
+    *(float3*)buf2199 = rootn(*(float3*)buf2200, *(int3*)buf2201);
+    *(float4*)buf2202 = rootn(*(float4*)buf2203, *(int4*)buf2204);
+    *(float*)buf2205 = round(*(float*)buf2206);
+    *(float2*)buf2207 = round(*(float2*)buf2208);
+    *(float3*)buf2209 = round(*(float3*)buf2210);
+    *(float4*)buf2211 = round(*(float4*)buf2212);
+    rsAllocationCopy1DRange(*(rs_allocation*)buf2213, *(uint32_t*)buf2214, *(uint32_t*)buf2215, *(uint32_t*)buf2216, *(rs_allocation*)buf2217, *(uint32_t*)buf2218, *(uint32_t*)buf2219);
+    rsAllocationCopy2DRange(*(rs_allocation*)buf2220, *(uint32_t*)buf2221, *(uint32_t*)buf2222, *(uint32_t*)buf2223, *(rs_allocation_cubemap_face*)buf2224, *(uint32_t*)buf2225, *(uint32_t*)buf2226, *(rs_allocation*)buf2227, *(uint32_t*)buf2228, *(uint32_t*)buf2229, *(uint32_t*)buf2230, *(rs_allocation_cubemap_face*)buf2231);
+    *(uint32_t*)buf2232 = rsAllocationGetDimFaces(*(rs_allocation*)buf2233);
+    *(uint32_t*)buf2234 = rsAllocationGetDimLOD(*(rs_allocation*)buf2235);
+    *(uint32_t*)buf2236 = rsAllocationGetDimX(*(rs_allocation*)buf2237);
+    *(uint32_t*)buf2238 = rsAllocationGetDimY(*(rs_allocation*)buf2239);
+    *(uint32_t*)buf2240 = rsAllocationGetDimZ(*(rs_allocation*)buf2241);
+    *(rs_element*)buf2242 = rsAllocationGetElement(*(rs_allocation*)buf2243);
+    rsAllocationIoReceive(*(rs_allocation*)buf2244);
+    rsAllocationIoSend(*(rs_allocation*)buf2245);
+    *(float2*)buf2246 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2247, *(uint32_t*)buf2248);
+    *(float3*)buf2249 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2250, *(uint32_t*)buf2251);
+    *(float4*)buf2252 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2253, *(uint32_t*)buf2254);
+    *(double2*)buf2255 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2256, *(uint32_t*)buf2257);
+    *(double3*)buf2258 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2259, *(uint32_t*)buf2260);
+    *(double4*)buf2261 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2262, *(uint32_t*)buf2263);
+    *(char2*)buf2264 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2265, *(uint32_t*)buf2266);
+    *(char3*)buf2267 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2268, *(uint32_t*)buf2269);
+    *(char4*)buf2270 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2271, *(uint32_t*)buf2272);
+    *(uchar2*)buf2273 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2274, *(uint32_t*)buf2275);
+    *(uchar3*)buf2276 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2277, *(uint32_t*)buf2278);
+    *(uchar4*)buf2279 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2280, *(uint32_t*)buf2281);
+    *(short2*)buf2282 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2283, *(uint32_t*)buf2284);
+    *(short3*)buf2285 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2286, *(uint32_t*)buf2287);
+    *(short4*)buf2288 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2289, *(uint32_t*)buf2290);
+    *(ushort2*)buf2291 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2292, *(uint32_t*)buf2293);
+    *(ushort3*)buf2294 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2295, *(uint32_t*)buf2296);
+    *(ushort4*)buf2297 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2298, *(uint32_t*)buf2299);
+    *(int2*)buf2300 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2301, *(uint32_t*)buf2302);
+    *(int3*)buf2303 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2304, *(uint32_t*)buf2305);
+    *(int4*)buf2306 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2307, *(uint32_t*)buf2308);
+    *(uint2*)buf2309 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2310, *(uint32_t*)buf2311);
+    *(uint3*)buf2312 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2313, *(uint32_t*)buf2314);
+    *(uint4*)buf2315 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2316, *(uint32_t*)buf2317);
+    *(long2*)buf2318 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2319, *(uint32_t*)buf2320);
+    *(long3*)buf2321 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2322, *(uint32_t*)buf2323);
+    *(long4*)buf2324 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2325, *(uint32_t*)buf2326);
+    *(ulong2*)buf2327 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2328, *(uint32_t*)buf2329);
+    *(ulong3*)buf2330 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2331, *(uint32_t*)buf2332);
+    *(ulong4*)buf2333 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2334, *(uint32_t*)buf2335);
+    *(float2*)buf2336 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2337, *(uint32_t*)buf2338, *(uint32_t*)buf2339);
+    *(float3*)buf2340 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2341, *(uint32_t*)buf2342, *(uint32_t*)buf2343);
+    *(float4*)buf2344 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2345, *(uint32_t*)buf2346, *(uint32_t*)buf2347);
+    *(double2*)buf2348 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2349, *(uint32_t*)buf2350, *(uint32_t*)buf2351);
+    *(double3*)buf2352 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2353, *(uint32_t*)buf2354, *(uint32_t*)buf2355);
+    *(double4*)buf2356 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2357, *(uint32_t*)buf2358, *(uint32_t*)buf2359);
+    *(char2*)buf2360 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2361, *(uint32_t*)buf2362, *(uint32_t*)buf2363);
+    *(char3*)buf2364 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2365, *(uint32_t*)buf2366, *(uint32_t*)buf2367);
+    *(char4*)buf2368 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2369, *(uint32_t*)buf2370, *(uint32_t*)buf2371);
+    *(uchar2*)buf2372 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2373, *(uint32_t*)buf2374, *(uint32_t*)buf2375);
+    *(uchar3*)buf2376 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2377, *(uint32_t*)buf2378, *(uint32_t*)buf2379);
+    *(uchar4*)buf2380 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2381, *(uint32_t*)buf2382, *(uint32_t*)buf2383);
+    *(short2*)buf2384 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2385, *(uint32_t*)buf2386, *(uint32_t*)buf2387);
+    *(short3*)buf2388 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2389, *(uint32_t*)buf2390, *(uint32_t*)buf2391);
+    *(short4*)buf2392 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2393, *(uint32_t*)buf2394, *(uint32_t*)buf2395);
+    *(ushort2*)buf2396 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2397, *(uint32_t*)buf2398, *(uint32_t*)buf2399);
+    *(ushort3*)buf2400 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2401, *(uint32_t*)buf2402, *(uint32_t*)buf2403);
+    *(ushort4*)buf2404 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2405, *(uint32_t*)buf2406, *(uint32_t*)buf2407);
+    *(int2*)buf2408 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2409, *(uint32_t*)buf2410, *(uint32_t*)buf2411);
+    *(int3*)buf2412 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2413, *(uint32_t*)buf2414, *(uint32_t*)buf2415);
+    *(int4*)buf2416 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2417, *(uint32_t*)buf2418, *(uint32_t*)buf2419);
+    *(uint2*)buf2420 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2421, *(uint32_t*)buf2422, *(uint32_t*)buf2423);
+    *(uint3*)buf2424 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2425, *(uint32_t*)buf2426, *(uint32_t*)buf2427);
+    *(uint4*)buf2428 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2429, *(uint32_t*)buf2430, *(uint32_t*)buf2431);
+    *(long2*)buf2432 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2433, *(uint32_t*)buf2434, *(uint32_t*)buf2435);
+    *(long3*)buf2436 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2437, *(uint32_t*)buf2438, *(uint32_t*)buf2439);
+    *(long4*)buf2440 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2441, *(uint32_t*)buf2442, *(uint32_t*)buf2443);
+    *(ulong2*)buf2444 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2445, *(uint32_t*)buf2446, *(uint32_t*)buf2447);
+    *(ulong3*)buf2448 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2449, *(uint32_t*)buf2450, *(uint32_t*)buf2451);
+    *(ulong4*)buf2452 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2453, *(uint32_t*)buf2454, *(uint32_t*)buf2455);
+    *(float2*)buf2456 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2457, *(uint32_t*)buf2458, *(uint32_t*)buf2459, *(uint32_t*)buf2460);
+    *(float3*)buf2461 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2462, *(uint32_t*)buf2463, *(uint32_t*)buf2464, *(uint32_t*)buf2465);
+    *(float4*)buf2466 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2467, *(uint32_t*)buf2468, *(uint32_t*)buf2469, *(uint32_t*)buf2470);
+    *(double2*)buf2471 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2472, *(uint32_t*)buf2473, *(uint32_t*)buf2474, *(uint32_t*)buf2475);
+    *(double3*)buf2476 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2477, *(uint32_t*)buf2478, *(uint32_t*)buf2479, *(uint32_t*)buf2480);
+    *(double4*)buf2481 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2482, *(uint32_t*)buf2483, *(uint32_t*)buf2484, *(uint32_t*)buf2485);
+    *(char2*)buf2486 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2487, *(uint32_t*)buf2488, *(uint32_t*)buf2489, *(uint32_t*)buf2490);
+    *(char3*)buf2491 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2492, *(uint32_t*)buf2493, *(uint32_t*)buf2494, *(uint32_t*)buf2495);
+    *(char4*)buf2496 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2497, *(uint32_t*)buf2498, *(uint32_t*)buf2499, *(uint32_t*)buf2500);
+    *(uchar2*)buf2501 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2502, *(uint32_t*)buf2503, *(uint32_t*)buf2504, *(uint32_t*)buf2505);
+    *(uchar3*)buf2506 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2507, *(uint32_t*)buf2508, *(uint32_t*)buf2509, *(uint32_t*)buf2510);
+    *(uchar4*)buf2511 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2512, *(uint32_t*)buf2513, *(uint32_t*)buf2514, *(uint32_t*)buf2515);
+    *(short2*)buf2516 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2517, *(uint32_t*)buf2518, *(uint32_t*)buf2519, *(uint32_t*)buf2520);
+    *(short3*)buf2521 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2522, *(uint32_t*)buf2523, *(uint32_t*)buf2524, *(uint32_t*)buf2525);
+    *(short4*)buf2526 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2527, *(uint32_t*)buf2528, *(uint32_t*)buf2529, *(uint32_t*)buf2530);
+    *(ushort2*)buf2531 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2532, *(uint32_t*)buf2533, *(uint32_t*)buf2534, *(uint32_t*)buf2535);
+    *(ushort3*)buf2536 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2537, *(uint32_t*)buf2538, *(uint32_t*)buf2539, *(uint32_t*)buf2540);
+    *(ushort4*)buf2541 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2542, *(uint32_t*)buf2543, *(uint32_t*)buf2544, *(uint32_t*)buf2545);
+    *(int2*)buf2546 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2547, *(uint32_t*)buf2548, *(uint32_t*)buf2549, *(uint32_t*)buf2550);
+    *(int3*)buf2551 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2552, *(uint32_t*)buf2553, *(uint32_t*)buf2554, *(uint32_t*)buf2555);
+    *(int4*)buf2556 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2557, *(uint32_t*)buf2558, *(uint32_t*)buf2559, *(uint32_t*)buf2560);
+    *(uint2*)buf2561 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2562, *(uint32_t*)buf2563, *(uint32_t*)buf2564, *(uint32_t*)buf2565);
+    *(uint3*)buf2566 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2567, *(uint32_t*)buf2568, *(uint32_t*)buf2569, *(uint32_t*)buf2570);
+    *(uint4*)buf2571 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2572, *(uint32_t*)buf2573, *(uint32_t*)buf2574, *(uint32_t*)buf2575);
+    *(long2*)buf2576 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2577, *(uint32_t*)buf2578, *(uint32_t*)buf2579, *(uint32_t*)buf2580);
+    *(long3*)buf2581 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2582, *(uint32_t*)buf2583, *(uint32_t*)buf2584, *(uint32_t*)buf2585);
+    *(long4*)buf2586 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2587, *(uint32_t*)buf2588, *(uint32_t*)buf2589, *(uint32_t*)buf2590);
+    *(ulong2*)buf2591 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2592, *(uint32_t*)buf2593, *(uint32_t*)buf2594, *(uint32_t*)buf2595);
+    *(ulong3*)buf2596 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2597, *(uint32_t*)buf2598, *(uint32_t*)buf2599, *(uint32_t*)buf2600);
+    *(ulong4*)buf2601 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2602, *(uint32_t*)buf2603, *(uint32_t*)buf2604, *(uint32_t*)buf2605);
+    rsAllocationVStoreX_float2(*(rs_allocation*)buf2606, *(float2*)buf2607, *(uint32_t*)buf2608);
+    rsAllocationVStoreX_float3(*(rs_allocation*)buf2609, *(float3*)buf2610, *(uint32_t*)buf2611);
+    rsAllocationVStoreX_float4(*(rs_allocation*)buf2612, *(float4*)buf2613, *(uint32_t*)buf2614);
+    rsAllocationVStoreX_double2(*(rs_allocation*)buf2615, *(double2*)buf2616, *(uint32_t*)buf2617);
+    rsAllocationVStoreX_double3(*(rs_allocation*)buf2618, *(double3*)buf2619, *(uint32_t*)buf2620);
+    rsAllocationVStoreX_double4(*(rs_allocation*)buf2621, *(double4*)buf2622, *(uint32_t*)buf2623);
+    rsAllocationVStoreX_char2(*(rs_allocation*)buf2624, *(char2*)buf2625, *(uint32_t*)buf2626);
+    rsAllocationVStoreX_char3(*(rs_allocation*)buf2627, *(char3*)buf2628, *(uint32_t*)buf2629);
+    rsAllocationVStoreX_char4(*(rs_allocation*)buf2630, *(char4*)buf2631, *(uint32_t*)buf2632);
+    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2633, *(uchar2*)buf2634, *(uint32_t*)buf2635);
+    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2636, *(uchar3*)buf2637, *(uint32_t*)buf2638);
+    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2639, *(uchar4*)buf2640, *(uint32_t*)buf2641);
+    rsAllocationVStoreX_short2(*(rs_allocation*)buf2642, *(short2*)buf2643, *(uint32_t*)buf2644);
+    rsAllocationVStoreX_short3(*(rs_allocation*)buf2645, *(short3*)buf2646, *(uint32_t*)buf2647);
+    rsAllocationVStoreX_short4(*(rs_allocation*)buf2648, *(short4*)buf2649, *(uint32_t*)buf2650);
+    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2651, *(ushort2*)buf2652, *(uint32_t*)buf2653);
+    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2654, *(ushort3*)buf2655, *(uint32_t*)buf2656);
+    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2657, *(ushort4*)buf2658, *(uint32_t*)buf2659);
+    rsAllocationVStoreX_int2(*(rs_allocation*)buf2660, *(int2*)buf2661, *(uint32_t*)buf2662);
+    rsAllocationVStoreX_int3(*(rs_allocation*)buf2663, *(int3*)buf2664, *(uint32_t*)buf2665);
+    rsAllocationVStoreX_int4(*(rs_allocation*)buf2666, *(int4*)buf2667, *(uint32_t*)buf2668);
+    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2669, *(uint2*)buf2670, *(uint32_t*)buf2671);
+    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2672, *(uint3*)buf2673, *(uint32_t*)buf2674);
+    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2675, *(uint4*)buf2676, *(uint32_t*)buf2677);
+    rsAllocationVStoreX_long2(*(rs_allocation*)buf2678, *(long2*)buf2679, *(uint32_t*)buf2680);
+    rsAllocationVStoreX_long3(*(rs_allocation*)buf2681, *(long3*)buf2682, *(uint32_t*)buf2683);
+    rsAllocationVStoreX_long4(*(rs_allocation*)buf2684, *(long4*)buf2685, *(uint32_t*)buf2686);
+    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2687, *(ulong2*)buf2688, *(uint32_t*)buf2689);
+    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2690, *(ulong3*)buf2691, *(uint32_t*)buf2692);
+    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2693, *(ulong4*)buf2694, *(uint32_t*)buf2695);
+    rsAllocationVStoreX_float2(*(rs_allocation*)buf2696, *(float2*)buf2697, *(uint32_t*)buf2698, *(uint32_t*)buf2699);
+    rsAllocationVStoreX_float3(*(rs_allocation*)buf2700, *(float3*)buf2701, *(uint32_t*)buf2702, *(uint32_t*)buf2703);
+    rsAllocationVStoreX_float4(*(rs_allocation*)buf2704, *(float4*)buf2705, *(uint32_t*)buf2706, *(uint32_t*)buf2707);
+    rsAllocationVStoreX_double2(*(rs_allocation*)buf2708, *(double2*)buf2709, *(uint32_t*)buf2710, *(uint32_t*)buf2711);
+    rsAllocationVStoreX_double3(*(rs_allocation*)buf2712, *(double3*)buf2713, *(uint32_t*)buf2714, *(uint32_t*)buf2715);
+    rsAllocationVStoreX_double4(*(rs_allocation*)buf2716, *(double4*)buf2717, *(uint32_t*)buf2718, *(uint32_t*)buf2719);
+    rsAllocationVStoreX_char2(*(rs_allocation*)buf2720, *(char2*)buf2721, *(uint32_t*)buf2722, *(uint32_t*)buf2723);
+    rsAllocationVStoreX_char3(*(rs_allocation*)buf2724, *(char3*)buf2725, *(uint32_t*)buf2726, *(uint32_t*)buf2727);
+    rsAllocationVStoreX_char4(*(rs_allocation*)buf2728, *(char4*)buf2729, *(uint32_t*)buf2730, *(uint32_t*)buf2731);
+    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2732, *(uchar2*)buf2733, *(uint32_t*)buf2734, *(uint32_t*)buf2735);
+    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2736, *(uchar3*)buf2737, *(uint32_t*)buf2738, *(uint32_t*)buf2739);
+    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2740, *(uchar4*)buf2741, *(uint32_t*)buf2742, *(uint32_t*)buf2743);
+    rsAllocationVStoreX_short2(*(rs_allocation*)buf2744, *(short2*)buf2745, *(uint32_t*)buf2746, *(uint32_t*)buf2747);
+    rsAllocationVStoreX_short3(*(rs_allocation*)buf2748, *(short3*)buf2749, *(uint32_t*)buf2750, *(uint32_t*)buf2751);
+    rsAllocationVStoreX_short4(*(rs_allocation*)buf2752, *(short4*)buf2753, *(uint32_t*)buf2754, *(uint32_t*)buf2755);
+    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2756, *(ushort2*)buf2757, *(uint32_t*)buf2758, *(uint32_t*)buf2759);
+    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2760, *(ushort3*)buf2761, *(uint32_t*)buf2762, *(uint32_t*)buf2763);
+    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2764, *(ushort4*)buf2765, *(uint32_t*)buf2766, *(uint32_t*)buf2767);
+    rsAllocationVStoreX_int2(*(rs_allocation*)buf2768, *(int2*)buf2769, *(uint32_t*)buf2770, *(uint32_t*)buf2771);
+    rsAllocationVStoreX_int3(*(rs_allocation*)buf2772, *(int3*)buf2773, *(uint32_t*)buf2774, *(uint32_t*)buf2775);
+    rsAllocationVStoreX_int4(*(rs_allocation*)buf2776, *(int4*)buf2777, *(uint32_t*)buf2778, *(uint32_t*)buf2779);
+    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2780, *(uint2*)buf2781, *(uint32_t*)buf2782, *(uint32_t*)buf2783);
+    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2784, *(uint3*)buf2785, *(uint32_t*)buf2786, *(uint32_t*)buf2787);
+    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2788, *(uint4*)buf2789, *(uint32_t*)buf2790, *(uint32_t*)buf2791);
+    rsAllocationVStoreX_long2(*(rs_allocation*)buf2792, *(long2*)buf2793, *(uint32_t*)buf2794, *(uint32_t*)buf2795);
+    rsAllocationVStoreX_long3(*(rs_allocation*)buf2796, *(long3*)buf2797, *(uint32_t*)buf2798, *(uint32_t*)buf2799);
+    rsAllocationVStoreX_long4(*(rs_allocation*)buf2800, *(long4*)buf2801, *(uint32_t*)buf2802, *(uint32_t*)buf2803);
+    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2804, *(ulong2*)buf2805, *(uint32_t*)buf2806, *(uint32_t*)buf2807);
+    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2808, *(ulong3*)buf2809, *(uint32_t*)buf2810, *(uint32_t*)buf2811);
+    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2812, *(ulong4*)buf2813, *(uint32_t*)buf2814, *(uint32_t*)buf2815);
+    rsAllocationVStoreX_float2(*(rs_allocation*)buf2816, *(float2*)buf2817, *(uint32_t*)buf2818, *(uint32_t*)buf2819, *(uint32_t*)buf2820);
+    rsAllocationVStoreX_float3(*(rs_allocation*)buf2821, *(float3*)buf2822, *(uint32_t*)buf2823, *(uint32_t*)buf2824, *(uint32_t*)buf2825);
+    rsAllocationVStoreX_float4(*(rs_allocation*)buf2826, *(float4*)buf2827, *(uint32_t*)buf2828, *(uint32_t*)buf2829, *(uint32_t*)buf2830);
+    rsAllocationVStoreX_double2(*(rs_allocation*)buf2831, *(double2*)buf2832, *(uint32_t*)buf2833, *(uint32_t*)buf2834, *(uint32_t*)buf2835);
+    rsAllocationVStoreX_double3(*(rs_allocation*)buf2836, *(double3*)buf2837, *(uint32_t*)buf2838, *(uint32_t*)buf2839, *(uint32_t*)buf2840);
+    rsAllocationVStoreX_double4(*(rs_allocation*)buf2841, *(double4*)buf2842, *(uint32_t*)buf2843, *(uint32_t*)buf2844, *(uint32_t*)buf2845);
+    rsAllocationVStoreX_char2(*(rs_allocation*)buf2846, *(char2*)buf2847, *(uint32_t*)buf2848, *(uint32_t*)buf2849, *(uint32_t*)buf2850);
+    rsAllocationVStoreX_char3(*(rs_allocation*)buf2851, *(char3*)buf2852, *(uint32_t*)buf2853, *(uint32_t*)buf2854, *(uint32_t*)buf2855);
+    rsAllocationVStoreX_char4(*(rs_allocation*)buf2856, *(char4*)buf2857, *(uint32_t*)buf2858, *(uint32_t*)buf2859, *(uint32_t*)buf2860);
+    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2861, *(uchar2*)buf2862, *(uint32_t*)buf2863, *(uint32_t*)buf2864, *(uint32_t*)buf2865);
+    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2866, *(uchar3*)buf2867, *(uint32_t*)buf2868, *(uint32_t*)buf2869, *(uint32_t*)buf2870);
+    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2871, *(uchar4*)buf2872, *(uint32_t*)buf2873, *(uint32_t*)buf2874, *(uint32_t*)buf2875);
+    rsAllocationVStoreX_short2(*(rs_allocation*)buf2876, *(short2*)buf2877, *(uint32_t*)buf2878, *(uint32_t*)buf2879, *(uint32_t*)buf2880);
+    rsAllocationVStoreX_short3(*(rs_allocation*)buf2881, *(short3*)buf2882, *(uint32_t*)buf2883, *(uint32_t*)buf2884, *(uint32_t*)buf2885);
+    rsAllocationVStoreX_short4(*(rs_allocation*)buf2886, *(short4*)buf2887, *(uint32_t*)buf2888, *(uint32_t*)buf2889, *(uint32_t*)buf2890);
+    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2891, *(ushort2*)buf2892, *(uint32_t*)buf2893, *(uint32_t*)buf2894, *(uint32_t*)buf2895);
+    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2896, *(ushort3*)buf2897, *(uint32_t*)buf2898, *(uint32_t*)buf2899, *(uint32_t*)buf2900);
+    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2901, *(ushort4*)buf2902, *(uint32_t*)buf2903, *(uint32_t*)buf2904, *(uint32_t*)buf2905);
+    rsAllocationVStoreX_int2(*(rs_allocation*)buf2906, *(int2*)buf2907, *(uint32_t*)buf2908, *(uint32_t*)buf2909, *(uint32_t*)buf2910);
+    rsAllocationVStoreX_int3(*(rs_allocation*)buf2911, *(int3*)buf2912, *(uint32_t*)buf2913, *(uint32_t*)buf2914, *(uint32_t*)buf2915);
+    rsAllocationVStoreX_int4(*(rs_allocation*)buf2916, *(int4*)buf2917, *(uint32_t*)buf2918, *(uint32_t*)buf2919, *(uint32_t*)buf2920);
+    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2921, *(uint2*)buf2922, *(uint32_t*)buf2923, *(uint32_t*)buf2924, *(uint32_t*)buf2925);
+    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2926, *(uint3*)buf2927, *(uint32_t*)buf2928, *(uint32_t*)buf2929, *(uint32_t*)buf2930);
+    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2931, *(uint4*)buf2932, *(uint32_t*)buf2933, *(uint32_t*)buf2934, *(uint32_t*)buf2935);
+    rsAllocationVStoreX_long2(*(rs_allocation*)buf2936, *(long2*)buf2937, *(uint32_t*)buf2938, *(uint32_t*)buf2939, *(uint32_t*)buf2940);
+    rsAllocationVStoreX_long3(*(rs_allocation*)buf2941, *(long3*)buf2942, *(uint32_t*)buf2943, *(uint32_t*)buf2944, *(uint32_t*)buf2945);
+    rsAllocationVStoreX_long4(*(rs_allocation*)buf2946, *(long4*)buf2947, *(uint32_t*)buf2948, *(uint32_t*)buf2949, *(uint32_t*)buf2950);
+    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2951, *(ulong2*)buf2952, *(uint32_t*)buf2953, *(uint32_t*)buf2954, *(uint32_t*)buf2955);
+    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2956, *(ulong3*)buf2957, *(uint32_t*)buf2958, *(uint32_t*)buf2959, *(uint32_t*)buf2960);
+    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2961, *(ulong4*)buf2962, *(uint32_t*)buf2963, *(uint32_t*)buf2964, *(uint32_t*)buf2965);
+    *(int32_t*)buf2966 = rsAtomicAdd((volatile int32_t*) buf2967, *(int32_t*)buf2968);
+    *(int32_t*)buf2969 = rsAtomicAdd((volatile uint32_t*) buf2970, *(uint32_t*)buf2971);
+    *(int32_t*)buf2972 = rsAtomicAnd((volatile int32_t*) buf2973, *(int32_t*)buf2974);
+    *(int32_t*)buf2975 = rsAtomicAnd((volatile uint32_t*) buf2976, *(uint32_t*)buf2977);
+    *(int32_t*)buf2978 = rsAtomicCas((volatile int32_t*) buf2979, *(int32_t*)buf2980, *(int32_t*)buf2981);
+    *(uint32_t*)buf2982 = rsAtomicCas((volatile uint32_t*) buf2983, *(uint32_t*)buf2984, *(uint32_t*)buf2985);
+    *(int32_t*)buf2986 = rsAtomicDec((volatile int32_t*) buf2987);
+    *(int32_t*)buf2988 = rsAtomicDec((volatile uint32_t*) buf2989);
+    *(int32_t*)buf2990 = rsAtomicInc((volatile int32_t*) buf2991);
+    *(int32_t*)buf2992 = rsAtomicInc((volatile uint32_t*) buf2993);
+    *(uint32_t*)buf2994 = rsAtomicMax((volatile uint32_t*) buf2995, *(uint32_t*)buf2996);
+    *(int32_t*)buf2997 = rsAtomicMax((volatile int32_t*) buf2998, *(int32_t*)buf2999);
+    *(uint32_t*)buf3000 = rsAtomicMin((volatile uint32_t*) buf3001, *(uint32_t*)buf3002);
+    *(int32_t*)buf3003 = rsAtomicMin((volatile int32_t*) buf3004, *(int32_t*)buf3005);
+    *(int32_t*)buf3006 = rsAtomicOr((volatile int32_t*) buf3007, *(int32_t*)buf3008);
+    *(int32_t*)buf3009 = rsAtomicOr((volatile uint32_t*) buf3010, *(uint32_t*)buf3011);
+    *(int32_t*)buf3012 = rsAtomicSub((volatile int32_t*) buf3013, *(int32_t*)buf3014);
+    *(int32_t*)buf3015 = rsAtomicSub((volatile uint32_t*) buf3016, *(uint32_t*)buf3017);
+    *(int32_t*)buf3018 = rsAtomicXor((volatile int32_t*) buf3019, *(int32_t*)buf3020);
+    *(int32_t*)buf3021 = rsAtomicXor((volatile uint32_t*) buf3022, *(uint32_t*)buf3023);
+    *(char*)buf3024 = rsClamp(*(char*)buf3025, *(char*)buf3026, *(char*)buf3027);
+    *(uchar*)buf3028 = rsClamp(*(uchar*)buf3029, *(uchar*)buf3030, *(uchar*)buf3031);
+    *(short*)buf3032 = rsClamp(*(short*)buf3033, *(short*)buf3034, *(short*)buf3035);
+    *(ushort*)buf3036 = rsClamp(*(ushort*)buf3037, *(ushort*)buf3038, *(ushort*)buf3039);
+    *(int*)buf3040 = rsClamp(*(int*)buf3041, *(int*)buf3042, *(int*)buf3043);
+    *(uint*)buf3044 = rsClamp(*(uint*)buf3045, *(uint*)buf3046, *(uint*)buf3047);
+    rsClearObject((rs_element*) buf3048);
+    rsClearObject((rs_type*) buf3049);
+    rsClearObject((rs_allocation*) buf3050);
+    rsClearObject((rs_sampler*) buf3051);
+    rsClearObject((rs_script*) buf3052);
 #ifndef __LP64__
-    rsClearObject((rs_mesh*) buf3035);
-    rsClearObject((rs_program_fragment*) buf3036);
-    rsClearObject((rs_program_vertex*) buf3037);
-    rsClearObject((rs_program_raster*) buf3038);
-    rsClearObject((rs_program_store*) buf3039);
-    rsClearObject((rs_font*) buf3040);
+    rsClearObject((rs_mesh*) buf3053);
+    rsClearObject((rs_program_fragment*) buf3054);
+    rsClearObject((rs_program_vertex*) buf3055);
+    rsClearObject((rs_program_raster*) buf3056);
+    rsClearObject((rs_program_store*) buf3057);
+    rsClearObject((rs_font*) buf3058);
 #endif
-    rsDebug((const char*) buf3041, *(double*)buf3042);
-    rsDebug((const char*) buf3043, *(int*)buf3044);
-    rsDebug((const char*) buf3045, *(uint*)buf3046);
-    rsDebug((const char*) buf3047, *(long*)buf3048);
-    rsDebug((const char*) buf3049, *(ulong*)buf3050);
-    rsDebug((const char*) buf3051, *(int2*)buf3052);
-    rsDebug((const char*) buf3053, *(int3*)buf3054);
-    rsDebug((const char*) buf3055, *(int4*)buf3056);
-    rsDebug((const char*) buf3057, *(uint2*)buf3058);
-    rsDebug((const char*) buf3059, *(uint3*)buf3060);
-    rsDebug((const char*) buf3061, *(uint4*)buf3062);
-    rsDebug((const char*) buf3063, *(long2*)buf3064);
-    rsDebug((const char*) buf3065, *(long3*)buf3066);
-    rsDebug((const char*) buf3067, *(long4*)buf3068);
-    rsDebug((const char*) buf3069, *(ulong2*)buf3070);
-    rsDebug((const char*) buf3071, *(ulong3*)buf3072);
-    rsDebug((const char*) buf3073, *(ulong4*)buf3074);
-    rsDebug((const char*) buf3075, *(float*)buf3076);
-    rsDebug((const char*) buf3077, *(float2*)buf3078);
-    rsDebug((const char*) buf3079, *(float3*)buf3080);
-    rsDebug((const char*) buf3081, *(float4*)buf3082);
-    rsDebug((const char*) buf3083, *(char*)buf3084);
-    rsDebug((const char*) buf3085, *(char2*)buf3086);
-    rsDebug((const char*) buf3087, *(char3*)buf3088);
-    rsDebug((const char*) buf3089, *(char4*)buf3090);
-    rsDebug((const char*) buf3091, *(uchar*)buf3092);
-    rsDebug((const char*) buf3093, *(uchar2*)buf3094);
-    rsDebug((const char*) buf3095, *(uchar3*)buf3096);
-    rsDebug((const char*) buf3097, *(uchar4*)buf3098);
-    rsDebug((const char*) buf3099, *(short*)buf3100);
-    rsDebug((const char*) buf3101, *(short2*)buf3102);
-    rsDebug((const char*) buf3103, *(short3*)buf3104);
-    rsDebug((const char*) buf3105, *(short4*)buf3106);
-    rsDebug((const char*) buf3107, *(ushort*)buf3108);
-    rsDebug((const char*) buf3109, *(ushort2*)buf3110);
-    rsDebug((const char*) buf3111, *(ushort3*)buf3112);
-    rsDebug((const char*) buf3113, *(ushort4*)buf3114);
-    rsDebug((const char*) buf3115, *(float*)buf3116, *(float*)buf3117);
-    rsDebug((const char*) buf3118, *(float*)buf3119, *(float*)buf3120, *(float*)buf3121);
-    rsDebug((const char*) buf3122, *(float*)buf3123, *(float*)buf3124, *(float*)buf3125, *(float*)buf3126);
-    rsDebug((const char*) buf3127, *(long long*)buf3128);
-    rsDebug((const char*) buf3129, *(unsigned long long*)buf3130);
-    rsDebug((const char*) buf3131, (const void*) buf3132);
-    rsDebug((const char*) buf3133, (const rs_matrix4x4*) buf3134);
-    rsDebug((const char*) buf3135, (const rs_matrix3x3*) buf3136);
-    rsDebug((const char*) buf3137, (const rs_matrix2x2*) buf3138);
-    *(uint32_t*)buf3139 = rsElementGetBytesSize(*(rs_element*)buf3140);
-    *(rs_data_kind*)buf3141 = rsElementGetDataKind(*(rs_element*)buf3142);
-    *(rs_data_type*)buf3143 = rsElementGetDataType(*(rs_element*)buf3144);
-    *(rs_element*)buf3145 = rsElementGetSubElement(*(rs_element*)buf3146, *(uint32_t*)buf3147);
-    *(uint32_t*)buf3148 = rsElementGetSubElementArraySize(*(rs_element*)buf3149, *(uint32_t*)buf3150);
-    *(uint32_t*)buf3151 = rsElementGetSubElementCount(*(rs_element*)buf3152);
-    *(uint32_t*)buf3153 = rsElementGetSubElementName(*(rs_element*)buf3154, *(uint32_t*)buf3155, (char*) buf3156, *(uint32_t*)buf3157);
-    *(uint32_t*)buf3158 = rsElementGetSubElementNameLength(*(rs_element*)buf3159, *(uint32_t*)buf3160);
-    *(uint32_t*)buf3161 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf3162, *(uint32_t*)buf3163);
-    *(uint32_t*)buf3164 = rsElementGetVectorSize(*(rs_element*)buf3165);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf3166, (float4*) buf3167, (float4*) buf3168, (float4*) buf3169, (float4*) buf3170, (float4*) buf3171, (float4*) buf3172);
-    rsForEach(*(rs_script*)buf3173, *(rs_allocation*)buf3174, *(rs_allocation*)buf3175);
-    *(float*)buf3176 = rsFrac(*(float*)buf3177);
-    *(rs_allocation*)buf3178 = rsGetAllocation((const void*) buf3179);
-    *(float*)buf3180 = rsGetDt();
-    *(const void**)buf3181 = rsGetElementAt(*(rs_allocation*)buf3182, *(uint32_t*)buf3183);
-    *(const void**)buf3184 = rsGetElementAt(*(rs_allocation*)buf3185, *(uint32_t*)buf3186, *(uint32_t*)buf3187);
-    *(const void**)buf3188 = rsGetElementAt(*(rs_allocation*)buf3189, *(uint32_t*)buf3190, *(uint32_t*)buf3191, *(uint32_t*)buf3192);
-    *(float*)buf3193 = rsGetElementAt_float(*(rs_allocation*)buf3194, *(uint32_t*)buf3195);
-    *(float2*)buf3196 = rsGetElementAt_float2(*(rs_allocation*)buf3197, *(uint32_t*)buf3198);
-    *(float3*)buf3199 = rsGetElementAt_float3(*(rs_allocation*)buf3200, *(uint32_t*)buf3201);
-    *(float4*)buf3202 = rsGetElementAt_float4(*(rs_allocation*)buf3203, *(uint32_t*)buf3204);
-    *(double*)buf3205 = rsGetElementAt_double(*(rs_allocation*)buf3206, *(uint32_t*)buf3207);
-    *(double2*)buf3208 = rsGetElementAt_double2(*(rs_allocation*)buf3209, *(uint32_t*)buf3210);
-    *(double3*)buf3211 = rsGetElementAt_double3(*(rs_allocation*)buf3212, *(uint32_t*)buf3213);
-    *(double4*)buf3214 = rsGetElementAt_double4(*(rs_allocation*)buf3215, *(uint32_t*)buf3216);
-    *(char*)buf3217 = rsGetElementAt_char(*(rs_allocation*)buf3218, *(uint32_t*)buf3219);
-    *(char2*)buf3220 = rsGetElementAt_char2(*(rs_allocation*)buf3221, *(uint32_t*)buf3222);
-    *(char3*)buf3223 = rsGetElementAt_char3(*(rs_allocation*)buf3224, *(uint32_t*)buf3225);
-    *(char4*)buf3226 = rsGetElementAt_char4(*(rs_allocation*)buf3227, *(uint32_t*)buf3228);
-    *(uchar*)buf3229 = rsGetElementAt_uchar(*(rs_allocation*)buf3230, *(uint32_t*)buf3231);
-    *(uchar2*)buf3232 = rsGetElementAt_uchar2(*(rs_allocation*)buf3233, *(uint32_t*)buf3234);
-    *(uchar3*)buf3235 = rsGetElementAt_uchar3(*(rs_allocation*)buf3236, *(uint32_t*)buf3237);
-    *(uchar4*)buf3238 = rsGetElementAt_uchar4(*(rs_allocation*)buf3239, *(uint32_t*)buf3240);
-    *(short*)buf3241 = rsGetElementAt_short(*(rs_allocation*)buf3242, *(uint32_t*)buf3243);
-    *(short2*)buf3244 = rsGetElementAt_short2(*(rs_allocation*)buf3245, *(uint32_t*)buf3246);
-    *(short3*)buf3247 = rsGetElementAt_short3(*(rs_allocation*)buf3248, *(uint32_t*)buf3249);
-    *(short4*)buf3250 = rsGetElementAt_short4(*(rs_allocation*)buf3251, *(uint32_t*)buf3252);
-    *(ushort*)buf3253 = rsGetElementAt_ushort(*(rs_allocation*)buf3254, *(uint32_t*)buf3255);
-    *(ushort2*)buf3256 = rsGetElementAt_ushort2(*(rs_allocation*)buf3257, *(uint32_t*)buf3258);
-    *(ushort3*)buf3259 = rsGetElementAt_ushort3(*(rs_allocation*)buf3260, *(uint32_t*)buf3261);
-    *(ushort4*)buf3262 = rsGetElementAt_ushort4(*(rs_allocation*)buf3263, *(uint32_t*)buf3264);
-    *(int*)buf3265 = rsGetElementAt_int(*(rs_allocation*)buf3266, *(uint32_t*)buf3267);
-    *(int2*)buf3268 = rsGetElementAt_int2(*(rs_allocation*)buf3269, *(uint32_t*)buf3270);
-    *(int3*)buf3271 = rsGetElementAt_int3(*(rs_allocation*)buf3272, *(uint32_t*)buf3273);
-    *(int4*)buf3274 = rsGetElementAt_int4(*(rs_allocation*)buf3275, *(uint32_t*)buf3276);
-    *(uint*)buf3277 = rsGetElementAt_uint(*(rs_allocation*)buf3278, *(uint32_t*)buf3279);
-    *(uint2*)buf3280 = rsGetElementAt_uint2(*(rs_allocation*)buf3281, *(uint32_t*)buf3282);
-    *(uint3*)buf3283 = rsGetElementAt_uint3(*(rs_allocation*)buf3284, *(uint32_t*)buf3285);
-    *(uint4*)buf3286 = rsGetElementAt_uint4(*(rs_allocation*)buf3287, *(uint32_t*)buf3288);
-    *(long*)buf3289 = rsGetElementAt_long(*(rs_allocation*)buf3290, *(uint32_t*)buf3291);
-    *(long2*)buf3292 = rsGetElementAt_long2(*(rs_allocation*)buf3293, *(uint32_t*)buf3294);
-    *(long3*)buf3295 = rsGetElementAt_long3(*(rs_allocation*)buf3296, *(uint32_t*)buf3297);
-    *(long4*)buf3298 = rsGetElementAt_long4(*(rs_allocation*)buf3299, *(uint32_t*)buf3300);
-    *(ulong*)buf3301 = rsGetElementAt_ulong(*(rs_allocation*)buf3302, *(uint32_t*)buf3303);
-    *(ulong2*)buf3304 = rsGetElementAt_ulong2(*(rs_allocation*)buf3305, *(uint32_t*)buf3306);
-    *(ulong3*)buf3307 = rsGetElementAt_ulong3(*(rs_allocation*)buf3308, *(uint32_t*)buf3309);
-    *(ulong4*)buf3310 = rsGetElementAt_ulong4(*(rs_allocation*)buf3311, *(uint32_t*)buf3312);
-    *(float*)buf3313 = rsGetElementAt_float(*(rs_allocation*)buf3314, *(uint32_t*)buf3315, *(uint32_t*)buf3316);
-    *(float2*)buf3317 = rsGetElementAt_float2(*(rs_allocation*)buf3318, *(uint32_t*)buf3319, *(uint32_t*)buf3320);
-    *(float3*)buf3321 = rsGetElementAt_float3(*(rs_allocation*)buf3322, *(uint32_t*)buf3323, *(uint32_t*)buf3324);
-    *(float4*)buf3325 = rsGetElementAt_float4(*(rs_allocation*)buf3326, *(uint32_t*)buf3327, *(uint32_t*)buf3328);
-    *(double*)buf3329 = rsGetElementAt_double(*(rs_allocation*)buf3330, *(uint32_t*)buf3331, *(uint32_t*)buf3332);
-    *(double2*)buf3333 = rsGetElementAt_double2(*(rs_allocation*)buf3334, *(uint32_t*)buf3335, *(uint32_t*)buf3336);
-    *(double3*)buf3337 = rsGetElementAt_double3(*(rs_allocation*)buf3338, *(uint32_t*)buf3339, *(uint32_t*)buf3340);
-    *(double4*)buf3341 = rsGetElementAt_double4(*(rs_allocation*)buf3342, *(uint32_t*)buf3343, *(uint32_t*)buf3344);
-    *(char*)buf3345 = rsGetElementAt_char(*(rs_allocation*)buf3346, *(uint32_t*)buf3347, *(uint32_t*)buf3348);
-    *(char2*)buf3349 = rsGetElementAt_char2(*(rs_allocation*)buf3350, *(uint32_t*)buf3351, *(uint32_t*)buf3352);
-    *(char3*)buf3353 = rsGetElementAt_char3(*(rs_allocation*)buf3354, *(uint32_t*)buf3355, *(uint32_t*)buf3356);
-    *(char4*)buf3357 = rsGetElementAt_char4(*(rs_allocation*)buf3358, *(uint32_t*)buf3359, *(uint32_t*)buf3360);
-    *(uchar*)buf3361 = rsGetElementAt_uchar(*(rs_allocation*)buf3362, *(uint32_t*)buf3363, *(uint32_t*)buf3364);
-    *(uchar2*)buf3365 = rsGetElementAt_uchar2(*(rs_allocation*)buf3366, *(uint32_t*)buf3367, *(uint32_t*)buf3368);
-    *(uchar3*)buf3369 = rsGetElementAt_uchar3(*(rs_allocation*)buf3370, *(uint32_t*)buf3371, *(uint32_t*)buf3372);
-    *(uchar4*)buf3373 = rsGetElementAt_uchar4(*(rs_allocation*)buf3374, *(uint32_t*)buf3375, *(uint32_t*)buf3376);
-    *(short*)buf3377 = rsGetElementAt_short(*(rs_allocation*)buf3378, *(uint32_t*)buf3379, *(uint32_t*)buf3380);
-    *(short2*)buf3381 = rsGetElementAt_short2(*(rs_allocation*)buf3382, *(uint32_t*)buf3383, *(uint32_t*)buf3384);
-    *(short3*)buf3385 = rsGetElementAt_short3(*(rs_allocation*)buf3386, *(uint32_t*)buf3387, *(uint32_t*)buf3388);
-    *(short4*)buf3389 = rsGetElementAt_short4(*(rs_allocation*)buf3390, *(uint32_t*)buf3391, *(uint32_t*)buf3392);
-    *(ushort*)buf3393 = rsGetElementAt_ushort(*(rs_allocation*)buf3394, *(uint32_t*)buf3395, *(uint32_t*)buf3396);
-    *(ushort2*)buf3397 = rsGetElementAt_ushort2(*(rs_allocation*)buf3398, *(uint32_t*)buf3399, *(uint32_t*)buf3400);
-    *(ushort3*)buf3401 = rsGetElementAt_ushort3(*(rs_allocation*)buf3402, *(uint32_t*)buf3403, *(uint32_t*)buf3404);
-    *(ushort4*)buf3405 = rsGetElementAt_ushort4(*(rs_allocation*)buf3406, *(uint32_t*)buf3407, *(uint32_t*)buf3408);
-    *(int*)buf3409 = rsGetElementAt_int(*(rs_allocation*)buf3410, *(uint32_t*)buf3411, *(uint32_t*)buf3412);
-    *(int2*)buf3413 = rsGetElementAt_int2(*(rs_allocation*)buf3414, *(uint32_t*)buf3415, *(uint32_t*)buf3416);
-    *(int3*)buf3417 = rsGetElementAt_int3(*(rs_allocation*)buf3418, *(uint32_t*)buf3419, *(uint32_t*)buf3420);
-    *(int4*)buf3421 = rsGetElementAt_int4(*(rs_allocation*)buf3422, *(uint32_t*)buf3423, *(uint32_t*)buf3424);
-    *(uint*)buf3425 = rsGetElementAt_uint(*(rs_allocation*)buf3426, *(uint32_t*)buf3427, *(uint32_t*)buf3428);
-    *(uint2*)buf3429 = rsGetElementAt_uint2(*(rs_allocation*)buf3430, *(uint32_t*)buf3431, *(uint32_t*)buf3432);
-    *(uint3*)buf3433 = rsGetElementAt_uint3(*(rs_allocation*)buf3434, *(uint32_t*)buf3435, *(uint32_t*)buf3436);
-    *(uint4*)buf3437 = rsGetElementAt_uint4(*(rs_allocation*)buf3438, *(uint32_t*)buf3439, *(uint32_t*)buf3440);
-    *(long*)buf3441 = rsGetElementAt_long(*(rs_allocation*)buf3442, *(uint32_t*)buf3443, *(uint32_t*)buf3444);
-    *(long2*)buf3445 = rsGetElementAt_long2(*(rs_allocation*)buf3446, *(uint32_t*)buf3447, *(uint32_t*)buf3448);
-    *(long3*)buf3449 = rsGetElementAt_long3(*(rs_allocation*)buf3450, *(uint32_t*)buf3451, *(uint32_t*)buf3452);
-    *(long4*)buf3453 = rsGetElementAt_long4(*(rs_allocation*)buf3454, *(uint32_t*)buf3455, *(uint32_t*)buf3456);
-    *(ulong*)buf3457 = rsGetElementAt_ulong(*(rs_allocation*)buf3458, *(uint32_t*)buf3459, *(uint32_t*)buf3460);
-    *(ulong2*)buf3461 = rsGetElementAt_ulong2(*(rs_allocation*)buf3462, *(uint32_t*)buf3463, *(uint32_t*)buf3464);
-    *(ulong3*)buf3465 = rsGetElementAt_ulong3(*(rs_allocation*)buf3466, *(uint32_t*)buf3467, *(uint32_t*)buf3468);
-    *(ulong4*)buf3469 = rsGetElementAt_ulong4(*(rs_allocation*)buf3470, *(uint32_t*)buf3471, *(uint32_t*)buf3472);
-    *(float*)buf3473 = rsGetElementAt_float(*(rs_allocation*)buf3474, *(uint32_t*)buf3475, *(uint32_t*)buf3476, *(uint32_t*)buf3477);
-    *(float2*)buf3478 = rsGetElementAt_float2(*(rs_allocation*)buf3479, *(uint32_t*)buf3480, *(uint32_t*)buf3481, *(uint32_t*)buf3482);
-    *(float3*)buf3483 = rsGetElementAt_float3(*(rs_allocation*)buf3484, *(uint32_t*)buf3485, *(uint32_t*)buf3486, *(uint32_t*)buf3487);
-    *(float4*)buf3488 = rsGetElementAt_float4(*(rs_allocation*)buf3489, *(uint32_t*)buf3490, *(uint32_t*)buf3491, *(uint32_t*)buf3492);
-    *(double*)buf3493 = rsGetElementAt_double(*(rs_allocation*)buf3494, *(uint32_t*)buf3495, *(uint32_t*)buf3496, *(uint32_t*)buf3497);
-    *(double2*)buf3498 = rsGetElementAt_double2(*(rs_allocation*)buf3499, *(uint32_t*)buf3500, *(uint32_t*)buf3501, *(uint32_t*)buf3502);
-    *(double3*)buf3503 = rsGetElementAt_double3(*(rs_allocation*)buf3504, *(uint32_t*)buf3505, *(uint32_t*)buf3506, *(uint32_t*)buf3507);
-    *(double4*)buf3508 = rsGetElementAt_double4(*(rs_allocation*)buf3509, *(uint32_t*)buf3510, *(uint32_t*)buf3511, *(uint32_t*)buf3512);
-    *(char*)buf3513 = rsGetElementAt_char(*(rs_allocation*)buf3514, *(uint32_t*)buf3515, *(uint32_t*)buf3516, *(uint32_t*)buf3517);
-    *(char2*)buf3518 = rsGetElementAt_char2(*(rs_allocation*)buf3519, *(uint32_t*)buf3520, *(uint32_t*)buf3521, *(uint32_t*)buf3522);
-    *(char3*)buf3523 = rsGetElementAt_char3(*(rs_allocation*)buf3524, *(uint32_t*)buf3525, *(uint32_t*)buf3526, *(uint32_t*)buf3527);
-    *(char4*)buf3528 = rsGetElementAt_char4(*(rs_allocation*)buf3529, *(uint32_t*)buf3530, *(uint32_t*)buf3531, *(uint32_t*)buf3532);
-    *(uchar*)buf3533 = rsGetElementAt_uchar(*(rs_allocation*)buf3534, *(uint32_t*)buf3535, *(uint32_t*)buf3536, *(uint32_t*)buf3537);
-    *(uchar2*)buf3538 = rsGetElementAt_uchar2(*(rs_allocation*)buf3539, *(uint32_t*)buf3540, *(uint32_t*)buf3541, *(uint32_t*)buf3542);
-    *(uchar3*)buf3543 = rsGetElementAt_uchar3(*(rs_allocation*)buf3544, *(uint32_t*)buf3545, *(uint32_t*)buf3546, *(uint32_t*)buf3547);
-    *(uchar4*)buf3548 = rsGetElementAt_uchar4(*(rs_allocation*)buf3549, *(uint32_t*)buf3550, *(uint32_t*)buf3551, *(uint32_t*)buf3552);
-    *(short*)buf3553 = rsGetElementAt_short(*(rs_allocation*)buf3554, *(uint32_t*)buf3555, *(uint32_t*)buf3556, *(uint32_t*)buf3557);
-    *(short2*)buf3558 = rsGetElementAt_short2(*(rs_allocation*)buf3559, *(uint32_t*)buf3560, *(uint32_t*)buf3561, *(uint32_t*)buf3562);
-    *(short3*)buf3563 = rsGetElementAt_short3(*(rs_allocation*)buf3564, *(uint32_t*)buf3565, *(uint32_t*)buf3566, *(uint32_t*)buf3567);
-    *(short4*)buf3568 = rsGetElementAt_short4(*(rs_allocation*)buf3569, *(uint32_t*)buf3570, *(uint32_t*)buf3571, *(uint32_t*)buf3572);
-    *(ushort*)buf3573 = rsGetElementAt_ushort(*(rs_allocation*)buf3574, *(uint32_t*)buf3575, *(uint32_t*)buf3576, *(uint32_t*)buf3577);
-    *(ushort2*)buf3578 = rsGetElementAt_ushort2(*(rs_allocation*)buf3579, *(uint32_t*)buf3580, *(uint32_t*)buf3581, *(uint32_t*)buf3582);
-    *(ushort3*)buf3583 = rsGetElementAt_ushort3(*(rs_allocation*)buf3584, *(uint32_t*)buf3585, *(uint32_t*)buf3586, *(uint32_t*)buf3587);
-    *(ushort4*)buf3588 = rsGetElementAt_ushort4(*(rs_allocation*)buf3589, *(uint32_t*)buf3590, *(uint32_t*)buf3591, *(uint32_t*)buf3592);
-    *(int*)buf3593 = rsGetElementAt_int(*(rs_allocation*)buf3594, *(uint32_t*)buf3595, *(uint32_t*)buf3596, *(uint32_t*)buf3597);
-    *(int2*)buf3598 = rsGetElementAt_int2(*(rs_allocation*)buf3599, *(uint32_t*)buf3600, *(uint32_t*)buf3601, *(uint32_t*)buf3602);
-    *(int3*)buf3603 = rsGetElementAt_int3(*(rs_allocation*)buf3604, *(uint32_t*)buf3605, *(uint32_t*)buf3606, *(uint32_t*)buf3607);
-    *(int4*)buf3608 = rsGetElementAt_int4(*(rs_allocation*)buf3609, *(uint32_t*)buf3610, *(uint32_t*)buf3611, *(uint32_t*)buf3612);
-    *(uint*)buf3613 = rsGetElementAt_uint(*(rs_allocation*)buf3614, *(uint32_t*)buf3615, *(uint32_t*)buf3616, *(uint32_t*)buf3617);
-    *(uint2*)buf3618 = rsGetElementAt_uint2(*(rs_allocation*)buf3619, *(uint32_t*)buf3620, *(uint32_t*)buf3621, *(uint32_t*)buf3622);
-    *(uint3*)buf3623 = rsGetElementAt_uint3(*(rs_allocation*)buf3624, *(uint32_t*)buf3625, *(uint32_t*)buf3626, *(uint32_t*)buf3627);
-    *(uint4*)buf3628 = rsGetElementAt_uint4(*(rs_allocation*)buf3629, *(uint32_t*)buf3630, *(uint32_t*)buf3631, *(uint32_t*)buf3632);
-    *(long*)buf3633 = rsGetElementAt_long(*(rs_allocation*)buf3634, *(uint32_t*)buf3635, *(uint32_t*)buf3636, *(uint32_t*)buf3637);
-    *(long2*)buf3638 = rsGetElementAt_long2(*(rs_allocation*)buf3639, *(uint32_t*)buf3640, *(uint32_t*)buf3641, *(uint32_t*)buf3642);
-    *(long3*)buf3643 = rsGetElementAt_long3(*(rs_allocation*)buf3644, *(uint32_t*)buf3645, *(uint32_t*)buf3646, *(uint32_t*)buf3647);
-    *(long4*)buf3648 = rsGetElementAt_long4(*(rs_allocation*)buf3649, *(uint32_t*)buf3650, *(uint32_t*)buf3651, *(uint32_t*)buf3652);
-    *(ulong*)buf3653 = rsGetElementAt_ulong(*(rs_allocation*)buf3654, *(uint32_t*)buf3655, *(uint32_t*)buf3656, *(uint32_t*)buf3657);
-    *(ulong2*)buf3658 = rsGetElementAt_ulong2(*(rs_allocation*)buf3659, *(uint32_t*)buf3660, *(uint32_t*)buf3661, *(uint32_t*)buf3662);
-    *(ulong3*)buf3663 = rsGetElementAt_ulong3(*(rs_allocation*)buf3664, *(uint32_t*)buf3665, *(uint32_t*)buf3666, *(uint32_t*)buf3667);
-    *(ulong4*)buf3668 = rsGetElementAt_ulong4(*(rs_allocation*)buf3669, *(uint32_t*)buf3670, *(uint32_t*)buf3671, *(uint32_t*)buf3672);
-    *(uchar*)buf3673 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf3674, *(uint32_t*)buf3675, *(uint32_t*)buf3676);
-    *(uchar*)buf3677 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf3678, *(uint32_t*)buf3679, *(uint32_t*)buf3680);
-    *(uchar*)buf3681 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf3682, *(uint32_t*)buf3683, *(uint32_t*)buf3684);
-    *(bool*)buf3685 = rsIsObject(*(rs_element*)buf3686);
-    *(bool*)buf3687 = rsIsObject(*(rs_type*)buf3688);
-    *(bool*)buf3689 = rsIsObject(*(rs_allocation*)buf3690);
-    *(bool*)buf3691 = rsIsObject(*(rs_sampler*)buf3692);
-    *(bool*)buf3693 = rsIsObject(*(rs_script*)buf3694);
+    rsDebug((const char*) buf3059, *(double*)buf3060);
+    rsDebug((const char*) buf3061, *(int*)buf3062);
+    rsDebug((const char*) buf3063, *(uint*)buf3064);
+    rsDebug((const char*) buf3065, *(long*)buf3066);
+    rsDebug((const char*) buf3067, *(ulong*)buf3068);
+    rsDebug((const char*) buf3069, *(int2*)buf3070);
+    rsDebug((const char*) buf3071, *(int3*)buf3072);
+    rsDebug((const char*) buf3073, *(int4*)buf3074);
+    rsDebug((const char*) buf3075, *(uint2*)buf3076);
+    rsDebug((const char*) buf3077, *(uint3*)buf3078);
+    rsDebug((const char*) buf3079, *(uint4*)buf3080);
+    rsDebug((const char*) buf3081, *(long2*)buf3082);
+    rsDebug((const char*) buf3083, *(long3*)buf3084);
+    rsDebug((const char*) buf3085, *(long4*)buf3086);
+    rsDebug((const char*) buf3087, *(ulong2*)buf3088);
+    rsDebug((const char*) buf3089, *(ulong3*)buf3090);
+    rsDebug((const char*) buf3091, *(ulong4*)buf3092);
+    rsDebug((const char*) buf3093, *(float*)buf3094);
+    rsDebug((const char*) buf3095, *(float2*)buf3096);
+    rsDebug((const char*) buf3097, *(float3*)buf3098);
+    rsDebug((const char*) buf3099, *(float4*)buf3100);
+    rsDebug((const char*) buf3101, *(char*)buf3102);
+    rsDebug((const char*) buf3103, *(char2*)buf3104);
+    rsDebug((const char*) buf3105, *(char3*)buf3106);
+    rsDebug((const char*) buf3107, *(char4*)buf3108);
+    rsDebug((const char*) buf3109, *(uchar*)buf3110);
+    rsDebug((const char*) buf3111, *(uchar2*)buf3112);
+    rsDebug((const char*) buf3113, *(uchar3*)buf3114);
+    rsDebug((const char*) buf3115, *(uchar4*)buf3116);
+    rsDebug((const char*) buf3117, *(short*)buf3118);
+    rsDebug((const char*) buf3119, *(short2*)buf3120);
+    rsDebug((const char*) buf3121, *(short3*)buf3122);
+    rsDebug((const char*) buf3123, *(short4*)buf3124);
+    rsDebug((const char*) buf3125, *(ushort*)buf3126);
+    rsDebug((const char*) buf3127, *(ushort2*)buf3128);
+    rsDebug((const char*) buf3129, *(ushort3*)buf3130);
+    rsDebug((const char*) buf3131, *(ushort4*)buf3132);
+    rsDebug((const char*) buf3133, *(float*)buf3134, *(float*)buf3135);
+    rsDebug((const char*) buf3136, *(float*)buf3137, *(float*)buf3138, *(float*)buf3139);
+    rsDebug((const char*) buf3140, *(float*)buf3141, *(float*)buf3142, *(float*)buf3143, *(float*)buf3144);
+    rsDebug((const char*) buf3145, *(long long*)buf3146);
+    rsDebug((const char*) buf3147, *(unsigned long long*)buf3148);
+    rsDebug((const char*) buf3149, (const void*) buf3150);
+    rsDebug((const char*) buf3151, (const rs_matrix4x4*) buf3152);
+    rsDebug((const char*) buf3153, (const rs_matrix3x3*) buf3154);
+    rsDebug((const char*) buf3155, (const rs_matrix2x2*) buf3156);
+    *(uint32_t*)buf3157 = rsElementGetBytesSize(*(rs_element*)buf3158);
+    *(rs_data_kind*)buf3159 = rsElementGetDataKind(*(rs_element*)buf3160);
+    *(rs_data_type*)buf3161 = rsElementGetDataType(*(rs_element*)buf3162);
+    *(rs_element*)buf3163 = rsElementGetSubElement(*(rs_element*)buf3164, *(uint32_t*)buf3165);
+    *(uint32_t*)buf3166 = rsElementGetSubElementArraySize(*(rs_element*)buf3167, *(uint32_t*)buf3168);
+    *(uint32_t*)buf3169 = rsElementGetSubElementCount(*(rs_element*)buf3170);
+    *(uint32_t*)buf3171 = rsElementGetSubElementName(*(rs_element*)buf3172, *(uint32_t*)buf3173, (char*) buf3174, *(uint32_t*)buf3175);
+    *(uint32_t*)buf3176 = rsElementGetSubElementNameLength(*(rs_element*)buf3177, *(uint32_t*)buf3178);
+    *(uint32_t*)buf3179 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf3180, *(uint32_t*)buf3181);
+    *(uint32_t*)buf3182 = rsElementGetVectorSize(*(rs_element*)buf3183);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf3184, (float4*) buf3185, (float4*) buf3186, (float4*) buf3187, (float4*) buf3188, (float4*) buf3189, (float4*) buf3190);
+    rsForEach(*(rs_script*)buf3191, *(rs_allocation*)buf3192, *(rs_allocation*)buf3193);
+    *(float*)buf3194 = rsFrac(*(float*)buf3195);
+    *(rs_allocation*)buf3196 = rsGetAllocation((const void*) buf3197);
+    *(float*)buf3198 = rsGetDt();
+    *(const void**)buf3199 = rsGetElementAt(*(rs_allocation*)buf3200, *(uint32_t*)buf3201);
+    *(const void**)buf3202 = rsGetElementAt(*(rs_allocation*)buf3203, *(uint32_t*)buf3204, *(uint32_t*)buf3205);
+    *(const void**)buf3206 = rsGetElementAt(*(rs_allocation*)buf3207, *(uint32_t*)buf3208, *(uint32_t*)buf3209, *(uint32_t*)buf3210);
+    *(float*)buf3211 = rsGetElementAt_float(*(rs_allocation*)buf3212, *(uint32_t*)buf3213);
+    *(float2*)buf3214 = rsGetElementAt_float2(*(rs_allocation*)buf3215, *(uint32_t*)buf3216);
+    *(float3*)buf3217 = rsGetElementAt_float3(*(rs_allocation*)buf3218, *(uint32_t*)buf3219);
+    *(float4*)buf3220 = rsGetElementAt_float4(*(rs_allocation*)buf3221, *(uint32_t*)buf3222);
+    *(double*)buf3223 = rsGetElementAt_double(*(rs_allocation*)buf3224, *(uint32_t*)buf3225);
+    *(double2*)buf3226 = rsGetElementAt_double2(*(rs_allocation*)buf3227, *(uint32_t*)buf3228);
+    *(double3*)buf3229 = rsGetElementAt_double3(*(rs_allocation*)buf3230, *(uint32_t*)buf3231);
+    *(double4*)buf3232 = rsGetElementAt_double4(*(rs_allocation*)buf3233, *(uint32_t*)buf3234);
+    *(char*)buf3235 = rsGetElementAt_char(*(rs_allocation*)buf3236, *(uint32_t*)buf3237);
+    *(char2*)buf3238 = rsGetElementAt_char2(*(rs_allocation*)buf3239, *(uint32_t*)buf3240);
+    *(char3*)buf3241 = rsGetElementAt_char3(*(rs_allocation*)buf3242, *(uint32_t*)buf3243);
+    *(char4*)buf3244 = rsGetElementAt_char4(*(rs_allocation*)buf3245, *(uint32_t*)buf3246);
+    *(uchar*)buf3247 = rsGetElementAt_uchar(*(rs_allocation*)buf3248, *(uint32_t*)buf3249);
+    *(uchar2*)buf3250 = rsGetElementAt_uchar2(*(rs_allocation*)buf3251, *(uint32_t*)buf3252);
+    *(uchar3*)buf3253 = rsGetElementAt_uchar3(*(rs_allocation*)buf3254, *(uint32_t*)buf3255);
+    *(uchar4*)buf3256 = rsGetElementAt_uchar4(*(rs_allocation*)buf3257, *(uint32_t*)buf3258);
+    *(short*)buf3259 = rsGetElementAt_short(*(rs_allocation*)buf3260, *(uint32_t*)buf3261);
+    *(short2*)buf3262 = rsGetElementAt_short2(*(rs_allocation*)buf3263, *(uint32_t*)buf3264);
+    *(short3*)buf3265 = rsGetElementAt_short3(*(rs_allocation*)buf3266, *(uint32_t*)buf3267);
+    *(short4*)buf3268 = rsGetElementAt_short4(*(rs_allocation*)buf3269, *(uint32_t*)buf3270);
+    *(ushort*)buf3271 = rsGetElementAt_ushort(*(rs_allocation*)buf3272, *(uint32_t*)buf3273);
+    *(ushort2*)buf3274 = rsGetElementAt_ushort2(*(rs_allocation*)buf3275, *(uint32_t*)buf3276);
+    *(ushort3*)buf3277 = rsGetElementAt_ushort3(*(rs_allocation*)buf3278, *(uint32_t*)buf3279);
+    *(ushort4*)buf3280 = rsGetElementAt_ushort4(*(rs_allocation*)buf3281, *(uint32_t*)buf3282);
+    *(int*)buf3283 = rsGetElementAt_int(*(rs_allocation*)buf3284, *(uint32_t*)buf3285);
+    *(int2*)buf3286 = rsGetElementAt_int2(*(rs_allocation*)buf3287, *(uint32_t*)buf3288);
+    *(int3*)buf3289 = rsGetElementAt_int3(*(rs_allocation*)buf3290, *(uint32_t*)buf3291);
+    *(int4*)buf3292 = rsGetElementAt_int4(*(rs_allocation*)buf3293, *(uint32_t*)buf3294);
+    *(uint*)buf3295 = rsGetElementAt_uint(*(rs_allocation*)buf3296, *(uint32_t*)buf3297);
+    *(uint2*)buf3298 = rsGetElementAt_uint2(*(rs_allocation*)buf3299, *(uint32_t*)buf3300);
+    *(uint3*)buf3301 = rsGetElementAt_uint3(*(rs_allocation*)buf3302, *(uint32_t*)buf3303);
+    *(uint4*)buf3304 = rsGetElementAt_uint4(*(rs_allocation*)buf3305, *(uint32_t*)buf3306);
+    *(long*)buf3307 = rsGetElementAt_long(*(rs_allocation*)buf3308, *(uint32_t*)buf3309);
+    *(long2*)buf3310 = rsGetElementAt_long2(*(rs_allocation*)buf3311, *(uint32_t*)buf3312);
+    *(long3*)buf3313 = rsGetElementAt_long3(*(rs_allocation*)buf3314, *(uint32_t*)buf3315);
+    *(long4*)buf3316 = rsGetElementAt_long4(*(rs_allocation*)buf3317, *(uint32_t*)buf3318);
+    *(ulong*)buf3319 = rsGetElementAt_ulong(*(rs_allocation*)buf3320, *(uint32_t*)buf3321);
+    *(ulong2*)buf3322 = rsGetElementAt_ulong2(*(rs_allocation*)buf3323, *(uint32_t*)buf3324);
+    *(ulong3*)buf3325 = rsGetElementAt_ulong3(*(rs_allocation*)buf3326, *(uint32_t*)buf3327);
+    *(ulong4*)buf3328 = rsGetElementAt_ulong4(*(rs_allocation*)buf3329, *(uint32_t*)buf3330);
+    *(float*)buf3331 = rsGetElementAt_float(*(rs_allocation*)buf3332, *(uint32_t*)buf3333, *(uint32_t*)buf3334);
+    *(float2*)buf3335 = rsGetElementAt_float2(*(rs_allocation*)buf3336, *(uint32_t*)buf3337, *(uint32_t*)buf3338);
+    *(float3*)buf3339 = rsGetElementAt_float3(*(rs_allocation*)buf3340, *(uint32_t*)buf3341, *(uint32_t*)buf3342);
+    *(float4*)buf3343 = rsGetElementAt_float4(*(rs_allocation*)buf3344, *(uint32_t*)buf3345, *(uint32_t*)buf3346);
+    *(double*)buf3347 = rsGetElementAt_double(*(rs_allocation*)buf3348, *(uint32_t*)buf3349, *(uint32_t*)buf3350);
+    *(double2*)buf3351 = rsGetElementAt_double2(*(rs_allocation*)buf3352, *(uint32_t*)buf3353, *(uint32_t*)buf3354);
+    *(double3*)buf3355 = rsGetElementAt_double3(*(rs_allocation*)buf3356, *(uint32_t*)buf3357, *(uint32_t*)buf3358);
+    *(double4*)buf3359 = rsGetElementAt_double4(*(rs_allocation*)buf3360, *(uint32_t*)buf3361, *(uint32_t*)buf3362);
+    *(char*)buf3363 = rsGetElementAt_char(*(rs_allocation*)buf3364, *(uint32_t*)buf3365, *(uint32_t*)buf3366);
+    *(char2*)buf3367 = rsGetElementAt_char2(*(rs_allocation*)buf3368, *(uint32_t*)buf3369, *(uint32_t*)buf3370);
+    *(char3*)buf3371 = rsGetElementAt_char3(*(rs_allocation*)buf3372, *(uint32_t*)buf3373, *(uint32_t*)buf3374);
+    *(char4*)buf3375 = rsGetElementAt_char4(*(rs_allocation*)buf3376, *(uint32_t*)buf3377, *(uint32_t*)buf3378);
+    *(uchar*)buf3379 = rsGetElementAt_uchar(*(rs_allocation*)buf3380, *(uint32_t*)buf3381, *(uint32_t*)buf3382);
+    *(uchar2*)buf3383 = rsGetElementAt_uchar2(*(rs_allocation*)buf3384, *(uint32_t*)buf3385, *(uint32_t*)buf3386);
+    *(uchar3*)buf3387 = rsGetElementAt_uchar3(*(rs_allocation*)buf3388, *(uint32_t*)buf3389, *(uint32_t*)buf3390);
+    *(uchar4*)buf3391 = rsGetElementAt_uchar4(*(rs_allocation*)buf3392, *(uint32_t*)buf3393, *(uint32_t*)buf3394);
+    *(short*)buf3395 = rsGetElementAt_short(*(rs_allocation*)buf3396, *(uint32_t*)buf3397, *(uint32_t*)buf3398);
+    *(short2*)buf3399 = rsGetElementAt_short2(*(rs_allocation*)buf3400, *(uint32_t*)buf3401, *(uint32_t*)buf3402);
+    *(short3*)buf3403 = rsGetElementAt_short3(*(rs_allocation*)buf3404, *(uint32_t*)buf3405, *(uint32_t*)buf3406);
+    *(short4*)buf3407 = rsGetElementAt_short4(*(rs_allocation*)buf3408, *(uint32_t*)buf3409, *(uint32_t*)buf3410);
+    *(ushort*)buf3411 = rsGetElementAt_ushort(*(rs_allocation*)buf3412, *(uint32_t*)buf3413, *(uint32_t*)buf3414);
+    *(ushort2*)buf3415 = rsGetElementAt_ushort2(*(rs_allocation*)buf3416, *(uint32_t*)buf3417, *(uint32_t*)buf3418);
+    *(ushort3*)buf3419 = rsGetElementAt_ushort3(*(rs_allocation*)buf3420, *(uint32_t*)buf3421, *(uint32_t*)buf3422);
+    *(ushort4*)buf3423 = rsGetElementAt_ushort4(*(rs_allocation*)buf3424, *(uint32_t*)buf3425, *(uint32_t*)buf3426);
+    *(int*)buf3427 = rsGetElementAt_int(*(rs_allocation*)buf3428, *(uint32_t*)buf3429, *(uint32_t*)buf3430);
+    *(int2*)buf3431 = rsGetElementAt_int2(*(rs_allocation*)buf3432, *(uint32_t*)buf3433, *(uint32_t*)buf3434);
+    *(int3*)buf3435 = rsGetElementAt_int3(*(rs_allocation*)buf3436, *(uint32_t*)buf3437, *(uint32_t*)buf3438);
+    *(int4*)buf3439 = rsGetElementAt_int4(*(rs_allocation*)buf3440, *(uint32_t*)buf3441, *(uint32_t*)buf3442);
+    *(uint*)buf3443 = rsGetElementAt_uint(*(rs_allocation*)buf3444, *(uint32_t*)buf3445, *(uint32_t*)buf3446);
+    *(uint2*)buf3447 = rsGetElementAt_uint2(*(rs_allocation*)buf3448, *(uint32_t*)buf3449, *(uint32_t*)buf3450);
+    *(uint3*)buf3451 = rsGetElementAt_uint3(*(rs_allocation*)buf3452, *(uint32_t*)buf3453, *(uint32_t*)buf3454);
+    *(uint4*)buf3455 = rsGetElementAt_uint4(*(rs_allocation*)buf3456, *(uint32_t*)buf3457, *(uint32_t*)buf3458);
+    *(long*)buf3459 = rsGetElementAt_long(*(rs_allocation*)buf3460, *(uint32_t*)buf3461, *(uint32_t*)buf3462);
+    *(long2*)buf3463 = rsGetElementAt_long2(*(rs_allocation*)buf3464, *(uint32_t*)buf3465, *(uint32_t*)buf3466);
+    *(long3*)buf3467 = rsGetElementAt_long3(*(rs_allocation*)buf3468, *(uint32_t*)buf3469, *(uint32_t*)buf3470);
+    *(long4*)buf3471 = rsGetElementAt_long4(*(rs_allocation*)buf3472, *(uint32_t*)buf3473, *(uint32_t*)buf3474);
+    *(ulong*)buf3475 = rsGetElementAt_ulong(*(rs_allocation*)buf3476, *(uint32_t*)buf3477, *(uint32_t*)buf3478);
+    *(ulong2*)buf3479 = rsGetElementAt_ulong2(*(rs_allocation*)buf3480, *(uint32_t*)buf3481, *(uint32_t*)buf3482);
+    *(ulong3*)buf3483 = rsGetElementAt_ulong3(*(rs_allocation*)buf3484, *(uint32_t*)buf3485, *(uint32_t*)buf3486);
+    *(ulong4*)buf3487 = rsGetElementAt_ulong4(*(rs_allocation*)buf3488, *(uint32_t*)buf3489, *(uint32_t*)buf3490);
+    *(float*)buf3491 = rsGetElementAt_float(*(rs_allocation*)buf3492, *(uint32_t*)buf3493, *(uint32_t*)buf3494, *(uint32_t*)buf3495);
+    *(float2*)buf3496 = rsGetElementAt_float2(*(rs_allocation*)buf3497, *(uint32_t*)buf3498, *(uint32_t*)buf3499, *(uint32_t*)buf3500);
+    *(float3*)buf3501 = rsGetElementAt_float3(*(rs_allocation*)buf3502, *(uint32_t*)buf3503, *(uint32_t*)buf3504, *(uint32_t*)buf3505);
+    *(float4*)buf3506 = rsGetElementAt_float4(*(rs_allocation*)buf3507, *(uint32_t*)buf3508, *(uint32_t*)buf3509, *(uint32_t*)buf3510);
+    *(double*)buf3511 = rsGetElementAt_double(*(rs_allocation*)buf3512, *(uint32_t*)buf3513, *(uint32_t*)buf3514, *(uint32_t*)buf3515);
+    *(double2*)buf3516 = rsGetElementAt_double2(*(rs_allocation*)buf3517, *(uint32_t*)buf3518, *(uint32_t*)buf3519, *(uint32_t*)buf3520);
+    *(double3*)buf3521 = rsGetElementAt_double3(*(rs_allocation*)buf3522, *(uint32_t*)buf3523, *(uint32_t*)buf3524, *(uint32_t*)buf3525);
+    *(double4*)buf3526 = rsGetElementAt_double4(*(rs_allocation*)buf3527, *(uint32_t*)buf3528, *(uint32_t*)buf3529, *(uint32_t*)buf3530);
+    *(char*)buf3531 = rsGetElementAt_char(*(rs_allocation*)buf3532, *(uint32_t*)buf3533, *(uint32_t*)buf3534, *(uint32_t*)buf3535);
+    *(char2*)buf3536 = rsGetElementAt_char2(*(rs_allocation*)buf3537, *(uint32_t*)buf3538, *(uint32_t*)buf3539, *(uint32_t*)buf3540);
+    *(char3*)buf3541 = rsGetElementAt_char3(*(rs_allocation*)buf3542, *(uint32_t*)buf3543, *(uint32_t*)buf3544, *(uint32_t*)buf3545);
+    *(char4*)buf3546 = rsGetElementAt_char4(*(rs_allocation*)buf3547, *(uint32_t*)buf3548, *(uint32_t*)buf3549, *(uint32_t*)buf3550);
+    *(uchar*)buf3551 = rsGetElementAt_uchar(*(rs_allocation*)buf3552, *(uint32_t*)buf3553, *(uint32_t*)buf3554, *(uint32_t*)buf3555);
+    *(uchar2*)buf3556 = rsGetElementAt_uchar2(*(rs_allocation*)buf3557, *(uint32_t*)buf3558, *(uint32_t*)buf3559, *(uint32_t*)buf3560);
+    *(uchar3*)buf3561 = rsGetElementAt_uchar3(*(rs_allocation*)buf3562, *(uint32_t*)buf3563, *(uint32_t*)buf3564, *(uint32_t*)buf3565);
+    *(uchar4*)buf3566 = rsGetElementAt_uchar4(*(rs_allocation*)buf3567, *(uint32_t*)buf3568, *(uint32_t*)buf3569, *(uint32_t*)buf3570);
+    *(short*)buf3571 = rsGetElementAt_short(*(rs_allocation*)buf3572, *(uint32_t*)buf3573, *(uint32_t*)buf3574, *(uint32_t*)buf3575);
+    *(short2*)buf3576 = rsGetElementAt_short2(*(rs_allocation*)buf3577, *(uint32_t*)buf3578, *(uint32_t*)buf3579, *(uint32_t*)buf3580);
+    *(short3*)buf3581 = rsGetElementAt_short3(*(rs_allocation*)buf3582, *(uint32_t*)buf3583, *(uint32_t*)buf3584, *(uint32_t*)buf3585);
+    *(short4*)buf3586 = rsGetElementAt_short4(*(rs_allocation*)buf3587, *(uint32_t*)buf3588, *(uint32_t*)buf3589, *(uint32_t*)buf3590);
+    *(ushort*)buf3591 = rsGetElementAt_ushort(*(rs_allocation*)buf3592, *(uint32_t*)buf3593, *(uint32_t*)buf3594, *(uint32_t*)buf3595);
+    *(ushort2*)buf3596 = rsGetElementAt_ushort2(*(rs_allocation*)buf3597, *(uint32_t*)buf3598, *(uint32_t*)buf3599, *(uint32_t*)buf3600);
+    *(ushort3*)buf3601 = rsGetElementAt_ushort3(*(rs_allocation*)buf3602, *(uint32_t*)buf3603, *(uint32_t*)buf3604, *(uint32_t*)buf3605);
+    *(ushort4*)buf3606 = rsGetElementAt_ushort4(*(rs_allocation*)buf3607, *(uint32_t*)buf3608, *(uint32_t*)buf3609, *(uint32_t*)buf3610);
+    *(int*)buf3611 = rsGetElementAt_int(*(rs_allocation*)buf3612, *(uint32_t*)buf3613, *(uint32_t*)buf3614, *(uint32_t*)buf3615);
+    *(int2*)buf3616 = rsGetElementAt_int2(*(rs_allocation*)buf3617, *(uint32_t*)buf3618, *(uint32_t*)buf3619, *(uint32_t*)buf3620);
+    *(int3*)buf3621 = rsGetElementAt_int3(*(rs_allocation*)buf3622, *(uint32_t*)buf3623, *(uint32_t*)buf3624, *(uint32_t*)buf3625);
+    *(int4*)buf3626 = rsGetElementAt_int4(*(rs_allocation*)buf3627, *(uint32_t*)buf3628, *(uint32_t*)buf3629, *(uint32_t*)buf3630);
+    *(uint*)buf3631 = rsGetElementAt_uint(*(rs_allocation*)buf3632, *(uint32_t*)buf3633, *(uint32_t*)buf3634, *(uint32_t*)buf3635);
+    *(uint2*)buf3636 = rsGetElementAt_uint2(*(rs_allocation*)buf3637, *(uint32_t*)buf3638, *(uint32_t*)buf3639, *(uint32_t*)buf3640);
+    *(uint3*)buf3641 = rsGetElementAt_uint3(*(rs_allocation*)buf3642, *(uint32_t*)buf3643, *(uint32_t*)buf3644, *(uint32_t*)buf3645);
+    *(uint4*)buf3646 = rsGetElementAt_uint4(*(rs_allocation*)buf3647, *(uint32_t*)buf3648, *(uint32_t*)buf3649, *(uint32_t*)buf3650);
+    *(long*)buf3651 = rsGetElementAt_long(*(rs_allocation*)buf3652, *(uint32_t*)buf3653, *(uint32_t*)buf3654, *(uint32_t*)buf3655);
+    *(long2*)buf3656 = rsGetElementAt_long2(*(rs_allocation*)buf3657, *(uint32_t*)buf3658, *(uint32_t*)buf3659, *(uint32_t*)buf3660);
+    *(long3*)buf3661 = rsGetElementAt_long3(*(rs_allocation*)buf3662, *(uint32_t*)buf3663, *(uint32_t*)buf3664, *(uint32_t*)buf3665);
+    *(long4*)buf3666 = rsGetElementAt_long4(*(rs_allocation*)buf3667, *(uint32_t*)buf3668, *(uint32_t*)buf3669, *(uint32_t*)buf3670);
+    *(ulong*)buf3671 = rsGetElementAt_ulong(*(rs_allocation*)buf3672, *(uint32_t*)buf3673, *(uint32_t*)buf3674, *(uint32_t*)buf3675);
+    *(ulong2*)buf3676 = rsGetElementAt_ulong2(*(rs_allocation*)buf3677, *(uint32_t*)buf3678, *(uint32_t*)buf3679, *(uint32_t*)buf3680);
+    *(ulong3*)buf3681 = rsGetElementAt_ulong3(*(rs_allocation*)buf3682, *(uint32_t*)buf3683, *(uint32_t*)buf3684, *(uint32_t*)buf3685);
+    *(ulong4*)buf3686 = rsGetElementAt_ulong4(*(rs_allocation*)buf3687, *(uint32_t*)buf3688, *(uint32_t*)buf3689, *(uint32_t*)buf3690);
+    *(uchar*)buf3691 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf3692, *(uint32_t*)buf3693, *(uint32_t*)buf3694);
+    *(uchar*)buf3695 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf3696, *(uint32_t*)buf3697, *(uint32_t*)buf3698);
+    *(uchar*)buf3699 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf3700, *(uint32_t*)buf3701, *(uint32_t*)buf3702);
+    *(bool*)buf3703 = rsIsObject(*(rs_element*)buf3704);
+    *(bool*)buf3705 = rsIsObject(*(rs_type*)buf3706);
+    *(bool*)buf3707 = rsIsObject(*(rs_allocation*)buf3708);
+    *(bool*)buf3709 = rsIsObject(*(rs_sampler*)buf3710);
+    *(bool*)buf3711 = rsIsObject(*(rs_script*)buf3712);
 #ifndef __LP64__
-    *(bool*)buf3695 = rsIsObject(*(rs_mesh*)buf3696);
-    *(bool*)buf3697 = rsIsObject(*(rs_program_fragment*)buf3698);
-    *(bool*)buf3699 = rsIsObject(*(rs_program_vertex*)buf3700);
-    *(bool*)buf3701 = rsIsObject(*(rs_program_raster*)buf3702);
-    *(bool*)buf3703 = rsIsObject(*(rs_program_store*)buf3704);
-    *(bool*)buf3705 = rsIsObject(*(rs_font*)buf3706);
+    *(bool*)buf3713 = rsIsObject(*(rs_mesh*)buf3714);
+    *(bool*)buf3715 = rsIsObject(*(rs_program_fragment*)buf3716);
+    *(bool*)buf3717 = rsIsObject(*(rs_program_vertex*)buf3718);
+    *(bool*)buf3719 = rsIsObject(*(rs_program_raster*)buf3720);
+    *(bool*)buf3721 = rsIsObject(*(rs_program_store*)buf3722);
+    *(bool*)buf3723 = rsIsObject(*(rs_font*)buf3724);
 #endif
-    *(bool*)buf3707 = rsIsSphereInFrustum((float4*) buf3708, (float4*) buf3709, (float4*) buf3710, (float4*) buf3711, (float4*) buf3712, (float4*) buf3713, (float4*) buf3714);
-    *(rs_tm**)buf3715 = rsLocaltime((rs_tm*) buf3716, (const rs_time_t*) buf3717);
-    *(float*)buf3718 = rsMatrixGet((const rs_matrix4x4*) buf3719, *(uint32_t*)buf3720, *(uint32_t*)buf3721);
-    *(float*)buf3722 = rsMatrixGet((const rs_matrix3x3*) buf3723, *(uint32_t*)buf3724, *(uint32_t*)buf3725);
-    *(float*)buf3726 = rsMatrixGet((const rs_matrix2x2*) buf3727, *(uint32_t*)buf3728, *(uint32_t*)buf3729);
-    *(bool*)buf3730 = rsMatrixInverse((rs_matrix4x4*) buf3731);
-    *(bool*)buf3732 = rsMatrixInverseTranspose((rs_matrix4x4*) buf3733);
-    rsMatrixLoad((rs_matrix4x4*) buf3734, (const float*) buf3735);
-    rsMatrixLoad((rs_matrix3x3*) buf3736, (const float*) buf3737);
-    rsMatrixLoad((rs_matrix2x2*) buf3738, (const float*) buf3739);
-    rsMatrixLoad((rs_matrix4x4*) buf3740, (const rs_matrix4x4*) buf3741);
-    rsMatrixLoad((rs_matrix3x3*) buf3742, (const rs_matrix3x3*) buf3743);
-    rsMatrixLoad((rs_matrix2x2*) buf3744, (const rs_matrix2x2*) buf3745);
-    rsMatrixLoad((rs_matrix4x4*) buf3746, (const rs_matrix3x3*) buf3747);
-    rsMatrixLoad((rs_matrix4x4*) buf3748, (const rs_matrix2x2*) buf3749);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf3750, *(float*)buf3751, *(float*)buf3752, *(float*)buf3753, *(float*)buf3754, *(float*)buf3755, *(float*)buf3756);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf3757);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf3758);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf3759);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf3760, (const rs_matrix4x4*) buf3761, (const rs_matrix4x4*) buf3762);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf3763, (const rs_matrix3x3*) buf3764, (const rs_matrix3x3*) buf3765);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf3766, (const rs_matrix2x2*) buf3767, (const rs_matrix2x2*) buf3768);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf3769, *(float*)buf3770, *(float*)buf3771, *(float*)buf3772, *(float*)buf3773, *(float*)buf3774, *(float*)buf3775);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf3776, *(float*)buf3777, *(float*)buf3778, *(float*)buf3779, *(float*)buf3780);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf3781, *(float*)buf3782, *(float*)buf3783, *(float*)buf3784, *(float*)buf3785);
-    rsMatrixLoadScale((rs_matrix4x4*) buf3786, *(float*)buf3787, *(float*)buf3788, *(float*)buf3789);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf3790, *(float*)buf3791, *(float*)buf3792, *(float*)buf3793);
-    rsMatrixMultiply((rs_matrix4x4*) buf3794, (const rs_matrix4x4*) buf3795);
-    rsMatrixMultiply((rs_matrix3x3*) buf3796, (const rs_matrix3x3*) buf3797);
-    rsMatrixMultiply((rs_matrix2x2*) buf3798, (const rs_matrix2x2*) buf3799);
-    *(float4*)buf3800 = rsMatrixMultiply((const rs_matrix4x4*) buf3801, *(float4*)buf3802);
-    *(float4*)buf3803 = rsMatrixMultiply((const rs_matrix4x4*) buf3804, *(float3*)buf3805);
-    *(float4*)buf3806 = rsMatrixMultiply((const rs_matrix4x4*) buf3807, *(float2*)buf3808);
-    *(float3*)buf3809 = rsMatrixMultiply((const rs_matrix3x3*) buf3810, *(float3*)buf3811);
-    *(float3*)buf3812 = rsMatrixMultiply((const rs_matrix3x3*) buf3813, *(float2*)buf3814);
-    *(float2*)buf3815 = rsMatrixMultiply((const rs_matrix2x2*) buf3816, *(float2*)buf3817);
-    rsMatrixRotate((rs_matrix4x4*) buf3818, *(float*)buf3819, *(float*)buf3820, *(float*)buf3821, *(float*)buf3822);
-    rsMatrixScale((rs_matrix4x4*) buf3823, *(float*)buf3824, *(float*)buf3825, *(float*)buf3826);
-    rsMatrixSet((rs_matrix4x4*) buf3827, *(uint32_t*)buf3828, *(uint32_t*)buf3829, *(float*)buf3830);
-    rsMatrixSet((rs_matrix3x3*) buf3831, *(uint32_t*)buf3832, *(uint32_t*)buf3833, *(float*)buf3834);
-    rsMatrixSet((rs_matrix2x2*) buf3835, *(uint32_t*)buf3836, *(uint32_t*)buf3837, *(float*)buf3838);
-    rsMatrixTranslate((rs_matrix4x4*) buf3839, *(float*)buf3840, *(float*)buf3841, *(float*)buf3842);
-    rsMatrixTranspose((rs_matrix4x4*) buf3843);
-    rsMatrixTranspose((rs_matrix3x3*) buf3844);
-    rsMatrixTranspose((rs_matrix2x2*) buf3845);
-    *(uchar4*)buf3846 = rsPackColorTo8888(*(float*)buf3847, *(float*)buf3848, *(float*)buf3849);
-    *(uchar4*)buf3850 = rsPackColorTo8888(*(float*)buf3851, *(float*)buf3852, *(float*)buf3853, *(float*)buf3854);
-    *(uchar4*)buf3855 = rsPackColorTo8888(*(float3*)buf3856);
-    *(uchar4*)buf3857 = rsPackColorTo8888(*(float4*)buf3858);
-    rsQuaternionAdd((rs_quaternion*) buf3859, (const rs_quaternion*) buf3860);
-    rsQuaternionConjugate((rs_quaternion*) buf3861);
-    *(float*)buf3862 = rsQuaternionDot((const rs_quaternion*) buf3863, (const rs_quaternion*) buf3864);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf3865, (const rs_quaternion*) buf3866);
-    rsQuaternionLoadRotate((rs_quaternion*) buf3867, *(float*)buf3868, *(float*)buf3869, *(float*)buf3870, *(float*)buf3871);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf3872, *(float*)buf3873, *(float*)buf3874, *(float*)buf3875, *(float*)buf3876);
-    rsQuaternionMultiply((rs_quaternion*) buf3877, *(float*)buf3878);
-    rsQuaternionMultiply((rs_quaternion*) buf3879, (const rs_quaternion*) buf3880);
-    rsQuaternionNormalize((rs_quaternion*) buf3881);
-    rsQuaternionSet((rs_quaternion*) buf3882, *(float*)buf3883, *(float*)buf3884, *(float*)buf3885, *(float*)buf3886);
-    rsQuaternionSet((rs_quaternion*) buf3887, (const rs_quaternion*) buf3888);
-    rsQuaternionSlerp((rs_quaternion*) buf3889, (const rs_quaternion*) buf3890, (const rs_quaternion*) buf3891, *(float*)buf3892);
-    *(int*)buf3893 = rsRand(*(int*)buf3894);
-    *(int*)buf3895 = rsRand(*(int*)buf3896, *(int*)buf3897);
-    *(float*)buf3898 = rsRand(*(float*)buf3899);
-    *(float*)buf3900 = rsRand(*(float*)buf3901, *(float*)buf3902);
-    *(float4*)buf3903 = rsSample(*(rs_allocation*)buf3904, *(rs_sampler*)buf3905, *(float*)buf3906);
-    *(float4*)buf3907 = rsSample(*(rs_allocation*)buf3908, *(rs_sampler*)buf3909, *(float*)buf3910, *(float*)buf3911);
-    *(float4*)buf3912 = rsSample(*(rs_allocation*)buf3913, *(rs_sampler*)buf3914, *(float2*)buf3915);
-    *(float4*)buf3916 = rsSample(*(rs_allocation*)buf3917, *(rs_sampler*)buf3918, *(float2*)buf3919, *(float*)buf3920);
-    *(float*)buf3921 = rsSamplerGetAnisotropy(*(rs_sampler*)buf3922);
-    *(rs_sampler_value*)buf3923 = rsSamplerGetMagnification(*(rs_sampler*)buf3924);
-    *(rs_sampler_value*)buf3925 = rsSamplerGetMinification(*(rs_sampler*)buf3926);
-    *(rs_sampler_value*)buf3927 = rsSamplerGetWrapS(*(rs_sampler*)buf3928);
-    *(rs_sampler_value*)buf3929 = rsSamplerGetWrapT(*(rs_sampler*)buf3930);
-    *(bool*)buf3931 = rsSendToClient(*(int*)buf3932);
-    *(bool*)buf3933 = rsSendToClient(*(int*)buf3934, (const void*) buf3935, *(uint*)buf3936);
-    rsSendToClientBlocking(*(int*)buf3937);
-    rsSendToClientBlocking(*(int*)buf3938, (const void*) buf3939, *(uint*)buf3940);
-    rsSetElementAt(*(rs_allocation*)buf3941, (void*) buf3942, *(uint32_t*)buf3943);
-    rsSetElementAt(*(rs_allocation*)buf3944, (void*) buf3945, *(uint32_t*)buf3946, *(uint32_t*)buf3947);
-    rsSetElementAt_float(*(rs_allocation*)buf3948, *(float*)buf3949, *(uint32_t*)buf3950);
-    rsSetElementAt_float2(*(rs_allocation*)buf3951, *(float2*)buf3952, *(uint32_t*)buf3953);
-    rsSetElementAt_float3(*(rs_allocation*)buf3954, *(float3*)buf3955, *(uint32_t*)buf3956);
-    rsSetElementAt_float4(*(rs_allocation*)buf3957, *(float4*)buf3958, *(uint32_t*)buf3959);
-    rsSetElementAt_double(*(rs_allocation*)buf3960, *(double*)buf3961, *(uint32_t*)buf3962);
-    rsSetElementAt_double2(*(rs_allocation*)buf3963, *(double2*)buf3964, *(uint32_t*)buf3965);
-    rsSetElementAt_double3(*(rs_allocation*)buf3966, *(double3*)buf3967, *(uint32_t*)buf3968);
-    rsSetElementAt_double4(*(rs_allocation*)buf3969, *(double4*)buf3970, *(uint32_t*)buf3971);
-    rsSetElementAt_char(*(rs_allocation*)buf3972, *(char*)buf3973, *(uint32_t*)buf3974);
-    rsSetElementAt_char2(*(rs_allocation*)buf3975, *(char2*)buf3976, *(uint32_t*)buf3977);
-    rsSetElementAt_char3(*(rs_allocation*)buf3978, *(char3*)buf3979, *(uint32_t*)buf3980);
-    rsSetElementAt_char4(*(rs_allocation*)buf3981, *(char4*)buf3982, *(uint32_t*)buf3983);
-    rsSetElementAt_uchar(*(rs_allocation*)buf3984, *(uchar*)buf3985, *(uint32_t*)buf3986);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf3987, *(uchar2*)buf3988, *(uint32_t*)buf3989);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf3990, *(uchar3*)buf3991, *(uint32_t*)buf3992);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf3993, *(uchar4*)buf3994, *(uint32_t*)buf3995);
-    rsSetElementAt_short(*(rs_allocation*)buf3996, *(short*)buf3997, *(uint32_t*)buf3998);
-    rsSetElementAt_short2(*(rs_allocation*)buf3999, *(short2*)buf4000, *(uint32_t*)buf4001);
-    rsSetElementAt_short3(*(rs_allocation*)buf4002, *(short3*)buf4003, *(uint32_t*)buf4004);
-    rsSetElementAt_short4(*(rs_allocation*)buf4005, *(short4*)buf4006, *(uint32_t*)buf4007);
-    rsSetElementAt_ushort(*(rs_allocation*)buf4008, *(ushort*)buf4009, *(uint32_t*)buf4010);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf4011, *(ushort2*)buf4012, *(uint32_t*)buf4013);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf4014, *(ushort3*)buf4015, *(uint32_t*)buf4016);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf4017, *(ushort4*)buf4018, *(uint32_t*)buf4019);
-    rsSetElementAt_int(*(rs_allocation*)buf4020, *(int*)buf4021, *(uint32_t*)buf4022);
-    rsSetElementAt_int2(*(rs_allocation*)buf4023, *(int2*)buf4024, *(uint32_t*)buf4025);
-    rsSetElementAt_int3(*(rs_allocation*)buf4026, *(int3*)buf4027, *(uint32_t*)buf4028);
-    rsSetElementAt_int4(*(rs_allocation*)buf4029, *(int4*)buf4030, *(uint32_t*)buf4031);
-    rsSetElementAt_uint(*(rs_allocation*)buf4032, *(uint*)buf4033, *(uint32_t*)buf4034);
-    rsSetElementAt_uint2(*(rs_allocation*)buf4035, *(uint2*)buf4036, *(uint32_t*)buf4037);
-    rsSetElementAt_uint3(*(rs_allocation*)buf4038, *(uint3*)buf4039, *(uint32_t*)buf4040);
-    rsSetElementAt_uint4(*(rs_allocation*)buf4041, *(uint4*)buf4042, *(uint32_t*)buf4043);
-    rsSetElementAt_long(*(rs_allocation*)buf4044, *(long*)buf4045, *(uint32_t*)buf4046);
-    rsSetElementAt_long2(*(rs_allocation*)buf4047, *(long2*)buf4048, *(uint32_t*)buf4049);
-    rsSetElementAt_long3(*(rs_allocation*)buf4050, *(long3*)buf4051, *(uint32_t*)buf4052);
-    rsSetElementAt_long4(*(rs_allocation*)buf4053, *(long4*)buf4054, *(uint32_t*)buf4055);
-    rsSetElementAt_ulong(*(rs_allocation*)buf4056, *(ulong*)buf4057, *(uint32_t*)buf4058);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf4059, *(ulong2*)buf4060, *(uint32_t*)buf4061);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf4062, *(ulong3*)buf4063, *(uint32_t*)buf4064);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf4065, *(ulong4*)buf4066, *(uint32_t*)buf4067);
-    rsSetElementAt_float(*(rs_allocation*)buf4068, *(float*)buf4069, *(uint32_t*)buf4070, *(uint32_t*)buf4071);
-    rsSetElementAt_float2(*(rs_allocation*)buf4072, *(float2*)buf4073, *(uint32_t*)buf4074, *(uint32_t*)buf4075);
-    rsSetElementAt_float3(*(rs_allocation*)buf4076, *(float3*)buf4077, *(uint32_t*)buf4078, *(uint32_t*)buf4079);
-    rsSetElementAt_float4(*(rs_allocation*)buf4080, *(float4*)buf4081, *(uint32_t*)buf4082, *(uint32_t*)buf4083);
-    rsSetElementAt_double(*(rs_allocation*)buf4084, *(double*)buf4085, *(uint32_t*)buf4086, *(uint32_t*)buf4087);
-    rsSetElementAt_double2(*(rs_allocation*)buf4088, *(double2*)buf4089, *(uint32_t*)buf4090, *(uint32_t*)buf4091);
-    rsSetElementAt_double3(*(rs_allocation*)buf4092, *(double3*)buf4093, *(uint32_t*)buf4094, *(uint32_t*)buf4095);
-    rsSetElementAt_double4(*(rs_allocation*)buf4096, *(double4*)buf4097, *(uint32_t*)buf4098, *(uint32_t*)buf4099);
-    rsSetElementAt_char(*(rs_allocation*)buf4100, *(char*)buf4101, *(uint32_t*)buf4102, *(uint32_t*)buf4103);
-    rsSetElementAt_char2(*(rs_allocation*)buf4104, *(char2*)buf4105, *(uint32_t*)buf4106, *(uint32_t*)buf4107);
-    rsSetElementAt_char3(*(rs_allocation*)buf4108, *(char3*)buf4109, *(uint32_t*)buf4110, *(uint32_t*)buf4111);
-    rsSetElementAt_char4(*(rs_allocation*)buf4112, *(char4*)buf4113, *(uint32_t*)buf4114, *(uint32_t*)buf4115);
-    rsSetElementAt_uchar(*(rs_allocation*)buf4116, *(uchar*)buf4117, *(uint32_t*)buf4118, *(uint32_t*)buf4119);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf4120, *(uchar2*)buf4121, *(uint32_t*)buf4122, *(uint32_t*)buf4123);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf4124, *(uchar3*)buf4125, *(uint32_t*)buf4126, *(uint32_t*)buf4127);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf4128, *(uchar4*)buf4129, *(uint32_t*)buf4130, *(uint32_t*)buf4131);
-    rsSetElementAt_short(*(rs_allocation*)buf4132, *(short*)buf4133, *(uint32_t*)buf4134, *(uint32_t*)buf4135);
-    rsSetElementAt_short2(*(rs_allocation*)buf4136, *(short2*)buf4137, *(uint32_t*)buf4138, *(uint32_t*)buf4139);
-    rsSetElementAt_short3(*(rs_allocation*)buf4140, *(short3*)buf4141, *(uint32_t*)buf4142, *(uint32_t*)buf4143);
-    rsSetElementAt_short4(*(rs_allocation*)buf4144, *(short4*)buf4145, *(uint32_t*)buf4146, *(uint32_t*)buf4147);
-    rsSetElementAt_ushort(*(rs_allocation*)buf4148, *(ushort*)buf4149, *(uint32_t*)buf4150, *(uint32_t*)buf4151);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf4152, *(ushort2*)buf4153, *(uint32_t*)buf4154, *(uint32_t*)buf4155);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf4156, *(ushort3*)buf4157, *(uint32_t*)buf4158, *(uint32_t*)buf4159);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf4160, *(ushort4*)buf4161, *(uint32_t*)buf4162, *(uint32_t*)buf4163);
-    rsSetElementAt_int(*(rs_allocation*)buf4164, *(int*)buf4165, *(uint32_t*)buf4166, *(uint32_t*)buf4167);
-    rsSetElementAt_int2(*(rs_allocation*)buf4168, *(int2*)buf4169, *(uint32_t*)buf4170, *(uint32_t*)buf4171);
-    rsSetElementAt_int3(*(rs_allocation*)buf4172, *(int3*)buf4173, *(uint32_t*)buf4174, *(uint32_t*)buf4175);
-    rsSetElementAt_int4(*(rs_allocation*)buf4176, *(int4*)buf4177, *(uint32_t*)buf4178, *(uint32_t*)buf4179);
-    rsSetElementAt_uint(*(rs_allocation*)buf4180, *(uint*)buf4181, *(uint32_t*)buf4182, *(uint32_t*)buf4183);
-    rsSetElementAt_uint2(*(rs_allocation*)buf4184, *(uint2*)buf4185, *(uint32_t*)buf4186, *(uint32_t*)buf4187);
-    rsSetElementAt_uint3(*(rs_allocation*)buf4188, *(uint3*)buf4189, *(uint32_t*)buf4190, *(uint32_t*)buf4191);
-    rsSetElementAt_uint4(*(rs_allocation*)buf4192, *(uint4*)buf4193, *(uint32_t*)buf4194, *(uint32_t*)buf4195);
-    rsSetElementAt_long(*(rs_allocation*)buf4196, *(long*)buf4197, *(uint32_t*)buf4198, *(uint32_t*)buf4199);
-    rsSetElementAt_long2(*(rs_allocation*)buf4200, *(long2*)buf4201, *(uint32_t*)buf4202, *(uint32_t*)buf4203);
-    rsSetElementAt_long3(*(rs_allocation*)buf4204, *(long3*)buf4205, *(uint32_t*)buf4206, *(uint32_t*)buf4207);
-    rsSetElementAt_long4(*(rs_allocation*)buf4208, *(long4*)buf4209, *(uint32_t*)buf4210, *(uint32_t*)buf4211);
-    rsSetElementAt_ulong(*(rs_allocation*)buf4212, *(ulong*)buf4213, *(uint32_t*)buf4214, *(uint32_t*)buf4215);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf4216, *(ulong2*)buf4217, *(uint32_t*)buf4218, *(uint32_t*)buf4219);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf4220, *(ulong3*)buf4221, *(uint32_t*)buf4222, *(uint32_t*)buf4223);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf4224, *(ulong4*)buf4225, *(uint32_t*)buf4226, *(uint32_t*)buf4227);
-    rsSetElementAt_float(*(rs_allocation*)buf4228, *(float*)buf4229, *(uint32_t*)buf4230, *(uint32_t*)buf4231, *(uint32_t*)buf4232);
-    rsSetElementAt_float2(*(rs_allocation*)buf4233, *(float2*)buf4234, *(uint32_t*)buf4235, *(uint32_t*)buf4236, *(uint32_t*)buf4237);
-    rsSetElementAt_float3(*(rs_allocation*)buf4238, *(float3*)buf4239, *(uint32_t*)buf4240, *(uint32_t*)buf4241, *(uint32_t*)buf4242);
-    rsSetElementAt_float4(*(rs_allocation*)buf4243, *(float4*)buf4244, *(uint32_t*)buf4245, *(uint32_t*)buf4246, *(uint32_t*)buf4247);
-    rsSetElementAt_double(*(rs_allocation*)buf4248, *(double*)buf4249, *(uint32_t*)buf4250, *(uint32_t*)buf4251, *(uint32_t*)buf4252);
-    rsSetElementAt_double2(*(rs_allocation*)buf4253, *(double2*)buf4254, *(uint32_t*)buf4255, *(uint32_t*)buf4256, *(uint32_t*)buf4257);
-    rsSetElementAt_double3(*(rs_allocation*)buf4258, *(double3*)buf4259, *(uint32_t*)buf4260, *(uint32_t*)buf4261, *(uint32_t*)buf4262);
-    rsSetElementAt_double4(*(rs_allocation*)buf4263, *(double4*)buf4264, *(uint32_t*)buf4265, *(uint32_t*)buf4266, *(uint32_t*)buf4267);
-    rsSetElementAt_char(*(rs_allocation*)buf4268, *(char*)buf4269, *(uint32_t*)buf4270, *(uint32_t*)buf4271, *(uint32_t*)buf4272);
-    rsSetElementAt_char2(*(rs_allocation*)buf4273, *(char2*)buf4274, *(uint32_t*)buf4275, *(uint32_t*)buf4276, *(uint32_t*)buf4277);
-    rsSetElementAt_char3(*(rs_allocation*)buf4278, *(char3*)buf4279, *(uint32_t*)buf4280, *(uint32_t*)buf4281, *(uint32_t*)buf4282);
-    rsSetElementAt_char4(*(rs_allocation*)buf4283, *(char4*)buf4284, *(uint32_t*)buf4285, *(uint32_t*)buf4286, *(uint32_t*)buf4287);
-    rsSetElementAt_uchar(*(rs_allocation*)buf4288, *(uchar*)buf4289, *(uint32_t*)buf4290, *(uint32_t*)buf4291, *(uint32_t*)buf4292);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf4293, *(uchar2*)buf4294, *(uint32_t*)buf4295, *(uint32_t*)buf4296, *(uint32_t*)buf4297);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf4298, *(uchar3*)buf4299, *(uint32_t*)buf4300, *(uint32_t*)buf4301, *(uint32_t*)buf4302);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf4303, *(uchar4*)buf4304, *(uint32_t*)buf4305, *(uint32_t*)buf4306, *(uint32_t*)buf4307);
-    rsSetElementAt_short(*(rs_allocation*)buf4308, *(short*)buf4309, *(uint32_t*)buf4310, *(uint32_t*)buf4311, *(uint32_t*)buf4312);
-    rsSetElementAt_short2(*(rs_allocation*)buf4313, *(short2*)buf4314, *(uint32_t*)buf4315, *(uint32_t*)buf4316, *(uint32_t*)buf4317);
-    rsSetElementAt_short3(*(rs_allocation*)buf4318, *(short3*)buf4319, *(uint32_t*)buf4320, *(uint32_t*)buf4321, *(uint32_t*)buf4322);
-    rsSetElementAt_short4(*(rs_allocation*)buf4323, *(short4*)buf4324, *(uint32_t*)buf4325, *(uint32_t*)buf4326, *(uint32_t*)buf4327);
-    rsSetElementAt_ushort(*(rs_allocation*)buf4328, *(ushort*)buf4329, *(uint32_t*)buf4330, *(uint32_t*)buf4331, *(uint32_t*)buf4332);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf4333, *(ushort2*)buf4334, *(uint32_t*)buf4335, *(uint32_t*)buf4336, *(uint32_t*)buf4337);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf4338, *(ushort3*)buf4339, *(uint32_t*)buf4340, *(uint32_t*)buf4341, *(uint32_t*)buf4342);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf4343, *(ushort4*)buf4344, *(uint32_t*)buf4345, *(uint32_t*)buf4346, *(uint32_t*)buf4347);
-    rsSetElementAt_int(*(rs_allocation*)buf4348, *(int*)buf4349, *(uint32_t*)buf4350, *(uint32_t*)buf4351, *(uint32_t*)buf4352);
-    rsSetElementAt_int2(*(rs_allocation*)buf4353, *(int2*)buf4354, *(uint32_t*)buf4355, *(uint32_t*)buf4356, *(uint32_t*)buf4357);
-    rsSetElementAt_int3(*(rs_allocation*)buf4358, *(int3*)buf4359, *(uint32_t*)buf4360, *(uint32_t*)buf4361, *(uint32_t*)buf4362);
-    rsSetElementAt_int4(*(rs_allocation*)buf4363, *(int4*)buf4364, *(uint32_t*)buf4365, *(uint32_t*)buf4366, *(uint32_t*)buf4367);
-    rsSetElementAt_uint(*(rs_allocation*)buf4368, *(uint*)buf4369, *(uint32_t*)buf4370, *(uint32_t*)buf4371, *(uint32_t*)buf4372);
-    rsSetElementAt_uint2(*(rs_allocation*)buf4373, *(uint2*)buf4374, *(uint32_t*)buf4375, *(uint32_t*)buf4376, *(uint32_t*)buf4377);
-    rsSetElementAt_uint3(*(rs_allocation*)buf4378, *(uint3*)buf4379, *(uint32_t*)buf4380, *(uint32_t*)buf4381, *(uint32_t*)buf4382);
-    rsSetElementAt_uint4(*(rs_allocation*)buf4383, *(uint4*)buf4384, *(uint32_t*)buf4385, *(uint32_t*)buf4386, *(uint32_t*)buf4387);
-    rsSetElementAt_long(*(rs_allocation*)buf4388, *(long*)buf4389, *(uint32_t*)buf4390, *(uint32_t*)buf4391, *(uint32_t*)buf4392);
-    rsSetElementAt_long2(*(rs_allocation*)buf4393, *(long2*)buf4394, *(uint32_t*)buf4395, *(uint32_t*)buf4396, *(uint32_t*)buf4397);
-    rsSetElementAt_long3(*(rs_allocation*)buf4398, *(long3*)buf4399, *(uint32_t*)buf4400, *(uint32_t*)buf4401, *(uint32_t*)buf4402);
-    rsSetElementAt_long4(*(rs_allocation*)buf4403, *(long4*)buf4404, *(uint32_t*)buf4405, *(uint32_t*)buf4406, *(uint32_t*)buf4407);
-    rsSetElementAt_ulong(*(rs_allocation*)buf4408, *(ulong*)buf4409, *(uint32_t*)buf4410, *(uint32_t*)buf4411, *(uint32_t*)buf4412);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf4413, *(ulong2*)buf4414, *(uint32_t*)buf4415, *(uint32_t*)buf4416, *(uint32_t*)buf4417);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf4418, *(ulong3*)buf4419, *(uint32_t*)buf4420, *(uint32_t*)buf4421, *(uint32_t*)buf4422);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf4423, *(ulong4*)buf4424, *(uint32_t*)buf4425, *(uint32_t*)buf4426, *(uint32_t*)buf4427);
-    rsSetObject((rs_element*) buf4428, *(rs_element*)buf4429);
-    rsSetObject((rs_type*) buf4430, *(rs_type*)buf4431);
-    rsSetObject((rs_allocation*) buf4432, *(rs_allocation*)buf4433);
-    rsSetObject((rs_sampler*) buf4434, *(rs_sampler*)buf4435);
-    rsSetObject((rs_script*) buf4436, *(rs_script*)buf4437);
+    *(bool*)buf3725 = rsIsSphereInFrustum((float4*) buf3726, (float4*) buf3727, (float4*) buf3728, (float4*) buf3729, (float4*) buf3730, (float4*) buf3731, (float4*) buf3732);
+    *(rs_tm**)buf3733 = rsLocaltime((rs_tm*) buf3734, (const rs_time_t*) buf3735);
+    *(float*)buf3736 = rsMatrixGet((const rs_matrix4x4*) buf3737, *(uint32_t*)buf3738, *(uint32_t*)buf3739);
+    *(float*)buf3740 = rsMatrixGet((const rs_matrix3x3*) buf3741, *(uint32_t*)buf3742, *(uint32_t*)buf3743);
+    *(float*)buf3744 = rsMatrixGet((const rs_matrix2x2*) buf3745, *(uint32_t*)buf3746, *(uint32_t*)buf3747);
+    *(bool*)buf3748 = rsMatrixInverse((rs_matrix4x4*) buf3749);
+    *(bool*)buf3750 = rsMatrixInverseTranspose((rs_matrix4x4*) buf3751);
+    rsMatrixLoad((rs_matrix4x4*) buf3752, (const float*) buf3753);
+    rsMatrixLoad((rs_matrix3x3*) buf3754, (const float*) buf3755);
+    rsMatrixLoad((rs_matrix2x2*) buf3756, (const float*) buf3757);
+    rsMatrixLoad((rs_matrix4x4*) buf3758, (const rs_matrix4x4*) buf3759);
+    rsMatrixLoad((rs_matrix3x3*) buf3760, (const rs_matrix3x3*) buf3761);
+    rsMatrixLoad((rs_matrix2x2*) buf3762, (const rs_matrix2x2*) buf3763);
+    rsMatrixLoad((rs_matrix4x4*) buf3764, (const rs_matrix3x3*) buf3765);
+    rsMatrixLoad((rs_matrix4x4*) buf3766, (const rs_matrix2x2*) buf3767);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf3768, *(float*)buf3769, *(float*)buf3770, *(float*)buf3771, *(float*)buf3772, *(float*)buf3773, *(float*)buf3774);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf3775);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf3776);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf3777);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf3778, (const rs_matrix4x4*) buf3779, (const rs_matrix4x4*) buf3780);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf3781, (const rs_matrix3x3*) buf3782, (const rs_matrix3x3*) buf3783);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf3784, (const rs_matrix2x2*) buf3785, (const rs_matrix2x2*) buf3786);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf3787, *(float*)buf3788, *(float*)buf3789, *(float*)buf3790, *(float*)buf3791, *(float*)buf3792, *(float*)buf3793);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf3794, *(float*)buf3795, *(float*)buf3796, *(float*)buf3797, *(float*)buf3798);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf3799, *(float*)buf3800, *(float*)buf3801, *(float*)buf3802, *(float*)buf3803);
+    rsMatrixLoadScale((rs_matrix4x4*) buf3804, *(float*)buf3805, *(float*)buf3806, *(float*)buf3807);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf3808, *(float*)buf3809, *(float*)buf3810, *(float*)buf3811);
+    rsMatrixMultiply((rs_matrix4x4*) buf3812, (const rs_matrix4x4*) buf3813);
+    rsMatrixMultiply((rs_matrix3x3*) buf3814, (const rs_matrix3x3*) buf3815);
+    rsMatrixMultiply((rs_matrix2x2*) buf3816, (const rs_matrix2x2*) buf3817);
+    *(float4*)buf3818 = rsMatrixMultiply((const rs_matrix4x4*) buf3819, *(float4*)buf3820);
+    *(float4*)buf3821 = rsMatrixMultiply((const rs_matrix4x4*) buf3822, *(float3*)buf3823);
+    *(float4*)buf3824 = rsMatrixMultiply((const rs_matrix4x4*) buf3825, *(float2*)buf3826);
+    *(float3*)buf3827 = rsMatrixMultiply((const rs_matrix3x3*) buf3828, *(float3*)buf3829);
+    *(float3*)buf3830 = rsMatrixMultiply((const rs_matrix3x3*) buf3831, *(float2*)buf3832);
+    *(float2*)buf3833 = rsMatrixMultiply((const rs_matrix2x2*) buf3834, *(float2*)buf3835);
+    rsMatrixRotate((rs_matrix4x4*) buf3836, *(float*)buf3837, *(float*)buf3838, *(float*)buf3839, *(float*)buf3840);
+    rsMatrixScale((rs_matrix4x4*) buf3841, *(float*)buf3842, *(float*)buf3843, *(float*)buf3844);
+    rsMatrixSet((rs_matrix4x4*) buf3845, *(uint32_t*)buf3846, *(uint32_t*)buf3847, *(float*)buf3848);
+    rsMatrixSet((rs_matrix3x3*) buf3849, *(uint32_t*)buf3850, *(uint32_t*)buf3851, *(float*)buf3852);
+    rsMatrixSet((rs_matrix2x2*) buf3853, *(uint32_t*)buf3854, *(uint32_t*)buf3855, *(float*)buf3856);
+    rsMatrixTranslate((rs_matrix4x4*) buf3857, *(float*)buf3858, *(float*)buf3859, *(float*)buf3860);
+    rsMatrixTranspose((rs_matrix4x4*) buf3861);
+    rsMatrixTranspose((rs_matrix3x3*) buf3862);
+    rsMatrixTranspose((rs_matrix2x2*) buf3863);
+    *(uchar4*)buf3864 = rsPackColorTo8888(*(float*)buf3865, *(float*)buf3866, *(float*)buf3867);
+    *(uchar4*)buf3868 = rsPackColorTo8888(*(float*)buf3869, *(float*)buf3870, *(float*)buf3871, *(float*)buf3872);
+    *(uchar4*)buf3873 = rsPackColorTo8888(*(float3*)buf3874);
+    *(uchar4*)buf3875 = rsPackColorTo8888(*(float4*)buf3876);
+    rsQuaternionAdd((rs_quaternion*) buf3877, (const rs_quaternion*) buf3878);
+    rsQuaternionConjugate((rs_quaternion*) buf3879);
+    *(float*)buf3880 = rsQuaternionDot((const rs_quaternion*) buf3881, (const rs_quaternion*) buf3882);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf3883, (const rs_quaternion*) buf3884);
+    rsQuaternionLoadRotate((rs_quaternion*) buf3885, *(float*)buf3886, *(float*)buf3887, *(float*)buf3888, *(float*)buf3889);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf3890, *(float*)buf3891, *(float*)buf3892, *(float*)buf3893, *(float*)buf3894);
+    rsQuaternionMultiply((rs_quaternion*) buf3895, *(float*)buf3896);
+    rsQuaternionMultiply((rs_quaternion*) buf3897, (const rs_quaternion*) buf3898);
+    rsQuaternionNormalize((rs_quaternion*) buf3899);
+    rsQuaternionSet((rs_quaternion*) buf3900, *(float*)buf3901, *(float*)buf3902, *(float*)buf3903, *(float*)buf3904);
+    rsQuaternionSet((rs_quaternion*) buf3905, (const rs_quaternion*) buf3906);
+    rsQuaternionSlerp((rs_quaternion*) buf3907, (const rs_quaternion*) buf3908, (const rs_quaternion*) buf3909, *(float*)buf3910);
+    *(int*)buf3911 = rsRand(*(int*)buf3912);
+    *(int*)buf3913 = rsRand(*(int*)buf3914, *(int*)buf3915);
+    *(float*)buf3916 = rsRand(*(float*)buf3917);
+    *(float*)buf3918 = rsRand(*(float*)buf3919, *(float*)buf3920);
+    *(float4*)buf3921 = rsSample(*(rs_allocation*)buf3922, *(rs_sampler*)buf3923, *(float*)buf3924);
+    *(float4*)buf3925 = rsSample(*(rs_allocation*)buf3926, *(rs_sampler*)buf3927, *(float*)buf3928, *(float*)buf3929);
+    *(float4*)buf3930 = rsSample(*(rs_allocation*)buf3931, *(rs_sampler*)buf3932, *(float2*)buf3933);
+    *(float4*)buf3934 = rsSample(*(rs_allocation*)buf3935, *(rs_sampler*)buf3936, *(float2*)buf3937, *(float*)buf3938);
+    *(float*)buf3939 = rsSamplerGetAnisotropy(*(rs_sampler*)buf3940);
+    *(rs_sampler_value*)buf3941 = rsSamplerGetMagnification(*(rs_sampler*)buf3942);
+    *(rs_sampler_value*)buf3943 = rsSamplerGetMinification(*(rs_sampler*)buf3944);
+    *(rs_sampler_value*)buf3945 = rsSamplerGetWrapS(*(rs_sampler*)buf3946);
+    *(rs_sampler_value*)buf3947 = rsSamplerGetWrapT(*(rs_sampler*)buf3948);
+    *(bool*)buf3949 = rsSendToClient(*(int*)buf3950);
+    *(bool*)buf3951 = rsSendToClient(*(int*)buf3952, (const void*) buf3953, *(uint*)buf3954);
+    rsSendToClientBlocking(*(int*)buf3955);
+    rsSendToClientBlocking(*(int*)buf3956, (const void*) buf3957, *(uint*)buf3958);
+    rsSetElementAt(*(rs_allocation*)buf3959, (void*) buf3960, *(uint32_t*)buf3961);
+    rsSetElementAt(*(rs_allocation*)buf3962, (void*) buf3963, *(uint32_t*)buf3964, *(uint32_t*)buf3965);
+    rsSetElementAt_float(*(rs_allocation*)buf3966, *(float*)buf3967, *(uint32_t*)buf3968);
+    rsSetElementAt_float2(*(rs_allocation*)buf3969, *(float2*)buf3970, *(uint32_t*)buf3971);
+    rsSetElementAt_float3(*(rs_allocation*)buf3972, *(float3*)buf3973, *(uint32_t*)buf3974);
+    rsSetElementAt_float4(*(rs_allocation*)buf3975, *(float4*)buf3976, *(uint32_t*)buf3977);
+    rsSetElementAt_double(*(rs_allocation*)buf3978, *(double*)buf3979, *(uint32_t*)buf3980);
+    rsSetElementAt_double2(*(rs_allocation*)buf3981, *(double2*)buf3982, *(uint32_t*)buf3983);
+    rsSetElementAt_double3(*(rs_allocation*)buf3984, *(double3*)buf3985, *(uint32_t*)buf3986);
+    rsSetElementAt_double4(*(rs_allocation*)buf3987, *(double4*)buf3988, *(uint32_t*)buf3989);
+    rsSetElementAt_char(*(rs_allocation*)buf3990, *(char*)buf3991, *(uint32_t*)buf3992);
+    rsSetElementAt_char2(*(rs_allocation*)buf3993, *(char2*)buf3994, *(uint32_t*)buf3995);
+    rsSetElementAt_char3(*(rs_allocation*)buf3996, *(char3*)buf3997, *(uint32_t*)buf3998);
+    rsSetElementAt_char4(*(rs_allocation*)buf3999, *(char4*)buf4000, *(uint32_t*)buf4001);
+    rsSetElementAt_uchar(*(rs_allocation*)buf4002, *(uchar*)buf4003, *(uint32_t*)buf4004);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf4005, *(uchar2*)buf4006, *(uint32_t*)buf4007);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf4008, *(uchar3*)buf4009, *(uint32_t*)buf4010);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf4011, *(uchar4*)buf4012, *(uint32_t*)buf4013);
+    rsSetElementAt_short(*(rs_allocation*)buf4014, *(short*)buf4015, *(uint32_t*)buf4016);
+    rsSetElementAt_short2(*(rs_allocation*)buf4017, *(short2*)buf4018, *(uint32_t*)buf4019);
+    rsSetElementAt_short3(*(rs_allocation*)buf4020, *(short3*)buf4021, *(uint32_t*)buf4022);
+    rsSetElementAt_short4(*(rs_allocation*)buf4023, *(short4*)buf4024, *(uint32_t*)buf4025);
+    rsSetElementAt_ushort(*(rs_allocation*)buf4026, *(ushort*)buf4027, *(uint32_t*)buf4028);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf4029, *(ushort2*)buf4030, *(uint32_t*)buf4031);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf4032, *(ushort3*)buf4033, *(uint32_t*)buf4034);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf4035, *(ushort4*)buf4036, *(uint32_t*)buf4037);
+    rsSetElementAt_int(*(rs_allocation*)buf4038, *(int*)buf4039, *(uint32_t*)buf4040);
+    rsSetElementAt_int2(*(rs_allocation*)buf4041, *(int2*)buf4042, *(uint32_t*)buf4043);
+    rsSetElementAt_int3(*(rs_allocation*)buf4044, *(int3*)buf4045, *(uint32_t*)buf4046);
+    rsSetElementAt_int4(*(rs_allocation*)buf4047, *(int4*)buf4048, *(uint32_t*)buf4049);
+    rsSetElementAt_uint(*(rs_allocation*)buf4050, *(uint*)buf4051, *(uint32_t*)buf4052);
+    rsSetElementAt_uint2(*(rs_allocation*)buf4053, *(uint2*)buf4054, *(uint32_t*)buf4055);
+    rsSetElementAt_uint3(*(rs_allocation*)buf4056, *(uint3*)buf4057, *(uint32_t*)buf4058);
+    rsSetElementAt_uint4(*(rs_allocation*)buf4059, *(uint4*)buf4060, *(uint32_t*)buf4061);
+    rsSetElementAt_long(*(rs_allocation*)buf4062, *(long*)buf4063, *(uint32_t*)buf4064);
+    rsSetElementAt_long2(*(rs_allocation*)buf4065, *(long2*)buf4066, *(uint32_t*)buf4067);
+    rsSetElementAt_long3(*(rs_allocation*)buf4068, *(long3*)buf4069, *(uint32_t*)buf4070);
+    rsSetElementAt_long4(*(rs_allocation*)buf4071, *(long4*)buf4072, *(uint32_t*)buf4073);
+    rsSetElementAt_ulong(*(rs_allocation*)buf4074, *(ulong*)buf4075, *(uint32_t*)buf4076);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf4077, *(ulong2*)buf4078, *(uint32_t*)buf4079);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf4080, *(ulong3*)buf4081, *(uint32_t*)buf4082);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf4083, *(ulong4*)buf4084, *(uint32_t*)buf4085);
+    rsSetElementAt_float(*(rs_allocation*)buf4086, *(float*)buf4087, *(uint32_t*)buf4088, *(uint32_t*)buf4089);
+    rsSetElementAt_float2(*(rs_allocation*)buf4090, *(float2*)buf4091, *(uint32_t*)buf4092, *(uint32_t*)buf4093);
+    rsSetElementAt_float3(*(rs_allocation*)buf4094, *(float3*)buf4095, *(uint32_t*)buf4096, *(uint32_t*)buf4097);
+    rsSetElementAt_float4(*(rs_allocation*)buf4098, *(float4*)buf4099, *(uint32_t*)buf4100, *(uint32_t*)buf4101);
+    rsSetElementAt_double(*(rs_allocation*)buf4102, *(double*)buf4103, *(uint32_t*)buf4104, *(uint32_t*)buf4105);
+    rsSetElementAt_double2(*(rs_allocation*)buf4106, *(double2*)buf4107, *(uint32_t*)buf4108, *(uint32_t*)buf4109);
+    rsSetElementAt_double3(*(rs_allocation*)buf4110, *(double3*)buf4111, *(uint32_t*)buf4112, *(uint32_t*)buf4113);
+    rsSetElementAt_double4(*(rs_allocation*)buf4114, *(double4*)buf4115, *(uint32_t*)buf4116, *(uint32_t*)buf4117);
+    rsSetElementAt_char(*(rs_allocation*)buf4118, *(char*)buf4119, *(uint32_t*)buf4120, *(uint32_t*)buf4121);
+    rsSetElementAt_char2(*(rs_allocation*)buf4122, *(char2*)buf4123, *(uint32_t*)buf4124, *(uint32_t*)buf4125);
+    rsSetElementAt_char3(*(rs_allocation*)buf4126, *(char3*)buf4127, *(uint32_t*)buf4128, *(uint32_t*)buf4129);
+    rsSetElementAt_char4(*(rs_allocation*)buf4130, *(char4*)buf4131, *(uint32_t*)buf4132, *(uint32_t*)buf4133);
+    rsSetElementAt_uchar(*(rs_allocation*)buf4134, *(uchar*)buf4135, *(uint32_t*)buf4136, *(uint32_t*)buf4137);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf4138, *(uchar2*)buf4139, *(uint32_t*)buf4140, *(uint32_t*)buf4141);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf4142, *(uchar3*)buf4143, *(uint32_t*)buf4144, *(uint32_t*)buf4145);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf4146, *(uchar4*)buf4147, *(uint32_t*)buf4148, *(uint32_t*)buf4149);
+    rsSetElementAt_short(*(rs_allocation*)buf4150, *(short*)buf4151, *(uint32_t*)buf4152, *(uint32_t*)buf4153);
+    rsSetElementAt_short2(*(rs_allocation*)buf4154, *(short2*)buf4155, *(uint32_t*)buf4156, *(uint32_t*)buf4157);
+    rsSetElementAt_short3(*(rs_allocation*)buf4158, *(short3*)buf4159, *(uint32_t*)buf4160, *(uint32_t*)buf4161);
+    rsSetElementAt_short4(*(rs_allocation*)buf4162, *(short4*)buf4163, *(uint32_t*)buf4164, *(uint32_t*)buf4165);
+    rsSetElementAt_ushort(*(rs_allocation*)buf4166, *(ushort*)buf4167, *(uint32_t*)buf4168, *(uint32_t*)buf4169);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf4170, *(ushort2*)buf4171, *(uint32_t*)buf4172, *(uint32_t*)buf4173);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf4174, *(ushort3*)buf4175, *(uint32_t*)buf4176, *(uint32_t*)buf4177);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf4178, *(ushort4*)buf4179, *(uint32_t*)buf4180, *(uint32_t*)buf4181);
+    rsSetElementAt_int(*(rs_allocation*)buf4182, *(int*)buf4183, *(uint32_t*)buf4184, *(uint32_t*)buf4185);
+    rsSetElementAt_int2(*(rs_allocation*)buf4186, *(int2*)buf4187, *(uint32_t*)buf4188, *(uint32_t*)buf4189);
+    rsSetElementAt_int3(*(rs_allocation*)buf4190, *(int3*)buf4191, *(uint32_t*)buf4192, *(uint32_t*)buf4193);
+    rsSetElementAt_int4(*(rs_allocation*)buf4194, *(int4*)buf4195, *(uint32_t*)buf4196, *(uint32_t*)buf4197);
+    rsSetElementAt_uint(*(rs_allocation*)buf4198, *(uint*)buf4199, *(uint32_t*)buf4200, *(uint32_t*)buf4201);
+    rsSetElementAt_uint2(*(rs_allocation*)buf4202, *(uint2*)buf4203, *(uint32_t*)buf4204, *(uint32_t*)buf4205);
+    rsSetElementAt_uint3(*(rs_allocation*)buf4206, *(uint3*)buf4207, *(uint32_t*)buf4208, *(uint32_t*)buf4209);
+    rsSetElementAt_uint4(*(rs_allocation*)buf4210, *(uint4*)buf4211, *(uint32_t*)buf4212, *(uint32_t*)buf4213);
+    rsSetElementAt_long(*(rs_allocation*)buf4214, *(long*)buf4215, *(uint32_t*)buf4216, *(uint32_t*)buf4217);
+    rsSetElementAt_long2(*(rs_allocation*)buf4218, *(long2*)buf4219, *(uint32_t*)buf4220, *(uint32_t*)buf4221);
+    rsSetElementAt_long3(*(rs_allocation*)buf4222, *(long3*)buf4223, *(uint32_t*)buf4224, *(uint32_t*)buf4225);
+    rsSetElementAt_long4(*(rs_allocation*)buf4226, *(long4*)buf4227, *(uint32_t*)buf4228, *(uint32_t*)buf4229);
+    rsSetElementAt_ulong(*(rs_allocation*)buf4230, *(ulong*)buf4231, *(uint32_t*)buf4232, *(uint32_t*)buf4233);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf4234, *(ulong2*)buf4235, *(uint32_t*)buf4236, *(uint32_t*)buf4237);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf4238, *(ulong3*)buf4239, *(uint32_t*)buf4240, *(uint32_t*)buf4241);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf4242, *(ulong4*)buf4243, *(uint32_t*)buf4244, *(uint32_t*)buf4245);
+    rsSetElementAt_float(*(rs_allocation*)buf4246, *(float*)buf4247, *(uint32_t*)buf4248, *(uint32_t*)buf4249, *(uint32_t*)buf4250);
+    rsSetElementAt_float2(*(rs_allocation*)buf4251, *(float2*)buf4252, *(uint32_t*)buf4253, *(uint32_t*)buf4254, *(uint32_t*)buf4255);
+    rsSetElementAt_float3(*(rs_allocation*)buf4256, *(float3*)buf4257, *(uint32_t*)buf4258, *(uint32_t*)buf4259, *(uint32_t*)buf4260);
+    rsSetElementAt_float4(*(rs_allocation*)buf4261, *(float4*)buf4262, *(uint32_t*)buf4263, *(uint32_t*)buf4264, *(uint32_t*)buf4265);
+    rsSetElementAt_double(*(rs_allocation*)buf4266, *(double*)buf4267, *(uint32_t*)buf4268, *(uint32_t*)buf4269, *(uint32_t*)buf4270);
+    rsSetElementAt_double2(*(rs_allocation*)buf4271, *(double2*)buf4272, *(uint32_t*)buf4273, *(uint32_t*)buf4274, *(uint32_t*)buf4275);
+    rsSetElementAt_double3(*(rs_allocation*)buf4276, *(double3*)buf4277, *(uint32_t*)buf4278, *(uint32_t*)buf4279, *(uint32_t*)buf4280);
+    rsSetElementAt_double4(*(rs_allocation*)buf4281, *(double4*)buf4282, *(uint32_t*)buf4283, *(uint32_t*)buf4284, *(uint32_t*)buf4285);
+    rsSetElementAt_char(*(rs_allocation*)buf4286, *(char*)buf4287, *(uint32_t*)buf4288, *(uint32_t*)buf4289, *(uint32_t*)buf4290);
+    rsSetElementAt_char2(*(rs_allocation*)buf4291, *(char2*)buf4292, *(uint32_t*)buf4293, *(uint32_t*)buf4294, *(uint32_t*)buf4295);
+    rsSetElementAt_char3(*(rs_allocation*)buf4296, *(char3*)buf4297, *(uint32_t*)buf4298, *(uint32_t*)buf4299, *(uint32_t*)buf4300);
+    rsSetElementAt_char4(*(rs_allocation*)buf4301, *(char4*)buf4302, *(uint32_t*)buf4303, *(uint32_t*)buf4304, *(uint32_t*)buf4305);
+    rsSetElementAt_uchar(*(rs_allocation*)buf4306, *(uchar*)buf4307, *(uint32_t*)buf4308, *(uint32_t*)buf4309, *(uint32_t*)buf4310);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf4311, *(uchar2*)buf4312, *(uint32_t*)buf4313, *(uint32_t*)buf4314, *(uint32_t*)buf4315);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf4316, *(uchar3*)buf4317, *(uint32_t*)buf4318, *(uint32_t*)buf4319, *(uint32_t*)buf4320);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf4321, *(uchar4*)buf4322, *(uint32_t*)buf4323, *(uint32_t*)buf4324, *(uint32_t*)buf4325);
+    rsSetElementAt_short(*(rs_allocation*)buf4326, *(short*)buf4327, *(uint32_t*)buf4328, *(uint32_t*)buf4329, *(uint32_t*)buf4330);
+    rsSetElementAt_short2(*(rs_allocation*)buf4331, *(short2*)buf4332, *(uint32_t*)buf4333, *(uint32_t*)buf4334, *(uint32_t*)buf4335);
+    rsSetElementAt_short3(*(rs_allocation*)buf4336, *(short3*)buf4337, *(uint32_t*)buf4338, *(uint32_t*)buf4339, *(uint32_t*)buf4340);
+    rsSetElementAt_short4(*(rs_allocation*)buf4341, *(short4*)buf4342, *(uint32_t*)buf4343, *(uint32_t*)buf4344, *(uint32_t*)buf4345);
+    rsSetElementAt_ushort(*(rs_allocation*)buf4346, *(ushort*)buf4347, *(uint32_t*)buf4348, *(uint32_t*)buf4349, *(uint32_t*)buf4350);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf4351, *(ushort2*)buf4352, *(uint32_t*)buf4353, *(uint32_t*)buf4354, *(uint32_t*)buf4355);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf4356, *(ushort3*)buf4357, *(uint32_t*)buf4358, *(uint32_t*)buf4359, *(uint32_t*)buf4360);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf4361, *(ushort4*)buf4362, *(uint32_t*)buf4363, *(uint32_t*)buf4364, *(uint32_t*)buf4365);
+    rsSetElementAt_int(*(rs_allocation*)buf4366, *(int*)buf4367, *(uint32_t*)buf4368, *(uint32_t*)buf4369, *(uint32_t*)buf4370);
+    rsSetElementAt_int2(*(rs_allocation*)buf4371, *(int2*)buf4372, *(uint32_t*)buf4373, *(uint32_t*)buf4374, *(uint32_t*)buf4375);
+    rsSetElementAt_int3(*(rs_allocation*)buf4376, *(int3*)buf4377, *(uint32_t*)buf4378, *(uint32_t*)buf4379, *(uint32_t*)buf4380);
+    rsSetElementAt_int4(*(rs_allocation*)buf4381, *(int4*)buf4382, *(uint32_t*)buf4383, *(uint32_t*)buf4384, *(uint32_t*)buf4385);
+    rsSetElementAt_uint(*(rs_allocation*)buf4386, *(uint*)buf4387, *(uint32_t*)buf4388, *(uint32_t*)buf4389, *(uint32_t*)buf4390);
+    rsSetElementAt_uint2(*(rs_allocation*)buf4391, *(uint2*)buf4392, *(uint32_t*)buf4393, *(uint32_t*)buf4394, *(uint32_t*)buf4395);
+    rsSetElementAt_uint3(*(rs_allocation*)buf4396, *(uint3*)buf4397, *(uint32_t*)buf4398, *(uint32_t*)buf4399, *(uint32_t*)buf4400);
+    rsSetElementAt_uint4(*(rs_allocation*)buf4401, *(uint4*)buf4402, *(uint32_t*)buf4403, *(uint32_t*)buf4404, *(uint32_t*)buf4405);
+    rsSetElementAt_long(*(rs_allocation*)buf4406, *(long*)buf4407, *(uint32_t*)buf4408, *(uint32_t*)buf4409, *(uint32_t*)buf4410);
+    rsSetElementAt_long2(*(rs_allocation*)buf4411, *(long2*)buf4412, *(uint32_t*)buf4413, *(uint32_t*)buf4414, *(uint32_t*)buf4415);
+    rsSetElementAt_long3(*(rs_allocation*)buf4416, *(long3*)buf4417, *(uint32_t*)buf4418, *(uint32_t*)buf4419, *(uint32_t*)buf4420);
+    rsSetElementAt_long4(*(rs_allocation*)buf4421, *(long4*)buf4422, *(uint32_t*)buf4423, *(uint32_t*)buf4424, *(uint32_t*)buf4425);
+    rsSetElementAt_ulong(*(rs_allocation*)buf4426, *(ulong*)buf4427, *(uint32_t*)buf4428, *(uint32_t*)buf4429, *(uint32_t*)buf4430);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf4431, *(ulong2*)buf4432, *(uint32_t*)buf4433, *(uint32_t*)buf4434, *(uint32_t*)buf4435);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf4436, *(ulong3*)buf4437, *(uint32_t*)buf4438, *(uint32_t*)buf4439, *(uint32_t*)buf4440);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf4441, *(ulong4*)buf4442, *(uint32_t*)buf4443, *(uint32_t*)buf4444, *(uint32_t*)buf4445);
+    rsSetObject((rs_element*) buf4446, *(rs_element*)buf4447);
+    rsSetObject((rs_type*) buf4448, *(rs_type*)buf4449);
+    rsSetObject((rs_allocation*) buf4450, *(rs_allocation*)buf4451);
+    rsSetObject((rs_sampler*) buf4452, *(rs_sampler*)buf4453);
+    rsSetObject((rs_script*) buf4454, *(rs_script*)buf4455);
 #ifndef __LP64__
-    rsSetObject((rs_mesh*) buf4438, *(rs_mesh*)buf4439);
-    rsSetObject((rs_program_fragment*) buf4440, *(rs_program_fragment*)buf4441);
-    rsSetObject((rs_program_vertex*) buf4442, *(rs_program_vertex*)buf4443);
-    rsSetObject((rs_program_raster*) buf4444, *(rs_program_raster*)buf4445);
-    rsSetObject((rs_program_store*) buf4446, *(rs_program_store*)buf4447);
-    rsSetObject((rs_font*) buf4448, *(rs_font*)buf4449);
+    rsSetObject((rs_mesh*) buf4456, *(rs_mesh*)buf4457);
+    rsSetObject((rs_program_fragment*) buf4458, *(rs_program_fragment*)buf4459);
+    rsSetObject((rs_program_vertex*) buf4460, *(rs_program_vertex*)buf4461);
+    rsSetObject((rs_program_raster*) buf4462, *(rs_program_raster*)buf4463);
+    rsSetObject((rs_program_store*) buf4464, *(rs_program_store*)buf4465);
+    rsSetObject((rs_font*) buf4466, *(rs_font*)buf4467);
 #endif
-    *(rs_time_t*)buf4450 = rsTime((rs_time_t*) buf4451);
-    *(float4*)buf4452 = rsUnpackColor8888(*(uchar4*)buf4453);
-    *(int64_t*)buf4454 = rsUptimeMillis();
-    *(int64_t*)buf4455 = rsUptimeNanos();
-    *(float4*)buf4456 = rsYuvToRGBA_float4(*(uchar*)buf4457, *(uchar*)buf4458, *(uchar*)buf4459);
-    *(uchar4*)buf4460 = rsYuvToRGBA_uchar4(*(uchar*)buf4461, *(uchar*)buf4462, *(uchar*)buf4463);
+    *(rs_time_t*)buf4468 = rsTime((rs_time_t*) buf4469);
+    *(float4*)buf4470 = rsUnpackColor8888(*(uchar4*)buf4471);
+    *(int64_t*)buf4472 = rsUptimeMillis();
+    *(int64_t*)buf4473 = rsUptimeNanos();
+    *(float4*)buf4474 = rsYuvToRGBA_float4(*(uchar*)buf4475, *(uchar*)buf4476, *(uchar*)buf4477);
+    *(uchar4*)buf4478 = rsYuvToRGBA_uchar4(*(uchar*)buf4479, *(uchar*)buf4480, *(uchar*)buf4481);
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf4464);
+    rsgAllocationSyncAll(*(rs_allocation*)buf4482);
 #endif
 #ifndef __LP64__
-    rsgAllocationSyncAll(*(rs_allocation*)buf4465, *(rs_allocation_usage_type*)buf4466);
+    rsgAllocationSyncAll(*(rs_allocation*)buf4483, *(rs_allocation_usage_type*)buf4484);
 #endif
 #ifndef __LP64__
-    rsgBindColorTarget(*(rs_allocation*)buf4467, *(uint*)buf4468);
+    rsgBindColorTarget(*(rs_allocation*)buf4485, *(uint*)buf4486);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_fragment*)buf4469, *(uint*)buf4470, *(rs_allocation*)buf4471);
+    rsgBindConstant(*(rs_program_fragment*)buf4487, *(uint*)buf4488, *(rs_allocation*)buf4489);
 #endif
 #ifndef __LP64__
-    rsgBindConstant(*(rs_program_vertex*)buf4472, *(uint*)buf4473, *(rs_allocation*)buf4474);
+    rsgBindConstant(*(rs_program_vertex*)buf4490, *(uint*)buf4491, *(rs_allocation*)buf4492);
 #endif
 #ifndef __LP64__
-    rsgBindDepthTarget(*(rs_allocation*)buf4475);
+    rsgBindDepthTarget(*(rs_allocation*)buf4493);
 #endif
 #ifndef __LP64__
-    rsgBindFont(*(rs_font*)buf4476);
+    rsgBindFont(*(rs_font*)buf4494);
 #endif
 #ifndef __LP64__
-    rsgBindProgramFragment(*(rs_program_fragment*)buf4477);
+    rsgBindProgramFragment(*(rs_program_fragment*)buf4495);
 #endif
 #ifndef __LP64__
-    rsgBindProgramRaster(*(rs_program_raster*)buf4478);
+    rsgBindProgramRaster(*(rs_program_raster*)buf4496);
 #endif
 #ifndef __LP64__
-    rsgBindProgramStore(*(rs_program_store*)buf4479);
+    rsgBindProgramStore(*(rs_program_store*)buf4497);
 #endif
 #ifndef __LP64__
-    rsgBindProgramVertex(*(rs_program_vertex*)buf4480);
+    rsgBindProgramVertex(*(rs_program_vertex*)buf4498);
 #endif
 #ifndef __LP64__
-    rsgBindSampler(*(rs_program_fragment*)buf4481, *(uint*)buf4482, *(rs_sampler*)buf4483);
+    rsgBindSampler(*(rs_program_fragment*)buf4499, *(uint*)buf4500, *(rs_sampler*)buf4501);
 #endif
 #ifndef __LP64__
-    rsgBindTexture(*(rs_program_fragment*)buf4484, *(uint*)buf4485, *(rs_allocation*)buf4486);
+    rsgBindTexture(*(rs_program_fragment*)buf4502, *(uint*)buf4503, *(rs_allocation*)buf4504);
 #endif
 #ifndef __LP64__
     rsgClearAllRenderTargets();
 #endif
 #ifndef __LP64__
-    rsgClearColor(*(float*)buf4487, *(float*)buf4488, *(float*)buf4489, *(float*)buf4490);
+    rsgClearColor(*(float*)buf4505, *(float*)buf4506, *(float*)buf4507, *(float*)buf4508);
 #endif
 #ifndef __LP64__
-    rsgClearColorTarget(*(uint*)buf4491);
+    rsgClearColorTarget(*(uint*)buf4509);
 #endif
 #ifndef __LP64__
-    rsgClearDepth(*(float*)buf4492);
+    rsgClearDepth(*(float*)buf4510);
 #endif
 #ifndef __LP64__
     rsgClearDepthTarget();
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf4493);
+    rsgDrawMesh(*(rs_mesh*)buf4511);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf4494, *(uint*)buf4495);
+    rsgDrawMesh(*(rs_mesh*)buf4512, *(uint*)buf4513);
 #endif
 #ifndef __LP64__
-    rsgDrawMesh(*(rs_mesh*)buf4496, *(uint*)buf4497, *(uint*)buf4498, *(uint*)buf4499);
+    rsgDrawMesh(*(rs_mesh*)buf4514, *(uint*)buf4515, *(uint*)buf4516, *(uint*)buf4517);
 #endif
 #ifndef __LP64__
-    rsgDrawQuad(*(float*)buf4500, *(float*)buf4501, *(float*)buf4502, *(float*)buf4503, *(float*)buf4504, *(float*)buf4505, *(float*)buf4506, *(float*)buf4507, *(float*)buf4508, *(float*)buf4509, *(float*)buf4510, *(float*)buf4511);
+    rsgDrawQuad(*(float*)buf4518, *(float*)buf4519, *(float*)buf4520, *(float*)buf4521, *(float*)buf4522, *(float*)buf4523, *(float*)buf4524, *(float*)buf4525, *(float*)buf4526, *(float*)buf4527, *(float*)buf4528, *(float*)buf4529);
 #endif
 #ifndef __LP64__
-    rsgDrawQuadTexCoords(*(float*)buf4512, *(float*)buf4513, *(float*)buf4514, *(float*)buf4515, *(float*)buf4516, *(float*)buf4517, *(float*)buf4518, *(float*)buf4519, *(float*)buf4520, *(float*)buf4521, *(float*)buf4522, *(float*)buf4523, *(float*)buf4524, *(float*)buf4525, *(float*)buf4526, *(float*)buf4527, *(float*)buf4528, *(float*)buf4529, *(float*)buf4530, *(float*)buf4531);
+    rsgDrawQuadTexCoords(*(float*)buf4530, *(float*)buf4531, *(float*)buf4532, *(float*)buf4533, *(float*)buf4534, *(float*)buf4535, *(float*)buf4536, *(float*)buf4537, *(float*)buf4538, *(float*)buf4539, *(float*)buf4540, *(float*)buf4541, *(float*)buf4542, *(float*)buf4543, *(float*)buf4544, *(float*)buf4545, *(float*)buf4546, *(float*)buf4547, *(float*)buf4548, *(float*)buf4549);
 #endif
 #ifndef __LP64__
-    rsgDrawRect(*(float*)buf4532, *(float*)buf4533, *(float*)buf4534, *(float*)buf4535, *(float*)buf4536);
+    rsgDrawRect(*(float*)buf4550, *(float*)buf4551, *(float*)buf4552, *(float*)buf4553, *(float*)buf4554);
 #endif
 #ifndef __LP64__
-    rsgDrawSpriteScreenspace(*(float*)buf4537, *(float*)buf4538, *(float*)buf4539, *(float*)buf4540, *(float*)buf4541);
+    rsgDrawSpriteScreenspace(*(float*)buf4555, *(float*)buf4556, *(float*)buf4557, *(float*)buf4558, *(float*)buf4559);
 #endif
 #ifndef __LP64__
-    rsgDrawText((const char*) buf4542, *(int*)buf4543, *(int*)buf4544);
+    rsgDrawText((const char*) buf4560, *(int*)buf4561, *(int*)buf4562);
 #endif
 #ifndef __LP64__
-    rsgDrawText(*(rs_allocation*)buf4545, *(int*)buf4546, *(int*)buf4547);
+    rsgDrawText(*(rs_allocation*)buf4563, *(int*)buf4564, *(int*)buf4565);
 #endif
 #ifndef __LP64__
-    *(uint*)buf4548 = rsgFinish();
+    *(uint*)buf4566 = rsgFinish();
 #endif
 #ifndef __LP64__
-    rsgFontColor(*(float*)buf4549, *(float*)buf4550, *(float*)buf4551, *(float*)buf4552);
+    rsgFontColor(*(float*)buf4567, *(float*)buf4568, *(float*)buf4569, *(float*)buf4570);
 #endif
 #ifndef __LP64__
-    *(uint*)buf4553 = rsgGetHeight();
+    *(uint*)buf4571 = rsgGetHeight();
 #endif
 #ifndef __LP64__
-    *(uint*)buf4554 = rsgGetWidth();
+    *(uint*)buf4572 = rsgGetWidth();
 #endif
 #ifndef __LP64__
-    rsgMeasureText((const char*) buf4555, (int*) buf4556, (int*) buf4557, (int*) buf4558, (int*) buf4559);
+    rsgMeasureText((const char*) buf4573, (int*) buf4574, (int*) buf4575, (int*) buf4576, (int*) buf4577);
 #endif
 #ifndef __LP64__
-    rsgMeasureText(*(rs_allocation*)buf4560, (int*) buf4561, (int*) buf4562, (int*) buf4563, (int*) buf4564);
+    rsgMeasureText(*(rs_allocation*)buf4578, (int*) buf4579, (int*) buf4580, (int*) buf4581, (int*) buf4582);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf4565, (float*) buf4566, (float*) buf4567, (float*) buf4568, (float*) buf4569, (float*) buf4570, (float*) buf4571);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf4583, (float*) buf4584, (float*) buf4585, (float*) buf4586, (float*) buf4587, (float*) buf4588, (float*) buf4589);
 #endif
 #ifndef __LP64__
-    rsgMeshComputeBoundingBox(*(rs_mesh*)buf4572, (float3*) buf4573, (float3*) buf4574);
+    rsgMeshComputeBoundingBox(*(rs_mesh*)buf4590, (float3*) buf4591, (float3*) buf4592);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf4575 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf4576, *(uint32_t*)buf4577);
+    *(rs_allocation*)buf4593 = rsgMeshGetIndexAllocation(*(rs_mesh*)buf4594, *(uint32_t*)buf4595);
 #endif
 #ifndef __LP64__
-    *(rs_primitive*)buf4578 = rsgMeshGetPrimitive(*(rs_mesh*)buf4579, *(uint32_t*)buf4580);
+    *(rs_primitive*)buf4596 = rsgMeshGetPrimitive(*(rs_mesh*)buf4597, *(uint32_t*)buf4598);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf4581 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf4582);
+    *(uint32_t*)buf4599 = rsgMeshGetPrimitiveCount(*(rs_mesh*)buf4600);
 #endif
 #ifndef __LP64__
-    *(rs_allocation*)buf4583 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf4584, *(uint32_t*)buf4585);
+    *(rs_allocation*)buf4601 = rsgMeshGetVertexAllocation(*(rs_mesh*)buf4602, *(uint32_t*)buf4603);
 #endif
 #ifndef __LP64__
-    *(uint32_t*)buf4586 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf4587);
+    *(uint32_t*)buf4604 = rsgMeshGetVertexAllocationCount(*(rs_mesh*)buf4605);
 #endif
 #ifndef __LP64__
-    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf4588, *(float*)buf4589, *(float*)buf4590, *(float*)buf4591, *(float*)buf4592);
+    rsgProgramFragmentConstantColor(*(rs_program_fragment*)buf4606, *(float*)buf4607, *(float*)buf4608, *(float*)buf4609, *(float*)buf4610);
 #endif
 #ifndef __LP64__
-    *(rs_cull_mode*)buf4593 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf4594);
+    *(rs_cull_mode*)buf4611 = rsgProgramRasterGetCullMode(*(rs_program_raster*)buf4612);
 #endif
 #ifndef __LP64__
-    *(bool*)buf4595 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf4596);
+    *(bool*)buf4613 = rsgProgramRasterIsPointSpriteEnabled(*(rs_program_raster*)buf4614);
 #endif
 #ifndef __LP64__
-    *(rs_blend_dst_func*)buf4597 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf4598);
+    *(rs_blend_dst_func*)buf4615 = rsgProgramStoreGetBlendDstFunc(*(rs_program_store*)buf4616);
 #endif
 #ifndef __LP64__
-    *(rs_blend_src_func*)buf4599 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf4600);
+    *(rs_blend_src_func*)buf4617 = rsgProgramStoreGetBlendSrcFunc(*(rs_program_store*)buf4618);
 #endif
 #ifndef __LP64__
-    *(rs_depth_func*)buf4601 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf4602);
+    *(rs_depth_func*)buf4619 = rsgProgramStoreGetDepthFunc(*(rs_program_store*)buf4620);
 #endif
 #ifndef __LP64__
-    *(bool*)buf4603 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf4604);
+    *(bool*)buf4621 = rsgProgramStoreIsColorMaskAlphaEnabled(*(rs_program_store*)buf4622);
 #endif
 #ifndef __LP64__
-    *(bool*)buf4605 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf4606);
+    *(bool*)buf4623 = rsgProgramStoreIsColorMaskBlueEnabled(*(rs_program_store*)buf4624);
 #endif
 #ifndef __LP64__
-    *(bool*)buf4607 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf4608);
+    *(bool*)buf4625 = rsgProgramStoreIsColorMaskGreenEnabled(*(rs_program_store*)buf4626);
 #endif
 #ifndef __LP64__
-    *(bool*)buf4609 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf4610);
+    *(bool*)buf4627 = rsgProgramStoreIsColorMaskRedEnabled(*(rs_program_store*)buf4628);
 #endif
 #ifndef __LP64__
-    *(bool*)buf4611 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf4612);
+    *(bool*)buf4629 = rsgProgramStoreIsDepthMaskEnabled(*(rs_program_store*)buf4630);
 #endif
 #ifndef __LP64__
-    *(bool*)buf4613 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf4614);
+    *(bool*)buf4631 = rsgProgramStoreIsDitherEnabled(*(rs_program_store*)buf4632);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf4615);
+    rsgProgramVertexGetProjectionMatrix((rs_matrix4x4*) buf4633);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf4616);
+    rsgProgramVertexLoadModelMatrix((const rs_matrix4x4*) buf4634);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf4617);
+    rsgProgramVertexLoadProjectionMatrix((const rs_matrix4x4*) buf4635);
 #endif
 #ifndef __LP64__
-    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf4618);
+    rsgProgramVertexLoadTextureMatrix((const rs_matrix4x4*) buf4636);
 #endif
-    *(float*)buf4619 = rsqrt(*(float*)buf4620);
-    *(float2*)buf4621 = rsqrt(*(float2*)buf4622);
-    *(float3*)buf4623 = rsqrt(*(float3*)buf4624);
-    *(float4*)buf4625 = rsqrt(*(float4*)buf4626);
-    *(float*)buf4627 = sign(*(float*)buf4628);
-    *(float2*)buf4629 = sign(*(float2*)buf4630);
-    *(float3*)buf4631 = sign(*(float3*)buf4632);
-    *(float4*)buf4633 = sign(*(float4*)buf4634);
-    *(float*)buf4635 = sin(*(float*)buf4636);
-    *(float2*)buf4637 = sin(*(float2*)buf4638);
-    *(float3*)buf4639 = sin(*(float3*)buf4640);
-    *(float4*)buf4641 = sin(*(float4*)buf4642);
-    *(float*)buf4643 = sincos(*(float*)buf4644, (float*) buf4645);
-    *(float2*)buf4646 = sincos(*(float2*)buf4647, (float2*) buf4648);
-    *(float3*)buf4649 = sincos(*(float3*)buf4650, (float3*) buf4651);
-    *(float4*)buf4652 = sincos(*(float4*)buf4653, (float4*) buf4654);
-    *(float*)buf4655 = sinh(*(float*)buf4656);
-    *(float2*)buf4657 = sinh(*(float2*)buf4658);
-    *(float3*)buf4659 = sinh(*(float3*)buf4660);
-    *(float4*)buf4661 = sinh(*(float4*)buf4662);
-    *(float*)buf4663 = sinpi(*(float*)buf4664);
-    *(float2*)buf4665 = sinpi(*(float2*)buf4666);
-    *(float3*)buf4667 = sinpi(*(float3*)buf4668);
-    *(float4*)buf4669 = sinpi(*(float4*)buf4670);
-    *(float*)buf4671 = sqrt(*(float*)buf4672);
-    *(float2*)buf4673 = sqrt(*(float2*)buf4674);
-    *(float3*)buf4675 = sqrt(*(float3*)buf4676);
-    *(float4*)buf4677 = sqrt(*(float4*)buf4678);
-    *(float*)buf4679 = step(*(float*)buf4680, *(float*)buf4681);
-    *(float2*)buf4682 = step(*(float2*)buf4683, *(float2*)buf4684);
-    *(float3*)buf4685 = step(*(float3*)buf4686, *(float3*)buf4687);
-    *(float4*)buf4688 = step(*(float4*)buf4689, *(float4*)buf4690);
-    *(float2*)buf4691 = step(*(float2*)buf4692, *(float*)buf4693);
-    *(float3*)buf4694 = step(*(float3*)buf4695, *(float*)buf4696);
-    *(float4*)buf4697 = step(*(float4*)buf4698, *(float*)buf4699);
-    *(float2*)buf4700 = step(*(float*)buf4701, *(float2*)buf4702);
-    *(float3*)buf4703 = step(*(float*)buf4704, *(float3*)buf4705);
-    *(float4*)buf4706 = step(*(float*)buf4707, *(float4*)buf4708);
-    *(float*)buf4709 = tan(*(float*)buf4710);
-    *(float2*)buf4711 = tan(*(float2*)buf4712);
-    *(float3*)buf4713 = tan(*(float3*)buf4714);
-    *(float4*)buf4715 = tan(*(float4*)buf4716);
-    *(float*)buf4717 = tanh(*(float*)buf4718);
-    *(float2*)buf4719 = tanh(*(float2*)buf4720);
-    *(float3*)buf4721 = tanh(*(float3*)buf4722);
-    *(float4*)buf4723 = tanh(*(float4*)buf4724);
-    *(float*)buf4725 = tanpi(*(float*)buf4726);
-    *(float2*)buf4727 = tanpi(*(float2*)buf4728);
-    *(float3*)buf4729 = tanpi(*(float3*)buf4730);
-    *(float4*)buf4731 = tanpi(*(float4*)buf4732);
-    *(float*)buf4733 = tgamma(*(float*)buf4734);
-    *(float2*)buf4735 = tgamma(*(float2*)buf4736);
-    *(float3*)buf4737 = tgamma(*(float3*)buf4738);
-    *(float4*)buf4739 = tgamma(*(float4*)buf4740);
-    *(float*)buf4741 = trunc(*(float*)buf4742);
-    *(float2*)buf4743 = trunc(*(float2*)buf4744);
-    *(float3*)buf4745 = trunc(*(float3*)buf4746);
-    *(float4*)buf4747 = trunc(*(float4*)buf4748);
+    *(float*)buf4637 = rsqrt(*(float*)buf4638);
+    *(float2*)buf4639 = rsqrt(*(float2*)buf4640);
+    *(float3*)buf4641 = rsqrt(*(float3*)buf4642);
+    *(float4*)buf4643 = rsqrt(*(float4*)buf4644);
+    *(float*)buf4645 = sign(*(float*)buf4646);
+    *(float2*)buf4647 = sign(*(float2*)buf4648);
+    *(float3*)buf4649 = sign(*(float3*)buf4650);
+    *(float4*)buf4651 = sign(*(float4*)buf4652);
+    *(float*)buf4653 = sin(*(float*)buf4654);
+    *(float2*)buf4655 = sin(*(float2*)buf4656);
+    *(float3*)buf4657 = sin(*(float3*)buf4658);
+    *(float4*)buf4659 = sin(*(float4*)buf4660);
+    *(float*)buf4661 = sincos(*(float*)buf4662, (float*) buf4663);
+    *(float2*)buf4664 = sincos(*(float2*)buf4665, (float2*) buf4666);
+    *(float3*)buf4667 = sincos(*(float3*)buf4668, (float3*) buf4669);
+    *(float4*)buf4670 = sincos(*(float4*)buf4671, (float4*) buf4672);
+    *(float*)buf4673 = sinh(*(float*)buf4674);
+    *(float2*)buf4675 = sinh(*(float2*)buf4676);
+    *(float3*)buf4677 = sinh(*(float3*)buf4678);
+    *(float4*)buf4679 = sinh(*(float4*)buf4680);
+    *(float*)buf4681 = sinpi(*(float*)buf4682);
+    *(float2*)buf4683 = sinpi(*(float2*)buf4684);
+    *(float3*)buf4685 = sinpi(*(float3*)buf4686);
+    *(float4*)buf4687 = sinpi(*(float4*)buf4688);
+    *(float*)buf4689 = sqrt(*(float*)buf4690);
+    *(float2*)buf4691 = sqrt(*(float2*)buf4692);
+    *(float3*)buf4693 = sqrt(*(float3*)buf4694);
+    *(float4*)buf4695 = sqrt(*(float4*)buf4696);
+    *(float*)buf4697 = step(*(float*)buf4698, *(float*)buf4699);
+    *(float2*)buf4700 = step(*(float2*)buf4701, *(float2*)buf4702);
+    *(float3*)buf4703 = step(*(float3*)buf4704, *(float3*)buf4705);
+    *(float4*)buf4706 = step(*(float4*)buf4707, *(float4*)buf4708);
+    *(float2*)buf4709 = step(*(float2*)buf4710, *(float*)buf4711);
+    *(float3*)buf4712 = step(*(float3*)buf4713, *(float*)buf4714);
+    *(float4*)buf4715 = step(*(float4*)buf4716, *(float*)buf4717);
+    *(float2*)buf4718 = step(*(float*)buf4719, *(float2*)buf4720);
+    *(float3*)buf4721 = step(*(float*)buf4722, *(float3*)buf4723);
+    *(float4*)buf4724 = step(*(float*)buf4725, *(float4*)buf4726);
+    *(float*)buf4727 = tan(*(float*)buf4728);
+    *(float2*)buf4729 = tan(*(float2*)buf4730);
+    *(float3*)buf4731 = tan(*(float3*)buf4732);
+    *(float4*)buf4733 = tan(*(float4*)buf4734);
+    *(float*)buf4735 = tanh(*(float*)buf4736);
+    *(float2*)buf4737 = tanh(*(float2*)buf4738);
+    *(float3*)buf4739 = tanh(*(float3*)buf4740);
+    *(float4*)buf4741 = tanh(*(float4*)buf4742);
+    *(float*)buf4743 = tanpi(*(float*)buf4744);
+    *(float2*)buf4745 = tanpi(*(float2*)buf4746);
+    *(float3*)buf4747 = tanpi(*(float3*)buf4748);
+    *(float4*)buf4749 = tanpi(*(float4*)buf4750);
+    *(float*)buf4751 = tgamma(*(float*)buf4752);
+    *(float2*)buf4753 = tgamma(*(float2*)buf4754);
+    *(float3*)buf4755 = tgamma(*(float3*)buf4756);
+    *(float4*)buf4757 = tgamma(*(float4*)buf4758);
+    *(float*)buf4759 = trunc(*(float*)buf4760);
+    *(float2*)buf4761 = trunc(*(float2*)buf4762);
+    *(float3*)buf4763 = trunc(*(float3*)buf4764);
+    *(float4*)buf4765 = trunc(*(float4*)buf4766);
 }
diff --git a/tests/P_all_api_23/all23.rs b/tests/P_all_api_23/all23.rs
index 7d2acc9..ac14284 100644
--- a/tests/P_all_api_23/all23.rs
+++ b/tests/P_all_api_23/all23.rs
@@ -4701,6 +4701,24 @@
 char buf4678[200];
 char buf4679[200];
 char buf4680[200];
+char buf4681[200];
+char buf4682[200];
+char buf4683[200];
+char buf4684[200];
+char buf4685[200];
+char buf4686[200];
+char buf4687[200];
+char buf4688[200];
+char buf4689[200];
+char buf4690[200];
+char buf4691[200];
+char buf4692[200];
+char buf4693[200];
+char buf4694[200];
+char buf4695[200];
+char buf4696[200];
+char buf4697[200];
+char buf4698[200];
 
 void RS_KERNEL test(int in, rs_kernel_context context) {
     *(uchar*)buf0 = abs(*(char*)buf1);
@@ -5333,1012 +5351,1018 @@
     *(float2*)buf1468 = max(*(float2*)buf1469, *(float2*)buf1470);
     *(float3*)buf1471 = max(*(float3*)buf1472, *(float3*)buf1473);
     *(float4*)buf1474 = max(*(float4*)buf1475, *(float4*)buf1476);
-    *(char*)buf1477 = max(*(char*)buf1478, *(char*)buf1479);
-    *(char2*)buf1480 = max(*(char2*)buf1481, *(char2*)buf1482);
-    *(char3*)buf1483 = max(*(char3*)buf1484, *(char3*)buf1485);
-    *(char4*)buf1486 = max(*(char4*)buf1487, *(char4*)buf1488);
-    *(uchar*)buf1489 = max(*(uchar*)buf1490, *(uchar*)buf1491);
-    *(uchar2*)buf1492 = max(*(uchar2*)buf1493, *(uchar2*)buf1494);
-    *(uchar3*)buf1495 = max(*(uchar3*)buf1496, *(uchar3*)buf1497);
-    *(uchar4*)buf1498 = max(*(uchar4*)buf1499, *(uchar4*)buf1500);
-    *(short*)buf1501 = max(*(short*)buf1502, *(short*)buf1503);
-    *(short2*)buf1504 = max(*(short2*)buf1505, *(short2*)buf1506);
-    *(short3*)buf1507 = max(*(short3*)buf1508, *(short3*)buf1509);
-    *(short4*)buf1510 = max(*(short4*)buf1511, *(short4*)buf1512);
-    *(ushort*)buf1513 = max(*(ushort*)buf1514, *(ushort*)buf1515);
-    *(ushort2*)buf1516 = max(*(ushort2*)buf1517, *(ushort2*)buf1518);
-    *(ushort3*)buf1519 = max(*(ushort3*)buf1520, *(ushort3*)buf1521);
-    *(ushort4*)buf1522 = max(*(ushort4*)buf1523, *(ushort4*)buf1524);
-    *(int*)buf1525 = max(*(int*)buf1526, *(int*)buf1527);
-    *(int2*)buf1528 = max(*(int2*)buf1529, *(int2*)buf1530);
-    *(int3*)buf1531 = max(*(int3*)buf1532, *(int3*)buf1533);
-    *(int4*)buf1534 = max(*(int4*)buf1535, *(int4*)buf1536);
-    *(uint*)buf1537 = max(*(uint*)buf1538, *(uint*)buf1539);
-    *(uint2*)buf1540 = max(*(uint2*)buf1541, *(uint2*)buf1542);
-    *(uint3*)buf1543 = max(*(uint3*)buf1544, *(uint3*)buf1545);
-    *(uint4*)buf1546 = max(*(uint4*)buf1547, *(uint4*)buf1548);
-    *(long*)buf1549 = max(*(long*)buf1550, *(long*)buf1551);
-    *(long2*)buf1552 = max(*(long2*)buf1553, *(long2*)buf1554);
-    *(long3*)buf1555 = max(*(long3*)buf1556, *(long3*)buf1557);
-    *(long4*)buf1558 = max(*(long4*)buf1559, *(long4*)buf1560);
-    *(ulong*)buf1561 = max(*(ulong*)buf1562, *(ulong*)buf1563);
-    *(ulong2*)buf1564 = max(*(ulong2*)buf1565, *(ulong2*)buf1566);
-    *(ulong3*)buf1567 = max(*(ulong3*)buf1568, *(ulong3*)buf1569);
-    *(ulong4*)buf1570 = max(*(ulong4*)buf1571, *(ulong4*)buf1572);
-    *(float*)buf1573 = min(*(float*)buf1574, *(float*)buf1575);
-    *(float2*)buf1576 = min(*(float2*)buf1577, *(float2*)buf1578);
-    *(float3*)buf1579 = min(*(float3*)buf1580, *(float3*)buf1581);
-    *(float4*)buf1582 = min(*(float4*)buf1583, *(float4*)buf1584);
-    *(char*)buf1585 = min(*(char*)buf1586, *(char*)buf1587);
-    *(char2*)buf1588 = min(*(char2*)buf1589, *(char2*)buf1590);
-    *(char3*)buf1591 = min(*(char3*)buf1592, *(char3*)buf1593);
-    *(char4*)buf1594 = min(*(char4*)buf1595, *(char4*)buf1596);
-    *(uchar*)buf1597 = min(*(uchar*)buf1598, *(uchar*)buf1599);
-    *(uchar2*)buf1600 = min(*(uchar2*)buf1601, *(uchar2*)buf1602);
-    *(uchar3*)buf1603 = min(*(uchar3*)buf1604, *(uchar3*)buf1605);
-    *(uchar4*)buf1606 = min(*(uchar4*)buf1607, *(uchar4*)buf1608);
-    *(short*)buf1609 = min(*(short*)buf1610, *(short*)buf1611);
-    *(short2*)buf1612 = min(*(short2*)buf1613, *(short2*)buf1614);
-    *(short3*)buf1615 = min(*(short3*)buf1616, *(short3*)buf1617);
-    *(short4*)buf1618 = min(*(short4*)buf1619, *(short4*)buf1620);
-    *(ushort*)buf1621 = min(*(ushort*)buf1622, *(ushort*)buf1623);
-    *(ushort2*)buf1624 = min(*(ushort2*)buf1625, *(ushort2*)buf1626);
-    *(ushort3*)buf1627 = min(*(ushort3*)buf1628, *(ushort3*)buf1629);
-    *(ushort4*)buf1630 = min(*(ushort4*)buf1631, *(ushort4*)buf1632);
-    *(int*)buf1633 = min(*(int*)buf1634, *(int*)buf1635);
-    *(int2*)buf1636 = min(*(int2*)buf1637, *(int2*)buf1638);
-    *(int3*)buf1639 = min(*(int3*)buf1640, *(int3*)buf1641);
-    *(int4*)buf1642 = min(*(int4*)buf1643, *(int4*)buf1644);
-    *(uint*)buf1645 = min(*(uint*)buf1646, *(uint*)buf1647);
-    *(uint2*)buf1648 = min(*(uint2*)buf1649, *(uint2*)buf1650);
-    *(uint3*)buf1651 = min(*(uint3*)buf1652, *(uint3*)buf1653);
-    *(uint4*)buf1654 = min(*(uint4*)buf1655, *(uint4*)buf1656);
-    *(long*)buf1657 = min(*(long*)buf1658, *(long*)buf1659);
-    *(long2*)buf1660 = min(*(long2*)buf1661, *(long2*)buf1662);
-    *(long3*)buf1663 = min(*(long3*)buf1664, *(long3*)buf1665);
-    *(long4*)buf1666 = min(*(long4*)buf1667, *(long4*)buf1668);
-    *(ulong*)buf1669 = min(*(ulong*)buf1670, *(ulong*)buf1671);
-    *(ulong2*)buf1672 = min(*(ulong2*)buf1673, *(ulong2*)buf1674);
-    *(ulong3*)buf1675 = min(*(ulong3*)buf1676, *(ulong3*)buf1677);
-    *(ulong4*)buf1678 = min(*(ulong4*)buf1679, *(ulong4*)buf1680);
-    *(float*)buf1681 = mix(*(float*)buf1682, *(float*)buf1683, *(float*)buf1684);
-    *(float2*)buf1685 = mix(*(float2*)buf1686, *(float2*)buf1687, *(float2*)buf1688);
-    *(float3*)buf1689 = mix(*(float3*)buf1690, *(float3*)buf1691, *(float3*)buf1692);
-    *(float4*)buf1693 = mix(*(float4*)buf1694, *(float4*)buf1695, *(float4*)buf1696);
-    *(float2*)buf1697 = mix(*(float2*)buf1698, *(float2*)buf1699, *(float*)buf1700);
-    *(float3*)buf1701 = mix(*(float3*)buf1702, *(float3*)buf1703, *(float*)buf1704);
-    *(float4*)buf1705 = mix(*(float4*)buf1706, *(float4*)buf1707, *(float*)buf1708);
-    *(float*)buf1709 = modf(*(float*)buf1710, (float*) buf1711);
-    *(float2*)buf1712 = modf(*(float2*)buf1713, (float2*) buf1714);
-    *(float3*)buf1715 = modf(*(float3*)buf1716, (float3*) buf1717);
-    *(float4*)buf1718 = modf(*(float4*)buf1719, (float4*) buf1720);
-    *(float*)buf1721 = nan(*(uint*)buf1722);
-    *(float*)buf1723 = native_acos(*(float*)buf1724);
-    *(float2*)buf1725 = native_acos(*(float2*)buf1726);
-    *(float3*)buf1727 = native_acos(*(float3*)buf1728);
-    *(float4*)buf1729 = native_acos(*(float4*)buf1730);
-    *(float*)buf1731 = native_acosh(*(float*)buf1732);
-    *(float2*)buf1733 = native_acosh(*(float2*)buf1734);
-    *(float3*)buf1735 = native_acosh(*(float3*)buf1736);
-    *(float4*)buf1737 = native_acosh(*(float4*)buf1738);
-    *(float*)buf1739 = native_acospi(*(float*)buf1740);
-    *(float2*)buf1741 = native_acospi(*(float2*)buf1742);
-    *(float3*)buf1743 = native_acospi(*(float3*)buf1744);
-    *(float4*)buf1745 = native_acospi(*(float4*)buf1746);
-    *(float*)buf1747 = native_asin(*(float*)buf1748);
-    *(float2*)buf1749 = native_asin(*(float2*)buf1750);
-    *(float3*)buf1751 = native_asin(*(float3*)buf1752);
-    *(float4*)buf1753 = native_asin(*(float4*)buf1754);
-    *(float*)buf1755 = native_asinh(*(float*)buf1756);
-    *(float2*)buf1757 = native_asinh(*(float2*)buf1758);
-    *(float3*)buf1759 = native_asinh(*(float3*)buf1760);
-    *(float4*)buf1761 = native_asinh(*(float4*)buf1762);
-    *(float*)buf1763 = native_asinpi(*(float*)buf1764);
-    *(float2*)buf1765 = native_asinpi(*(float2*)buf1766);
-    *(float3*)buf1767 = native_asinpi(*(float3*)buf1768);
-    *(float4*)buf1769 = native_asinpi(*(float4*)buf1770);
-    *(float*)buf1771 = native_atan(*(float*)buf1772);
-    *(float2*)buf1773 = native_atan(*(float2*)buf1774);
-    *(float3*)buf1775 = native_atan(*(float3*)buf1776);
-    *(float4*)buf1777 = native_atan(*(float4*)buf1778);
-    *(float*)buf1779 = native_atan2(*(float*)buf1780, *(float*)buf1781);
-    *(float2*)buf1782 = native_atan2(*(float2*)buf1783, *(float2*)buf1784);
-    *(float3*)buf1785 = native_atan2(*(float3*)buf1786, *(float3*)buf1787);
-    *(float4*)buf1788 = native_atan2(*(float4*)buf1789, *(float4*)buf1790);
-    *(float*)buf1791 = native_atan2pi(*(float*)buf1792, *(float*)buf1793);
-    *(float2*)buf1794 = native_atan2pi(*(float2*)buf1795, *(float2*)buf1796);
-    *(float3*)buf1797 = native_atan2pi(*(float3*)buf1798, *(float3*)buf1799);
-    *(float4*)buf1800 = native_atan2pi(*(float4*)buf1801, *(float4*)buf1802);
-    *(float*)buf1803 = native_atanh(*(float*)buf1804);
-    *(float2*)buf1805 = native_atanh(*(float2*)buf1806);
-    *(float3*)buf1807 = native_atanh(*(float3*)buf1808);
-    *(float4*)buf1809 = native_atanh(*(float4*)buf1810);
-    *(float*)buf1811 = native_atanpi(*(float*)buf1812);
-    *(float2*)buf1813 = native_atanpi(*(float2*)buf1814);
-    *(float3*)buf1815 = native_atanpi(*(float3*)buf1816);
-    *(float4*)buf1817 = native_atanpi(*(float4*)buf1818);
-    *(float*)buf1819 = native_cbrt(*(float*)buf1820);
-    *(float2*)buf1821 = native_cbrt(*(float2*)buf1822);
-    *(float3*)buf1823 = native_cbrt(*(float3*)buf1824);
-    *(float4*)buf1825 = native_cbrt(*(float4*)buf1826);
-    *(float*)buf1827 = native_cos(*(float*)buf1828);
-    *(float2*)buf1829 = native_cos(*(float2*)buf1830);
-    *(float3*)buf1831 = native_cos(*(float3*)buf1832);
-    *(float4*)buf1833 = native_cos(*(float4*)buf1834);
-    *(float*)buf1835 = native_cosh(*(float*)buf1836);
-    *(float2*)buf1837 = native_cosh(*(float2*)buf1838);
-    *(float3*)buf1839 = native_cosh(*(float3*)buf1840);
-    *(float4*)buf1841 = native_cosh(*(float4*)buf1842);
-    *(float*)buf1843 = native_cospi(*(float*)buf1844);
-    *(float2*)buf1845 = native_cospi(*(float2*)buf1846);
-    *(float3*)buf1847 = native_cospi(*(float3*)buf1848);
-    *(float4*)buf1849 = native_cospi(*(float4*)buf1850);
-    *(float*)buf1851 = native_distance(*(float*)buf1852, *(float*)buf1853);
-    *(float*)buf1854 = native_distance(*(float2*)buf1855, *(float2*)buf1856);
-    *(float*)buf1857 = native_distance(*(float3*)buf1858, *(float3*)buf1859);
-    *(float*)buf1860 = native_distance(*(float4*)buf1861, *(float4*)buf1862);
-    *(float*)buf1863 = native_divide(*(float*)buf1864, *(float*)buf1865);
-    *(float2*)buf1866 = native_divide(*(float2*)buf1867, *(float2*)buf1868);
-    *(float3*)buf1869 = native_divide(*(float3*)buf1870, *(float3*)buf1871);
-    *(float4*)buf1872 = native_divide(*(float4*)buf1873, *(float4*)buf1874);
-    *(float*)buf1875 = native_exp(*(float*)buf1876);
-    *(float2*)buf1877 = native_exp(*(float2*)buf1878);
-    *(float3*)buf1879 = native_exp(*(float3*)buf1880);
-    *(float4*)buf1881 = native_exp(*(float4*)buf1882);
-    *(float*)buf1883 = native_exp10(*(float*)buf1884);
-    *(float2*)buf1885 = native_exp10(*(float2*)buf1886);
-    *(float3*)buf1887 = native_exp10(*(float3*)buf1888);
-    *(float4*)buf1889 = native_exp10(*(float4*)buf1890);
-    *(float*)buf1891 = native_exp2(*(float*)buf1892);
-    *(float2*)buf1893 = native_exp2(*(float2*)buf1894);
-    *(float3*)buf1895 = native_exp2(*(float3*)buf1896);
-    *(float4*)buf1897 = native_exp2(*(float4*)buf1898);
-    *(float*)buf1899 = native_expm1(*(float*)buf1900);
-    *(float2*)buf1901 = native_expm1(*(float2*)buf1902);
-    *(float3*)buf1903 = native_expm1(*(float3*)buf1904);
-    *(float4*)buf1905 = native_expm1(*(float4*)buf1906);
-    *(float*)buf1907 = native_hypot(*(float*)buf1908, *(float*)buf1909);
-    *(float2*)buf1910 = native_hypot(*(float2*)buf1911, *(float2*)buf1912);
-    *(float3*)buf1913 = native_hypot(*(float3*)buf1914, *(float3*)buf1915);
-    *(float4*)buf1916 = native_hypot(*(float4*)buf1917, *(float4*)buf1918);
-    *(float*)buf1919 = native_length(*(float*)buf1920);
-    *(float*)buf1921 = native_length(*(float2*)buf1922);
-    *(float*)buf1923 = native_length(*(float3*)buf1924);
-    *(float*)buf1925 = native_length(*(float4*)buf1926);
-    *(float*)buf1927 = native_log(*(float*)buf1928);
-    *(float2*)buf1929 = native_log(*(float2*)buf1930);
-    *(float3*)buf1931 = native_log(*(float3*)buf1932);
-    *(float4*)buf1933 = native_log(*(float4*)buf1934);
-    *(float*)buf1935 = native_log10(*(float*)buf1936);
-    *(float2*)buf1937 = native_log10(*(float2*)buf1938);
-    *(float3*)buf1939 = native_log10(*(float3*)buf1940);
-    *(float4*)buf1941 = native_log10(*(float4*)buf1942);
-    *(float*)buf1943 = native_log1p(*(float*)buf1944);
-    *(float2*)buf1945 = native_log1p(*(float2*)buf1946);
-    *(float3*)buf1947 = native_log1p(*(float3*)buf1948);
-    *(float4*)buf1949 = native_log1p(*(float4*)buf1950);
-    *(float*)buf1951 = native_log2(*(float*)buf1952);
-    *(float2*)buf1953 = native_log2(*(float2*)buf1954);
-    *(float3*)buf1955 = native_log2(*(float3*)buf1956);
-    *(float4*)buf1957 = native_log2(*(float4*)buf1958);
-    *(float*)buf1959 = native_normalize(*(float*)buf1960);
-    *(float2*)buf1961 = native_normalize(*(float2*)buf1962);
-    *(float3*)buf1963 = native_normalize(*(float3*)buf1964);
-    *(float4*)buf1965 = native_normalize(*(float4*)buf1966);
-    *(float*)buf1967 = native_powr(*(float*)buf1968, *(float*)buf1969);
-    *(float2*)buf1970 = native_powr(*(float2*)buf1971, *(float2*)buf1972);
-    *(float3*)buf1973 = native_powr(*(float3*)buf1974, *(float3*)buf1975);
-    *(float4*)buf1976 = native_powr(*(float4*)buf1977, *(float4*)buf1978);
-    *(float*)buf1979 = native_recip(*(float*)buf1980);
-    *(float2*)buf1981 = native_recip(*(float2*)buf1982);
-    *(float3*)buf1983 = native_recip(*(float3*)buf1984);
-    *(float4*)buf1985 = native_recip(*(float4*)buf1986);
-    *(float*)buf1987 = native_rootn(*(float*)buf1988, *(int*)buf1989);
-    *(float2*)buf1990 = native_rootn(*(float2*)buf1991, *(int2*)buf1992);
-    *(float3*)buf1993 = native_rootn(*(float3*)buf1994, *(int3*)buf1995);
-    *(float4*)buf1996 = native_rootn(*(float4*)buf1997, *(int4*)buf1998);
-    *(float*)buf1999 = native_rsqrt(*(float*)buf2000);
-    *(float2*)buf2001 = native_rsqrt(*(float2*)buf2002);
-    *(float3*)buf2003 = native_rsqrt(*(float3*)buf2004);
-    *(float4*)buf2005 = native_rsqrt(*(float4*)buf2006);
-    *(float*)buf2007 = native_sin(*(float*)buf2008);
-    *(float2*)buf2009 = native_sin(*(float2*)buf2010);
-    *(float3*)buf2011 = native_sin(*(float3*)buf2012);
-    *(float4*)buf2013 = native_sin(*(float4*)buf2014);
-    *(float*)buf2015 = native_sincos(*(float*)buf2016, (float*) buf2017);
-    *(float2*)buf2018 = native_sincos(*(float2*)buf2019, (float2*) buf2020);
-    *(float3*)buf2021 = native_sincos(*(float3*)buf2022, (float3*) buf2023);
-    *(float4*)buf2024 = native_sincos(*(float4*)buf2025, (float4*) buf2026);
-    *(float*)buf2027 = native_sinh(*(float*)buf2028);
-    *(float2*)buf2029 = native_sinh(*(float2*)buf2030);
-    *(float3*)buf2031 = native_sinh(*(float3*)buf2032);
-    *(float4*)buf2033 = native_sinh(*(float4*)buf2034);
-    *(float*)buf2035 = native_sinpi(*(float*)buf2036);
-    *(float2*)buf2037 = native_sinpi(*(float2*)buf2038);
-    *(float3*)buf2039 = native_sinpi(*(float3*)buf2040);
-    *(float4*)buf2041 = native_sinpi(*(float4*)buf2042);
-    *(float*)buf2043 = native_sqrt(*(float*)buf2044);
-    *(float2*)buf2045 = native_sqrt(*(float2*)buf2046);
-    *(float3*)buf2047 = native_sqrt(*(float3*)buf2048);
-    *(float4*)buf2049 = native_sqrt(*(float4*)buf2050);
-    *(float*)buf2051 = native_tan(*(float*)buf2052);
-    *(float2*)buf2053 = native_tan(*(float2*)buf2054);
-    *(float3*)buf2055 = native_tan(*(float3*)buf2056);
-    *(float4*)buf2057 = native_tan(*(float4*)buf2058);
-    *(float*)buf2059 = native_tanh(*(float*)buf2060);
-    *(float2*)buf2061 = native_tanh(*(float2*)buf2062);
-    *(float3*)buf2063 = native_tanh(*(float3*)buf2064);
-    *(float4*)buf2065 = native_tanh(*(float4*)buf2066);
-    *(float*)buf2067 = native_tanpi(*(float*)buf2068);
-    *(float2*)buf2069 = native_tanpi(*(float2*)buf2070);
-    *(float3*)buf2071 = native_tanpi(*(float3*)buf2072);
-    *(float4*)buf2073 = native_tanpi(*(float4*)buf2074);
-    *(float*)buf2075 = nextafter(*(float*)buf2076, *(float*)buf2077);
-    *(float2*)buf2078 = nextafter(*(float2*)buf2079, *(float2*)buf2080);
-    *(float3*)buf2081 = nextafter(*(float3*)buf2082, *(float3*)buf2083);
-    *(float4*)buf2084 = nextafter(*(float4*)buf2085, *(float4*)buf2086);
-    *(float*)buf2087 = normalize(*(float*)buf2088);
-    *(float2*)buf2089 = normalize(*(float2*)buf2090);
-    *(float3*)buf2091 = normalize(*(float3*)buf2092);
-    *(float4*)buf2093 = normalize(*(float4*)buf2094);
-    *(float*)buf2095 = pow(*(float*)buf2096, *(float*)buf2097);
-    *(float2*)buf2098 = pow(*(float2*)buf2099, *(float2*)buf2100);
-    *(float3*)buf2101 = pow(*(float3*)buf2102, *(float3*)buf2103);
-    *(float4*)buf2104 = pow(*(float4*)buf2105, *(float4*)buf2106);
-    *(float*)buf2107 = pown(*(float*)buf2108, *(int*)buf2109);
-    *(float2*)buf2110 = pown(*(float2*)buf2111, *(int2*)buf2112);
-    *(float3*)buf2113 = pown(*(float3*)buf2114, *(int3*)buf2115);
-    *(float4*)buf2116 = pown(*(float4*)buf2117, *(int4*)buf2118);
-    *(float*)buf2119 = powr(*(float*)buf2120, *(float*)buf2121);
-    *(float2*)buf2122 = powr(*(float2*)buf2123, *(float2*)buf2124);
-    *(float3*)buf2125 = powr(*(float3*)buf2126, *(float3*)buf2127);
-    *(float4*)buf2128 = powr(*(float4*)buf2129, *(float4*)buf2130);
-    *(float*)buf2131 = radians(*(float*)buf2132);
-    *(float2*)buf2133 = radians(*(float2*)buf2134);
-    *(float3*)buf2135 = radians(*(float3*)buf2136);
-    *(float4*)buf2137 = radians(*(float4*)buf2138);
-    *(float*)buf2139 = remainder(*(float*)buf2140, *(float*)buf2141);
-    *(float2*)buf2142 = remainder(*(float2*)buf2143, *(float2*)buf2144);
-    *(float3*)buf2145 = remainder(*(float3*)buf2146, *(float3*)buf2147);
-    *(float4*)buf2148 = remainder(*(float4*)buf2149, *(float4*)buf2150);
-    *(float*)buf2151 = remquo(*(float*)buf2152, *(float*)buf2153, (int*) buf2154);
-    *(float2*)buf2155 = remquo(*(float2*)buf2156, *(float2*)buf2157, (int2*) buf2158);
-    *(float3*)buf2159 = remquo(*(float3*)buf2160, *(float3*)buf2161, (int3*) buf2162);
-    *(float4*)buf2163 = remquo(*(float4*)buf2164, *(float4*)buf2165, (int4*) buf2166);
-    *(float*)buf2167 = rint(*(float*)buf2168);
-    *(float2*)buf2169 = rint(*(float2*)buf2170);
-    *(float3*)buf2171 = rint(*(float3*)buf2172);
-    *(float4*)buf2173 = rint(*(float4*)buf2174);
-    *(float*)buf2175 = rootn(*(float*)buf2176, *(int*)buf2177);
-    *(float2*)buf2178 = rootn(*(float2*)buf2179, *(int2*)buf2180);
-    *(float3*)buf2181 = rootn(*(float3*)buf2182, *(int3*)buf2183);
-    *(float4*)buf2184 = rootn(*(float4*)buf2185, *(int4*)buf2186);
-    *(float*)buf2187 = round(*(float*)buf2188);
-    *(float2*)buf2189 = round(*(float2*)buf2190);
-    *(float3*)buf2191 = round(*(float3*)buf2192);
-    *(float4*)buf2193 = round(*(float4*)buf2194);
-    rsAllocationCopy1DRange(*(rs_allocation*)buf2195, *(uint32_t*)buf2196, *(uint32_t*)buf2197, *(uint32_t*)buf2198, *(rs_allocation*)buf2199, *(uint32_t*)buf2200, *(uint32_t*)buf2201);
-    rsAllocationCopy2DRange(*(rs_allocation*)buf2202, *(uint32_t*)buf2203, *(uint32_t*)buf2204, *(uint32_t*)buf2205, *(rs_allocation_cubemap_face*)buf2206, *(uint32_t*)buf2207, *(uint32_t*)buf2208, *(rs_allocation*)buf2209, *(uint32_t*)buf2210, *(uint32_t*)buf2211, *(uint32_t*)buf2212, *(rs_allocation_cubemap_face*)buf2213);
-    *(uint32_t*)buf2214 = rsAllocationGetDimFaces(*(rs_allocation*)buf2215);
-    *(uint32_t*)buf2216 = rsAllocationGetDimLOD(*(rs_allocation*)buf2217);
-    *(uint32_t*)buf2218 = rsAllocationGetDimX(*(rs_allocation*)buf2219);
-    *(uint32_t*)buf2220 = rsAllocationGetDimY(*(rs_allocation*)buf2221);
-    *(uint32_t*)buf2222 = rsAllocationGetDimZ(*(rs_allocation*)buf2223);
-    *(rs_element*)buf2224 = rsAllocationGetElement(*(rs_allocation*)buf2225);
-    rsAllocationIoReceive(*(rs_allocation*)buf2226);
-    rsAllocationIoSend(*(rs_allocation*)buf2227);
-    *(float2*)buf2228 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2229, *(uint32_t*)buf2230);
-    *(float3*)buf2231 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2232, *(uint32_t*)buf2233);
-    *(float4*)buf2234 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2235, *(uint32_t*)buf2236);
-    *(double2*)buf2237 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2238, *(uint32_t*)buf2239);
-    *(double3*)buf2240 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2241, *(uint32_t*)buf2242);
-    *(double4*)buf2243 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2244, *(uint32_t*)buf2245);
-    *(char2*)buf2246 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2247, *(uint32_t*)buf2248);
-    *(char3*)buf2249 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2250, *(uint32_t*)buf2251);
-    *(char4*)buf2252 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2253, *(uint32_t*)buf2254);
-    *(uchar2*)buf2255 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2256, *(uint32_t*)buf2257);
-    *(uchar3*)buf2258 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2259, *(uint32_t*)buf2260);
-    *(uchar4*)buf2261 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2262, *(uint32_t*)buf2263);
-    *(short2*)buf2264 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2265, *(uint32_t*)buf2266);
-    *(short3*)buf2267 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2268, *(uint32_t*)buf2269);
-    *(short4*)buf2270 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2271, *(uint32_t*)buf2272);
-    *(ushort2*)buf2273 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2274, *(uint32_t*)buf2275);
-    *(ushort3*)buf2276 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2277, *(uint32_t*)buf2278);
-    *(ushort4*)buf2279 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2280, *(uint32_t*)buf2281);
-    *(int2*)buf2282 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2283, *(uint32_t*)buf2284);
-    *(int3*)buf2285 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2286, *(uint32_t*)buf2287);
-    *(int4*)buf2288 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2289, *(uint32_t*)buf2290);
-    *(uint2*)buf2291 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2292, *(uint32_t*)buf2293);
-    *(uint3*)buf2294 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2295, *(uint32_t*)buf2296);
-    *(uint4*)buf2297 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2298, *(uint32_t*)buf2299);
-    *(long2*)buf2300 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2301, *(uint32_t*)buf2302);
-    *(long3*)buf2303 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2304, *(uint32_t*)buf2305);
-    *(long4*)buf2306 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2307, *(uint32_t*)buf2308);
-    *(ulong2*)buf2309 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2310, *(uint32_t*)buf2311);
-    *(ulong3*)buf2312 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2313, *(uint32_t*)buf2314);
-    *(ulong4*)buf2315 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2316, *(uint32_t*)buf2317);
-    *(float2*)buf2318 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2319, *(uint32_t*)buf2320, *(uint32_t*)buf2321);
-    *(float3*)buf2322 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2323, *(uint32_t*)buf2324, *(uint32_t*)buf2325);
-    *(float4*)buf2326 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2327, *(uint32_t*)buf2328, *(uint32_t*)buf2329);
-    *(double2*)buf2330 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2331, *(uint32_t*)buf2332, *(uint32_t*)buf2333);
-    *(double3*)buf2334 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2335, *(uint32_t*)buf2336, *(uint32_t*)buf2337);
-    *(double4*)buf2338 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2339, *(uint32_t*)buf2340, *(uint32_t*)buf2341);
-    *(char2*)buf2342 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2343, *(uint32_t*)buf2344, *(uint32_t*)buf2345);
-    *(char3*)buf2346 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2347, *(uint32_t*)buf2348, *(uint32_t*)buf2349);
-    *(char4*)buf2350 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2351, *(uint32_t*)buf2352, *(uint32_t*)buf2353);
-    *(uchar2*)buf2354 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2355, *(uint32_t*)buf2356, *(uint32_t*)buf2357);
-    *(uchar3*)buf2358 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2359, *(uint32_t*)buf2360, *(uint32_t*)buf2361);
-    *(uchar4*)buf2362 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2363, *(uint32_t*)buf2364, *(uint32_t*)buf2365);
-    *(short2*)buf2366 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2367, *(uint32_t*)buf2368, *(uint32_t*)buf2369);
-    *(short3*)buf2370 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2371, *(uint32_t*)buf2372, *(uint32_t*)buf2373);
-    *(short4*)buf2374 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2375, *(uint32_t*)buf2376, *(uint32_t*)buf2377);
-    *(ushort2*)buf2378 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2379, *(uint32_t*)buf2380, *(uint32_t*)buf2381);
-    *(ushort3*)buf2382 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2383, *(uint32_t*)buf2384, *(uint32_t*)buf2385);
-    *(ushort4*)buf2386 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2387, *(uint32_t*)buf2388, *(uint32_t*)buf2389);
-    *(int2*)buf2390 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2391, *(uint32_t*)buf2392, *(uint32_t*)buf2393);
-    *(int3*)buf2394 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2395, *(uint32_t*)buf2396, *(uint32_t*)buf2397);
-    *(int4*)buf2398 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2399, *(uint32_t*)buf2400, *(uint32_t*)buf2401);
-    *(uint2*)buf2402 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2403, *(uint32_t*)buf2404, *(uint32_t*)buf2405);
-    *(uint3*)buf2406 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2407, *(uint32_t*)buf2408, *(uint32_t*)buf2409);
-    *(uint4*)buf2410 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2411, *(uint32_t*)buf2412, *(uint32_t*)buf2413);
-    *(long2*)buf2414 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2415, *(uint32_t*)buf2416, *(uint32_t*)buf2417);
-    *(long3*)buf2418 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2419, *(uint32_t*)buf2420, *(uint32_t*)buf2421);
-    *(long4*)buf2422 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2423, *(uint32_t*)buf2424, *(uint32_t*)buf2425);
-    *(ulong2*)buf2426 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2427, *(uint32_t*)buf2428, *(uint32_t*)buf2429);
-    *(ulong3*)buf2430 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2431, *(uint32_t*)buf2432, *(uint32_t*)buf2433);
-    *(ulong4*)buf2434 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2435, *(uint32_t*)buf2436, *(uint32_t*)buf2437);
-    *(float2*)buf2438 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2439, *(uint32_t*)buf2440, *(uint32_t*)buf2441, *(uint32_t*)buf2442);
-    *(float3*)buf2443 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2444, *(uint32_t*)buf2445, *(uint32_t*)buf2446, *(uint32_t*)buf2447);
-    *(float4*)buf2448 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2449, *(uint32_t*)buf2450, *(uint32_t*)buf2451, *(uint32_t*)buf2452);
-    *(double2*)buf2453 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2454, *(uint32_t*)buf2455, *(uint32_t*)buf2456, *(uint32_t*)buf2457);
-    *(double3*)buf2458 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2459, *(uint32_t*)buf2460, *(uint32_t*)buf2461, *(uint32_t*)buf2462);
-    *(double4*)buf2463 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2464, *(uint32_t*)buf2465, *(uint32_t*)buf2466, *(uint32_t*)buf2467);
-    *(char2*)buf2468 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2469, *(uint32_t*)buf2470, *(uint32_t*)buf2471, *(uint32_t*)buf2472);
-    *(char3*)buf2473 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2474, *(uint32_t*)buf2475, *(uint32_t*)buf2476, *(uint32_t*)buf2477);
-    *(char4*)buf2478 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2479, *(uint32_t*)buf2480, *(uint32_t*)buf2481, *(uint32_t*)buf2482);
-    *(uchar2*)buf2483 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2484, *(uint32_t*)buf2485, *(uint32_t*)buf2486, *(uint32_t*)buf2487);
-    *(uchar3*)buf2488 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2489, *(uint32_t*)buf2490, *(uint32_t*)buf2491, *(uint32_t*)buf2492);
-    *(uchar4*)buf2493 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2494, *(uint32_t*)buf2495, *(uint32_t*)buf2496, *(uint32_t*)buf2497);
-    *(short2*)buf2498 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2499, *(uint32_t*)buf2500, *(uint32_t*)buf2501, *(uint32_t*)buf2502);
-    *(short3*)buf2503 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2504, *(uint32_t*)buf2505, *(uint32_t*)buf2506, *(uint32_t*)buf2507);
-    *(short4*)buf2508 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2509, *(uint32_t*)buf2510, *(uint32_t*)buf2511, *(uint32_t*)buf2512);
-    *(ushort2*)buf2513 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2514, *(uint32_t*)buf2515, *(uint32_t*)buf2516, *(uint32_t*)buf2517);
-    *(ushort3*)buf2518 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2519, *(uint32_t*)buf2520, *(uint32_t*)buf2521, *(uint32_t*)buf2522);
-    *(ushort4*)buf2523 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2524, *(uint32_t*)buf2525, *(uint32_t*)buf2526, *(uint32_t*)buf2527);
-    *(int2*)buf2528 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2529, *(uint32_t*)buf2530, *(uint32_t*)buf2531, *(uint32_t*)buf2532);
-    *(int3*)buf2533 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2534, *(uint32_t*)buf2535, *(uint32_t*)buf2536, *(uint32_t*)buf2537);
-    *(int4*)buf2538 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2539, *(uint32_t*)buf2540, *(uint32_t*)buf2541, *(uint32_t*)buf2542);
-    *(uint2*)buf2543 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2544, *(uint32_t*)buf2545, *(uint32_t*)buf2546, *(uint32_t*)buf2547);
-    *(uint3*)buf2548 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2549, *(uint32_t*)buf2550, *(uint32_t*)buf2551, *(uint32_t*)buf2552);
-    *(uint4*)buf2553 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2554, *(uint32_t*)buf2555, *(uint32_t*)buf2556, *(uint32_t*)buf2557);
-    *(long2*)buf2558 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2559, *(uint32_t*)buf2560, *(uint32_t*)buf2561, *(uint32_t*)buf2562);
-    *(long3*)buf2563 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2564, *(uint32_t*)buf2565, *(uint32_t*)buf2566, *(uint32_t*)buf2567);
-    *(long4*)buf2568 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2569, *(uint32_t*)buf2570, *(uint32_t*)buf2571, *(uint32_t*)buf2572);
-    *(ulong2*)buf2573 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2574, *(uint32_t*)buf2575, *(uint32_t*)buf2576, *(uint32_t*)buf2577);
-    *(ulong3*)buf2578 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2579, *(uint32_t*)buf2580, *(uint32_t*)buf2581, *(uint32_t*)buf2582);
-    *(ulong4*)buf2583 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2584, *(uint32_t*)buf2585, *(uint32_t*)buf2586, *(uint32_t*)buf2587);
-    rsAllocationVStoreX_float2(*(rs_allocation*)buf2588, *(float2*)buf2589, *(uint32_t*)buf2590);
-    rsAllocationVStoreX_float3(*(rs_allocation*)buf2591, *(float3*)buf2592, *(uint32_t*)buf2593);
-    rsAllocationVStoreX_float4(*(rs_allocation*)buf2594, *(float4*)buf2595, *(uint32_t*)buf2596);
-    rsAllocationVStoreX_double2(*(rs_allocation*)buf2597, *(double2*)buf2598, *(uint32_t*)buf2599);
-    rsAllocationVStoreX_double3(*(rs_allocation*)buf2600, *(double3*)buf2601, *(uint32_t*)buf2602);
-    rsAllocationVStoreX_double4(*(rs_allocation*)buf2603, *(double4*)buf2604, *(uint32_t*)buf2605);
-    rsAllocationVStoreX_char2(*(rs_allocation*)buf2606, *(char2*)buf2607, *(uint32_t*)buf2608);
-    rsAllocationVStoreX_char3(*(rs_allocation*)buf2609, *(char3*)buf2610, *(uint32_t*)buf2611);
-    rsAllocationVStoreX_char4(*(rs_allocation*)buf2612, *(char4*)buf2613, *(uint32_t*)buf2614);
-    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2615, *(uchar2*)buf2616, *(uint32_t*)buf2617);
-    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2618, *(uchar3*)buf2619, *(uint32_t*)buf2620);
-    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2621, *(uchar4*)buf2622, *(uint32_t*)buf2623);
-    rsAllocationVStoreX_short2(*(rs_allocation*)buf2624, *(short2*)buf2625, *(uint32_t*)buf2626);
-    rsAllocationVStoreX_short3(*(rs_allocation*)buf2627, *(short3*)buf2628, *(uint32_t*)buf2629);
-    rsAllocationVStoreX_short4(*(rs_allocation*)buf2630, *(short4*)buf2631, *(uint32_t*)buf2632);
-    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2633, *(ushort2*)buf2634, *(uint32_t*)buf2635);
-    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2636, *(ushort3*)buf2637, *(uint32_t*)buf2638);
-    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2639, *(ushort4*)buf2640, *(uint32_t*)buf2641);
-    rsAllocationVStoreX_int2(*(rs_allocation*)buf2642, *(int2*)buf2643, *(uint32_t*)buf2644);
-    rsAllocationVStoreX_int3(*(rs_allocation*)buf2645, *(int3*)buf2646, *(uint32_t*)buf2647);
-    rsAllocationVStoreX_int4(*(rs_allocation*)buf2648, *(int4*)buf2649, *(uint32_t*)buf2650);
-    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2651, *(uint2*)buf2652, *(uint32_t*)buf2653);
-    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2654, *(uint3*)buf2655, *(uint32_t*)buf2656);
-    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2657, *(uint4*)buf2658, *(uint32_t*)buf2659);
-    rsAllocationVStoreX_long2(*(rs_allocation*)buf2660, *(long2*)buf2661, *(uint32_t*)buf2662);
-    rsAllocationVStoreX_long3(*(rs_allocation*)buf2663, *(long3*)buf2664, *(uint32_t*)buf2665);
-    rsAllocationVStoreX_long4(*(rs_allocation*)buf2666, *(long4*)buf2667, *(uint32_t*)buf2668);
-    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2669, *(ulong2*)buf2670, *(uint32_t*)buf2671);
-    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2672, *(ulong3*)buf2673, *(uint32_t*)buf2674);
-    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2675, *(ulong4*)buf2676, *(uint32_t*)buf2677);
-    rsAllocationVStoreX_float2(*(rs_allocation*)buf2678, *(float2*)buf2679, *(uint32_t*)buf2680, *(uint32_t*)buf2681);
-    rsAllocationVStoreX_float3(*(rs_allocation*)buf2682, *(float3*)buf2683, *(uint32_t*)buf2684, *(uint32_t*)buf2685);
-    rsAllocationVStoreX_float4(*(rs_allocation*)buf2686, *(float4*)buf2687, *(uint32_t*)buf2688, *(uint32_t*)buf2689);
-    rsAllocationVStoreX_double2(*(rs_allocation*)buf2690, *(double2*)buf2691, *(uint32_t*)buf2692, *(uint32_t*)buf2693);
-    rsAllocationVStoreX_double3(*(rs_allocation*)buf2694, *(double3*)buf2695, *(uint32_t*)buf2696, *(uint32_t*)buf2697);
-    rsAllocationVStoreX_double4(*(rs_allocation*)buf2698, *(double4*)buf2699, *(uint32_t*)buf2700, *(uint32_t*)buf2701);
-    rsAllocationVStoreX_char2(*(rs_allocation*)buf2702, *(char2*)buf2703, *(uint32_t*)buf2704, *(uint32_t*)buf2705);
-    rsAllocationVStoreX_char3(*(rs_allocation*)buf2706, *(char3*)buf2707, *(uint32_t*)buf2708, *(uint32_t*)buf2709);
-    rsAllocationVStoreX_char4(*(rs_allocation*)buf2710, *(char4*)buf2711, *(uint32_t*)buf2712, *(uint32_t*)buf2713);
-    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2714, *(uchar2*)buf2715, *(uint32_t*)buf2716, *(uint32_t*)buf2717);
-    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2718, *(uchar3*)buf2719, *(uint32_t*)buf2720, *(uint32_t*)buf2721);
-    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2722, *(uchar4*)buf2723, *(uint32_t*)buf2724, *(uint32_t*)buf2725);
-    rsAllocationVStoreX_short2(*(rs_allocation*)buf2726, *(short2*)buf2727, *(uint32_t*)buf2728, *(uint32_t*)buf2729);
-    rsAllocationVStoreX_short3(*(rs_allocation*)buf2730, *(short3*)buf2731, *(uint32_t*)buf2732, *(uint32_t*)buf2733);
-    rsAllocationVStoreX_short4(*(rs_allocation*)buf2734, *(short4*)buf2735, *(uint32_t*)buf2736, *(uint32_t*)buf2737);
-    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2738, *(ushort2*)buf2739, *(uint32_t*)buf2740, *(uint32_t*)buf2741);
-    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2742, *(ushort3*)buf2743, *(uint32_t*)buf2744, *(uint32_t*)buf2745);
-    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2746, *(ushort4*)buf2747, *(uint32_t*)buf2748, *(uint32_t*)buf2749);
-    rsAllocationVStoreX_int2(*(rs_allocation*)buf2750, *(int2*)buf2751, *(uint32_t*)buf2752, *(uint32_t*)buf2753);
-    rsAllocationVStoreX_int3(*(rs_allocation*)buf2754, *(int3*)buf2755, *(uint32_t*)buf2756, *(uint32_t*)buf2757);
-    rsAllocationVStoreX_int4(*(rs_allocation*)buf2758, *(int4*)buf2759, *(uint32_t*)buf2760, *(uint32_t*)buf2761);
-    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2762, *(uint2*)buf2763, *(uint32_t*)buf2764, *(uint32_t*)buf2765);
-    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2766, *(uint3*)buf2767, *(uint32_t*)buf2768, *(uint32_t*)buf2769);
-    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2770, *(uint4*)buf2771, *(uint32_t*)buf2772, *(uint32_t*)buf2773);
-    rsAllocationVStoreX_long2(*(rs_allocation*)buf2774, *(long2*)buf2775, *(uint32_t*)buf2776, *(uint32_t*)buf2777);
-    rsAllocationVStoreX_long3(*(rs_allocation*)buf2778, *(long3*)buf2779, *(uint32_t*)buf2780, *(uint32_t*)buf2781);
-    rsAllocationVStoreX_long4(*(rs_allocation*)buf2782, *(long4*)buf2783, *(uint32_t*)buf2784, *(uint32_t*)buf2785);
-    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2786, *(ulong2*)buf2787, *(uint32_t*)buf2788, *(uint32_t*)buf2789);
-    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2790, *(ulong3*)buf2791, *(uint32_t*)buf2792, *(uint32_t*)buf2793);
-    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2794, *(ulong4*)buf2795, *(uint32_t*)buf2796, *(uint32_t*)buf2797);
-    rsAllocationVStoreX_float2(*(rs_allocation*)buf2798, *(float2*)buf2799, *(uint32_t*)buf2800, *(uint32_t*)buf2801, *(uint32_t*)buf2802);
-    rsAllocationVStoreX_float3(*(rs_allocation*)buf2803, *(float3*)buf2804, *(uint32_t*)buf2805, *(uint32_t*)buf2806, *(uint32_t*)buf2807);
-    rsAllocationVStoreX_float4(*(rs_allocation*)buf2808, *(float4*)buf2809, *(uint32_t*)buf2810, *(uint32_t*)buf2811, *(uint32_t*)buf2812);
-    rsAllocationVStoreX_double2(*(rs_allocation*)buf2813, *(double2*)buf2814, *(uint32_t*)buf2815, *(uint32_t*)buf2816, *(uint32_t*)buf2817);
-    rsAllocationVStoreX_double3(*(rs_allocation*)buf2818, *(double3*)buf2819, *(uint32_t*)buf2820, *(uint32_t*)buf2821, *(uint32_t*)buf2822);
-    rsAllocationVStoreX_double4(*(rs_allocation*)buf2823, *(double4*)buf2824, *(uint32_t*)buf2825, *(uint32_t*)buf2826, *(uint32_t*)buf2827);
-    rsAllocationVStoreX_char2(*(rs_allocation*)buf2828, *(char2*)buf2829, *(uint32_t*)buf2830, *(uint32_t*)buf2831, *(uint32_t*)buf2832);
-    rsAllocationVStoreX_char3(*(rs_allocation*)buf2833, *(char3*)buf2834, *(uint32_t*)buf2835, *(uint32_t*)buf2836, *(uint32_t*)buf2837);
-    rsAllocationVStoreX_char4(*(rs_allocation*)buf2838, *(char4*)buf2839, *(uint32_t*)buf2840, *(uint32_t*)buf2841, *(uint32_t*)buf2842);
-    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2843, *(uchar2*)buf2844, *(uint32_t*)buf2845, *(uint32_t*)buf2846, *(uint32_t*)buf2847);
-    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2848, *(uchar3*)buf2849, *(uint32_t*)buf2850, *(uint32_t*)buf2851, *(uint32_t*)buf2852);
-    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2853, *(uchar4*)buf2854, *(uint32_t*)buf2855, *(uint32_t*)buf2856, *(uint32_t*)buf2857);
-    rsAllocationVStoreX_short2(*(rs_allocation*)buf2858, *(short2*)buf2859, *(uint32_t*)buf2860, *(uint32_t*)buf2861, *(uint32_t*)buf2862);
-    rsAllocationVStoreX_short3(*(rs_allocation*)buf2863, *(short3*)buf2864, *(uint32_t*)buf2865, *(uint32_t*)buf2866, *(uint32_t*)buf2867);
-    rsAllocationVStoreX_short4(*(rs_allocation*)buf2868, *(short4*)buf2869, *(uint32_t*)buf2870, *(uint32_t*)buf2871, *(uint32_t*)buf2872);
-    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2873, *(ushort2*)buf2874, *(uint32_t*)buf2875, *(uint32_t*)buf2876, *(uint32_t*)buf2877);
-    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2878, *(ushort3*)buf2879, *(uint32_t*)buf2880, *(uint32_t*)buf2881, *(uint32_t*)buf2882);
-    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2883, *(ushort4*)buf2884, *(uint32_t*)buf2885, *(uint32_t*)buf2886, *(uint32_t*)buf2887);
-    rsAllocationVStoreX_int2(*(rs_allocation*)buf2888, *(int2*)buf2889, *(uint32_t*)buf2890, *(uint32_t*)buf2891, *(uint32_t*)buf2892);
-    rsAllocationVStoreX_int3(*(rs_allocation*)buf2893, *(int3*)buf2894, *(uint32_t*)buf2895, *(uint32_t*)buf2896, *(uint32_t*)buf2897);
-    rsAllocationVStoreX_int4(*(rs_allocation*)buf2898, *(int4*)buf2899, *(uint32_t*)buf2900, *(uint32_t*)buf2901, *(uint32_t*)buf2902);
-    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2903, *(uint2*)buf2904, *(uint32_t*)buf2905, *(uint32_t*)buf2906, *(uint32_t*)buf2907);
-    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2908, *(uint3*)buf2909, *(uint32_t*)buf2910, *(uint32_t*)buf2911, *(uint32_t*)buf2912);
-    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2913, *(uint4*)buf2914, *(uint32_t*)buf2915, *(uint32_t*)buf2916, *(uint32_t*)buf2917);
-    rsAllocationVStoreX_long2(*(rs_allocation*)buf2918, *(long2*)buf2919, *(uint32_t*)buf2920, *(uint32_t*)buf2921, *(uint32_t*)buf2922);
-    rsAllocationVStoreX_long3(*(rs_allocation*)buf2923, *(long3*)buf2924, *(uint32_t*)buf2925, *(uint32_t*)buf2926, *(uint32_t*)buf2927);
-    rsAllocationVStoreX_long4(*(rs_allocation*)buf2928, *(long4*)buf2929, *(uint32_t*)buf2930, *(uint32_t*)buf2931, *(uint32_t*)buf2932);
-    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2933, *(ulong2*)buf2934, *(uint32_t*)buf2935, *(uint32_t*)buf2936, *(uint32_t*)buf2937);
-    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2938, *(ulong3*)buf2939, *(uint32_t*)buf2940, *(uint32_t*)buf2941, *(uint32_t*)buf2942);
-    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2943, *(ulong4*)buf2944, *(uint32_t*)buf2945, *(uint32_t*)buf2946, *(uint32_t*)buf2947);
-    *(int32_t*)buf2948 = rsAtomicAdd((volatile int32_t*) buf2949, *(int32_t*)buf2950);
-    *(int32_t*)buf2951 = rsAtomicAdd((volatile uint32_t*) buf2952, *(uint32_t*)buf2953);
-    *(int32_t*)buf2954 = rsAtomicAnd((volatile int32_t*) buf2955, *(int32_t*)buf2956);
-    *(int32_t*)buf2957 = rsAtomicAnd((volatile uint32_t*) buf2958, *(uint32_t*)buf2959);
-    *(int32_t*)buf2960 = rsAtomicCas((volatile int32_t*) buf2961, *(int32_t*)buf2962, *(int32_t*)buf2963);
-    *(uint32_t*)buf2964 = rsAtomicCas((volatile uint32_t*) buf2965, *(uint32_t*)buf2966, *(uint32_t*)buf2967);
-    *(int32_t*)buf2968 = rsAtomicDec((volatile int32_t*) buf2969);
-    *(int32_t*)buf2970 = rsAtomicDec((volatile uint32_t*) buf2971);
-    *(int32_t*)buf2972 = rsAtomicInc((volatile int32_t*) buf2973);
-    *(int32_t*)buf2974 = rsAtomicInc((volatile uint32_t*) buf2975);
-    *(uint32_t*)buf2976 = rsAtomicMax((volatile uint32_t*) buf2977, *(uint32_t*)buf2978);
-    *(int32_t*)buf2979 = rsAtomicMax((volatile int32_t*) buf2980, *(int32_t*)buf2981);
-    *(uint32_t*)buf2982 = rsAtomicMin((volatile uint32_t*) buf2983, *(uint32_t*)buf2984);
-    *(int32_t*)buf2985 = rsAtomicMin((volatile int32_t*) buf2986, *(int32_t*)buf2987);
-    *(int32_t*)buf2988 = rsAtomicOr((volatile int32_t*) buf2989, *(int32_t*)buf2990);
-    *(int32_t*)buf2991 = rsAtomicOr((volatile uint32_t*) buf2992, *(uint32_t*)buf2993);
-    *(int32_t*)buf2994 = rsAtomicSub((volatile int32_t*) buf2995, *(int32_t*)buf2996);
-    *(int32_t*)buf2997 = rsAtomicSub((volatile uint32_t*) buf2998, *(uint32_t*)buf2999);
-    *(int32_t*)buf3000 = rsAtomicXor((volatile int32_t*) buf3001, *(int32_t*)buf3002);
-    *(int32_t*)buf3003 = rsAtomicXor((volatile uint32_t*) buf3004, *(uint32_t*)buf3005);
-    *(char*)buf3006 = rsClamp(*(char*)buf3007, *(char*)buf3008, *(char*)buf3009);
-    *(uchar*)buf3010 = rsClamp(*(uchar*)buf3011, *(uchar*)buf3012, *(uchar*)buf3013);
-    *(short*)buf3014 = rsClamp(*(short*)buf3015, *(short*)buf3016, *(short*)buf3017);
-    *(ushort*)buf3018 = rsClamp(*(ushort*)buf3019, *(ushort*)buf3020, *(ushort*)buf3021);
-    *(int*)buf3022 = rsClamp(*(int*)buf3023, *(int*)buf3024, *(int*)buf3025);
-    *(uint*)buf3026 = rsClamp(*(uint*)buf3027, *(uint*)buf3028, *(uint*)buf3029);
-    rsClearObject((rs_element*) buf3030);
-    rsClearObject((rs_type*) buf3031);
-    rsClearObject((rs_allocation*) buf3032);
-    rsClearObject((rs_sampler*) buf3033);
-    rsClearObject((rs_script*) buf3034);
-    rsDebug((const char*) buf3035, *(double*)buf3036);
-    rsDebug((const char*) buf3037, *(int*)buf3038);
-    rsDebug((const char*) buf3039, *(uint*)buf3040);
-    rsDebug((const char*) buf3041, *(long*)buf3042);
-    rsDebug((const char*) buf3043, *(ulong*)buf3044);
-    rsDebug((const char*) buf3045, *(int2*)buf3046);
-    rsDebug((const char*) buf3047, *(int3*)buf3048);
-    rsDebug((const char*) buf3049, *(int4*)buf3050);
-    rsDebug((const char*) buf3051, *(uint2*)buf3052);
-    rsDebug((const char*) buf3053, *(uint3*)buf3054);
-    rsDebug((const char*) buf3055, *(uint4*)buf3056);
-    rsDebug((const char*) buf3057, *(long2*)buf3058);
-    rsDebug((const char*) buf3059, *(long3*)buf3060);
-    rsDebug((const char*) buf3061, *(long4*)buf3062);
-    rsDebug((const char*) buf3063, *(ulong2*)buf3064);
-    rsDebug((const char*) buf3065, *(ulong3*)buf3066);
-    rsDebug((const char*) buf3067, *(ulong4*)buf3068);
-    rsDebug((const char*) buf3069, *(double2*)buf3070);
-    rsDebug((const char*) buf3071, *(double3*)buf3072);
-    rsDebug((const char*) buf3073, *(double4*)buf3074);
-    rsDebug((const char*) buf3075, *(float*)buf3076);
-    rsDebug((const char*) buf3077, *(float2*)buf3078);
-    rsDebug((const char*) buf3079, *(float3*)buf3080);
-    rsDebug((const char*) buf3081, *(float4*)buf3082);
-    rsDebug((const char*) buf3083, *(char*)buf3084);
-    rsDebug((const char*) buf3085, *(char2*)buf3086);
-    rsDebug((const char*) buf3087, *(char3*)buf3088);
-    rsDebug((const char*) buf3089, *(char4*)buf3090);
-    rsDebug((const char*) buf3091, *(uchar*)buf3092);
-    rsDebug((const char*) buf3093, *(uchar2*)buf3094);
-    rsDebug((const char*) buf3095, *(uchar3*)buf3096);
-    rsDebug((const char*) buf3097, *(uchar4*)buf3098);
-    rsDebug((const char*) buf3099, *(short*)buf3100);
-    rsDebug((const char*) buf3101, *(short2*)buf3102);
-    rsDebug((const char*) buf3103, *(short3*)buf3104);
-    rsDebug((const char*) buf3105, *(short4*)buf3106);
-    rsDebug((const char*) buf3107, *(ushort*)buf3108);
-    rsDebug((const char*) buf3109, *(ushort2*)buf3110);
-    rsDebug((const char*) buf3111, *(ushort3*)buf3112);
-    rsDebug((const char*) buf3113, *(ushort4*)buf3114);
-    rsDebug((const char*) buf3115, *(float*)buf3116, *(float*)buf3117);
-    rsDebug((const char*) buf3118, *(float*)buf3119, *(float*)buf3120, *(float*)buf3121);
-    rsDebug((const char*) buf3122, *(float*)buf3123, *(float*)buf3124, *(float*)buf3125, *(float*)buf3126);
-    rsDebug((const char*) buf3127, *(long long*)buf3128);
-    rsDebug((const char*) buf3129, *(unsigned long long*)buf3130);
-    rsDebug((const char*) buf3131, (const void*) buf3132);
-    rsDebug((const char*) buf3133, (const rs_matrix4x4*) buf3134);
-    rsDebug((const char*) buf3135, (const rs_matrix3x3*) buf3136);
-    rsDebug((const char*) buf3137, (const rs_matrix2x2*) buf3138);
-    *(uint32_t*)buf3139 = rsElementGetBytesSize(*(rs_element*)buf3140);
-    *(rs_data_kind*)buf3141 = rsElementGetDataKind(*(rs_element*)buf3142);
-    *(rs_data_type*)buf3143 = rsElementGetDataType(*(rs_element*)buf3144);
-    *(rs_element*)buf3145 = rsElementGetSubElement(*(rs_element*)buf3146, *(uint32_t*)buf3147);
-    *(uint32_t*)buf3148 = rsElementGetSubElementArraySize(*(rs_element*)buf3149, *(uint32_t*)buf3150);
-    *(uint32_t*)buf3151 = rsElementGetSubElementCount(*(rs_element*)buf3152);
-    *(uint32_t*)buf3153 = rsElementGetSubElementName(*(rs_element*)buf3154, *(uint32_t*)buf3155, (char*) buf3156, *(uint32_t*)buf3157);
-    *(uint32_t*)buf3158 = rsElementGetSubElementNameLength(*(rs_element*)buf3159, *(uint32_t*)buf3160);
-    *(uint32_t*)buf3161 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf3162, *(uint32_t*)buf3163);
-    *(uint32_t*)buf3164 = rsElementGetVectorSize(*(rs_element*)buf3165);
-    rsExtractFrustumPlanes((const rs_matrix4x4*) buf3166, (float4*) buf3167, (float4*) buf3168, (float4*) buf3169, (float4*) buf3170, (float4*) buf3171, (float4*) buf3172);
-    rsForEach(*(rs_script*)buf3173, *(rs_allocation*)buf3174, *(rs_allocation*)buf3175);
-    *(float*)buf3176 = rsFrac(*(float*)buf3177);
-    *(rs_allocation*)buf3178 = rsGetAllocation((const void*) buf3179);
-    *(uint32_t*)buf3180 = rsGetArray0(context);
-    *(uint32_t*)buf3181 = rsGetArray1(context);
-    *(uint32_t*)buf3182 = rsGetArray2(context);
-    *(uint32_t*)buf3183 = rsGetArray3(context);
-    *(uint32_t*)buf3184 = rsGetDimArray0(context);
-    *(uint32_t*)buf3185 = rsGetDimArray1(context);
-    *(uint32_t*)buf3186 = rsGetDimArray2(context);
-    *(uint32_t*)buf3187 = rsGetDimArray3(context);
-    *(bool*)buf3188 = rsGetDimHasFaces(context);
-    *(uint32_t*)buf3189 = rsGetDimLod(context);
-    *(uint32_t*)buf3190 = rsGetDimX(context);
-    *(uint32_t*)buf3191 = rsGetDimY(context);
-    *(uint32_t*)buf3192 = rsGetDimZ(context);
-    *(float*)buf3193 = rsGetDt();
-    *(const void**)buf3194 = rsGetElementAt(*(rs_allocation*)buf3195, *(uint32_t*)buf3196);
-    *(const void**)buf3197 = rsGetElementAt(*(rs_allocation*)buf3198, *(uint32_t*)buf3199, *(uint32_t*)buf3200);
-    *(const void**)buf3201 = rsGetElementAt(*(rs_allocation*)buf3202, *(uint32_t*)buf3203, *(uint32_t*)buf3204, *(uint32_t*)buf3205);
-    *(float*)buf3206 = rsGetElementAt_float(*(rs_allocation*)buf3207, *(uint32_t*)buf3208);
-    *(float2*)buf3209 = rsGetElementAt_float2(*(rs_allocation*)buf3210, *(uint32_t*)buf3211);
-    *(float3*)buf3212 = rsGetElementAt_float3(*(rs_allocation*)buf3213, *(uint32_t*)buf3214);
-    *(float4*)buf3215 = rsGetElementAt_float4(*(rs_allocation*)buf3216, *(uint32_t*)buf3217);
-    *(double*)buf3218 = rsGetElementAt_double(*(rs_allocation*)buf3219, *(uint32_t*)buf3220);
-    *(double2*)buf3221 = rsGetElementAt_double2(*(rs_allocation*)buf3222, *(uint32_t*)buf3223);
-    *(double3*)buf3224 = rsGetElementAt_double3(*(rs_allocation*)buf3225, *(uint32_t*)buf3226);
-    *(double4*)buf3227 = rsGetElementAt_double4(*(rs_allocation*)buf3228, *(uint32_t*)buf3229);
-    *(char*)buf3230 = rsGetElementAt_char(*(rs_allocation*)buf3231, *(uint32_t*)buf3232);
-    *(char2*)buf3233 = rsGetElementAt_char2(*(rs_allocation*)buf3234, *(uint32_t*)buf3235);
-    *(char3*)buf3236 = rsGetElementAt_char3(*(rs_allocation*)buf3237, *(uint32_t*)buf3238);
-    *(char4*)buf3239 = rsGetElementAt_char4(*(rs_allocation*)buf3240, *(uint32_t*)buf3241);
-    *(uchar*)buf3242 = rsGetElementAt_uchar(*(rs_allocation*)buf3243, *(uint32_t*)buf3244);
-    *(uchar2*)buf3245 = rsGetElementAt_uchar2(*(rs_allocation*)buf3246, *(uint32_t*)buf3247);
-    *(uchar3*)buf3248 = rsGetElementAt_uchar3(*(rs_allocation*)buf3249, *(uint32_t*)buf3250);
-    *(uchar4*)buf3251 = rsGetElementAt_uchar4(*(rs_allocation*)buf3252, *(uint32_t*)buf3253);
-    *(short*)buf3254 = rsGetElementAt_short(*(rs_allocation*)buf3255, *(uint32_t*)buf3256);
-    *(short2*)buf3257 = rsGetElementAt_short2(*(rs_allocation*)buf3258, *(uint32_t*)buf3259);
-    *(short3*)buf3260 = rsGetElementAt_short3(*(rs_allocation*)buf3261, *(uint32_t*)buf3262);
-    *(short4*)buf3263 = rsGetElementAt_short4(*(rs_allocation*)buf3264, *(uint32_t*)buf3265);
-    *(ushort*)buf3266 = rsGetElementAt_ushort(*(rs_allocation*)buf3267, *(uint32_t*)buf3268);
-    *(ushort2*)buf3269 = rsGetElementAt_ushort2(*(rs_allocation*)buf3270, *(uint32_t*)buf3271);
-    *(ushort3*)buf3272 = rsGetElementAt_ushort3(*(rs_allocation*)buf3273, *(uint32_t*)buf3274);
-    *(ushort4*)buf3275 = rsGetElementAt_ushort4(*(rs_allocation*)buf3276, *(uint32_t*)buf3277);
-    *(int*)buf3278 = rsGetElementAt_int(*(rs_allocation*)buf3279, *(uint32_t*)buf3280);
-    *(int2*)buf3281 = rsGetElementAt_int2(*(rs_allocation*)buf3282, *(uint32_t*)buf3283);
-    *(int3*)buf3284 = rsGetElementAt_int3(*(rs_allocation*)buf3285, *(uint32_t*)buf3286);
-    *(int4*)buf3287 = rsGetElementAt_int4(*(rs_allocation*)buf3288, *(uint32_t*)buf3289);
-    *(uint*)buf3290 = rsGetElementAt_uint(*(rs_allocation*)buf3291, *(uint32_t*)buf3292);
-    *(uint2*)buf3293 = rsGetElementAt_uint2(*(rs_allocation*)buf3294, *(uint32_t*)buf3295);
-    *(uint3*)buf3296 = rsGetElementAt_uint3(*(rs_allocation*)buf3297, *(uint32_t*)buf3298);
-    *(uint4*)buf3299 = rsGetElementAt_uint4(*(rs_allocation*)buf3300, *(uint32_t*)buf3301);
-    *(long*)buf3302 = rsGetElementAt_long(*(rs_allocation*)buf3303, *(uint32_t*)buf3304);
-    *(long2*)buf3305 = rsGetElementAt_long2(*(rs_allocation*)buf3306, *(uint32_t*)buf3307);
-    *(long3*)buf3308 = rsGetElementAt_long3(*(rs_allocation*)buf3309, *(uint32_t*)buf3310);
-    *(long4*)buf3311 = rsGetElementAt_long4(*(rs_allocation*)buf3312, *(uint32_t*)buf3313);
-    *(ulong*)buf3314 = rsGetElementAt_ulong(*(rs_allocation*)buf3315, *(uint32_t*)buf3316);
-    *(ulong2*)buf3317 = rsGetElementAt_ulong2(*(rs_allocation*)buf3318, *(uint32_t*)buf3319);
-    *(ulong3*)buf3320 = rsGetElementAt_ulong3(*(rs_allocation*)buf3321, *(uint32_t*)buf3322);
-    *(ulong4*)buf3323 = rsGetElementAt_ulong4(*(rs_allocation*)buf3324, *(uint32_t*)buf3325);
-    *(float*)buf3326 = rsGetElementAt_float(*(rs_allocation*)buf3327, *(uint32_t*)buf3328, *(uint32_t*)buf3329);
-    *(float2*)buf3330 = rsGetElementAt_float2(*(rs_allocation*)buf3331, *(uint32_t*)buf3332, *(uint32_t*)buf3333);
-    *(float3*)buf3334 = rsGetElementAt_float3(*(rs_allocation*)buf3335, *(uint32_t*)buf3336, *(uint32_t*)buf3337);
-    *(float4*)buf3338 = rsGetElementAt_float4(*(rs_allocation*)buf3339, *(uint32_t*)buf3340, *(uint32_t*)buf3341);
-    *(double*)buf3342 = rsGetElementAt_double(*(rs_allocation*)buf3343, *(uint32_t*)buf3344, *(uint32_t*)buf3345);
-    *(double2*)buf3346 = rsGetElementAt_double2(*(rs_allocation*)buf3347, *(uint32_t*)buf3348, *(uint32_t*)buf3349);
-    *(double3*)buf3350 = rsGetElementAt_double3(*(rs_allocation*)buf3351, *(uint32_t*)buf3352, *(uint32_t*)buf3353);
-    *(double4*)buf3354 = rsGetElementAt_double4(*(rs_allocation*)buf3355, *(uint32_t*)buf3356, *(uint32_t*)buf3357);
-    *(char*)buf3358 = rsGetElementAt_char(*(rs_allocation*)buf3359, *(uint32_t*)buf3360, *(uint32_t*)buf3361);
-    *(char2*)buf3362 = rsGetElementAt_char2(*(rs_allocation*)buf3363, *(uint32_t*)buf3364, *(uint32_t*)buf3365);
-    *(char3*)buf3366 = rsGetElementAt_char3(*(rs_allocation*)buf3367, *(uint32_t*)buf3368, *(uint32_t*)buf3369);
-    *(char4*)buf3370 = rsGetElementAt_char4(*(rs_allocation*)buf3371, *(uint32_t*)buf3372, *(uint32_t*)buf3373);
-    *(uchar*)buf3374 = rsGetElementAt_uchar(*(rs_allocation*)buf3375, *(uint32_t*)buf3376, *(uint32_t*)buf3377);
-    *(uchar2*)buf3378 = rsGetElementAt_uchar2(*(rs_allocation*)buf3379, *(uint32_t*)buf3380, *(uint32_t*)buf3381);
-    *(uchar3*)buf3382 = rsGetElementAt_uchar3(*(rs_allocation*)buf3383, *(uint32_t*)buf3384, *(uint32_t*)buf3385);
-    *(uchar4*)buf3386 = rsGetElementAt_uchar4(*(rs_allocation*)buf3387, *(uint32_t*)buf3388, *(uint32_t*)buf3389);
-    *(short*)buf3390 = rsGetElementAt_short(*(rs_allocation*)buf3391, *(uint32_t*)buf3392, *(uint32_t*)buf3393);
-    *(short2*)buf3394 = rsGetElementAt_short2(*(rs_allocation*)buf3395, *(uint32_t*)buf3396, *(uint32_t*)buf3397);
-    *(short3*)buf3398 = rsGetElementAt_short3(*(rs_allocation*)buf3399, *(uint32_t*)buf3400, *(uint32_t*)buf3401);
-    *(short4*)buf3402 = rsGetElementAt_short4(*(rs_allocation*)buf3403, *(uint32_t*)buf3404, *(uint32_t*)buf3405);
-    *(ushort*)buf3406 = rsGetElementAt_ushort(*(rs_allocation*)buf3407, *(uint32_t*)buf3408, *(uint32_t*)buf3409);
-    *(ushort2*)buf3410 = rsGetElementAt_ushort2(*(rs_allocation*)buf3411, *(uint32_t*)buf3412, *(uint32_t*)buf3413);
-    *(ushort3*)buf3414 = rsGetElementAt_ushort3(*(rs_allocation*)buf3415, *(uint32_t*)buf3416, *(uint32_t*)buf3417);
-    *(ushort4*)buf3418 = rsGetElementAt_ushort4(*(rs_allocation*)buf3419, *(uint32_t*)buf3420, *(uint32_t*)buf3421);
-    *(int*)buf3422 = rsGetElementAt_int(*(rs_allocation*)buf3423, *(uint32_t*)buf3424, *(uint32_t*)buf3425);
-    *(int2*)buf3426 = rsGetElementAt_int2(*(rs_allocation*)buf3427, *(uint32_t*)buf3428, *(uint32_t*)buf3429);
-    *(int3*)buf3430 = rsGetElementAt_int3(*(rs_allocation*)buf3431, *(uint32_t*)buf3432, *(uint32_t*)buf3433);
-    *(int4*)buf3434 = rsGetElementAt_int4(*(rs_allocation*)buf3435, *(uint32_t*)buf3436, *(uint32_t*)buf3437);
-    *(uint*)buf3438 = rsGetElementAt_uint(*(rs_allocation*)buf3439, *(uint32_t*)buf3440, *(uint32_t*)buf3441);
-    *(uint2*)buf3442 = rsGetElementAt_uint2(*(rs_allocation*)buf3443, *(uint32_t*)buf3444, *(uint32_t*)buf3445);
-    *(uint3*)buf3446 = rsGetElementAt_uint3(*(rs_allocation*)buf3447, *(uint32_t*)buf3448, *(uint32_t*)buf3449);
-    *(uint4*)buf3450 = rsGetElementAt_uint4(*(rs_allocation*)buf3451, *(uint32_t*)buf3452, *(uint32_t*)buf3453);
-    *(long*)buf3454 = rsGetElementAt_long(*(rs_allocation*)buf3455, *(uint32_t*)buf3456, *(uint32_t*)buf3457);
-    *(long2*)buf3458 = rsGetElementAt_long2(*(rs_allocation*)buf3459, *(uint32_t*)buf3460, *(uint32_t*)buf3461);
-    *(long3*)buf3462 = rsGetElementAt_long3(*(rs_allocation*)buf3463, *(uint32_t*)buf3464, *(uint32_t*)buf3465);
-    *(long4*)buf3466 = rsGetElementAt_long4(*(rs_allocation*)buf3467, *(uint32_t*)buf3468, *(uint32_t*)buf3469);
-    *(ulong*)buf3470 = rsGetElementAt_ulong(*(rs_allocation*)buf3471, *(uint32_t*)buf3472, *(uint32_t*)buf3473);
-    *(ulong2*)buf3474 = rsGetElementAt_ulong2(*(rs_allocation*)buf3475, *(uint32_t*)buf3476, *(uint32_t*)buf3477);
-    *(ulong3*)buf3478 = rsGetElementAt_ulong3(*(rs_allocation*)buf3479, *(uint32_t*)buf3480, *(uint32_t*)buf3481);
-    *(ulong4*)buf3482 = rsGetElementAt_ulong4(*(rs_allocation*)buf3483, *(uint32_t*)buf3484, *(uint32_t*)buf3485);
-    *(float*)buf3486 = rsGetElementAt_float(*(rs_allocation*)buf3487, *(uint32_t*)buf3488, *(uint32_t*)buf3489, *(uint32_t*)buf3490);
-    *(float2*)buf3491 = rsGetElementAt_float2(*(rs_allocation*)buf3492, *(uint32_t*)buf3493, *(uint32_t*)buf3494, *(uint32_t*)buf3495);
-    *(float3*)buf3496 = rsGetElementAt_float3(*(rs_allocation*)buf3497, *(uint32_t*)buf3498, *(uint32_t*)buf3499, *(uint32_t*)buf3500);
-    *(float4*)buf3501 = rsGetElementAt_float4(*(rs_allocation*)buf3502, *(uint32_t*)buf3503, *(uint32_t*)buf3504, *(uint32_t*)buf3505);
-    *(double*)buf3506 = rsGetElementAt_double(*(rs_allocation*)buf3507, *(uint32_t*)buf3508, *(uint32_t*)buf3509, *(uint32_t*)buf3510);
-    *(double2*)buf3511 = rsGetElementAt_double2(*(rs_allocation*)buf3512, *(uint32_t*)buf3513, *(uint32_t*)buf3514, *(uint32_t*)buf3515);
-    *(double3*)buf3516 = rsGetElementAt_double3(*(rs_allocation*)buf3517, *(uint32_t*)buf3518, *(uint32_t*)buf3519, *(uint32_t*)buf3520);
-    *(double4*)buf3521 = rsGetElementAt_double4(*(rs_allocation*)buf3522, *(uint32_t*)buf3523, *(uint32_t*)buf3524, *(uint32_t*)buf3525);
-    *(char*)buf3526 = rsGetElementAt_char(*(rs_allocation*)buf3527, *(uint32_t*)buf3528, *(uint32_t*)buf3529, *(uint32_t*)buf3530);
-    *(char2*)buf3531 = rsGetElementAt_char2(*(rs_allocation*)buf3532, *(uint32_t*)buf3533, *(uint32_t*)buf3534, *(uint32_t*)buf3535);
-    *(char3*)buf3536 = rsGetElementAt_char3(*(rs_allocation*)buf3537, *(uint32_t*)buf3538, *(uint32_t*)buf3539, *(uint32_t*)buf3540);
-    *(char4*)buf3541 = rsGetElementAt_char4(*(rs_allocation*)buf3542, *(uint32_t*)buf3543, *(uint32_t*)buf3544, *(uint32_t*)buf3545);
-    *(uchar*)buf3546 = rsGetElementAt_uchar(*(rs_allocation*)buf3547, *(uint32_t*)buf3548, *(uint32_t*)buf3549, *(uint32_t*)buf3550);
-    *(uchar2*)buf3551 = rsGetElementAt_uchar2(*(rs_allocation*)buf3552, *(uint32_t*)buf3553, *(uint32_t*)buf3554, *(uint32_t*)buf3555);
-    *(uchar3*)buf3556 = rsGetElementAt_uchar3(*(rs_allocation*)buf3557, *(uint32_t*)buf3558, *(uint32_t*)buf3559, *(uint32_t*)buf3560);
-    *(uchar4*)buf3561 = rsGetElementAt_uchar4(*(rs_allocation*)buf3562, *(uint32_t*)buf3563, *(uint32_t*)buf3564, *(uint32_t*)buf3565);
-    *(short*)buf3566 = rsGetElementAt_short(*(rs_allocation*)buf3567, *(uint32_t*)buf3568, *(uint32_t*)buf3569, *(uint32_t*)buf3570);
-    *(short2*)buf3571 = rsGetElementAt_short2(*(rs_allocation*)buf3572, *(uint32_t*)buf3573, *(uint32_t*)buf3574, *(uint32_t*)buf3575);
-    *(short3*)buf3576 = rsGetElementAt_short3(*(rs_allocation*)buf3577, *(uint32_t*)buf3578, *(uint32_t*)buf3579, *(uint32_t*)buf3580);
-    *(short4*)buf3581 = rsGetElementAt_short4(*(rs_allocation*)buf3582, *(uint32_t*)buf3583, *(uint32_t*)buf3584, *(uint32_t*)buf3585);
-    *(ushort*)buf3586 = rsGetElementAt_ushort(*(rs_allocation*)buf3587, *(uint32_t*)buf3588, *(uint32_t*)buf3589, *(uint32_t*)buf3590);
-    *(ushort2*)buf3591 = rsGetElementAt_ushort2(*(rs_allocation*)buf3592, *(uint32_t*)buf3593, *(uint32_t*)buf3594, *(uint32_t*)buf3595);
-    *(ushort3*)buf3596 = rsGetElementAt_ushort3(*(rs_allocation*)buf3597, *(uint32_t*)buf3598, *(uint32_t*)buf3599, *(uint32_t*)buf3600);
-    *(ushort4*)buf3601 = rsGetElementAt_ushort4(*(rs_allocation*)buf3602, *(uint32_t*)buf3603, *(uint32_t*)buf3604, *(uint32_t*)buf3605);
-    *(int*)buf3606 = rsGetElementAt_int(*(rs_allocation*)buf3607, *(uint32_t*)buf3608, *(uint32_t*)buf3609, *(uint32_t*)buf3610);
-    *(int2*)buf3611 = rsGetElementAt_int2(*(rs_allocation*)buf3612, *(uint32_t*)buf3613, *(uint32_t*)buf3614, *(uint32_t*)buf3615);
-    *(int3*)buf3616 = rsGetElementAt_int3(*(rs_allocation*)buf3617, *(uint32_t*)buf3618, *(uint32_t*)buf3619, *(uint32_t*)buf3620);
-    *(int4*)buf3621 = rsGetElementAt_int4(*(rs_allocation*)buf3622, *(uint32_t*)buf3623, *(uint32_t*)buf3624, *(uint32_t*)buf3625);
-    *(uint*)buf3626 = rsGetElementAt_uint(*(rs_allocation*)buf3627, *(uint32_t*)buf3628, *(uint32_t*)buf3629, *(uint32_t*)buf3630);
-    *(uint2*)buf3631 = rsGetElementAt_uint2(*(rs_allocation*)buf3632, *(uint32_t*)buf3633, *(uint32_t*)buf3634, *(uint32_t*)buf3635);
-    *(uint3*)buf3636 = rsGetElementAt_uint3(*(rs_allocation*)buf3637, *(uint32_t*)buf3638, *(uint32_t*)buf3639, *(uint32_t*)buf3640);
-    *(uint4*)buf3641 = rsGetElementAt_uint4(*(rs_allocation*)buf3642, *(uint32_t*)buf3643, *(uint32_t*)buf3644, *(uint32_t*)buf3645);
-    *(long*)buf3646 = rsGetElementAt_long(*(rs_allocation*)buf3647, *(uint32_t*)buf3648, *(uint32_t*)buf3649, *(uint32_t*)buf3650);
-    *(long2*)buf3651 = rsGetElementAt_long2(*(rs_allocation*)buf3652, *(uint32_t*)buf3653, *(uint32_t*)buf3654, *(uint32_t*)buf3655);
-    *(long3*)buf3656 = rsGetElementAt_long3(*(rs_allocation*)buf3657, *(uint32_t*)buf3658, *(uint32_t*)buf3659, *(uint32_t*)buf3660);
-    *(long4*)buf3661 = rsGetElementAt_long4(*(rs_allocation*)buf3662, *(uint32_t*)buf3663, *(uint32_t*)buf3664, *(uint32_t*)buf3665);
-    *(ulong*)buf3666 = rsGetElementAt_ulong(*(rs_allocation*)buf3667, *(uint32_t*)buf3668, *(uint32_t*)buf3669, *(uint32_t*)buf3670);
-    *(ulong2*)buf3671 = rsGetElementAt_ulong2(*(rs_allocation*)buf3672, *(uint32_t*)buf3673, *(uint32_t*)buf3674, *(uint32_t*)buf3675);
-    *(ulong3*)buf3676 = rsGetElementAt_ulong3(*(rs_allocation*)buf3677, *(uint32_t*)buf3678, *(uint32_t*)buf3679, *(uint32_t*)buf3680);
-    *(ulong4*)buf3681 = rsGetElementAt_ulong4(*(rs_allocation*)buf3682, *(uint32_t*)buf3683, *(uint32_t*)buf3684, *(uint32_t*)buf3685);
-    *(half*)buf3686 = rsGetElementAt_half(*(rs_allocation*)buf3687, *(uint32_t*)buf3688);
-    *(half2*)buf3689 = rsGetElementAt_half2(*(rs_allocation*)buf3690, *(uint32_t*)buf3691);
-    *(half3*)buf3692 = rsGetElementAt_half3(*(rs_allocation*)buf3693, *(uint32_t*)buf3694);
-    *(half4*)buf3695 = rsGetElementAt_half4(*(rs_allocation*)buf3696, *(uint32_t*)buf3697);
-    *(half*)buf3698 = rsGetElementAt_half(*(rs_allocation*)buf3699, *(uint32_t*)buf3700, *(uint32_t*)buf3701);
-    *(half2*)buf3702 = rsGetElementAt_half2(*(rs_allocation*)buf3703, *(uint32_t*)buf3704, *(uint32_t*)buf3705);
-    *(half3*)buf3706 = rsGetElementAt_half3(*(rs_allocation*)buf3707, *(uint32_t*)buf3708, *(uint32_t*)buf3709);
-    *(half4*)buf3710 = rsGetElementAt_half4(*(rs_allocation*)buf3711, *(uint32_t*)buf3712, *(uint32_t*)buf3713);
-    *(half*)buf3714 = rsGetElementAt_half(*(rs_allocation*)buf3715, *(uint32_t*)buf3716, *(uint32_t*)buf3717, *(uint32_t*)buf3718);
-    *(half2*)buf3719 = rsGetElementAt_half2(*(rs_allocation*)buf3720, *(uint32_t*)buf3721, *(uint32_t*)buf3722, *(uint32_t*)buf3723);
-    *(half3*)buf3724 = rsGetElementAt_half3(*(rs_allocation*)buf3725, *(uint32_t*)buf3726, *(uint32_t*)buf3727, *(uint32_t*)buf3728);
-    *(half4*)buf3729 = rsGetElementAt_half4(*(rs_allocation*)buf3730, *(uint32_t*)buf3731, *(uint32_t*)buf3732, *(uint32_t*)buf3733);
-    *(uchar*)buf3734 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf3735, *(uint32_t*)buf3736, *(uint32_t*)buf3737);
-    *(uchar*)buf3738 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf3739, *(uint32_t*)buf3740, *(uint32_t*)buf3741);
-    *(uchar*)buf3742 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf3743, *(uint32_t*)buf3744, *(uint32_t*)buf3745);
-    *(rs_allocation_cubemap_face*)buf3746 = rsGetFace(context);
-    *(uint32_t*)buf3747 = rsGetLod(context);
-    *(bool*)buf3748 = rsIsObject(*(rs_element*)buf3749);
-    *(bool*)buf3750 = rsIsObject(*(rs_type*)buf3751);
-    *(bool*)buf3752 = rsIsObject(*(rs_allocation*)buf3753);
-    *(bool*)buf3754 = rsIsObject(*(rs_sampler*)buf3755);
-    *(bool*)buf3756 = rsIsObject(*(rs_script*)buf3757);
-    *(bool*)buf3758 = rsIsSphereInFrustum((float4*) buf3759, (float4*) buf3760, (float4*) buf3761, (float4*) buf3762, (float4*) buf3763, (float4*) buf3764, (float4*) buf3765);
-    *(rs_tm**)buf3766 = rsLocaltime((rs_tm*) buf3767, (const rs_time_t*) buf3768);
-    *(float*)buf3769 = rsMatrixGet((const rs_matrix4x4*) buf3770, *(uint32_t*)buf3771, *(uint32_t*)buf3772);
-    *(float*)buf3773 = rsMatrixGet((const rs_matrix3x3*) buf3774, *(uint32_t*)buf3775, *(uint32_t*)buf3776);
-    *(float*)buf3777 = rsMatrixGet((const rs_matrix2x2*) buf3778, *(uint32_t*)buf3779, *(uint32_t*)buf3780);
-    *(bool*)buf3781 = rsMatrixInverse((rs_matrix4x4*) buf3782);
-    *(bool*)buf3783 = rsMatrixInverseTranspose((rs_matrix4x4*) buf3784);
-    rsMatrixLoad((rs_matrix4x4*) buf3785, (const float*) buf3786);
-    rsMatrixLoad((rs_matrix3x3*) buf3787, (const float*) buf3788);
-    rsMatrixLoad((rs_matrix2x2*) buf3789, (const float*) buf3790);
-    rsMatrixLoad((rs_matrix4x4*) buf3791, (const rs_matrix4x4*) buf3792);
-    rsMatrixLoad((rs_matrix3x3*) buf3793, (const rs_matrix3x3*) buf3794);
-    rsMatrixLoad((rs_matrix2x2*) buf3795, (const rs_matrix2x2*) buf3796);
-    rsMatrixLoad((rs_matrix4x4*) buf3797, (const rs_matrix3x3*) buf3798);
-    rsMatrixLoad((rs_matrix4x4*) buf3799, (const rs_matrix2x2*) buf3800);
-    rsMatrixLoadFrustum((rs_matrix4x4*) buf3801, *(float*)buf3802, *(float*)buf3803, *(float*)buf3804, *(float*)buf3805, *(float*)buf3806, *(float*)buf3807);
-    rsMatrixLoadIdentity((rs_matrix4x4*) buf3808);
-    rsMatrixLoadIdentity((rs_matrix3x3*) buf3809);
-    rsMatrixLoadIdentity((rs_matrix2x2*) buf3810);
-    rsMatrixLoadMultiply((rs_matrix4x4*) buf3811, (const rs_matrix4x4*) buf3812, (const rs_matrix4x4*) buf3813);
-    rsMatrixLoadMultiply((rs_matrix3x3*) buf3814, (const rs_matrix3x3*) buf3815, (const rs_matrix3x3*) buf3816);
-    rsMatrixLoadMultiply((rs_matrix2x2*) buf3817, (const rs_matrix2x2*) buf3818, (const rs_matrix2x2*) buf3819);
-    rsMatrixLoadOrtho((rs_matrix4x4*) buf3820, *(float*)buf3821, *(float*)buf3822, *(float*)buf3823, *(float*)buf3824, *(float*)buf3825, *(float*)buf3826);
-    rsMatrixLoadPerspective((rs_matrix4x4*) buf3827, *(float*)buf3828, *(float*)buf3829, *(float*)buf3830, *(float*)buf3831);
-    rsMatrixLoadRotate((rs_matrix4x4*) buf3832, *(float*)buf3833, *(float*)buf3834, *(float*)buf3835, *(float*)buf3836);
-    rsMatrixLoadScale((rs_matrix4x4*) buf3837, *(float*)buf3838, *(float*)buf3839, *(float*)buf3840);
-    rsMatrixLoadTranslate((rs_matrix4x4*) buf3841, *(float*)buf3842, *(float*)buf3843, *(float*)buf3844);
-    rsMatrixMultiply((rs_matrix4x4*) buf3845, (const rs_matrix4x4*) buf3846);
-    rsMatrixMultiply((rs_matrix3x3*) buf3847, (const rs_matrix3x3*) buf3848);
-    rsMatrixMultiply((rs_matrix2x2*) buf3849, (const rs_matrix2x2*) buf3850);
-    *(float4*)buf3851 = rsMatrixMultiply((const rs_matrix4x4*) buf3852, *(float4*)buf3853);
-    *(float4*)buf3854 = rsMatrixMultiply((const rs_matrix4x4*) buf3855, *(float3*)buf3856);
-    *(float4*)buf3857 = rsMatrixMultiply((const rs_matrix4x4*) buf3858, *(float2*)buf3859);
-    *(float3*)buf3860 = rsMatrixMultiply((const rs_matrix3x3*) buf3861, *(float3*)buf3862);
-    *(float3*)buf3863 = rsMatrixMultiply((const rs_matrix3x3*) buf3864, *(float2*)buf3865);
-    *(float2*)buf3866 = rsMatrixMultiply((const rs_matrix2x2*) buf3867, *(float2*)buf3868);
-    rsMatrixRotate((rs_matrix4x4*) buf3869, *(float*)buf3870, *(float*)buf3871, *(float*)buf3872, *(float*)buf3873);
-    rsMatrixScale((rs_matrix4x4*) buf3874, *(float*)buf3875, *(float*)buf3876, *(float*)buf3877);
-    rsMatrixSet((rs_matrix4x4*) buf3878, *(uint32_t*)buf3879, *(uint32_t*)buf3880, *(float*)buf3881);
-    rsMatrixSet((rs_matrix3x3*) buf3882, *(uint32_t*)buf3883, *(uint32_t*)buf3884, *(float*)buf3885);
-    rsMatrixSet((rs_matrix2x2*) buf3886, *(uint32_t*)buf3887, *(uint32_t*)buf3888, *(float*)buf3889);
-    rsMatrixTranslate((rs_matrix4x4*) buf3890, *(float*)buf3891, *(float*)buf3892, *(float*)buf3893);
-    rsMatrixTranspose((rs_matrix4x4*) buf3894);
-    rsMatrixTranspose((rs_matrix3x3*) buf3895);
-    rsMatrixTranspose((rs_matrix2x2*) buf3896);
-    *(uchar4*)buf3897 = rsPackColorTo8888(*(float*)buf3898, *(float*)buf3899, *(float*)buf3900);
-    *(uchar4*)buf3901 = rsPackColorTo8888(*(float*)buf3902, *(float*)buf3903, *(float*)buf3904, *(float*)buf3905);
-    *(uchar4*)buf3906 = rsPackColorTo8888(*(float3*)buf3907);
-    *(uchar4*)buf3908 = rsPackColorTo8888(*(float4*)buf3909);
-    rsQuaternionAdd((rs_quaternion*) buf3910, (const rs_quaternion*) buf3911);
-    rsQuaternionConjugate((rs_quaternion*) buf3912);
-    *(float*)buf3913 = rsQuaternionDot((const rs_quaternion*) buf3914, (const rs_quaternion*) buf3915);
-    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf3916, (const rs_quaternion*) buf3917);
-    rsQuaternionLoadRotate((rs_quaternion*) buf3918, *(float*)buf3919, *(float*)buf3920, *(float*)buf3921, *(float*)buf3922);
-    rsQuaternionLoadRotateUnit((rs_quaternion*) buf3923, *(float*)buf3924, *(float*)buf3925, *(float*)buf3926, *(float*)buf3927);
-    rsQuaternionMultiply((rs_quaternion*) buf3928, *(float*)buf3929);
-    rsQuaternionMultiply((rs_quaternion*) buf3930, (const rs_quaternion*) buf3931);
-    rsQuaternionNormalize((rs_quaternion*) buf3932);
-    rsQuaternionSet((rs_quaternion*) buf3933, *(float*)buf3934, *(float*)buf3935, *(float*)buf3936, *(float*)buf3937);
-    rsQuaternionSet((rs_quaternion*) buf3938, (const rs_quaternion*) buf3939);
-    rsQuaternionSlerp((rs_quaternion*) buf3940, (const rs_quaternion*) buf3941, (const rs_quaternion*) buf3942, *(float*)buf3943);
-    *(int*)buf3944 = rsRand(*(int*)buf3945);
-    *(int*)buf3946 = rsRand(*(int*)buf3947, *(int*)buf3948);
-    *(float*)buf3949 = rsRand(*(float*)buf3950);
-    *(float*)buf3951 = rsRand(*(float*)buf3952, *(float*)buf3953);
-    *(float4*)buf3954 = rsSample(*(rs_allocation*)buf3955, *(rs_sampler*)buf3956, *(float*)buf3957);
-    *(float4*)buf3958 = rsSample(*(rs_allocation*)buf3959, *(rs_sampler*)buf3960, *(float*)buf3961, *(float*)buf3962);
-    *(float4*)buf3963 = rsSample(*(rs_allocation*)buf3964, *(rs_sampler*)buf3965, *(float2*)buf3966);
-    *(float4*)buf3967 = rsSample(*(rs_allocation*)buf3968, *(rs_sampler*)buf3969, *(float2*)buf3970, *(float*)buf3971);
-    *(float*)buf3972 = rsSamplerGetAnisotropy(*(rs_sampler*)buf3973);
-    *(rs_sampler_value*)buf3974 = rsSamplerGetMagnification(*(rs_sampler*)buf3975);
-    *(rs_sampler_value*)buf3976 = rsSamplerGetMinification(*(rs_sampler*)buf3977);
-    *(rs_sampler_value*)buf3978 = rsSamplerGetWrapS(*(rs_sampler*)buf3979);
-    *(rs_sampler_value*)buf3980 = rsSamplerGetWrapT(*(rs_sampler*)buf3981);
-    *(bool*)buf3982 = rsSendToClient(*(int*)buf3983);
-    *(bool*)buf3984 = rsSendToClient(*(int*)buf3985, (const void*) buf3986, *(uint*)buf3987);
-    rsSendToClientBlocking(*(int*)buf3988);
-    rsSendToClientBlocking(*(int*)buf3989, (const void*) buf3990, *(uint*)buf3991);
-    rsSetElementAt(*(rs_allocation*)buf3992, (void*) buf3993, *(uint32_t*)buf3994);
-    rsSetElementAt(*(rs_allocation*)buf3995, (void*) buf3996, *(uint32_t*)buf3997, *(uint32_t*)buf3998);
-    rsSetElementAt_float(*(rs_allocation*)buf3999, *(float*)buf4000, *(uint32_t*)buf4001);
-    rsSetElementAt_float2(*(rs_allocation*)buf4002, *(float2*)buf4003, *(uint32_t*)buf4004);
-    rsSetElementAt_float3(*(rs_allocation*)buf4005, *(float3*)buf4006, *(uint32_t*)buf4007);
-    rsSetElementAt_float4(*(rs_allocation*)buf4008, *(float4*)buf4009, *(uint32_t*)buf4010);
-    rsSetElementAt_double(*(rs_allocation*)buf4011, *(double*)buf4012, *(uint32_t*)buf4013);
-    rsSetElementAt_double2(*(rs_allocation*)buf4014, *(double2*)buf4015, *(uint32_t*)buf4016);
-    rsSetElementAt_double3(*(rs_allocation*)buf4017, *(double3*)buf4018, *(uint32_t*)buf4019);
-    rsSetElementAt_double4(*(rs_allocation*)buf4020, *(double4*)buf4021, *(uint32_t*)buf4022);
-    rsSetElementAt_char(*(rs_allocation*)buf4023, *(char*)buf4024, *(uint32_t*)buf4025);
-    rsSetElementAt_char2(*(rs_allocation*)buf4026, *(char2*)buf4027, *(uint32_t*)buf4028);
-    rsSetElementAt_char3(*(rs_allocation*)buf4029, *(char3*)buf4030, *(uint32_t*)buf4031);
-    rsSetElementAt_char4(*(rs_allocation*)buf4032, *(char4*)buf4033, *(uint32_t*)buf4034);
-    rsSetElementAt_uchar(*(rs_allocation*)buf4035, *(uchar*)buf4036, *(uint32_t*)buf4037);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf4038, *(uchar2*)buf4039, *(uint32_t*)buf4040);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf4041, *(uchar3*)buf4042, *(uint32_t*)buf4043);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf4044, *(uchar4*)buf4045, *(uint32_t*)buf4046);
-    rsSetElementAt_short(*(rs_allocation*)buf4047, *(short*)buf4048, *(uint32_t*)buf4049);
-    rsSetElementAt_short2(*(rs_allocation*)buf4050, *(short2*)buf4051, *(uint32_t*)buf4052);
-    rsSetElementAt_short3(*(rs_allocation*)buf4053, *(short3*)buf4054, *(uint32_t*)buf4055);
-    rsSetElementAt_short4(*(rs_allocation*)buf4056, *(short4*)buf4057, *(uint32_t*)buf4058);
-    rsSetElementAt_ushort(*(rs_allocation*)buf4059, *(ushort*)buf4060, *(uint32_t*)buf4061);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf4062, *(ushort2*)buf4063, *(uint32_t*)buf4064);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf4065, *(ushort3*)buf4066, *(uint32_t*)buf4067);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf4068, *(ushort4*)buf4069, *(uint32_t*)buf4070);
-    rsSetElementAt_int(*(rs_allocation*)buf4071, *(int*)buf4072, *(uint32_t*)buf4073);
-    rsSetElementAt_int2(*(rs_allocation*)buf4074, *(int2*)buf4075, *(uint32_t*)buf4076);
-    rsSetElementAt_int3(*(rs_allocation*)buf4077, *(int3*)buf4078, *(uint32_t*)buf4079);
-    rsSetElementAt_int4(*(rs_allocation*)buf4080, *(int4*)buf4081, *(uint32_t*)buf4082);
-    rsSetElementAt_uint(*(rs_allocation*)buf4083, *(uint*)buf4084, *(uint32_t*)buf4085);
-    rsSetElementAt_uint2(*(rs_allocation*)buf4086, *(uint2*)buf4087, *(uint32_t*)buf4088);
-    rsSetElementAt_uint3(*(rs_allocation*)buf4089, *(uint3*)buf4090, *(uint32_t*)buf4091);
-    rsSetElementAt_uint4(*(rs_allocation*)buf4092, *(uint4*)buf4093, *(uint32_t*)buf4094);
-    rsSetElementAt_long(*(rs_allocation*)buf4095, *(long*)buf4096, *(uint32_t*)buf4097);
-    rsSetElementAt_long2(*(rs_allocation*)buf4098, *(long2*)buf4099, *(uint32_t*)buf4100);
-    rsSetElementAt_long3(*(rs_allocation*)buf4101, *(long3*)buf4102, *(uint32_t*)buf4103);
-    rsSetElementAt_long4(*(rs_allocation*)buf4104, *(long4*)buf4105, *(uint32_t*)buf4106);
-    rsSetElementAt_ulong(*(rs_allocation*)buf4107, *(ulong*)buf4108, *(uint32_t*)buf4109);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf4110, *(ulong2*)buf4111, *(uint32_t*)buf4112);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf4113, *(ulong3*)buf4114, *(uint32_t*)buf4115);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf4116, *(ulong4*)buf4117, *(uint32_t*)buf4118);
-    rsSetElementAt_float(*(rs_allocation*)buf4119, *(float*)buf4120, *(uint32_t*)buf4121, *(uint32_t*)buf4122);
-    rsSetElementAt_float2(*(rs_allocation*)buf4123, *(float2*)buf4124, *(uint32_t*)buf4125, *(uint32_t*)buf4126);
-    rsSetElementAt_float3(*(rs_allocation*)buf4127, *(float3*)buf4128, *(uint32_t*)buf4129, *(uint32_t*)buf4130);
-    rsSetElementAt_float4(*(rs_allocation*)buf4131, *(float4*)buf4132, *(uint32_t*)buf4133, *(uint32_t*)buf4134);
-    rsSetElementAt_double(*(rs_allocation*)buf4135, *(double*)buf4136, *(uint32_t*)buf4137, *(uint32_t*)buf4138);
-    rsSetElementAt_double2(*(rs_allocation*)buf4139, *(double2*)buf4140, *(uint32_t*)buf4141, *(uint32_t*)buf4142);
-    rsSetElementAt_double3(*(rs_allocation*)buf4143, *(double3*)buf4144, *(uint32_t*)buf4145, *(uint32_t*)buf4146);
-    rsSetElementAt_double4(*(rs_allocation*)buf4147, *(double4*)buf4148, *(uint32_t*)buf4149, *(uint32_t*)buf4150);
-    rsSetElementAt_char(*(rs_allocation*)buf4151, *(char*)buf4152, *(uint32_t*)buf4153, *(uint32_t*)buf4154);
-    rsSetElementAt_char2(*(rs_allocation*)buf4155, *(char2*)buf4156, *(uint32_t*)buf4157, *(uint32_t*)buf4158);
-    rsSetElementAt_char3(*(rs_allocation*)buf4159, *(char3*)buf4160, *(uint32_t*)buf4161, *(uint32_t*)buf4162);
-    rsSetElementAt_char4(*(rs_allocation*)buf4163, *(char4*)buf4164, *(uint32_t*)buf4165, *(uint32_t*)buf4166);
-    rsSetElementAt_uchar(*(rs_allocation*)buf4167, *(uchar*)buf4168, *(uint32_t*)buf4169, *(uint32_t*)buf4170);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf4171, *(uchar2*)buf4172, *(uint32_t*)buf4173, *(uint32_t*)buf4174);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf4175, *(uchar3*)buf4176, *(uint32_t*)buf4177, *(uint32_t*)buf4178);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf4179, *(uchar4*)buf4180, *(uint32_t*)buf4181, *(uint32_t*)buf4182);
-    rsSetElementAt_short(*(rs_allocation*)buf4183, *(short*)buf4184, *(uint32_t*)buf4185, *(uint32_t*)buf4186);
-    rsSetElementAt_short2(*(rs_allocation*)buf4187, *(short2*)buf4188, *(uint32_t*)buf4189, *(uint32_t*)buf4190);
-    rsSetElementAt_short3(*(rs_allocation*)buf4191, *(short3*)buf4192, *(uint32_t*)buf4193, *(uint32_t*)buf4194);
-    rsSetElementAt_short4(*(rs_allocation*)buf4195, *(short4*)buf4196, *(uint32_t*)buf4197, *(uint32_t*)buf4198);
-    rsSetElementAt_ushort(*(rs_allocation*)buf4199, *(ushort*)buf4200, *(uint32_t*)buf4201, *(uint32_t*)buf4202);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf4203, *(ushort2*)buf4204, *(uint32_t*)buf4205, *(uint32_t*)buf4206);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf4207, *(ushort3*)buf4208, *(uint32_t*)buf4209, *(uint32_t*)buf4210);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf4211, *(ushort4*)buf4212, *(uint32_t*)buf4213, *(uint32_t*)buf4214);
-    rsSetElementAt_int(*(rs_allocation*)buf4215, *(int*)buf4216, *(uint32_t*)buf4217, *(uint32_t*)buf4218);
-    rsSetElementAt_int2(*(rs_allocation*)buf4219, *(int2*)buf4220, *(uint32_t*)buf4221, *(uint32_t*)buf4222);
-    rsSetElementAt_int3(*(rs_allocation*)buf4223, *(int3*)buf4224, *(uint32_t*)buf4225, *(uint32_t*)buf4226);
-    rsSetElementAt_int4(*(rs_allocation*)buf4227, *(int4*)buf4228, *(uint32_t*)buf4229, *(uint32_t*)buf4230);
-    rsSetElementAt_uint(*(rs_allocation*)buf4231, *(uint*)buf4232, *(uint32_t*)buf4233, *(uint32_t*)buf4234);
-    rsSetElementAt_uint2(*(rs_allocation*)buf4235, *(uint2*)buf4236, *(uint32_t*)buf4237, *(uint32_t*)buf4238);
-    rsSetElementAt_uint3(*(rs_allocation*)buf4239, *(uint3*)buf4240, *(uint32_t*)buf4241, *(uint32_t*)buf4242);
-    rsSetElementAt_uint4(*(rs_allocation*)buf4243, *(uint4*)buf4244, *(uint32_t*)buf4245, *(uint32_t*)buf4246);
-    rsSetElementAt_long(*(rs_allocation*)buf4247, *(long*)buf4248, *(uint32_t*)buf4249, *(uint32_t*)buf4250);
-    rsSetElementAt_long2(*(rs_allocation*)buf4251, *(long2*)buf4252, *(uint32_t*)buf4253, *(uint32_t*)buf4254);
-    rsSetElementAt_long3(*(rs_allocation*)buf4255, *(long3*)buf4256, *(uint32_t*)buf4257, *(uint32_t*)buf4258);
-    rsSetElementAt_long4(*(rs_allocation*)buf4259, *(long4*)buf4260, *(uint32_t*)buf4261, *(uint32_t*)buf4262);
-    rsSetElementAt_ulong(*(rs_allocation*)buf4263, *(ulong*)buf4264, *(uint32_t*)buf4265, *(uint32_t*)buf4266);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf4267, *(ulong2*)buf4268, *(uint32_t*)buf4269, *(uint32_t*)buf4270);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf4271, *(ulong3*)buf4272, *(uint32_t*)buf4273, *(uint32_t*)buf4274);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf4275, *(ulong4*)buf4276, *(uint32_t*)buf4277, *(uint32_t*)buf4278);
-    rsSetElementAt_float(*(rs_allocation*)buf4279, *(float*)buf4280, *(uint32_t*)buf4281, *(uint32_t*)buf4282, *(uint32_t*)buf4283);
-    rsSetElementAt_float2(*(rs_allocation*)buf4284, *(float2*)buf4285, *(uint32_t*)buf4286, *(uint32_t*)buf4287, *(uint32_t*)buf4288);
-    rsSetElementAt_float3(*(rs_allocation*)buf4289, *(float3*)buf4290, *(uint32_t*)buf4291, *(uint32_t*)buf4292, *(uint32_t*)buf4293);
-    rsSetElementAt_float4(*(rs_allocation*)buf4294, *(float4*)buf4295, *(uint32_t*)buf4296, *(uint32_t*)buf4297, *(uint32_t*)buf4298);
-    rsSetElementAt_double(*(rs_allocation*)buf4299, *(double*)buf4300, *(uint32_t*)buf4301, *(uint32_t*)buf4302, *(uint32_t*)buf4303);
-    rsSetElementAt_double2(*(rs_allocation*)buf4304, *(double2*)buf4305, *(uint32_t*)buf4306, *(uint32_t*)buf4307, *(uint32_t*)buf4308);
-    rsSetElementAt_double3(*(rs_allocation*)buf4309, *(double3*)buf4310, *(uint32_t*)buf4311, *(uint32_t*)buf4312, *(uint32_t*)buf4313);
-    rsSetElementAt_double4(*(rs_allocation*)buf4314, *(double4*)buf4315, *(uint32_t*)buf4316, *(uint32_t*)buf4317, *(uint32_t*)buf4318);
-    rsSetElementAt_char(*(rs_allocation*)buf4319, *(char*)buf4320, *(uint32_t*)buf4321, *(uint32_t*)buf4322, *(uint32_t*)buf4323);
-    rsSetElementAt_char2(*(rs_allocation*)buf4324, *(char2*)buf4325, *(uint32_t*)buf4326, *(uint32_t*)buf4327, *(uint32_t*)buf4328);
-    rsSetElementAt_char3(*(rs_allocation*)buf4329, *(char3*)buf4330, *(uint32_t*)buf4331, *(uint32_t*)buf4332, *(uint32_t*)buf4333);
-    rsSetElementAt_char4(*(rs_allocation*)buf4334, *(char4*)buf4335, *(uint32_t*)buf4336, *(uint32_t*)buf4337, *(uint32_t*)buf4338);
-    rsSetElementAt_uchar(*(rs_allocation*)buf4339, *(uchar*)buf4340, *(uint32_t*)buf4341, *(uint32_t*)buf4342, *(uint32_t*)buf4343);
-    rsSetElementAt_uchar2(*(rs_allocation*)buf4344, *(uchar2*)buf4345, *(uint32_t*)buf4346, *(uint32_t*)buf4347, *(uint32_t*)buf4348);
-    rsSetElementAt_uchar3(*(rs_allocation*)buf4349, *(uchar3*)buf4350, *(uint32_t*)buf4351, *(uint32_t*)buf4352, *(uint32_t*)buf4353);
-    rsSetElementAt_uchar4(*(rs_allocation*)buf4354, *(uchar4*)buf4355, *(uint32_t*)buf4356, *(uint32_t*)buf4357, *(uint32_t*)buf4358);
-    rsSetElementAt_short(*(rs_allocation*)buf4359, *(short*)buf4360, *(uint32_t*)buf4361, *(uint32_t*)buf4362, *(uint32_t*)buf4363);
-    rsSetElementAt_short2(*(rs_allocation*)buf4364, *(short2*)buf4365, *(uint32_t*)buf4366, *(uint32_t*)buf4367, *(uint32_t*)buf4368);
-    rsSetElementAt_short3(*(rs_allocation*)buf4369, *(short3*)buf4370, *(uint32_t*)buf4371, *(uint32_t*)buf4372, *(uint32_t*)buf4373);
-    rsSetElementAt_short4(*(rs_allocation*)buf4374, *(short4*)buf4375, *(uint32_t*)buf4376, *(uint32_t*)buf4377, *(uint32_t*)buf4378);
-    rsSetElementAt_ushort(*(rs_allocation*)buf4379, *(ushort*)buf4380, *(uint32_t*)buf4381, *(uint32_t*)buf4382, *(uint32_t*)buf4383);
-    rsSetElementAt_ushort2(*(rs_allocation*)buf4384, *(ushort2*)buf4385, *(uint32_t*)buf4386, *(uint32_t*)buf4387, *(uint32_t*)buf4388);
-    rsSetElementAt_ushort3(*(rs_allocation*)buf4389, *(ushort3*)buf4390, *(uint32_t*)buf4391, *(uint32_t*)buf4392, *(uint32_t*)buf4393);
-    rsSetElementAt_ushort4(*(rs_allocation*)buf4394, *(ushort4*)buf4395, *(uint32_t*)buf4396, *(uint32_t*)buf4397, *(uint32_t*)buf4398);
-    rsSetElementAt_int(*(rs_allocation*)buf4399, *(int*)buf4400, *(uint32_t*)buf4401, *(uint32_t*)buf4402, *(uint32_t*)buf4403);
-    rsSetElementAt_int2(*(rs_allocation*)buf4404, *(int2*)buf4405, *(uint32_t*)buf4406, *(uint32_t*)buf4407, *(uint32_t*)buf4408);
-    rsSetElementAt_int3(*(rs_allocation*)buf4409, *(int3*)buf4410, *(uint32_t*)buf4411, *(uint32_t*)buf4412, *(uint32_t*)buf4413);
-    rsSetElementAt_int4(*(rs_allocation*)buf4414, *(int4*)buf4415, *(uint32_t*)buf4416, *(uint32_t*)buf4417, *(uint32_t*)buf4418);
-    rsSetElementAt_uint(*(rs_allocation*)buf4419, *(uint*)buf4420, *(uint32_t*)buf4421, *(uint32_t*)buf4422, *(uint32_t*)buf4423);
-    rsSetElementAt_uint2(*(rs_allocation*)buf4424, *(uint2*)buf4425, *(uint32_t*)buf4426, *(uint32_t*)buf4427, *(uint32_t*)buf4428);
-    rsSetElementAt_uint3(*(rs_allocation*)buf4429, *(uint3*)buf4430, *(uint32_t*)buf4431, *(uint32_t*)buf4432, *(uint32_t*)buf4433);
-    rsSetElementAt_uint4(*(rs_allocation*)buf4434, *(uint4*)buf4435, *(uint32_t*)buf4436, *(uint32_t*)buf4437, *(uint32_t*)buf4438);
-    rsSetElementAt_long(*(rs_allocation*)buf4439, *(long*)buf4440, *(uint32_t*)buf4441, *(uint32_t*)buf4442, *(uint32_t*)buf4443);
-    rsSetElementAt_long2(*(rs_allocation*)buf4444, *(long2*)buf4445, *(uint32_t*)buf4446, *(uint32_t*)buf4447, *(uint32_t*)buf4448);
-    rsSetElementAt_long3(*(rs_allocation*)buf4449, *(long3*)buf4450, *(uint32_t*)buf4451, *(uint32_t*)buf4452, *(uint32_t*)buf4453);
-    rsSetElementAt_long4(*(rs_allocation*)buf4454, *(long4*)buf4455, *(uint32_t*)buf4456, *(uint32_t*)buf4457, *(uint32_t*)buf4458);
-    rsSetElementAt_ulong(*(rs_allocation*)buf4459, *(ulong*)buf4460, *(uint32_t*)buf4461, *(uint32_t*)buf4462, *(uint32_t*)buf4463);
-    rsSetElementAt_ulong2(*(rs_allocation*)buf4464, *(ulong2*)buf4465, *(uint32_t*)buf4466, *(uint32_t*)buf4467, *(uint32_t*)buf4468);
-    rsSetElementAt_ulong3(*(rs_allocation*)buf4469, *(ulong3*)buf4470, *(uint32_t*)buf4471, *(uint32_t*)buf4472, *(uint32_t*)buf4473);
-    rsSetElementAt_ulong4(*(rs_allocation*)buf4474, *(ulong4*)buf4475, *(uint32_t*)buf4476, *(uint32_t*)buf4477, *(uint32_t*)buf4478);
-    rsSetElementAt_half(*(rs_allocation*)buf4479, *(half*)buf4480, *(uint32_t*)buf4481);
-    rsSetElementAt_half2(*(rs_allocation*)buf4482, *(half2*)buf4483, *(uint32_t*)buf4484);
-    rsSetElementAt_half3(*(rs_allocation*)buf4485, *(half3*)buf4486, *(uint32_t*)buf4487);
-    rsSetElementAt_half4(*(rs_allocation*)buf4488, *(half4*)buf4489, *(uint32_t*)buf4490);
-    rsSetElementAt_half(*(rs_allocation*)buf4491, *(half*)buf4492, *(uint32_t*)buf4493, *(uint32_t*)buf4494);
-    rsSetElementAt_half2(*(rs_allocation*)buf4495, *(half2*)buf4496, *(uint32_t*)buf4497, *(uint32_t*)buf4498);
-    rsSetElementAt_half3(*(rs_allocation*)buf4499, *(half3*)buf4500, *(uint32_t*)buf4501, *(uint32_t*)buf4502);
-    rsSetElementAt_half4(*(rs_allocation*)buf4503, *(half4*)buf4504, *(uint32_t*)buf4505, *(uint32_t*)buf4506);
-    rsSetElementAt_half(*(rs_allocation*)buf4507, *(half*)buf4508, *(uint32_t*)buf4509, *(uint32_t*)buf4510, *(uint32_t*)buf4511);
-    rsSetElementAt_half2(*(rs_allocation*)buf4512, *(half2*)buf4513, *(uint32_t*)buf4514, *(uint32_t*)buf4515, *(uint32_t*)buf4516);
-    rsSetElementAt_half3(*(rs_allocation*)buf4517, *(half3*)buf4518, *(uint32_t*)buf4519, *(uint32_t*)buf4520, *(uint32_t*)buf4521);
-    rsSetElementAt_half4(*(rs_allocation*)buf4522, *(half4*)buf4523, *(uint32_t*)buf4524, *(uint32_t*)buf4525, *(uint32_t*)buf4526);
-    rsSetObject((rs_element*) buf4527, *(rs_element*)buf4528);
-    rsSetObject((rs_type*) buf4529, *(rs_type*)buf4530);
-    rsSetObject((rs_allocation*) buf4531, *(rs_allocation*)buf4532);
-    rsSetObject((rs_sampler*) buf4533, *(rs_sampler*)buf4534);
-    rsSetObject((rs_script*) buf4535, *(rs_script*)buf4536);
-    *(rs_time_t*)buf4537 = rsTime((rs_time_t*) buf4538);
-    *(float4*)buf4539 = rsUnpackColor8888(*(uchar4*)buf4540);
-    *(int64_t*)buf4541 = rsUptimeMillis();
-    *(int64_t*)buf4542 = rsUptimeNanos();
-    *(float4*)buf4543 = rsYuvToRGBA_float4(*(uchar*)buf4544, *(uchar*)buf4545, *(uchar*)buf4546);
-    *(uchar4*)buf4547 = rsYuvToRGBA_uchar4(*(uchar*)buf4548, *(uchar*)buf4549, *(uchar*)buf4550);
-    *(float*)buf4551 = rsqrt(*(float*)buf4552);
-    *(float2*)buf4553 = rsqrt(*(float2*)buf4554);
-    *(float3*)buf4555 = rsqrt(*(float3*)buf4556);
-    *(float4*)buf4557 = rsqrt(*(float4*)buf4558);
-    *(float*)buf4559 = sign(*(float*)buf4560);
-    *(float2*)buf4561 = sign(*(float2*)buf4562);
-    *(float3*)buf4563 = sign(*(float3*)buf4564);
-    *(float4*)buf4565 = sign(*(float4*)buf4566);
-    *(float*)buf4567 = sin(*(float*)buf4568);
-    *(float2*)buf4569 = sin(*(float2*)buf4570);
-    *(float3*)buf4571 = sin(*(float3*)buf4572);
-    *(float4*)buf4573 = sin(*(float4*)buf4574);
-    *(float*)buf4575 = sincos(*(float*)buf4576, (float*) buf4577);
-    *(float2*)buf4578 = sincos(*(float2*)buf4579, (float2*) buf4580);
-    *(float3*)buf4581 = sincos(*(float3*)buf4582, (float3*) buf4583);
-    *(float4*)buf4584 = sincos(*(float4*)buf4585, (float4*) buf4586);
-    *(float*)buf4587 = sinh(*(float*)buf4588);
-    *(float2*)buf4589 = sinh(*(float2*)buf4590);
-    *(float3*)buf4591 = sinh(*(float3*)buf4592);
-    *(float4*)buf4593 = sinh(*(float4*)buf4594);
-    *(float*)buf4595 = sinpi(*(float*)buf4596);
-    *(float2*)buf4597 = sinpi(*(float2*)buf4598);
-    *(float3*)buf4599 = sinpi(*(float3*)buf4600);
-    *(float4*)buf4601 = sinpi(*(float4*)buf4602);
-    *(float*)buf4603 = sqrt(*(float*)buf4604);
-    *(float2*)buf4605 = sqrt(*(float2*)buf4606);
-    *(float3*)buf4607 = sqrt(*(float3*)buf4608);
-    *(float4*)buf4609 = sqrt(*(float4*)buf4610);
-    *(float*)buf4611 = step(*(float*)buf4612, *(float*)buf4613);
-    *(float2*)buf4614 = step(*(float2*)buf4615, *(float2*)buf4616);
-    *(float3*)buf4617 = step(*(float3*)buf4618, *(float3*)buf4619);
-    *(float4*)buf4620 = step(*(float4*)buf4621, *(float4*)buf4622);
-    *(float2*)buf4623 = step(*(float2*)buf4624, *(float*)buf4625);
-    *(float3*)buf4626 = step(*(float3*)buf4627, *(float*)buf4628);
-    *(float4*)buf4629 = step(*(float4*)buf4630, *(float*)buf4631);
-    *(float2*)buf4632 = step(*(float*)buf4633, *(float2*)buf4634);
-    *(float3*)buf4635 = step(*(float*)buf4636, *(float3*)buf4637);
-    *(float4*)buf4638 = step(*(float*)buf4639, *(float4*)buf4640);
-    *(float*)buf4641 = tan(*(float*)buf4642);
-    *(float2*)buf4643 = tan(*(float2*)buf4644);
-    *(float3*)buf4645 = tan(*(float3*)buf4646);
-    *(float4*)buf4647 = tan(*(float4*)buf4648);
-    *(float*)buf4649 = tanh(*(float*)buf4650);
-    *(float2*)buf4651 = tanh(*(float2*)buf4652);
-    *(float3*)buf4653 = tanh(*(float3*)buf4654);
-    *(float4*)buf4655 = tanh(*(float4*)buf4656);
-    *(float*)buf4657 = tanpi(*(float*)buf4658);
-    *(float2*)buf4659 = tanpi(*(float2*)buf4660);
-    *(float3*)buf4661 = tanpi(*(float3*)buf4662);
-    *(float4*)buf4663 = tanpi(*(float4*)buf4664);
-    *(float*)buf4665 = tgamma(*(float*)buf4666);
-    *(float2*)buf4667 = tgamma(*(float2*)buf4668);
-    *(float3*)buf4669 = tgamma(*(float3*)buf4670);
-    *(float4*)buf4671 = tgamma(*(float4*)buf4672);
-    *(float*)buf4673 = trunc(*(float*)buf4674);
-    *(float2*)buf4675 = trunc(*(float2*)buf4676);
-    *(float3*)buf4677 = trunc(*(float3*)buf4678);
-    *(float4*)buf4679 = trunc(*(float4*)buf4680);
+    *(float2*)buf1477 = max(*(float2*)buf1478, *(float*)buf1479);
+    *(float3*)buf1480 = max(*(float3*)buf1481, *(float*)buf1482);
+    *(float4*)buf1483 = max(*(float4*)buf1484, *(float*)buf1485);
+    *(char*)buf1486 = max(*(char*)buf1487, *(char*)buf1488);
+    *(char2*)buf1489 = max(*(char2*)buf1490, *(char2*)buf1491);
+    *(char3*)buf1492 = max(*(char3*)buf1493, *(char3*)buf1494);
+    *(char4*)buf1495 = max(*(char4*)buf1496, *(char4*)buf1497);
+    *(uchar*)buf1498 = max(*(uchar*)buf1499, *(uchar*)buf1500);
+    *(uchar2*)buf1501 = max(*(uchar2*)buf1502, *(uchar2*)buf1503);
+    *(uchar3*)buf1504 = max(*(uchar3*)buf1505, *(uchar3*)buf1506);
+    *(uchar4*)buf1507 = max(*(uchar4*)buf1508, *(uchar4*)buf1509);
+    *(short*)buf1510 = max(*(short*)buf1511, *(short*)buf1512);
+    *(short2*)buf1513 = max(*(short2*)buf1514, *(short2*)buf1515);
+    *(short3*)buf1516 = max(*(short3*)buf1517, *(short3*)buf1518);
+    *(short4*)buf1519 = max(*(short4*)buf1520, *(short4*)buf1521);
+    *(ushort*)buf1522 = max(*(ushort*)buf1523, *(ushort*)buf1524);
+    *(ushort2*)buf1525 = max(*(ushort2*)buf1526, *(ushort2*)buf1527);
+    *(ushort3*)buf1528 = max(*(ushort3*)buf1529, *(ushort3*)buf1530);
+    *(ushort4*)buf1531 = max(*(ushort4*)buf1532, *(ushort4*)buf1533);
+    *(int*)buf1534 = max(*(int*)buf1535, *(int*)buf1536);
+    *(int2*)buf1537 = max(*(int2*)buf1538, *(int2*)buf1539);
+    *(int3*)buf1540 = max(*(int3*)buf1541, *(int3*)buf1542);
+    *(int4*)buf1543 = max(*(int4*)buf1544, *(int4*)buf1545);
+    *(uint*)buf1546 = max(*(uint*)buf1547, *(uint*)buf1548);
+    *(uint2*)buf1549 = max(*(uint2*)buf1550, *(uint2*)buf1551);
+    *(uint3*)buf1552 = max(*(uint3*)buf1553, *(uint3*)buf1554);
+    *(uint4*)buf1555 = max(*(uint4*)buf1556, *(uint4*)buf1557);
+    *(long*)buf1558 = max(*(long*)buf1559, *(long*)buf1560);
+    *(long2*)buf1561 = max(*(long2*)buf1562, *(long2*)buf1563);
+    *(long3*)buf1564 = max(*(long3*)buf1565, *(long3*)buf1566);
+    *(long4*)buf1567 = max(*(long4*)buf1568, *(long4*)buf1569);
+    *(ulong*)buf1570 = max(*(ulong*)buf1571, *(ulong*)buf1572);
+    *(ulong2*)buf1573 = max(*(ulong2*)buf1574, *(ulong2*)buf1575);
+    *(ulong3*)buf1576 = max(*(ulong3*)buf1577, *(ulong3*)buf1578);
+    *(ulong4*)buf1579 = max(*(ulong4*)buf1580, *(ulong4*)buf1581);
+    *(float*)buf1582 = min(*(float*)buf1583, *(float*)buf1584);
+    *(float2*)buf1585 = min(*(float2*)buf1586, *(float2*)buf1587);
+    *(float3*)buf1588 = min(*(float3*)buf1589, *(float3*)buf1590);
+    *(float4*)buf1591 = min(*(float4*)buf1592, *(float4*)buf1593);
+    *(float2*)buf1594 = min(*(float2*)buf1595, *(float*)buf1596);
+    *(float3*)buf1597 = min(*(float3*)buf1598, *(float*)buf1599);
+    *(float4*)buf1600 = min(*(float4*)buf1601, *(float*)buf1602);
+    *(char*)buf1603 = min(*(char*)buf1604, *(char*)buf1605);
+    *(char2*)buf1606 = min(*(char2*)buf1607, *(char2*)buf1608);
+    *(char3*)buf1609 = min(*(char3*)buf1610, *(char3*)buf1611);
+    *(char4*)buf1612 = min(*(char4*)buf1613, *(char4*)buf1614);
+    *(uchar*)buf1615 = min(*(uchar*)buf1616, *(uchar*)buf1617);
+    *(uchar2*)buf1618 = min(*(uchar2*)buf1619, *(uchar2*)buf1620);
+    *(uchar3*)buf1621 = min(*(uchar3*)buf1622, *(uchar3*)buf1623);
+    *(uchar4*)buf1624 = min(*(uchar4*)buf1625, *(uchar4*)buf1626);
+    *(short*)buf1627 = min(*(short*)buf1628, *(short*)buf1629);
+    *(short2*)buf1630 = min(*(short2*)buf1631, *(short2*)buf1632);
+    *(short3*)buf1633 = min(*(short3*)buf1634, *(short3*)buf1635);
+    *(short4*)buf1636 = min(*(short4*)buf1637, *(short4*)buf1638);
+    *(ushort*)buf1639 = min(*(ushort*)buf1640, *(ushort*)buf1641);
+    *(ushort2*)buf1642 = min(*(ushort2*)buf1643, *(ushort2*)buf1644);
+    *(ushort3*)buf1645 = min(*(ushort3*)buf1646, *(ushort3*)buf1647);
+    *(ushort4*)buf1648 = min(*(ushort4*)buf1649, *(ushort4*)buf1650);
+    *(int*)buf1651 = min(*(int*)buf1652, *(int*)buf1653);
+    *(int2*)buf1654 = min(*(int2*)buf1655, *(int2*)buf1656);
+    *(int3*)buf1657 = min(*(int3*)buf1658, *(int3*)buf1659);
+    *(int4*)buf1660 = min(*(int4*)buf1661, *(int4*)buf1662);
+    *(uint*)buf1663 = min(*(uint*)buf1664, *(uint*)buf1665);
+    *(uint2*)buf1666 = min(*(uint2*)buf1667, *(uint2*)buf1668);
+    *(uint3*)buf1669 = min(*(uint3*)buf1670, *(uint3*)buf1671);
+    *(uint4*)buf1672 = min(*(uint4*)buf1673, *(uint4*)buf1674);
+    *(long*)buf1675 = min(*(long*)buf1676, *(long*)buf1677);
+    *(long2*)buf1678 = min(*(long2*)buf1679, *(long2*)buf1680);
+    *(long3*)buf1681 = min(*(long3*)buf1682, *(long3*)buf1683);
+    *(long4*)buf1684 = min(*(long4*)buf1685, *(long4*)buf1686);
+    *(ulong*)buf1687 = min(*(ulong*)buf1688, *(ulong*)buf1689);
+    *(ulong2*)buf1690 = min(*(ulong2*)buf1691, *(ulong2*)buf1692);
+    *(ulong3*)buf1693 = min(*(ulong3*)buf1694, *(ulong3*)buf1695);
+    *(ulong4*)buf1696 = min(*(ulong4*)buf1697, *(ulong4*)buf1698);
+    *(float*)buf1699 = mix(*(float*)buf1700, *(float*)buf1701, *(float*)buf1702);
+    *(float2*)buf1703 = mix(*(float2*)buf1704, *(float2*)buf1705, *(float2*)buf1706);
+    *(float3*)buf1707 = mix(*(float3*)buf1708, *(float3*)buf1709, *(float3*)buf1710);
+    *(float4*)buf1711 = mix(*(float4*)buf1712, *(float4*)buf1713, *(float4*)buf1714);
+    *(float2*)buf1715 = mix(*(float2*)buf1716, *(float2*)buf1717, *(float*)buf1718);
+    *(float3*)buf1719 = mix(*(float3*)buf1720, *(float3*)buf1721, *(float*)buf1722);
+    *(float4*)buf1723 = mix(*(float4*)buf1724, *(float4*)buf1725, *(float*)buf1726);
+    *(float*)buf1727 = modf(*(float*)buf1728, (float*) buf1729);
+    *(float2*)buf1730 = modf(*(float2*)buf1731, (float2*) buf1732);
+    *(float3*)buf1733 = modf(*(float3*)buf1734, (float3*) buf1735);
+    *(float4*)buf1736 = modf(*(float4*)buf1737, (float4*) buf1738);
+    *(float*)buf1739 = nan(*(uint*)buf1740);
+    *(float*)buf1741 = native_acos(*(float*)buf1742);
+    *(float2*)buf1743 = native_acos(*(float2*)buf1744);
+    *(float3*)buf1745 = native_acos(*(float3*)buf1746);
+    *(float4*)buf1747 = native_acos(*(float4*)buf1748);
+    *(float*)buf1749 = native_acosh(*(float*)buf1750);
+    *(float2*)buf1751 = native_acosh(*(float2*)buf1752);
+    *(float3*)buf1753 = native_acosh(*(float3*)buf1754);
+    *(float4*)buf1755 = native_acosh(*(float4*)buf1756);
+    *(float*)buf1757 = native_acospi(*(float*)buf1758);
+    *(float2*)buf1759 = native_acospi(*(float2*)buf1760);
+    *(float3*)buf1761 = native_acospi(*(float3*)buf1762);
+    *(float4*)buf1763 = native_acospi(*(float4*)buf1764);
+    *(float*)buf1765 = native_asin(*(float*)buf1766);
+    *(float2*)buf1767 = native_asin(*(float2*)buf1768);
+    *(float3*)buf1769 = native_asin(*(float3*)buf1770);
+    *(float4*)buf1771 = native_asin(*(float4*)buf1772);
+    *(float*)buf1773 = native_asinh(*(float*)buf1774);
+    *(float2*)buf1775 = native_asinh(*(float2*)buf1776);
+    *(float3*)buf1777 = native_asinh(*(float3*)buf1778);
+    *(float4*)buf1779 = native_asinh(*(float4*)buf1780);
+    *(float*)buf1781 = native_asinpi(*(float*)buf1782);
+    *(float2*)buf1783 = native_asinpi(*(float2*)buf1784);
+    *(float3*)buf1785 = native_asinpi(*(float3*)buf1786);
+    *(float4*)buf1787 = native_asinpi(*(float4*)buf1788);
+    *(float*)buf1789 = native_atan(*(float*)buf1790);
+    *(float2*)buf1791 = native_atan(*(float2*)buf1792);
+    *(float3*)buf1793 = native_atan(*(float3*)buf1794);
+    *(float4*)buf1795 = native_atan(*(float4*)buf1796);
+    *(float*)buf1797 = native_atan2(*(float*)buf1798, *(float*)buf1799);
+    *(float2*)buf1800 = native_atan2(*(float2*)buf1801, *(float2*)buf1802);
+    *(float3*)buf1803 = native_atan2(*(float3*)buf1804, *(float3*)buf1805);
+    *(float4*)buf1806 = native_atan2(*(float4*)buf1807, *(float4*)buf1808);
+    *(float*)buf1809 = native_atan2pi(*(float*)buf1810, *(float*)buf1811);
+    *(float2*)buf1812 = native_atan2pi(*(float2*)buf1813, *(float2*)buf1814);
+    *(float3*)buf1815 = native_atan2pi(*(float3*)buf1816, *(float3*)buf1817);
+    *(float4*)buf1818 = native_atan2pi(*(float4*)buf1819, *(float4*)buf1820);
+    *(float*)buf1821 = native_atanh(*(float*)buf1822);
+    *(float2*)buf1823 = native_atanh(*(float2*)buf1824);
+    *(float3*)buf1825 = native_atanh(*(float3*)buf1826);
+    *(float4*)buf1827 = native_atanh(*(float4*)buf1828);
+    *(float*)buf1829 = native_atanpi(*(float*)buf1830);
+    *(float2*)buf1831 = native_atanpi(*(float2*)buf1832);
+    *(float3*)buf1833 = native_atanpi(*(float3*)buf1834);
+    *(float4*)buf1835 = native_atanpi(*(float4*)buf1836);
+    *(float*)buf1837 = native_cbrt(*(float*)buf1838);
+    *(float2*)buf1839 = native_cbrt(*(float2*)buf1840);
+    *(float3*)buf1841 = native_cbrt(*(float3*)buf1842);
+    *(float4*)buf1843 = native_cbrt(*(float4*)buf1844);
+    *(float*)buf1845 = native_cos(*(float*)buf1846);
+    *(float2*)buf1847 = native_cos(*(float2*)buf1848);
+    *(float3*)buf1849 = native_cos(*(float3*)buf1850);
+    *(float4*)buf1851 = native_cos(*(float4*)buf1852);
+    *(float*)buf1853 = native_cosh(*(float*)buf1854);
+    *(float2*)buf1855 = native_cosh(*(float2*)buf1856);
+    *(float3*)buf1857 = native_cosh(*(float3*)buf1858);
+    *(float4*)buf1859 = native_cosh(*(float4*)buf1860);
+    *(float*)buf1861 = native_cospi(*(float*)buf1862);
+    *(float2*)buf1863 = native_cospi(*(float2*)buf1864);
+    *(float3*)buf1865 = native_cospi(*(float3*)buf1866);
+    *(float4*)buf1867 = native_cospi(*(float4*)buf1868);
+    *(float*)buf1869 = native_distance(*(float*)buf1870, *(float*)buf1871);
+    *(float*)buf1872 = native_distance(*(float2*)buf1873, *(float2*)buf1874);
+    *(float*)buf1875 = native_distance(*(float3*)buf1876, *(float3*)buf1877);
+    *(float*)buf1878 = native_distance(*(float4*)buf1879, *(float4*)buf1880);
+    *(float*)buf1881 = native_divide(*(float*)buf1882, *(float*)buf1883);
+    *(float2*)buf1884 = native_divide(*(float2*)buf1885, *(float2*)buf1886);
+    *(float3*)buf1887 = native_divide(*(float3*)buf1888, *(float3*)buf1889);
+    *(float4*)buf1890 = native_divide(*(float4*)buf1891, *(float4*)buf1892);
+    *(float*)buf1893 = native_exp(*(float*)buf1894);
+    *(float2*)buf1895 = native_exp(*(float2*)buf1896);
+    *(float3*)buf1897 = native_exp(*(float3*)buf1898);
+    *(float4*)buf1899 = native_exp(*(float4*)buf1900);
+    *(float*)buf1901 = native_exp10(*(float*)buf1902);
+    *(float2*)buf1903 = native_exp10(*(float2*)buf1904);
+    *(float3*)buf1905 = native_exp10(*(float3*)buf1906);
+    *(float4*)buf1907 = native_exp10(*(float4*)buf1908);
+    *(float*)buf1909 = native_exp2(*(float*)buf1910);
+    *(float2*)buf1911 = native_exp2(*(float2*)buf1912);
+    *(float3*)buf1913 = native_exp2(*(float3*)buf1914);
+    *(float4*)buf1915 = native_exp2(*(float4*)buf1916);
+    *(float*)buf1917 = native_expm1(*(float*)buf1918);
+    *(float2*)buf1919 = native_expm1(*(float2*)buf1920);
+    *(float3*)buf1921 = native_expm1(*(float3*)buf1922);
+    *(float4*)buf1923 = native_expm1(*(float4*)buf1924);
+    *(float*)buf1925 = native_hypot(*(float*)buf1926, *(float*)buf1927);
+    *(float2*)buf1928 = native_hypot(*(float2*)buf1929, *(float2*)buf1930);
+    *(float3*)buf1931 = native_hypot(*(float3*)buf1932, *(float3*)buf1933);
+    *(float4*)buf1934 = native_hypot(*(float4*)buf1935, *(float4*)buf1936);
+    *(float*)buf1937 = native_length(*(float*)buf1938);
+    *(float*)buf1939 = native_length(*(float2*)buf1940);
+    *(float*)buf1941 = native_length(*(float3*)buf1942);
+    *(float*)buf1943 = native_length(*(float4*)buf1944);
+    *(float*)buf1945 = native_log(*(float*)buf1946);
+    *(float2*)buf1947 = native_log(*(float2*)buf1948);
+    *(float3*)buf1949 = native_log(*(float3*)buf1950);
+    *(float4*)buf1951 = native_log(*(float4*)buf1952);
+    *(float*)buf1953 = native_log10(*(float*)buf1954);
+    *(float2*)buf1955 = native_log10(*(float2*)buf1956);
+    *(float3*)buf1957 = native_log10(*(float3*)buf1958);
+    *(float4*)buf1959 = native_log10(*(float4*)buf1960);
+    *(float*)buf1961 = native_log1p(*(float*)buf1962);
+    *(float2*)buf1963 = native_log1p(*(float2*)buf1964);
+    *(float3*)buf1965 = native_log1p(*(float3*)buf1966);
+    *(float4*)buf1967 = native_log1p(*(float4*)buf1968);
+    *(float*)buf1969 = native_log2(*(float*)buf1970);
+    *(float2*)buf1971 = native_log2(*(float2*)buf1972);
+    *(float3*)buf1973 = native_log2(*(float3*)buf1974);
+    *(float4*)buf1975 = native_log2(*(float4*)buf1976);
+    *(float*)buf1977 = native_normalize(*(float*)buf1978);
+    *(float2*)buf1979 = native_normalize(*(float2*)buf1980);
+    *(float3*)buf1981 = native_normalize(*(float3*)buf1982);
+    *(float4*)buf1983 = native_normalize(*(float4*)buf1984);
+    *(float*)buf1985 = native_powr(*(float*)buf1986, *(float*)buf1987);
+    *(float2*)buf1988 = native_powr(*(float2*)buf1989, *(float2*)buf1990);
+    *(float3*)buf1991 = native_powr(*(float3*)buf1992, *(float3*)buf1993);
+    *(float4*)buf1994 = native_powr(*(float4*)buf1995, *(float4*)buf1996);
+    *(float*)buf1997 = native_recip(*(float*)buf1998);
+    *(float2*)buf1999 = native_recip(*(float2*)buf2000);
+    *(float3*)buf2001 = native_recip(*(float3*)buf2002);
+    *(float4*)buf2003 = native_recip(*(float4*)buf2004);
+    *(float*)buf2005 = native_rootn(*(float*)buf2006, *(int*)buf2007);
+    *(float2*)buf2008 = native_rootn(*(float2*)buf2009, *(int2*)buf2010);
+    *(float3*)buf2011 = native_rootn(*(float3*)buf2012, *(int3*)buf2013);
+    *(float4*)buf2014 = native_rootn(*(float4*)buf2015, *(int4*)buf2016);
+    *(float*)buf2017 = native_rsqrt(*(float*)buf2018);
+    *(float2*)buf2019 = native_rsqrt(*(float2*)buf2020);
+    *(float3*)buf2021 = native_rsqrt(*(float3*)buf2022);
+    *(float4*)buf2023 = native_rsqrt(*(float4*)buf2024);
+    *(float*)buf2025 = native_sin(*(float*)buf2026);
+    *(float2*)buf2027 = native_sin(*(float2*)buf2028);
+    *(float3*)buf2029 = native_sin(*(float3*)buf2030);
+    *(float4*)buf2031 = native_sin(*(float4*)buf2032);
+    *(float*)buf2033 = native_sincos(*(float*)buf2034, (float*) buf2035);
+    *(float2*)buf2036 = native_sincos(*(float2*)buf2037, (float2*) buf2038);
+    *(float3*)buf2039 = native_sincos(*(float3*)buf2040, (float3*) buf2041);
+    *(float4*)buf2042 = native_sincos(*(float4*)buf2043, (float4*) buf2044);
+    *(float*)buf2045 = native_sinh(*(float*)buf2046);
+    *(float2*)buf2047 = native_sinh(*(float2*)buf2048);
+    *(float3*)buf2049 = native_sinh(*(float3*)buf2050);
+    *(float4*)buf2051 = native_sinh(*(float4*)buf2052);
+    *(float*)buf2053 = native_sinpi(*(float*)buf2054);
+    *(float2*)buf2055 = native_sinpi(*(float2*)buf2056);
+    *(float3*)buf2057 = native_sinpi(*(float3*)buf2058);
+    *(float4*)buf2059 = native_sinpi(*(float4*)buf2060);
+    *(float*)buf2061 = native_sqrt(*(float*)buf2062);
+    *(float2*)buf2063 = native_sqrt(*(float2*)buf2064);
+    *(float3*)buf2065 = native_sqrt(*(float3*)buf2066);
+    *(float4*)buf2067 = native_sqrt(*(float4*)buf2068);
+    *(float*)buf2069 = native_tan(*(float*)buf2070);
+    *(float2*)buf2071 = native_tan(*(float2*)buf2072);
+    *(float3*)buf2073 = native_tan(*(float3*)buf2074);
+    *(float4*)buf2075 = native_tan(*(float4*)buf2076);
+    *(float*)buf2077 = native_tanh(*(float*)buf2078);
+    *(float2*)buf2079 = native_tanh(*(float2*)buf2080);
+    *(float3*)buf2081 = native_tanh(*(float3*)buf2082);
+    *(float4*)buf2083 = native_tanh(*(float4*)buf2084);
+    *(float*)buf2085 = native_tanpi(*(float*)buf2086);
+    *(float2*)buf2087 = native_tanpi(*(float2*)buf2088);
+    *(float3*)buf2089 = native_tanpi(*(float3*)buf2090);
+    *(float4*)buf2091 = native_tanpi(*(float4*)buf2092);
+    *(float*)buf2093 = nextafter(*(float*)buf2094, *(float*)buf2095);
+    *(float2*)buf2096 = nextafter(*(float2*)buf2097, *(float2*)buf2098);
+    *(float3*)buf2099 = nextafter(*(float3*)buf2100, *(float3*)buf2101);
+    *(float4*)buf2102 = nextafter(*(float4*)buf2103, *(float4*)buf2104);
+    *(float*)buf2105 = normalize(*(float*)buf2106);
+    *(float2*)buf2107 = normalize(*(float2*)buf2108);
+    *(float3*)buf2109 = normalize(*(float3*)buf2110);
+    *(float4*)buf2111 = normalize(*(float4*)buf2112);
+    *(float*)buf2113 = pow(*(float*)buf2114, *(float*)buf2115);
+    *(float2*)buf2116 = pow(*(float2*)buf2117, *(float2*)buf2118);
+    *(float3*)buf2119 = pow(*(float3*)buf2120, *(float3*)buf2121);
+    *(float4*)buf2122 = pow(*(float4*)buf2123, *(float4*)buf2124);
+    *(float*)buf2125 = pown(*(float*)buf2126, *(int*)buf2127);
+    *(float2*)buf2128 = pown(*(float2*)buf2129, *(int2*)buf2130);
+    *(float3*)buf2131 = pown(*(float3*)buf2132, *(int3*)buf2133);
+    *(float4*)buf2134 = pown(*(float4*)buf2135, *(int4*)buf2136);
+    *(float*)buf2137 = powr(*(float*)buf2138, *(float*)buf2139);
+    *(float2*)buf2140 = powr(*(float2*)buf2141, *(float2*)buf2142);
+    *(float3*)buf2143 = powr(*(float3*)buf2144, *(float3*)buf2145);
+    *(float4*)buf2146 = powr(*(float4*)buf2147, *(float4*)buf2148);
+    *(float*)buf2149 = radians(*(float*)buf2150);
+    *(float2*)buf2151 = radians(*(float2*)buf2152);
+    *(float3*)buf2153 = radians(*(float3*)buf2154);
+    *(float4*)buf2155 = radians(*(float4*)buf2156);
+    *(float*)buf2157 = remainder(*(float*)buf2158, *(float*)buf2159);
+    *(float2*)buf2160 = remainder(*(float2*)buf2161, *(float2*)buf2162);
+    *(float3*)buf2163 = remainder(*(float3*)buf2164, *(float3*)buf2165);
+    *(float4*)buf2166 = remainder(*(float4*)buf2167, *(float4*)buf2168);
+    *(float*)buf2169 = remquo(*(float*)buf2170, *(float*)buf2171, (int*) buf2172);
+    *(float2*)buf2173 = remquo(*(float2*)buf2174, *(float2*)buf2175, (int2*) buf2176);
+    *(float3*)buf2177 = remquo(*(float3*)buf2178, *(float3*)buf2179, (int3*) buf2180);
+    *(float4*)buf2181 = remquo(*(float4*)buf2182, *(float4*)buf2183, (int4*) buf2184);
+    *(float*)buf2185 = rint(*(float*)buf2186);
+    *(float2*)buf2187 = rint(*(float2*)buf2188);
+    *(float3*)buf2189 = rint(*(float3*)buf2190);
+    *(float4*)buf2191 = rint(*(float4*)buf2192);
+    *(float*)buf2193 = rootn(*(float*)buf2194, *(int*)buf2195);
+    *(float2*)buf2196 = rootn(*(float2*)buf2197, *(int2*)buf2198);
+    *(float3*)buf2199 = rootn(*(float3*)buf2200, *(int3*)buf2201);
+    *(float4*)buf2202 = rootn(*(float4*)buf2203, *(int4*)buf2204);
+    *(float*)buf2205 = round(*(float*)buf2206);
+    *(float2*)buf2207 = round(*(float2*)buf2208);
+    *(float3*)buf2209 = round(*(float3*)buf2210);
+    *(float4*)buf2211 = round(*(float4*)buf2212);
+    rsAllocationCopy1DRange(*(rs_allocation*)buf2213, *(uint32_t*)buf2214, *(uint32_t*)buf2215, *(uint32_t*)buf2216, *(rs_allocation*)buf2217, *(uint32_t*)buf2218, *(uint32_t*)buf2219);
+    rsAllocationCopy2DRange(*(rs_allocation*)buf2220, *(uint32_t*)buf2221, *(uint32_t*)buf2222, *(uint32_t*)buf2223, *(rs_allocation_cubemap_face*)buf2224, *(uint32_t*)buf2225, *(uint32_t*)buf2226, *(rs_allocation*)buf2227, *(uint32_t*)buf2228, *(uint32_t*)buf2229, *(uint32_t*)buf2230, *(rs_allocation_cubemap_face*)buf2231);
+    *(uint32_t*)buf2232 = rsAllocationGetDimFaces(*(rs_allocation*)buf2233);
+    *(uint32_t*)buf2234 = rsAllocationGetDimLOD(*(rs_allocation*)buf2235);
+    *(uint32_t*)buf2236 = rsAllocationGetDimX(*(rs_allocation*)buf2237);
+    *(uint32_t*)buf2238 = rsAllocationGetDimY(*(rs_allocation*)buf2239);
+    *(uint32_t*)buf2240 = rsAllocationGetDimZ(*(rs_allocation*)buf2241);
+    *(rs_element*)buf2242 = rsAllocationGetElement(*(rs_allocation*)buf2243);
+    rsAllocationIoReceive(*(rs_allocation*)buf2244);
+    rsAllocationIoSend(*(rs_allocation*)buf2245);
+    *(float2*)buf2246 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2247, *(uint32_t*)buf2248);
+    *(float3*)buf2249 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2250, *(uint32_t*)buf2251);
+    *(float4*)buf2252 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2253, *(uint32_t*)buf2254);
+    *(double2*)buf2255 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2256, *(uint32_t*)buf2257);
+    *(double3*)buf2258 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2259, *(uint32_t*)buf2260);
+    *(double4*)buf2261 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2262, *(uint32_t*)buf2263);
+    *(char2*)buf2264 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2265, *(uint32_t*)buf2266);
+    *(char3*)buf2267 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2268, *(uint32_t*)buf2269);
+    *(char4*)buf2270 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2271, *(uint32_t*)buf2272);
+    *(uchar2*)buf2273 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2274, *(uint32_t*)buf2275);
+    *(uchar3*)buf2276 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2277, *(uint32_t*)buf2278);
+    *(uchar4*)buf2279 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2280, *(uint32_t*)buf2281);
+    *(short2*)buf2282 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2283, *(uint32_t*)buf2284);
+    *(short3*)buf2285 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2286, *(uint32_t*)buf2287);
+    *(short4*)buf2288 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2289, *(uint32_t*)buf2290);
+    *(ushort2*)buf2291 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2292, *(uint32_t*)buf2293);
+    *(ushort3*)buf2294 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2295, *(uint32_t*)buf2296);
+    *(ushort4*)buf2297 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2298, *(uint32_t*)buf2299);
+    *(int2*)buf2300 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2301, *(uint32_t*)buf2302);
+    *(int3*)buf2303 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2304, *(uint32_t*)buf2305);
+    *(int4*)buf2306 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2307, *(uint32_t*)buf2308);
+    *(uint2*)buf2309 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2310, *(uint32_t*)buf2311);
+    *(uint3*)buf2312 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2313, *(uint32_t*)buf2314);
+    *(uint4*)buf2315 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2316, *(uint32_t*)buf2317);
+    *(long2*)buf2318 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2319, *(uint32_t*)buf2320);
+    *(long3*)buf2321 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2322, *(uint32_t*)buf2323);
+    *(long4*)buf2324 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2325, *(uint32_t*)buf2326);
+    *(ulong2*)buf2327 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2328, *(uint32_t*)buf2329);
+    *(ulong3*)buf2330 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2331, *(uint32_t*)buf2332);
+    *(ulong4*)buf2333 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2334, *(uint32_t*)buf2335);
+    *(float2*)buf2336 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2337, *(uint32_t*)buf2338, *(uint32_t*)buf2339);
+    *(float3*)buf2340 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2341, *(uint32_t*)buf2342, *(uint32_t*)buf2343);
+    *(float4*)buf2344 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2345, *(uint32_t*)buf2346, *(uint32_t*)buf2347);
+    *(double2*)buf2348 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2349, *(uint32_t*)buf2350, *(uint32_t*)buf2351);
+    *(double3*)buf2352 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2353, *(uint32_t*)buf2354, *(uint32_t*)buf2355);
+    *(double4*)buf2356 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2357, *(uint32_t*)buf2358, *(uint32_t*)buf2359);
+    *(char2*)buf2360 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2361, *(uint32_t*)buf2362, *(uint32_t*)buf2363);
+    *(char3*)buf2364 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2365, *(uint32_t*)buf2366, *(uint32_t*)buf2367);
+    *(char4*)buf2368 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2369, *(uint32_t*)buf2370, *(uint32_t*)buf2371);
+    *(uchar2*)buf2372 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2373, *(uint32_t*)buf2374, *(uint32_t*)buf2375);
+    *(uchar3*)buf2376 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2377, *(uint32_t*)buf2378, *(uint32_t*)buf2379);
+    *(uchar4*)buf2380 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2381, *(uint32_t*)buf2382, *(uint32_t*)buf2383);
+    *(short2*)buf2384 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2385, *(uint32_t*)buf2386, *(uint32_t*)buf2387);
+    *(short3*)buf2388 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2389, *(uint32_t*)buf2390, *(uint32_t*)buf2391);
+    *(short4*)buf2392 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2393, *(uint32_t*)buf2394, *(uint32_t*)buf2395);
+    *(ushort2*)buf2396 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2397, *(uint32_t*)buf2398, *(uint32_t*)buf2399);
+    *(ushort3*)buf2400 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2401, *(uint32_t*)buf2402, *(uint32_t*)buf2403);
+    *(ushort4*)buf2404 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2405, *(uint32_t*)buf2406, *(uint32_t*)buf2407);
+    *(int2*)buf2408 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2409, *(uint32_t*)buf2410, *(uint32_t*)buf2411);
+    *(int3*)buf2412 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2413, *(uint32_t*)buf2414, *(uint32_t*)buf2415);
+    *(int4*)buf2416 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2417, *(uint32_t*)buf2418, *(uint32_t*)buf2419);
+    *(uint2*)buf2420 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2421, *(uint32_t*)buf2422, *(uint32_t*)buf2423);
+    *(uint3*)buf2424 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2425, *(uint32_t*)buf2426, *(uint32_t*)buf2427);
+    *(uint4*)buf2428 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2429, *(uint32_t*)buf2430, *(uint32_t*)buf2431);
+    *(long2*)buf2432 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2433, *(uint32_t*)buf2434, *(uint32_t*)buf2435);
+    *(long3*)buf2436 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2437, *(uint32_t*)buf2438, *(uint32_t*)buf2439);
+    *(long4*)buf2440 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2441, *(uint32_t*)buf2442, *(uint32_t*)buf2443);
+    *(ulong2*)buf2444 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2445, *(uint32_t*)buf2446, *(uint32_t*)buf2447);
+    *(ulong3*)buf2448 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2449, *(uint32_t*)buf2450, *(uint32_t*)buf2451);
+    *(ulong4*)buf2452 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2453, *(uint32_t*)buf2454, *(uint32_t*)buf2455);
+    *(float2*)buf2456 = rsAllocationVLoadX_float2(*(rs_allocation*)buf2457, *(uint32_t*)buf2458, *(uint32_t*)buf2459, *(uint32_t*)buf2460);
+    *(float3*)buf2461 = rsAllocationVLoadX_float3(*(rs_allocation*)buf2462, *(uint32_t*)buf2463, *(uint32_t*)buf2464, *(uint32_t*)buf2465);
+    *(float4*)buf2466 = rsAllocationVLoadX_float4(*(rs_allocation*)buf2467, *(uint32_t*)buf2468, *(uint32_t*)buf2469, *(uint32_t*)buf2470);
+    *(double2*)buf2471 = rsAllocationVLoadX_double2(*(rs_allocation*)buf2472, *(uint32_t*)buf2473, *(uint32_t*)buf2474, *(uint32_t*)buf2475);
+    *(double3*)buf2476 = rsAllocationVLoadX_double3(*(rs_allocation*)buf2477, *(uint32_t*)buf2478, *(uint32_t*)buf2479, *(uint32_t*)buf2480);
+    *(double4*)buf2481 = rsAllocationVLoadX_double4(*(rs_allocation*)buf2482, *(uint32_t*)buf2483, *(uint32_t*)buf2484, *(uint32_t*)buf2485);
+    *(char2*)buf2486 = rsAllocationVLoadX_char2(*(rs_allocation*)buf2487, *(uint32_t*)buf2488, *(uint32_t*)buf2489, *(uint32_t*)buf2490);
+    *(char3*)buf2491 = rsAllocationVLoadX_char3(*(rs_allocation*)buf2492, *(uint32_t*)buf2493, *(uint32_t*)buf2494, *(uint32_t*)buf2495);
+    *(char4*)buf2496 = rsAllocationVLoadX_char4(*(rs_allocation*)buf2497, *(uint32_t*)buf2498, *(uint32_t*)buf2499, *(uint32_t*)buf2500);
+    *(uchar2*)buf2501 = rsAllocationVLoadX_uchar2(*(rs_allocation*)buf2502, *(uint32_t*)buf2503, *(uint32_t*)buf2504, *(uint32_t*)buf2505);
+    *(uchar3*)buf2506 = rsAllocationVLoadX_uchar3(*(rs_allocation*)buf2507, *(uint32_t*)buf2508, *(uint32_t*)buf2509, *(uint32_t*)buf2510);
+    *(uchar4*)buf2511 = rsAllocationVLoadX_uchar4(*(rs_allocation*)buf2512, *(uint32_t*)buf2513, *(uint32_t*)buf2514, *(uint32_t*)buf2515);
+    *(short2*)buf2516 = rsAllocationVLoadX_short2(*(rs_allocation*)buf2517, *(uint32_t*)buf2518, *(uint32_t*)buf2519, *(uint32_t*)buf2520);
+    *(short3*)buf2521 = rsAllocationVLoadX_short3(*(rs_allocation*)buf2522, *(uint32_t*)buf2523, *(uint32_t*)buf2524, *(uint32_t*)buf2525);
+    *(short4*)buf2526 = rsAllocationVLoadX_short4(*(rs_allocation*)buf2527, *(uint32_t*)buf2528, *(uint32_t*)buf2529, *(uint32_t*)buf2530);
+    *(ushort2*)buf2531 = rsAllocationVLoadX_ushort2(*(rs_allocation*)buf2532, *(uint32_t*)buf2533, *(uint32_t*)buf2534, *(uint32_t*)buf2535);
+    *(ushort3*)buf2536 = rsAllocationVLoadX_ushort3(*(rs_allocation*)buf2537, *(uint32_t*)buf2538, *(uint32_t*)buf2539, *(uint32_t*)buf2540);
+    *(ushort4*)buf2541 = rsAllocationVLoadX_ushort4(*(rs_allocation*)buf2542, *(uint32_t*)buf2543, *(uint32_t*)buf2544, *(uint32_t*)buf2545);
+    *(int2*)buf2546 = rsAllocationVLoadX_int2(*(rs_allocation*)buf2547, *(uint32_t*)buf2548, *(uint32_t*)buf2549, *(uint32_t*)buf2550);
+    *(int3*)buf2551 = rsAllocationVLoadX_int3(*(rs_allocation*)buf2552, *(uint32_t*)buf2553, *(uint32_t*)buf2554, *(uint32_t*)buf2555);
+    *(int4*)buf2556 = rsAllocationVLoadX_int4(*(rs_allocation*)buf2557, *(uint32_t*)buf2558, *(uint32_t*)buf2559, *(uint32_t*)buf2560);
+    *(uint2*)buf2561 = rsAllocationVLoadX_uint2(*(rs_allocation*)buf2562, *(uint32_t*)buf2563, *(uint32_t*)buf2564, *(uint32_t*)buf2565);
+    *(uint3*)buf2566 = rsAllocationVLoadX_uint3(*(rs_allocation*)buf2567, *(uint32_t*)buf2568, *(uint32_t*)buf2569, *(uint32_t*)buf2570);
+    *(uint4*)buf2571 = rsAllocationVLoadX_uint4(*(rs_allocation*)buf2572, *(uint32_t*)buf2573, *(uint32_t*)buf2574, *(uint32_t*)buf2575);
+    *(long2*)buf2576 = rsAllocationVLoadX_long2(*(rs_allocation*)buf2577, *(uint32_t*)buf2578, *(uint32_t*)buf2579, *(uint32_t*)buf2580);
+    *(long3*)buf2581 = rsAllocationVLoadX_long3(*(rs_allocation*)buf2582, *(uint32_t*)buf2583, *(uint32_t*)buf2584, *(uint32_t*)buf2585);
+    *(long4*)buf2586 = rsAllocationVLoadX_long4(*(rs_allocation*)buf2587, *(uint32_t*)buf2588, *(uint32_t*)buf2589, *(uint32_t*)buf2590);
+    *(ulong2*)buf2591 = rsAllocationVLoadX_ulong2(*(rs_allocation*)buf2592, *(uint32_t*)buf2593, *(uint32_t*)buf2594, *(uint32_t*)buf2595);
+    *(ulong3*)buf2596 = rsAllocationVLoadX_ulong3(*(rs_allocation*)buf2597, *(uint32_t*)buf2598, *(uint32_t*)buf2599, *(uint32_t*)buf2600);
+    *(ulong4*)buf2601 = rsAllocationVLoadX_ulong4(*(rs_allocation*)buf2602, *(uint32_t*)buf2603, *(uint32_t*)buf2604, *(uint32_t*)buf2605);
+    rsAllocationVStoreX_float2(*(rs_allocation*)buf2606, *(float2*)buf2607, *(uint32_t*)buf2608);
+    rsAllocationVStoreX_float3(*(rs_allocation*)buf2609, *(float3*)buf2610, *(uint32_t*)buf2611);
+    rsAllocationVStoreX_float4(*(rs_allocation*)buf2612, *(float4*)buf2613, *(uint32_t*)buf2614);
+    rsAllocationVStoreX_double2(*(rs_allocation*)buf2615, *(double2*)buf2616, *(uint32_t*)buf2617);
+    rsAllocationVStoreX_double3(*(rs_allocation*)buf2618, *(double3*)buf2619, *(uint32_t*)buf2620);
+    rsAllocationVStoreX_double4(*(rs_allocation*)buf2621, *(double4*)buf2622, *(uint32_t*)buf2623);
+    rsAllocationVStoreX_char2(*(rs_allocation*)buf2624, *(char2*)buf2625, *(uint32_t*)buf2626);
+    rsAllocationVStoreX_char3(*(rs_allocation*)buf2627, *(char3*)buf2628, *(uint32_t*)buf2629);
+    rsAllocationVStoreX_char4(*(rs_allocation*)buf2630, *(char4*)buf2631, *(uint32_t*)buf2632);
+    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2633, *(uchar2*)buf2634, *(uint32_t*)buf2635);
+    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2636, *(uchar3*)buf2637, *(uint32_t*)buf2638);
+    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2639, *(uchar4*)buf2640, *(uint32_t*)buf2641);
+    rsAllocationVStoreX_short2(*(rs_allocation*)buf2642, *(short2*)buf2643, *(uint32_t*)buf2644);
+    rsAllocationVStoreX_short3(*(rs_allocation*)buf2645, *(short3*)buf2646, *(uint32_t*)buf2647);
+    rsAllocationVStoreX_short4(*(rs_allocation*)buf2648, *(short4*)buf2649, *(uint32_t*)buf2650);
+    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2651, *(ushort2*)buf2652, *(uint32_t*)buf2653);
+    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2654, *(ushort3*)buf2655, *(uint32_t*)buf2656);
+    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2657, *(ushort4*)buf2658, *(uint32_t*)buf2659);
+    rsAllocationVStoreX_int2(*(rs_allocation*)buf2660, *(int2*)buf2661, *(uint32_t*)buf2662);
+    rsAllocationVStoreX_int3(*(rs_allocation*)buf2663, *(int3*)buf2664, *(uint32_t*)buf2665);
+    rsAllocationVStoreX_int4(*(rs_allocation*)buf2666, *(int4*)buf2667, *(uint32_t*)buf2668);
+    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2669, *(uint2*)buf2670, *(uint32_t*)buf2671);
+    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2672, *(uint3*)buf2673, *(uint32_t*)buf2674);
+    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2675, *(uint4*)buf2676, *(uint32_t*)buf2677);
+    rsAllocationVStoreX_long2(*(rs_allocation*)buf2678, *(long2*)buf2679, *(uint32_t*)buf2680);
+    rsAllocationVStoreX_long3(*(rs_allocation*)buf2681, *(long3*)buf2682, *(uint32_t*)buf2683);
+    rsAllocationVStoreX_long4(*(rs_allocation*)buf2684, *(long4*)buf2685, *(uint32_t*)buf2686);
+    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2687, *(ulong2*)buf2688, *(uint32_t*)buf2689);
+    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2690, *(ulong3*)buf2691, *(uint32_t*)buf2692);
+    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2693, *(ulong4*)buf2694, *(uint32_t*)buf2695);
+    rsAllocationVStoreX_float2(*(rs_allocation*)buf2696, *(float2*)buf2697, *(uint32_t*)buf2698, *(uint32_t*)buf2699);
+    rsAllocationVStoreX_float3(*(rs_allocation*)buf2700, *(float3*)buf2701, *(uint32_t*)buf2702, *(uint32_t*)buf2703);
+    rsAllocationVStoreX_float4(*(rs_allocation*)buf2704, *(float4*)buf2705, *(uint32_t*)buf2706, *(uint32_t*)buf2707);
+    rsAllocationVStoreX_double2(*(rs_allocation*)buf2708, *(double2*)buf2709, *(uint32_t*)buf2710, *(uint32_t*)buf2711);
+    rsAllocationVStoreX_double3(*(rs_allocation*)buf2712, *(double3*)buf2713, *(uint32_t*)buf2714, *(uint32_t*)buf2715);
+    rsAllocationVStoreX_double4(*(rs_allocation*)buf2716, *(double4*)buf2717, *(uint32_t*)buf2718, *(uint32_t*)buf2719);
+    rsAllocationVStoreX_char2(*(rs_allocation*)buf2720, *(char2*)buf2721, *(uint32_t*)buf2722, *(uint32_t*)buf2723);
+    rsAllocationVStoreX_char3(*(rs_allocation*)buf2724, *(char3*)buf2725, *(uint32_t*)buf2726, *(uint32_t*)buf2727);
+    rsAllocationVStoreX_char4(*(rs_allocation*)buf2728, *(char4*)buf2729, *(uint32_t*)buf2730, *(uint32_t*)buf2731);
+    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2732, *(uchar2*)buf2733, *(uint32_t*)buf2734, *(uint32_t*)buf2735);
+    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2736, *(uchar3*)buf2737, *(uint32_t*)buf2738, *(uint32_t*)buf2739);
+    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2740, *(uchar4*)buf2741, *(uint32_t*)buf2742, *(uint32_t*)buf2743);
+    rsAllocationVStoreX_short2(*(rs_allocation*)buf2744, *(short2*)buf2745, *(uint32_t*)buf2746, *(uint32_t*)buf2747);
+    rsAllocationVStoreX_short3(*(rs_allocation*)buf2748, *(short3*)buf2749, *(uint32_t*)buf2750, *(uint32_t*)buf2751);
+    rsAllocationVStoreX_short4(*(rs_allocation*)buf2752, *(short4*)buf2753, *(uint32_t*)buf2754, *(uint32_t*)buf2755);
+    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2756, *(ushort2*)buf2757, *(uint32_t*)buf2758, *(uint32_t*)buf2759);
+    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2760, *(ushort3*)buf2761, *(uint32_t*)buf2762, *(uint32_t*)buf2763);
+    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2764, *(ushort4*)buf2765, *(uint32_t*)buf2766, *(uint32_t*)buf2767);
+    rsAllocationVStoreX_int2(*(rs_allocation*)buf2768, *(int2*)buf2769, *(uint32_t*)buf2770, *(uint32_t*)buf2771);
+    rsAllocationVStoreX_int3(*(rs_allocation*)buf2772, *(int3*)buf2773, *(uint32_t*)buf2774, *(uint32_t*)buf2775);
+    rsAllocationVStoreX_int4(*(rs_allocation*)buf2776, *(int4*)buf2777, *(uint32_t*)buf2778, *(uint32_t*)buf2779);
+    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2780, *(uint2*)buf2781, *(uint32_t*)buf2782, *(uint32_t*)buf2783);
+    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2784, *(uint3*)buf2785, *(uint32_t*)buf2786, *(uint32_t*)buf2787);
+    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2788, *(uint4*)buf2789, *(uint32_t*)buf2790, *(uint32_t*)buf2791);
+    rsAllocationVStoreX_long2(*(rs_allocation*)buf2792, *(long2*)buf2793, *(uint32_t*)buf2794, *(uint32_t*)buf2795);
+    rsAllocationVStoreX_long3(*(rs_allocation*)buf2796, *(long3*)buf2797, *(uint32_t*)buf2798, *(uint32_t*)buf2799);
+    rsAllocationVStoreX_long4(*(rs_allocation*)buf2800, *(long4*)buf2801, *(uint32_t*)buf2802, *(uint32_t*)buf2803);
+    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2804, *(ulong2*)buf2805, *(uint32_t*)buf2806, *(uint32_t*)buf2807);
+    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2808, *(ulong3*)buf2809, *(uint32_t*)buf2810, *(uint32_t*)buf2811);
+    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2812, *(ulong4*)buf2813, *(uint32_t*)buf2814, *(uint32_t*)buf2815);
+    rsAllocationVStoreX_float2(*(rs_allocation*)buf2816, *(float2*)buf2817, *(uint32_t*)buf2818, *(uint32_t*)buf2819, *(uint32_t*)buf2820);
+    rsAllocationVStoreX_float3(*(rs_allocation*)buf2821, *(float3*)buf2822, *(uint32_t*)buf2823, *(uint32_t*)buf2824, *(uint32_t*)buf2825);
+    rsAllocationVStoreX_float4(*(rs_allocation*)buf2826, *(float4*)buf2827, *(uint32_t*)buf2828, *(uint32_t*)buf2829, *(uint32_t*)buf2830);
+    rsAllocationVStoreX_double2(*(rs_allocation*)buf2831, *(double2*)buf2832, *(uint32_t*)buf2833, *(uint32_t*)buf2834, *(uint32_t*)buf2835);
+    rsAllocationVStoreX_double3(*(rs_allocation*)buf2836, *(double3*)buf2837, *(uint32_t*)buf2838, *(uint32_t*)buf2839, *(uint32_t*)buf2840);
+    rsAllocationVStoreX_double4(*(rs_allocation*)buf2841, *(double4*)buf2842, *(uint32_t*)buf2843, *(uint32_t*)buf2844, *(uint32_t*)buf2845);
+    rsAllocationVStoreX_char2(*(rs_allocation*)buf2846, *(char2*)buf2847, *(uint32_t*)buf2848, *(uint32_t*)buf2849, *(uint32_t*)buf2850);
+    rsAllocationVStoreX_char3(*(rs_allocation*)buf2851, *(char3*)buf2852, *(uint32_t*)buf2853, *(uint32_t*)buf2854, *(uint32_t*)buf2855);
+    rsAllocationVStoreX_char4(*(rs_allocation*)buf2856, *(char4*)buf2857, *(uint32_t*)buf2858, *(uint32_t*)buf2859, *(uint32_t*)buf2860);
+    rsAllocationVStoreX_uchar2(*(rs_allocation*)buf2861, *(uchar2*)buf2862, *(uint32_t*)buf2863, *(uint32_t*)buf2864, *(uint32_t*)buf2865);
+    rsAllocationVStoreX_uchar3(*(rs_allocation*)buf2866, *(uchar3*)buf2867, *(uint32_t*)buf2868, *(uint32_t*)buf2869, *(uint32_t*)buf2870);
+    rsAllocationVStoreX_uchar4(*(rs_allocation*)buf2871, *(uchar4*)buf2872, *(uint32_t*)buf2873, *(uint32_t*)buf2874, *(uint32_t*)buf2875);
+    rsAllocationVStoreX_short2(*(rs_allocation*)buf2876, *(short2*)buf2877, *(uint32_t*)buf2878, *(uint32_t*)buf2879, *(uint32_t*)buf2880);
+    rsAllocationVStoreX_short3(*(rs_allocation*)buf2881, *(short3*)buf2882, *(uint32_t*)buf2883, *(uint32_t*)buf2884, *(uint32_t*)buf2885);
+    rsAllocationVStoreX_short4(*(rs_allocation*)buf2886, *(short4*)buf2887, *(uint32_t*)buf2888, *(uint32_t*)buf2889, *(uint32_t*)buf2890);
+    rsAllocationVStoreX_ushort2(*(rs_allocation*)buf2891, *(ushort2*)buf2892, *(uint32_t*)buf2893, *(uint32_t*)buf2894, *(uint32_t*)buf2895);
+    rsAllocationVStoreX_ushort3(*(rs_allocation*)buf2896, *(ushort3*)buf2897, *(uint32_t*)buf2898, *(uint32_t*)buf2899, *(uint32_t*)buf2900);
+    rsAllocationVStoreX_ushort4(*(rs_allocation*)buf2901, *(ushort4*)buf2902, *(uint32_t*)buf2903, *(uint32_t*)buf2904, *(uint32_t*)buf2905);
+    rsAllocationVStoreX_int2(*(rs_allocation*)buf2906, *(int2*)buf2907, *(uint32_t*)buf2908, *(uint32_t*)buf2909, *(uint32_t*)buf2910);
+    rsAllocationVStoreX_int3(*(rs_allocation*)buf2911, *(int3*)buf2912, *(uint32_t*)buf2913, *(uint32_t*)buf2914, *(uint32_t*)buf2915);
+    rsAllocationVStoreX_int4(*(rs_allocation*)buf2916, *(int4*)buf2917, *(uint32_t*)buf2918, *(uint32_t*)buf2919, *(uint32_t*)buf2920);
+    rsAllocationVStoreX_uint2(*(rs_allocation*)buf2921, *(uint2*)buf2922, *(uint32_t*)buf2923, *(uint32_t*)buf2924, *(uint32_t*)buf2925);
+    rsAllocationVStoreX_uint3(*(rs_allocation*)buf2926, *(uint3*)buf2927, *(uint32_t*)buf2928, *(uint32_t*)buf2929, *(uint32_t*)buf2930);
+    rsAllocationVStoreX_uint4(*(rs_allocation*)buf2931, *(uint4*)buf2932, *(uint32_t*)buf2933, *(uint32_t*)buf2934, *(uint32_t*)buf2935);
+    rsAllocationVStoreX_long2(*(rs_allocation*)buf2936, *(long2*)buf2937, *(uint32_t*)buf2938, *(uint32_t*)buf2939, *(uint32_t*)buf2940);
+    rsAllocationVStoreX_long3(*(rs_allocation*)buf2941, *(long3*)buf2942, *(uint32_t*)buf2943, *(uint32_t*)buf2944, *(uint32_t*)buf2945);
+    rsAllocationVStoreX_long4(*(rs_allocation*)buf2946, *(long4*)buf2947, *(uint32_t*)buf2948, *(uint32_t*)buf2949, *(uint32_t*)buf2950);
+    rsAllocationVStoreX_ulong2(*(rs_allocation*)buf2951, *(ulong2*)buf2952, *(uint32_t*)buf2953, *(uint32_t*)buf2954, *(uint32_t*)buf2955);
+    rsAllocationVStoreX_ulong3(*(rs_allocation*)buf2956, *(ulong3*)buf2957, *(uint32_t*)buf2958, *(uint32_t*)buf2959, *(uint32_t*)buf2960);
+    rsAllocationVStoreX_ulong4(*(rs_allocation*)buf2961, *(ulong4*)buf2962, *(uint32_t*)buf2963, *(uint32_t*)buf2964, *(uint32_t*)buf2965);
+    *(int32_t*)buf2966 = rsAtomicAdd((volatile int32_t*) buf2967, *(int32_t*)buf2968);
+    *(int32_t*)buf2969 = rsAtomicAdd((volatile uint32_t*) buf2970, *(uint32_t*)buf2971);
+    *(int32_t*)buf2972 = rsAtomicAnd((volatile int32_t*) buf2973, *(int32_t*)buf2974);
+    *(int32_t*)buf2975 = rsAtomicAnd((volatile uint32_t*) buf2976, *(uint32_t*)buf2977);
+    *(int32_t*)buf2978 = rsAtomicCas((volatile int32_t*) buf2979, *(int32_t*)buf2980, *(int32_t*)buf2981);
+    *(uint32_t*)buf2982 = rsAtomicCas((volatile uint32_t*) buf2983, *(uint32_t*)buf2984, *(uint32_t*)buf2985);
+    *(int32_t*)buf2986 = rsAtomicDec((volatile int32_t*) buf2987);
+    *(int32_t*)buf2988 = rsAtomicDec((volatile uint32_t*) buf2989);
+    *(int32_t*)buf2990 = rsAtomicInc((volatile int32_t*) buf2991);
+    *(int32_t*)buf2992 = rsAtomicInc((volatile uint32_t*) buf2993);
+    *(uint32_t*)buf2994 = rsAtomicMax((volatile uint32_t*) buf2995, *(uint32_t*)buf2996);
+    *(int32_t*)buf2997 = rsAtomicMax((volatile int32_t*) buf2998, *(int32_t*)buf2999);
+    *(uint32_t*)buf3000 = rsAtomicMin((volatile uint32_t*) buf3001, *(uint32_t*)buf3002);
+    *(int32_t*)buf3003 = rsAtomicMin((volatile int32_t*) buf3004, *(int32_t*)buf3005);
+    *(int32_t*)buf3006 = rsAtomicOr((volatile int32_t*) buf3007, *(int32_t*)buf3008);
+    *(int32_t*)buf3009 = rsAtomicOr((volatile uint32_t*) buf3010, *(uint32_t*)buf3011);
+    *(int32_t*)buf3012 = rsAtomicSub((volatile int32_t*) buf3013, *(int32_t*)buf3014);
+    *(int32_t*)buf3015 = rsAtomicSub((volatile uint32_t*) buf3016, *(uint32_t*)buf3017);
+    *(int32_t*)buf3018 = rsAtomicXor((volatile int32_t*) buf3019, *(int32_t*)buf3020);
+    *(int32_t*)buf3021 = rsAtomicXor((volatile uint32_t*) buf3022, *(uint32_t*)buf3023);
+    *(char*)buf3024 = rsClamp(*(char*)buf3025, *(char*)buf3026, *(char*)buf3027);
+    *(uchar*)buf3028 = rsClamp(*(uchar*)buf3029, *(uchar*)buf3030, *(uchar*)buf3031);
+    *(short*)buf3032 = rsClamp(*(short*)buf3033, *(short*)buf3034, *(short*)buf3035);
+    *(ushort*)buf3036 = rsClamp(*(ushort*)buf3037, *(ushort*)buf3038, *(ushort*)buf3039);
+    *(int*)buf3040 = rsClamp(*(int*)buf3041, *(int*)buf3042, *(int*)buf3043);
+    *(uint*)buf3044 = rsClamp(*(uint*)buf3045, *(uint*)buf3046, *(uint*)buf3047);
+    rsClearObject((rs_element*) buf3048);
+    rsClearObject((rs_type*) buf3049);
+    rsClearObject((rs_allocation*) buf3050);
+    rsClearObject((rs_sampler*) buf3051);
+    rsClearObject((rs_script*) buf3052);
+    rsDebug((const char*) buf3053, *(double*)buf3054);
+    rsDebug((const char*) buf3055, *(int*)buf3056);
+    rsDebug((const char*) buf3057, *(uint*)buf3058);
+    rsDebug((const char*) buf3059, *(long*)buf3060);
+    rsDebug((const char*) buf3061, *(ulong*)buf3062);
+    rsDebug((const char*) buf3063, *(int2*)buf3064);
+    rsDebug((const char*) buf3065, *(int3*)buf3066);
+    rsDebug((const char*) buf3067, *(int4*)buf3068);
+    rsDebug((const char*) buf3069, *(uint2*)buf3070);
+    rsDebug((const char*) buf3071, *(uint3*)buf3072);
+    rsDebug((const char*) buf3073, *(uint4*)buf3074);
+    rsDebug((const char*) buf3075, *(long2*)buf3076);
+    rsDebug((const char*) buf3077, *(long3*)buf3078);
+    rsDebug((const char*) buf3079, *(long4*)buf3080);
+    rsDebug((const char*) buf3081, *(ulong2*)buf3082);
+    rsDebug((const char*) buf3083, *(ulong3*)buf3084);
+    rsDebug((const char*) buf3085, *(ulong4*)buf3086);
+    rsDebug((const char*) buf3087, *(double2*)buf3088);
+    rsDebug((const char*) buf3089, *(double3*)buf3090);
+    rsDebug((const char*) buf3091, *(double4*)buf3092);
+    rsDebug((const char*) buf3093, *(float*)buf3094);
+    rsDebug((const char*) buf3095, *(float2*)buf3096);
+    rsDebug((const char*) buf3097, *(float3*)buf3098);
+    rsDebug((const char*) buf3099, *(float4*)buf3100);
+    rsDebug((const char*) buf3101, *(char*)buf3102);
+    rsDebug((const char*) buf3103, *(char2*)buf3104);
+    rsDebug((const char*) buf3105, *(char3*)buf3106);
+    rsDebug((const char*) buf3107, *(char4*)buf3108);
+    rsDebug((const char*) buf3109, *(uchar*)buf3110);
+    rsDebug((const char*) buf3111, *(uchar2*)buf3112);
+    rsDebug((const char*) buf3113, *(uchar3*)buf3114);
+    rsDebug((const char*) buf3115, *(uchar4*)buf3116);
+    rsDebug((const char*) buf3117, *(short*)buf3118);
+    rsDebug((const char*) buf3119, *(short2*)buf3120);
+    rsDebug((const char*) buf3121, *(short3*)buf3122);
+    rsDebug((const char*) buf3123, *(short4*)buf3124);
+    rsDebug((const char*) buf3125, *(ushort*)buf3126);
+    rsDebug((const char*) buf3127, *(ushort2*)buf3128);
+    rsDebug((const char*) buf3129, *(ushort3*)buf3130);
+    rsDebug((const char*) buf3131, *(ushort4*)buf3132);
+    rsDebug((const char*) buf3133, *(float*)buf3134, *(float*)buf3135);
+    rsDebug((const char*) buf3136, *(float*)buf3137, *(float*)buf3138, *(float*)buf3139);
+    rsDebug((const char*) buf3140, *(float*)buf3141, *(float*)buf3142, *(float*)buf3143, *(float*)buf3144);
+    rsDebug((const char*) buf3145, *(long long*)buf3146);
+    rsDebug((const char*) buf3147, *(unsigned long long*)buf3148);
+    rsDebug((const char*) buf3149, (const void*) buf3150);
+    rsDebug((const char*) buf3151, (const rs_matrix4x4*) buf3152);
+    rsDebug((const char*) buf3153, (const rs_matrix3x3*) buf3154);
+    rsDebug((const char*) buf3155, (const rs_matrix2x2*) buf3156);
+    *(uint32_t*)buf3157 = rsElementGetBytesSize(*(rs_element*)buf3158);
+    *(rs_data_kind*)buf3159 = rsElementGetDataKind(*(rs_element*)buf3160);
+    *(rs_data_type*)buf3161 = rsElementGetDataType(*(rs_element*)buf3162);
+    *(rs_element*)buf3163 = rsElementGetSubElement(*(rs_element*)buf3164, *(uint32_t*)buf3165);
+    *(uint32_t*)buf3166 = rsElementGetSubElementArraySize(*(rs_element*)buf3167, *(uint32_t*)buf3168);
+    *(uint32_t*)buf3169 = rsElementGetSubElementCount(*(rs_element*)buf3170);
+    *(uint32_t*)buf3171 = rsElementGetSubElementName(*(rs_element*)buf3172, *(uint32_t*)buf3173, (char*) buf3174, *(uint32_t*)buf3175);
+    *(uint32_t*)buf3176 = rsElementGetSubElementNameLength(*(rs_element*)buf3177, *(uint32_t*)buf3178);
+    *(uint32_t*)buf3179 = rsElementGetSubElementOffsetBytes(*(rs_element*)buf3180, *(uint32_t*)buf3181);
+    *(uint32_t*)buf3182 = rsElementGetVectorSize(*(rs_element*)buf3183);
+    rsExtractFrustumPlanes((const rs_matrix4x4*) buf3184, (float4*) buf3185, (float4*) buf3186, (float4*) buf3187, (float4*) buf3188, (float4*) buf3189, (float4*) buf3190);
+    rsForEach(*(rs_script*)buf3191, *(rs_allocation*)buf3192, *(rs_allocation*)buf3193);
+    *(float*)buf3194 = rsFrac(*(float*)buf3195);
+    *(rs_allocation*)buf3196 = rsGetAllocation((const void*) buf3197);
+    *(uint32_t*)buf3198 = rsGetArray0(context);
+    *(uint32_t*)buf3199 = rsGetArray1(context);
+    *(uint32_t*)buf3200 = rsGetArray2(context);
+    *(uint32_t*)buf3201 = rsGetArray3(context);
+    *(uint32_t*)buf3202 = rsGetDimArray0(context);
+    *(uint32_t*)buf3203 = rsGetDimArray1(context);
+    *(uint32_t*)buf3204 = rsGetDimArray2(context);
+    *(uint32_t*)buf3205 = rsGetDimArray3(context);
+    *(bool*)buf3206 = rsGetDimHasFaces(context);
+    *(uint32_t*)buf3207 = rsGetDimLod(context);
+    *(uint32_t*)buf3208 = rsGetDimX(context);
+    *(uint32_t*)buf3209 = rsGetDimY(context);
+    *(uint32_t*)buf3210 = rsGetDimZ(context);
+    *(float*)buf3211 = rsGetDt();
+    *(const void**)buf3212 = rsGetElementAt(*(rs_allocation*)buf3213, *(uint32_t*)buf3214);
+    *(const void**)buf3215 = rsGetElementAt(*(rs_allocation*)buf3216, *(uint32_t*)buf3217, *(uint32_t*)buf3218);
+    *(const void**)buf3219 = rsGetElementAt(*(rs_allocation*)buf3220, *(uint32_t*)buf3221, *(uint32_t*)buf3222, *(uint32_t*)buf3223);
+    *(float*)buf3224 = rsGetElementAt_float(*(rs_allocation*)buf3225, *(uint32_t*)buf3226);
+    *(float2*)buf3227 = rsGetElementAt_float2(*(rs_allocation*)buf3228, *(uint32_t*)buf3229);
+    *(float3*)buf3230 = rsGetElementAt_float3(*(rs_allocation*)buf3231, *(uint32_t*)buf3232);
+    *(float4*)buf3233 = rsGetElementAt_float4(*(rs_allocation*)buf3234, *(uint32_t*)buf3235);
+    *(double*)buf3236 = rsGetElementAt_double(*(rs_allocation*)buf3237, *(uint32_t*)buf3238);
+    *(double2*)buf3239 = rsGetElementAt_double2(*(rs_allocation*)buf3240, *(uint32_t*)buf3241);
+    *(double3*)buf3242 = rsGetElementAt_double3(*(rs_allocation*)buf3243, *(uint32_t*)buf3244);
+    *(double4*)buf3245 = rsGetElementAt_double4(*(rs_allocation*)buf3246, *(uint32_t*)buf3247);
+    *(char*)buf3248 = rsGetElementAt_char(*(rs_allocation*)buf3249, *(uint32_t*)buf3250);
+    *(char2*)buf3251 = rsGetElementAt_char2(*(rs_allocation*)buf3252, *(uint32_t*)buf3253);
+    *(char3*)buf3254 = rsGetElementAt_char3(*(rs_allocation*)buf3255, *(uint32_t*)buf3256);
+    *(char4*)buf3257 = rsGetElementAt_char4(*(rs_allocation*)buf3258, *(uint32_t*)buf3259);
+    *(uchar*)buf3260 = rsGetElementAt_uchar(*(rs_allocation*)buf3261, *(uint32_t*)buf3262);
+    *(uchar2*)buf3263 = rsGetElementAt_uchar2(*(rs_allocation*)buf3264, *(uint32_t*)buf3265);
+    *(uchar3*)buf3266 = rsGetElementAt_uchar3(*(rs_allocation*)buf3267, *(uint32_t*)buf3268);
+    *(uchar4*)buf3269 = rsGetElementAt_uchar4(*(rs_allocation*)buf3270, *(uint32_t*)buf3271);
+    *(short*)buf3272 = rsGetElementAt_short(*(rs_allocation*)buf3273, *(uint32_t*)buf3274);
+    *(short2*)buf3275 = rsGetElementAt_short2(*(rs_allocation*)buf3276, *(uint32_t*)buf3277);
+    *(short3*)buf3278 = rsGetElementAt_short3(*(rs_allocation*)buf3279, *(uint32_t*)buf3280);
+    *(short4*)buf3281 = rsGetElementAt_short4(*(rs_allocation*)buf3282, *(uint32_t*)buf3283);
+    *(ushort*)buf3284 = rsGetElementAt_ushort(*(rs_allocation*)buf3285, *(uint32_t*)buf3286);
+    *(ushort2*)buf3287 = rsGetElementAt_ushort2(*(rs_allocation*)buf3288, *(uint32_t*)buf3289);
+    *(ushort3*)buf3290 = rsGetElementAt_ushort3(*(rs_allocation*)buf3291, *(uint32_t*)buf3292);
+    *(ushort4*)buf3293 = rsGetElementAt_ushort4(*(rs_allocation*)buf3294, *(uint32_t*)buf3295);
+    *(int*)buf3296 = rsGetElementAt_int(*(rs_allocation*)buf3297, *(uint32_t*)buf3298);
+    *(int2*)buf3299 = rsGetElementAt_int2(*(rs_allocation*)buf3300, *(uint32_t*)buf3301);
+    *(int3*)buf3302 = rsGetElementAt_int3(*(rs_allocation*)buf3303, *(uint32_t*)buf3304);
+    *(int4*)buf3305 = rsGetElementAt_int4(*(rs_allocation*)buf3306, *(uint32_t*)buf3307);
+    *(uint*)buf3308 = rsGetElementAt_uint(*(rs_allocation*)buf3309, *(uint32_t*)buf3310);
+    *(uint2*)buf3311 = rsGetElementAt_uint2(*(rs_allocation*)buf3312, *(uint32_t*)buf3313);
+    *(uint3*)buf3314 = rsGetElementAt_uint3(*(rs_allocation*)buf3315, *(uint32_t*)buf3316);
+    *(uint4*)buf3317 = rsGetElementAt_uint4(*(rs_allocation*)buf3318, *(uint32_t*)buf3319);
+    *(long*)buf3320 = rsGetElementAt_long(*(rs_allocation*)buf3321, *(uint32_t*)buf3322);
+    *(long2*)buf3323 = rsGetElementAt_long2(*(rs_allocation*)buf3324, *(uint32_t*)buf3325);
+    *(long3*)buf3326 = rsGetElementAt_long3(*(rs_allocation*)buf3327, *(uint32_t*)buf3328);
+    *(long4*)buf3329 = rsGetElementAt_long4(*(rs_allocation*)buf3330, *(uint32_t*)buf3331);
+    *(ulong*)buf3332 = rsGetElementAt_ulong(*(rs_allocation*)buf3333, *(uint32_t*)buf3334);
+    *(ulong2*)buf3335 = rsGetElementAt_ulong2(*(rs_allocation*)buf3336, *(uint32_t*)buf3337);
+    *(ulong3*)buf3338 = rsGetElementAt_ulong3(*(rs_allocation*)buf3339, *(uint32_t*)buf3340);
+    *(ulong4*)buf3341 = rsGetElementAt_ulong4(*(rs_allocation*)buf3342, *(uint32_t*)buf3343);
+    *(float*)buf3344 = rsGetElementAt_float(*(rs_allocation*)buf3345, *(uint32_t*)buf3346, *(uint32_t*)buf3347);
+    *(float2*)buf3348 = rsGetElementAt_float2(*(rs_allocation*)buf3349, *(uint32_t*)buf3350, *(uint32_t*)buf3351);
+    *(float3*)buf3352 = rsGetElementAt_float3(*(rs_allocation*)buf3353, *(uint32_t*)buf3354, *(uint32_t*)buf3355);
+    *(float4*)buf3356 = rsGetElementAt_float4(*(rs_allocation*)buf3357, *(uint32_t*)buf3358, *(uint32_t*)buf3359);
+    *(double*)buf3360 = rsGetElementAt_double(*(rs_allocation*)buf3361, *(uint32_t*)buf3362, *(uint32_t*)buf3363);
+    *(double2*)buf3364 = rsGetElementAt_double2(*(rs_allocation*)buf3365, *(uint32_t*)buf3366, *(uint32_t*)buf3367);
+    *(double3*)buf3368 = rsGetElementAt_double3(*(rs_allocation*)buf3369, *(uint32_t*)buf3370, *(uint32_t*)buf3371);
+    *(double4*)buf3372 = rsGetElementAt_double4(*(rs_allocation*)buf3373, *(uint32_t*)buf3374, *(uint32_t*)buf3375);
+    *(char*)buf3376 = rsGetElementAt_char(*(rs_allocation*)buf3377, *(uint32_t*)buf3378, *(uint32_t*)buf3379);
+    *(char2*)buf3380 = rsGetElementAt_char2(*(rs_allocation*)buf3381, *(uint32_t*)buf3382, *(uint32_t*)buf3383);
+    *(char3*)buf3384 = rsGetElementAt_char3(*(rs_allocation*)buf3385, *(uint32_t*)buf3386, *(uint32_t*)buf3387);
+    *(char4*)buf3388 = rsGetElementAt_char4(*(rs_allocation*)buf3389, *(uint32_t*)buf3390, *(uint32_t*)buf3391);
+    *(uchar*)buf3392 = rsGetElementAt_uchar(*(rs_allocation*)buf3393, *(uint32_t*)buf3394, *(uint32_t*)buf3395);
+    *(uchar2*)buf3396 = rsGetElementAt_uchar2(*(rs_allocation*)buf3397, *(uint32_t*)buf3398, *(uint32_t*)buf3399);
+    *(uchar3*)buf3400 = rsGetElementAt_uchar3(*(rs_allocation*)buf3401, *(uint32_t*)buf3402, *(uint32_t*)buf3403);
+    *(uchar4*)buf3404 = rsGetElementAt_uchar4(*(rs_allocation*)buf3405, *(uint32_t*)buf3406, *(uint32_t*)buf3407);
+    *(short*)buf3408 = rsGetElementAt_short(*(rs_allocation*)buf3409, *(uint32_t*)buf3410, *(uint32_t*)buf3411);
+    *(short2*)buf3412 = rsGetElementAt_short2(*(rs_allocation*)buf3413, *(uint32_t*)buf3414, *(uint32_t*)buf3415);
+    *(short3*)buf3416 = rsGetElementAt_short3(*(rs_allocation*)buf3417, *(uint32_t*)buf3418, *(uint32_t*)buf3419);
+    *(short4*)buf3420 = rsGetElementAt_short4(*(rs_allocation*)buf3421, *(uint32_t*)buf3422, *(uint32_t*)buf3423);
+    *(ushort*)buf3424 = rsGetElementAt_ushort(*(rs_allocation*)buf3425, *(uint32_t*)buf3426, *(uint32_t*)buf3427);
+    *(ushort2*)buf3428 = rsGetElementAt_ushort2(*(rs_allocation*)buf3429, *(uint32_t*)buf3430, *(uint32_t*)buf3431);
+    *(ushort3*)buf3432 = rsGetElementAt_ushort3(*(rs_allocation*)buf3433, *(uint32_t*)buf3434, *(uint32_t*)buf3435);
+    *(ushort4*)buf3436 = rsGetElementAt_ushort4(*(rs_allocation*)buf3437, *(uint32_t*)buf3438, *(uint32_t*)buf3439);
+    *(int*)buf3440 = rsGetElementAt_int(*(rs_allocation*)buf3441, *(uint32_t*)buf3442, *(uint32_t*)buf3443);
+    *(int2*)buf3444 = rsGetElementAt_int2(*(rs_allocation*)buf3445, *(uint32_t*)buf3446, *(uint32_t*)buf3447);
+    *(int3*)buf3448 = rsGetElementAt_int3(*(rs_allocation*)buf3449, *(uint32_t*)buf3450, *(uint32_t*)buf3451);
+    *(int4*)buf3452 = rsGetElementAt_int4(*(rs_allocation*)buf3453, *(uint32_t*)buf3454, *(uint32_t*)buf3455);
+    *(uint*)buf3456 = rsGetElementAt_uint(*(rs_allocation*)buf3457, *(uint32_t*)buf3458, *(uint32_t*)buf3459);
+    *(uint2*)buf3460 = rsGetElementAt_uint2(*(rs_allocation*)buf3461, *(uint32_t*)buf3462, *(uint32_t*)buf3463);
+    *(uint3*)buf3464 = rsGetElementAt_uint3(*(rs_allocation*)buf3465, *(uint32_t*)buf3466, *(uint32_t*)buf3467);
+    *(uint4*)buf3468 = rsGetElementAt_uint4(*(rs_allocation*)buf3469, *(uint32_t*)buf3470, *(uint32_t*)buf3471);
+    *(long*)buf3472 = rsGetElementAt_long(*(rs_allocation*)buf3473, *(uint32_t*)buf3474, *(uint32_t*)buf3475);
+    *(long2*)buf3476 = rsGetElementAt_long2(*(rs_allocation*)buf3477, *(uint32_t*)buf3478, *(uint32_t*)buf3479);
+    *(long3*)buf3480 = rsGetElementAt_long3(*(rs_allocation*)buf3481, *(uint32_t*)buf3482, *(uint32_t*)buf3483);
+    *(long4*)buf3484 = rsGetElementAt_long4(*(rs_allocation*)buf3485, *(uint32_t*)buf3486, *(uint32_t*)buf3487);
+    *(ulong*)buf3488 = rsGetElementAt_ulong(*(rs_allocation*)buf3489, *(uint32_t*)buf3490, *(uint32_t*)buf3491);
+    *(ulong2*)buf3492 = rsGetElementAt_ulong2(*(rs_allocation*)buf3493, *(uint32_t*)buf3494, *(uint32_t*)buf3495);
+    *(ulong3*)buf3496 = rsGetElementAt_ulong3(*(rs_allocation*)buf3497, *(uint32_t*)buf3498, *(uint32_t*)buf3499);
+    *(ulong4*)buf3500 = rsGetElementAt_ulong4(*(rs_allocation*)buf3501, *(uint32_t*)buf3502, *(uint32_t*)buf3503);
+    *(float*)buf3504 = rsGetElementAt_float(*(rs_allocation*)buf3505, *(uint32_t*)buf3506, *(uint32_t*)buf3507, *(uint32_t*)buf3508);
+    *(float2*)buf3509 = rsGetElementAt_float2(*(rs_allocation*)buf3510, *(uint32_t*)buf3511, *(uint32_t*)buf3512, *(uint32_t*)buf3513);
+    *(float3*)buf3514 = rsGetElementAt_float3(*(rs_allocation*)buf3515, *(uint32_t*)buf3516, *(uint32_t*)buf3517, *(uint32_t*)buf3518);
+    *(float4*)buf3519 = rsGetElementAt_float4(*(rs_allocation*)buf3520, *(uint32_t*)buf3521, *(uint32_t*)buf3522, *(uint32_t*)buf3523);
+    *(double*)buf3524 = rsGetElementAt_double(*(rs_allocation*)buf3525, *(uint32_t*)buf3526, *(uint32_t*)buf3527, *(uint32_t*)buf3528);
+    *(double2*)buf3529 = rsGetElementAt_double2(*(rs_allocation*)buf3530, *(uint32_t*)buf3531, *(uint32_t*)buf3532, *(uint32_t*)buf3533);
+    *(double3*)buf3534 = rsGetElementAt_double3(*(rs_allocation*)buf3535, *(uint32_t*)buf3536, *(uint32_t*)buf3537, *(uint32_t*)buf3538);
+    *(double4*)buf3539 = rsGetElementAt_double4(*(rs_allocation*)buf3540, *(uint32_t*)buf3541, *(uint32_t*)buf3542, *(uint32_t*)buf3543);
+    *(char*)buf3544 = rsGetElementAt_char(*(rs_allocation*)buf3545, *(uint32_t*)buf3546, *(uint32_t*)buf3547, *(uint32_t*)buf3548);
+    *(char2*)buf3549 = rsGetElementAt_char2(*(rs_allocation*)buf3550, *(uint32_t*)buf3551, *(uint32_t*)buf3552, *(uint32_t*)buf3553);
+    *(char3*)buf3554 = rsGetElementAt_char3(*(rs_allocation*)buf3555, *(uint32_t*)buf3556, *(uint32_t*)buf3557, *(uint32_t*)buf3558);
+    *(char4*)buf3559 = rsGetElementAt_char4(*(rs_allocation*)buf3560, *(uint32_t*)buf3561, *(uint32_t*)buf3562, *(uint32_t*)buf3563);
+    *(uchar*)buf3564 = rsGetElementAt_uchar(*(rs_allocation*)buf3565, *(uint32_t*)buf3566, *(uint32_t*)buf3567, *(uint32_t*)buf3568);
+    *(uchar2*)buf3569 = rsGetElementAt_uchar2(*(rs_allocation*)buf3570, *(uint32_t*)buf3571, *(uint32_t*)buf3572, *(uint32_t*)buf3573);
+    *(uchar3*)buf3574 = rsGetElementAt_uchar3(*(rs_allocation*)buf3575, *(uint32_t*)buf3576, *(uint32_t*)buf3577, *(uint32_t*)buf3578);
+    *(uchar4*)buf3579 = rsGetElementAt_uchar4(*(rs_allocation*)buf3580, *(uint32_t*)buf3581, *(uint32_t*)buf3582, *(uint32_t*)buf3583);
+    *(short*)buf3584 = rsGetElementAt_short(*(rs_allocation*)buf3585, *(uint32_t*)buf3586, *(uint32_t*)buf3587, *(uint32_t*)buf3588);
+    *(short2*)buf3589 = rsGetElementAt_short2(*(rs_allocation*)buf3590, *(uint32_t*)buf3591, *(uint32_t*)buf3592, *(uint32_t*)buf3593);
+    *(short3*)buf3594 = rsGetElementAt_short3(*(rs_allocation*)buf3595, *(uint32_t*)buf3596, *(uint32_t*)buf3597, *(uint32_t*)buf3598);
+    *(short4*)buf3599 = rsGetElementAt_short4(*(rs_allocation*)buf3600, *(uint32_t*)buf3601, *(uint32_t*)buf3602, *(uint32_t*)buf3603);
+    *(ushort*)buf3604 = rsGetElementAt_ushort(*(rs_allocation*)buf3605, *(uint32_t*)buf3606, *(uint32_t*)buf3607, *(uint32_t*)buf3608);
+    *(ushort2*)buf3609 = rsGetElementAt_ushort2(*(rs_allocation*)buf3610, *(uint32_t*)buf3611, *(uint32_t*)buf3612, *(uint32_t*)buf3613);
+    *(ushort3*)buf3614 = rsGetElementAt_ushort3(*(rs_allocation*)buf3615, *(uint32_t*)buf3616, *(uint32_t*)buf3617, *(uint32_t*)buf3618);
+    *(ushort4*)buf3619 = rsGetElementAt_ushort4(*(rs_allocation*)buf3620, *(uint32_t*)buf3621, *(uint32_t*)buf3622, *(uint32_t*)buf3623);
+    *(int*)buf3624 = rsGetElementAt_int(*(rs_allocation*)buf3625, *(uint32_t*)buf3626, *(uint32_t*)buf3627, *(uint32_t*)buf3628);
+    *(int2*)buf3629 = rsGetElementAt_int2(*(rs_allocation*)buf3630, *(uint32_t*)buf3631, *(uint32_t*)buf3632, *(uint32_t*)buf3633);
+    *(int3*)buf3634 = rsGetElementAt_int3(*(rs_allocation*)buf3635, *(uint32_t*)buf3636, *(uint32_t*)buf3637, *(uint32_t*)buf3638);
+    *(int4*)buf3639 = rsGetElementAt_int4(*(rs_allocation*)buf3640, *(uint32_t*)buf3641, *(uint32_t*)buf3642, *(uint32_t*)buf3643);
+    *(uint*)buf3644 = rsGetElementAt_uint(*(rs_allocation*)buf3645, *(uint32_t*)buf3646, *(uint32_t*)buf3647, *(uint32_t*)buf3648);
+    *(uint2*)buf3649 = rsGetElementAt_uint2(*(rs_allocation*)buf3650, *(uint32_t*)buf3651, *(uint32_t*)buf3652, *(uint32_t*)buf3653);
+    *(uint3*)buf3654 = rsGetElementAt_uint3(*(rs_allocation*)buf3655, *(uint32_t*)buf3656, *(uint32_t*)buf3657, *(uint32_t*)buf3658);
+    *(uint4*)buf3659 = rsGetElementAt_uint4(*(rs_allocation*)buf3660, *(uint32_t*)buf3661, *(uint32_t*)buf3662, *(uint32_t*)buf3663);
+    *(long*)buf3664 = rsGetElementAt_long(*(rs_allocation*)buf3665, *(uint32_t*)buf3666, *(uint32_t*)buf3667, *(uint32_t*)buf3668);
+    *(long2*)buf3669 = rsGetElementAt_long2(*(rs_allocation*)buf3670, *(uint32_t*)buf3671, *(uint32_t*)buf3672, *(uint32_t*)buf3673);
+    *(long3*)buf3674 = rsGetElementAt_long3(*(rs_allocation*)buf3675, *(uint32_t*)buf3676, *(uint32_t*)buf3677, *(uint32_t*)buf3678);
+    *(long4*)buf3679 = rsGetElementAt_long4(*(rs_allocation*)buf3680, *(uint32_t*)buf3681, *(uint32_t*)buf3682, *(uint32_t*)buf3683);
+    *(ulong*)buf3684 = rsGetElementAt_ulong(*(rs_allocation*)buf3685, *(uint32_t*)buf3686, *(uint32_t*)buf3687, *(uint32_t*)buf3688);
+    *(ulong2*)buf3689 = rsGetElementAt_ulong2(*(rs_allocation*)buf3690, *(uint32_t*)buf3691, *(uint32_t*)buf3692, *(uint32_t*)buf3693);
+    *(ulong3*)buf3694 = rsGetElementAt_ulong3(*(rs_allocation*)buf3695, *(uint32_t*)buf3696, *(uint32_t*)buf3697, *(uint32_t*)buf3698);
+    *(ulong4*)buf3699 = rsGetElementAt_ulong4(*(rs_allocation*)buf3700, *(uint32_t*)buf3701, *(uint32_t*)buf3702, *(uint32_t*)buf3703);
+    *(half*)buf3704 = rsGetElementAt_half(*(rs_allocation*)buf3705, *(uint32_t*)buf3706);
+    *(half2*)buf3707 = rsGetElementAt_half2(*(rs_allocation*)buf3708, *(uint32_t*)buf3709);
+    *(half3*)buf3710 = rsGetElementAt_half3(*(rs_allocation*)buf3711, *(uint32_t*)buf3712);
+    *(half4*)buf3713 = rsGetElementAt_half4(*(rs_allocation*)buf3714, *(uint32_t*)buf3715);
+    *(half*)buf3716 = rsGetElementAt_half(*(rs_allocation*)buf3717, *(uint32_t*)buf3718, *(uint32_t*)buf3719);
+    *(half2*)buf3720 = rsGetElementAt_half2(*(rs_allocation*)buf3721, *(uint32_t*)buf3722, *(uint32_t*)buf3723);
+    *(half3*)buf3724 = rsGetElementAt_half3(*(rs_allocation*)buf3725, *(uint32_t*)buf3726, *(uint32_t*)buf3727);
+    *(half4*)buf3728 = rsGetElementAt_half4(*(rs_allocation*)buf3729, *(uint32_t*)buf3730, *(uint32_t*)buf3731);
+    *(half*)buf3732 = rsGetElementAt_half(*(rs_allocation*)buf3733, *(uint32_t*)buf3734, *(uint32_t*)buf3735, *(uint32_t*)buf3736);
+    *(half2*)buf3737 = rsGetElementAt_half2(*(rs_allocation*)buf3738, *(uint32_t*)buf3739, *(uint32_t*)buf3740, *(uint32_t*)buf3741);
+    *(half3*)buf3742 = rsGetElementAt_half3(*(rs_allocation*)buf3743, *(uint32_t*)buf3744, *(uint32_t*)buf3745, *(uint32_t*)buf3746);
+    *(half4*)buf3747 = rsGetElementAt_half4(*(rs_allocation*)buf3748, *(uint32_t*)buf3749, *(uint32_t*)buf3750, *(uint32_t*)buf3751);
+    *(uchar*)buf3752 = rsGetElementAtYuv_uchar_U(*(rs_allocation*)buf3753, *(uint32_t*)buf3754, *(uint32_t*)buf3755);
+    *(uchar*)buf3756 = rsGetElementAtYuv_uchar_V(*(rs_allocation*)buf3757, *(uint32_t*)buf3758, *(uint32_t*)buf3759);
+    *(uchar*)buf3760 = rsGetElementAtYuv_uchar_Y(*(rs_allocation*)buf3761, *(uint32_t*)buf3762, *(uint32_t*)buf3763);
+    *(rs_allocation_cubemap_face*)buf3764 = rsGetFace(context);
+    *(uint32_t*)buf3765 = rsGetLod(context);
+    *(bool*)buf3766 = rsIsObject(*(rs_element*)buf3767);
+    *(bool*)buf3768 = rsIsObject(*(rs_type*)buf3769);
+    *(bool*)buf3770 = rsIsObject(*(rs_allocation*)buf3771);
+    *(bool*)buf3772 = rsIsObject(*(rs_sampler*)buf3773);
+    *(bool*)buf3774 = rsIsObject(*(rs_script*)buf3775);
+    *(bool*)buf3776 = rsIsSphereInFrustum((float4*) buf3777, (float4*) buf3778, (float4*) buf3779, (float4*) buf3780, (float4*) buf3781, (float4*) buf3782, (float4*) buf3783);
+    *(rs_tm**)buf3784 = rsLocaltime((rs_tm*) buf3785, (const rs_time_t*) buf3786);
+    *(float*)buf3787 = rsMatrixGet((const rs_matrix4x4*) buf3788, *(uint32_t*)buf3789, *(uint32_t*)buf3790);
+    *(float*)buf3791 = rsMatrixGet((const rs_matrix3x3*) buf3792, *(uint32_t*)buf3793, *(uint32_t*)buf3794);
+    *(float*)buf3795 = rsMatrixGet((const rs_matrix2x2*) buf3796, *(uint32_t*)buf3797, *(uint32_t*)buf3798);
+    *(bool*)buf3799 = rsMatrixInverse((rs_matrix4x4*) buf3800);
+    *(bool*)buf3801 = rsMatrixInverseTranspose((rs_matrix4x4*) buf3802);
+    rsMatrixLoad((rs_matrix4x4*) buf3803, (const float*) buf3804);
+    rsMatrixLoad((rs_matrix3x3*) buf3805, (const float*) buf3806);
+    rsMatrixLoad((rs_matrix2x2*) buf3807, (const float*) buf3808);
+    rsMatrixLoad((rs_matrix4x4*) buf3809, (const rs_matrix4x4*) buf3810);
+    rsMatrixLoad((rs_matrix3x3*) buf3811, (const rs_matrix3x3*) buf3812);
+    rsMatrixLoad((rs_matrix2x2*) buf3813, (const rs_matrix2x2*) buf3814);
+    rsMatrixLoad((rs_matrix4x4*) buf3815, (const rs_matrix3x3*) buf3816);
+    rsMatrixLoad((rs_matrix4x4*) buf3817, (const rs_matrix2x2*) buf3818);
+    rsMatrixLoadFrustum((rs_matrix4x4*) buf3819, *(float*)buf3820, *(float*)buf3821, *(float*)buf3822, *(float*)buf3823, *(float*)buf3824, *(float*)buf3825);
+    rsMatrixLoadIdentity((rs_matrix4x4*) buf3826);
+    rsMatrixLoadIdentity((rs_matrix3x3*) buf3827);
+    rsMatrixLoadIdentity((rs_matrix2x2*) buf3828);
+    rsMatrixLoadMultiply((rs_matrix4x4*) buf3829, (const rs_matrix4x4*) buf3830, (const rs_matrix4x4*) buf3831);
+    rsMatrixLoadMultiply((rs_matrix3x3*) buf3832, (const rs_matrix3x3*) buf3833, (const rs_matrix3x3*) buf3834);
+    rsMatrixLoadMultiply((rs_matrix2x2*) buf3835, (const rs_matrix2x2*) buf3836, (const rs_matrix2x2*) buf3837);
+    rsMatrixLoadOrtho((rs_matrix4x4*) buf3838, *(float*)buf3839, *(float*)buf3840, *(float*)buf3841, *(float*)buf3842, *(float*)buf3843, *(float*)buf3844);
+    rsMatrixLoadPerspective((rs_matrix4x4*) buf3845, *(float*)buf3846, *(float*)buf3847, *(float*)buf3848, *(float*)buf3849);
+    rsMatrixLoadRotate((rs_matrix4x4*) buf3850, *(float*)buf3851, *(float*)buf3852, *(float*)buf3853, *(float*)buf3854);
+    rsMatrixLoadScale((rs_matrix4x4*) buf3855, *(float*)buf3856, *(float*)buf3857, *(float*)buf3858);
+    rsMatrixLoadTranslate((rs_matrix4x4*) buf3859, *(float*)buf3860, *(float*)buf3861, *(float*)buf3862);
+    rsMatrixMultiply((rs_matrix4x4*) buf3863, (const rs_matrix4x4*) buf3864);
+    rsMatrixMultiply((rs_matrix3x3*) buf3865, (const rs_matrix3x3*) buf3866);
+    rsMatrixMultiply((rs_matrix2x2*) buf3867, (const rs_matrix2x2*) buf3868);
+    *(float4*)buf3869 = rsMatrixMultiply((const rs_matrix4x4*) buf3870, *(float4*)buf3871);
+    *(float4*)buf3872 = rsMatrixMultiply((const rs_matrix4x4*) buf3873, *(float3*)buf3874);
+    *(float4*)buf3875 = rsMatrixMultiply((const rs_matrix4x4*) buf3876, *(float2*)buf3877);
+    *(float3*)buf3878 = rsMatrixMultiply((const rs_matrix3x3*) buf3879, *(float3*)buf3880);
+    *(float3*)buf3881 = rsMatrixMultiply((const rs_matrix3x3*) buf3882, *(float2*)buf3883);
+    *(float2*)buf3884 = rsMatrixMultiply((const rs_matrix2x2*) buf3885, *(float2*)buf3886);
+    rsMatrixRotate((rs_matrix4x4*) buf3887, *(float*)buf3888, *(float*)buf3889, *(float*)buf3890, *(float*)buf3891);
+    rsMatrixScale((rs_matrix4x4*) buf3892, *(float*)buf3893, *(float*)buf3894, *(float*)buf3895);
+    rsMatrixSet((rs_matrix4x4*) buf3896, *(uint32_t*)buf3897, *(uint32_t*)buf3898, *(float*)buf3899);
+    rsMatrixSet((rs_matrix3x3*) buf3900, *(uint32_t*)buf3901, *(uint32_t*)buf3902, *(float*)buf3903);
+    rsMatrixSet((rs_matrix2x2*) buf3904, *(uint32_t*)buf3905, *(uint32_t*)buf3906, *(float*)buf3907);
+    rsMatrixTranslate((rs_matrix4x4*) buf3908, *(float*)buf3909, *(float*)buf3910, *(float*)buf3911);
+    rsMatrixTranspose((rs_matrix4x4*) buf3912);
+    rsMatrixTranspose((rs_matrix3x3*) buf3913);
+    rsMatrixTranspose((rs_matrix2x2*) buf3914);
+    *(uchar4*)buf3915 = rsPackColorTo8888(*(float*)buf3916, *(float*)buf3917, *(float*)buf3918);
+    *(uchar4*)buf3919 = rsPackColorTo8888(*(float*)buf3920, *(float*)buf3921, *(float*)buf3922, *(float*)buf3923);
+    *(uchar4*)buf3924 = rsPackColorTo8888(*(float3*)buf3925);
+    *(uchar4*)buf3926 = rsPackColorTo8888(*(float4*)buf3927);
+    rsQuaternionAdd((rs_quaternion*) buf3928, (const rs_quaternion*) buf3929);
+    rsQuaternionConjugate((rs_quaternion*) buf3930);
+    *(float*)buf3931 = rsQuaternionDot((const rs_quaternion*) buf3932, (const rs_quaternion*) buf3933);
+    rsQuaternionGetMatrixUnit((rs_matrix4x4*) buf3934, (const rs_quaternion*) buf3935);
+    rsQuaternionLoadRotate((rs_quaternion*) buf3936, *(float*)buf3937, *(float*)buf3938, *(float*)buf3939, *(float*)buf3940);
+    rsQuaternionLoadRotateUnit((rs_quaternion*) buf3941, *(float*)buf3942, *(float*)buf3943, *(float*)buf3944, *(float*)buf3945);
+    rsQuaternionMultiply((rs_quaternion*) buf3946, *(float*)buf3947);
+    rsQuaternionMultiply((rs_quaternion*) buf3948, (const rs_quaternion*) buf3949);
+    rsQuaternionNormalize((rs_quaternion*) buf3950);
+    rsQuaternionSet((rs_quaternion*) buf3951, *(float*)buf3952, *(float*)buf3953, *(float*)buf3954, *(float*)buf3955);
+    rsQuaternionSet((rs_quaternion*) buf3956, (const rs_quaternion*) buf3957);
+    rsQuaternionSlerp((rs_quaternion*) buf3958, (const rs_quaternion*) buf3959, (const rs_quaternion*) buf3960, *(float*)buf3961);
+    *(int*)buf3962 = rsRand(*(int*)buf3963);
+    *(int*)buf3964 = rsRand(*(int*)buf3965, *(int*)buf3966);
+    *(float*)buf3967 = rsRand(*(float*)buf3968);
+    *(float*)buf3969 = rsRand(*(float*)buf3970, *(float*)buf3971);
+    *(float4*)buf3972 = rsSample(*(rs_allocation*)buf3973, *(rs_sampler*)buf3974, *(float*)buf3975);
+    *(float4*)buf3976 = rsSample(*(rs_allocation*)buf3977, *(rs_sampler*)buf3978, *(float*)buf3979, *(float*)buf3980);
+    *(float4*)buf3981 = rsSample(*(rs_allocation*)buf3982, *(rs_sampler*)buf3983, *(float2*)buf3984);
+    *(float4*)buf3985 = rsSample(*(rs_allocation*)buf3986, *(rs_sampler*)buf3987, *(float2*)buf3988, *(float*)buf3989);
+    *(float*)buf3990 = rsSamplerGetAnisotropy(*(rs_sampler*)buf3991);
+    *(rs_sampler_value*)buf3992 = rsSamplerGetMagnification(*(rs_sampler*)buf3993);
+    *(rs_sampler_value*)buf3994 = rsSamplerGetMinification(*(rs_sampler*)buf3995);
+    *(rs_sampler_value*)buf3996 = rsSamplerGetWrapS(*(rs_sampler*)buf3997);
+    *(rs_sampler_value*)buf3998 = rsSamplerGetWrapT(*(rs_sampler*)buf3999);
+    *(bool*)buf4000 = rsSendToClient(*(int*)buf4001);
+    *(bool*)buf4002 = rsSendToClient(*(int*)buf4003, (const void*) buf4004, *(uint*)buf4005);
+    rsSendToClientBlocking(*(int*)buf4006);
+    rsSendToClientBlocking(*(int*)buf4007, (const void*) buf4008, *(uint*)buf4009);
+    rsSetElementAt(*(rs_allocation*)buf4010, (void*) buf4011, *(uint32_t*)buf4012);
+    rsSetElementAt(*(rs_allocation*)buf4013, (void*) buf4014, *(uint32_t*)buf4015, *(uint32_t*)buf4016);
+    rsSetElementAt_float(*(rs_allocation*)buf4017, *(float*)buf4018, *(uint32_t*)buf4019);
+    rsSetElementAt_float2(*(rs_allocation*)buf4020, *(float2*)buf4021, *(uint32_t*)buf4022);
+    rsSetElementAt_float3(*(rs_allocation*)buf4023, *(float3*)buf4024, *(uint32_t*)buf4025);
+    rsSetElementAt_float4(*(rs_allocation*)buf4026, *(float4*)buf4027, *(uint32_t*)buf4028);
+    rsSetElementAt_double(*(rs_allocation*)buf4029, *(double*)buf4030, *(uint32_t*)buf4031);
+    rsSetElementAt_double2(*(rs_allocation*)buf4032, *(double2*)buf4033, *(uint32_t*)buf4034);
+    rsSetElementAt_double3(*(rs_allocation*)buf4035, *(double3*)buf4036, *(uint32_t*)buf4037);
+    rsSetElementAt_double4(*(rs_allocation*)buf4038, *(double4*)buf4039, *(uint32_t*)buf4040);
+    rsSetElementAt_char(*(rs_allocation*)buf4041, *(char*)buf4042, *(uint32_t*)buf4043);
+    rsSetElementAt_char2(*(rs_allocation*)buf4044, *(char2*)buf4045, *(uint32_t*)buf4046);
+    rsSetElementAt_char3(*(rs_allocation*)buf4047, *(char3*)buf4048, *(uint32_t*)buf4049);
+    rsSetElementAt_char4(*(rs_allocation*)buf4050, *(char4*)buf4051, *(uint32_t*)buf4052);
+    rsSetElementAt_uchar(*(rs_allocation*)buf4053, *(uchar*)buf4054, *(uint32_t*)buf4055);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf4056, *(uchar2*)buf4057, *(uint32_t*)buf4058);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf4059, *(uchar3*)buf4060, *(uint32_t*)buf4061);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf4062, *(uchar4*)buf4063, *(uint32_t*)buf4064);
+    rsSetElementAt_short(*(rs_allocation*)buf4065, *(short*)buf4066, *(uint32_t*)buf4067);
+    rsSetElementAt_short2(*(rs_allocation*)buf4068, *(short2*)buf4069, *(uint32_t*)buf4070);
+    rsSetElementAt_short3(*(rs_allocation*)buf4071, *(short3*)buf4072, *(uint32_t*)buf4073);
+    rsSetElementAt_short4(*(rs_allocation*)buf4074, *(short4*)buf4075, *(uint32_t*)buf4076);
+    rsSetElementAt_ushort(*(rs_allocation*)buf4077, *(ushort*)buf4078, *(uint32_t*)buf4079);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf4080, *(ushort2*)buf4081, *(uint32_t*)buf4082);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf4083, *(ushort3*)buf4084, *(uint32_t*)buf4085);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf4086, *(ushort4*)buf4087, *(uint32_t*)buf4088);
+    rsSetElementAt_int(*(rs_allocation*)buf4089, *(int*)buf4090, *(uint32_t*)buf4091);
+    rsSetElementAt_int2(*(rs_allocation*)buf4092, *(int2*)buf4093, *(uint32_t*)buf4094);
+    rsSetElementAt_int3(*(rs_allocation*)buf4095, *(int3*)buf4096, *(uint32_t*)buf4097);
+    rsSetElementAt_int4(*(rs_allocation*)buf4098, *(int4*)buf4099, *(uint32_t*)buf4100);
+    rsSetElementAt_uint(*(rs_allocation*)buf4101, *(uint*)buf4102, *(uint32_t*)buf4103);
+    rsSetElementAt_uint2(*(rs_allocation*)buf4104, *(uint2*)buf4105, *(uint32_t*)buf4106);
+    rsSetElementAt_uint3(*(rs_allocation*)buf4107, *(uint3*)buf4108, *(uint32_t*)buf4109);
+    rsSetElementAt_uint4(*(rs_allocation*)buf4110, *(uint4*)buf4111, *(uint32_t*)buf4112);
+    rsSetElementAt_long(*(rs_allocation*)buf4113, *(long*)buf4114, *(uint32_t*)buf4115);
+    rsSetElementAt_long2(*(rs_allocation*)buf4116, *(long2*)buf4117, *(uint32_t*)buf4118);
+    rsSetElementAt_long3(*(rs_allocation*)buf4119, *(long3*)buf4120, *(uint32_t*)buf4121);
+    rsSetElementAt_long4(*(rs_allocation*)buf4122, *(long4*)buf4123, *(uint32_t*)buf4124);
+    rsSetElementAt_ulong(*(rs_allocation*)buf4125, *(ulong*)buf4126, *(uint32_t*)buf4127);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf4128, *(ulong2*)buf4129, *(uint32_t*)buf4130);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf4131, *(ulong3*)buf4132, *(uint32_t*)buf4133);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf4134, *(ulong4*)buf4135, *(uint32_t*)buf4136);
+    rsSetElementAt_float(*(rs_allocation*)buf4137, *(float*)buf4138, *(uint32_t*)buf4139, *(uint32_t*)buf4140);
+    rsSetElementAt_float2(*(rs_allocation*)buf4141, *(float2*)buf4142, *(uint32_t*)buf4143, *(uint32_t*)buf4144);
+    rsSetElementAt_float3(*(rs_allocation*)buf4145, *(float3*)buf4146, *(uint32_t*)buf4147, *(uint32_t*)buf4148);
+    rsSetElementAt_float4(*(rs_allocation*)buf4149, *(float4*)buf4150, *(uint32_t*)buf4151, *(uint32_t*)buf4152);
+    rsSetElementAt_double(*(rs_allocation*)buf4153, *(double*)buf4154, *(uint32_t*)buf4155, *(uint32_t*)buf4156);
+    rsSetElementAt_double2(*(rs_allocation*)buf4157, *(double2*)buf4158, *(uint32_t*)buf4159, *(uint32_t*)buf4160);
+    rsSetElementAt_double3(*(rs_allocation*)buf4161, *(double3*)buf4162, *(uint32_t*)buf4163, *(uint32_t*)buf4164);
+    rsSetElementAt_double4(*(rs_allocation*)buf4165, *(double4*)buf4166, *(uint32_t*)buf4167, *(uint32_t*)buf4168);
+    rsSetElementAt_char(*(rs_allocation*)buf4169, *(char*)buf4170, *(uint32_t*)buf4171, *(uint32_t*)buf4172);
+    rsSetElementAt_char2(*(rs_allocation*)buf4173, *(char2*)buf4174, *(uint32_t*)buf4175, *(uint32_t*)buf4176);
+    rsSetElementAt_char3(*(rs_allocation*)buf4177, *(char3*)buf4178, *(uint32_t*)buf4179, *(uint32_t*)buf4180);
+    rsSetElementAt_char4(*(rs_allocation*)buf4181, *(char4*)buf4182, *(uint32_t*)buf4183, *(uint32_t*)buf4184);
+    rsSetElementAt_uchar(*(rs_allocation*)buf4185, *(uchar*)buf4186, *(uint32_t*)buf4187, *(uint32_t*)buf4188);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf4189, *(uchar2*)buf4190, *(uint32_t*)buf4191, *(uint32_t*)buf4192);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf4193, *(uchar3*)buf4194, *(uint32_t*)buf4195, *(uint32_t*)buf4196);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf4197, *(uchar4*)buf4198, *(uint32_t*)buf4199, *(uint32_t*)buf4200);
+    rsSetElementAt_short(*(rs_allocation*)buf4201, *(short*)buf4202, *(uint32_t*)buf4203, *(uint32_t*)buf4204);
+    rsSetElementAt_short2(*(rs_allocation*)buf4205, *(short2*)buf4206, *(uint32_t*)buf4207, *(uint32_t*)buf4208);
+    rsSetElementAt_short3(*(rs_allocation*)buf4209, *(short3*)buf4210, *(uint32_t*)buf4211, *(uint32_t*)buf4212);
+    rsSetElementAt_short4(*(rs_allocation*)buf4213, *(short4*)buf4214, *(uint32_t*)buf4215, *(uint32_t*)buf4216);
+    rsSetElementAt_ushort(*(rs_allocation*)buf4217, *(ushort*)buf4218, *(uint32_t*)buf4219, *(uint32_t*)buf4220);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf4221, *(ushort2*)buf4222, *(uint32_t*)buf4223, *(uint32_t*)buf4224);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf4225, *(ushort3*)buf4226, *(uint32_t*)buf4227, *(uint32_t*)buf4228);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf4229, *(ushort4*)buf4230, *(uint32_t*)buf4231, *(uint32_t*)buf4232);
+    rsSetElementAt_int(*(rs_allocation*)buf4233, *(int*)buf4234, *(uint32_t*)buf4235, *(uint32_t*)buf4236);
+    rsSetElementAt_int2(*(rs_allocation*)buf4237, *(int2*)buf4238, *(uint32_t*)buf4239, *(uint32_t*)buf4240);
+    rsSetElementAt_int3(*(rs_allocation*)buf4241, *(int3*)buf4242, *(uint32_t*)buf4243, *(uint32_t*)buf4244);
+    rsSetElementAt_int4(*(rs_allocation*)buf4245, *(int4*)buf4246, *(uint32_t*)buf4247, *(uint32_t*)buf4248);
+    rsSetElementAt_uint(*(rs_allocation*)buf4249, *(uint*)buf4250, *(uint32_t*)buf4251, *(uint32_t*)buf4252);
+    rsSetElementAt_uint2(*(rs_allocation*)buf4253, *(uint2*)buf4254, *(uint32_t*)buf4255, *(uint32_t*)buf4256);
+    rsSetElementAt_uint3(*(rs_allocation*)buf4257, *(uint3*)buf4258, *(uint32_t*)buf4259, *(uint32_t*)buf4260);
+    rsSetElementAt_uint4(*(rs_allocation*)buf4261, *(uint4*)buf4262, *(uint32_t*)buf4263, *(uint32_t*)buf4264);
+    rsSetElementAt_long(*(rs_allocation*)buf4265, *(long*)buf4266, *(uint32_t*)buf4267, *(uint32_t*)buf4268);
+    rsSetElementAt_long2(*(rs_allocation*)buf4269, *(long2*)buf4270, *(uint32_t*)buf4271, *(uint32_t*)buf4272);
+    rsSetElementAt_long3(*(rs_allocation*)buf4273, *(long3*)buf4274, *(uint32_t*)buf4275, *(uint32_t*)buf4276);
+    rsSetElementAt_long4(*(rs_allocation*)buf4277, *(long4*)buf4278, *(uint32_t*)buf4279, *(uint32_t*)buf4280);
+    rsSetElementAt_ulong(*(rs_allocation*)buf4281, *(ulong*)buf4282, *(uint32_t*)buf4283, *(uint32_t*)buf4284);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf4285, *(ulong2*)buf4286, *(uint32_t*)buf4287, *(uint32_t*)buf4288);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf4289, *(ulong3*)buf4290, *(uint32_t*)buf4291, *(uint32_t*)buf4292);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf4293, *(ulong4*)buf4294, *(uint32_t*)buf4295, *(uint32_t*)buf4296);
+    rsSetElementAt_float(*(rs_allocation*)buf4297, *(float*)buf4298, *(uint32_t*)buf4299, *(uint32_t*)buf4300, *(uint32_t*)buf4301);
+    rsSetElementAt_float2(*(rs_allocation*)buf4302, *(float2*)buf4303, *(uint32_t*)buf4304, *(uint32_t*)buf4305, *(uint32_t*)buf4306);
+    rsSetElementAt_float3(*(rs_allocation*)buf4307, *(float3*)buf4308, *(uint32_t*)buf4309, *(uint32_t*)buf4310, *(uint32_t*)buf4311);
+    rsSetElementAt_float4(*(rs_allocation*)buf4312, *(float4*)buf4313, *(uint32_t*)buf4314, *(uint32_t*)buf4315, *(uint32_t*)buf4316);
+    rsSetElementAt_double(*(rs_allocation*)buf4317, *(double*)buf4318, *(uint32_t*)buf4319, *(uint32_t*)buf4320, *(uint32_t*)buf4321);
+    rsSetElementAt_double2(*(rs_allocation*)buf4322, *(double2*)buf4323, *(uint32_t*)buf4324, *(uint32_t*)buf4325, *(uint32_t*)buf4326);
+    rsSetElementAt_double3(*(rs_allocation*)buf4327, *(double3*)buf4328, *(uint32_t*)buf4329, *(uint32_t*)buf4330, *(uint32_t*)buf4331);
+    rsSetElementAt_double4(*(rs_allocation*)buf4332, *(double4*)buf4333, *(uint32_t*)buf4334, *(uint32_t*)buf4335, *(uint32_t*)buf4336);
+    rsSetElementAt_char(*(rs_allocation*)buf4337, *(char*)buf4338, *(uint32_t*)buf4339, *(uint32_t*)buf4340, *(uint32_t*)buf4341);
+    rsSetElementAt_char2(*(rs_allocation*)buf4342, *(char2*)buf4343, *(uint32_t*)buf4344, *(uint32_t*)buf4345, *(uint32_t*)buf4346);
+    rsSetElementAt_char3(*(rs_allocation*)buf4347, *(char3*)buf4348, *(uint32_t*)buf4349, *(uint32_t*)buf4350, *(uint32_t*)buf4351);
+    rsSetElementAt_char4(*(rs_allocation*)buf4352, *(char4*)buf4353, *(uint32_t*)buf4354, *(uint32_t*)buf4355, *(uint32_t*)buf4356);
+    rsSetElementAt_uchar(*(rs_allocation*)buf4357, *(uchar*)buf4358, *(uint32_t*)buf4359, *(uint32_t*)buf4360, *(uint32_t*)buf4361);
+    rsSetElementAt_uchar2(*(rs_allocation*)buf4362, *(uchar2*)buf4363, *(uint32_t*)buf4364, *(uint32_t*)buf4365, *(uint32_t*)buf4366);
+    rsSetElementAt_uchar3(*(rs_allocation*)buf4367, *(uchar3*)buf4368, *(uint32_t*)buf4369, *(uint32_t*)buf4370, *(uint32_t*)buf4371);
+    rsSetElementAt_uchar4(*(rs_allocation*)buf4372, *(uchar4*)buf4373, *(uint32_t*)buf4374, *(uint32_t*)buf4375, *(uint32_t*)buf4376);
+    rsSetElementAt_short(*(rs_allocation*)buf4377, *(short*)buf4378, *(uint32_t*)buf4379, *(uint32_t*)buf4380, *(uint32_t*)buf4381);
+    rsSetElementAt_short2(*(rs_allocation*)buf4382, *(short2*)buf4383, *(uint32_t*)buf4384, *(uint32_t*)buf4385, *(uint32_t*)buf4386);
+    rsSetElementAt_short3(*(rs_allocation*)buf4387, *(short3*)buf4388, *(uint32_t*)buf4389, *(uint32_t*)buf4390, *(uint32_t*)buf4391);
+    rsSetElementAt_short4(*(rs_allocation*)buf4392, *(short4*)buf4393, *(uint32_t*)buf4394, *(uint32_t*)buf4395, *(uint32_t*)buf4396);
+    rsSetElementAt_ushort(*(rs_allocation*)buf4397, *(ushort*)buf4398, *(uint32_t*)buf4399, *(uint32_t*)buf4400, *(uint32_t*)buf4401);
+    rsSetElementAt_ushort2(*(rs_allocation*)buf4402, *(ushort2*)buf4403, *(uint32_t*)buf4404, *(uint32_t*)buf4405, *(uint32_t*)buf4406);
+    rsSetElementAt_ushort3(*(rs_allocation*)buf4407, *(ushort3*)buf4408, *(uint32_t*)buf4409, *(uint32_t*)buf4410, *(uint32_t*)buf4411);
+    rsSetElementAt_ushort4(*(rs_allocation*)buf4412, *(ushort4*)buf4413, *(uint32_t*)buf4414, *(uint32_t*)buf4415, *(uint32_t*)buf4416);
+    rsSetElementAt_int(*(rs_allocation*)buf4417, *(int*)buf4418, *(uint32_t*)buf4419, *(uint32_t*)buf4420, *(uint32_t*)buf4421);
+    rsSetElementAt_int2(*(rs_allocation*)buf4422, *(int2*)buf4423, *(uint32_t*)buf4424, *(uint32_t*)buf4425, *(uint32_t*)buf4426);
+    rsSetElementAt_int3(*(rs_allocation*)buf4427, *(int3*)buf4428, *(uint32_t*)buf4429, *(uint32_t*)buf4430, *(uint32_t*)buf4431);
+    rsSetElementAt_int4(*(rs_allocation*)buf4432, *(int4*)buf4433, *(uint32_t*)buf4434, *(uint32_t*)buf4435, *(uint32_t*)buf4436);
+    rsSetElementAt_uint(*(rs_allocation*)buf4437, *(uint*)buf4438, *(uint32_t*)buf4439, *(uint32_t*)buf4440, *(uint32_t*)buf4441);
+    rsSetElementAt_uint2(*(rs_allocation*)buf4442, *(uint2*)buf4443, *(uint32_t*)buf4444, *(uint32_t*)buf4445, *(uint32_t*)buf4446);
+    rsSetElementAt_uint3(*(rs_allocation*)buf4447, *(uint3*)buf4448, *(uint32_t*)buf4449, *(uint32_t*)buf4450, *(uint32_t*)buf4451);
+    rsSetElementAt_uint4(*(rs_allocation*)buf4452, *(uint4*)buf4453, *(uint32_t*)buf4454, *(uint32_t*)buf4455, *(uint32_t*)buf4456);
+    rsSetElementAt_long(*(rs_allocation*)buf4457, *(long*)buf4458, *(uint32_t*)buf4459, *(uint32_t*)buf4460, *(uint32_t*)buf4461);
+    rsSetElementAt_long2(*(rs_allocation*)buf4462, *(long2*)buf4463, *(uint32_t*)buf4464, *(uint32_t*)buf4465, *(uint32_t*)buf4466);
+    rsSetElementAt_long3(*(rs_allocation*)buf4467, *(long3*)buf4468, *(uint32_t*)buf4469, *(uint32_t*)buf4470, *(uint32_t*)buf4471);
+    rsSetElementAt_long4(*(rs_allocation*)buf4472, *(long4*)buf4473, *(uint32_t*)buf4474, *(uint32_t*)buf4475, *(uint32_t*)buf4476);
+    rsSetElementAt_ulong(*(rs_allocation*)buf4477, *(ulong*)buf4478, *(uint32_t*)buf4479, *(uint32_t*)buf4480, *(uint32_t*)buf4481);
+    rsSetElementAt_ulong2(*(rs_allocation*)buf4482, *(ulong2*)buf4483, *(uint32_t*)buf4484, *(uint32_t*)buf4485, *(uint32_t*)buf4486);
+    rsSetElementAt_ulong3(*(rs_allocation*)buf4487, *(ulong3*)buf4488, *(uint32_t*)buf4489, *(uint32_t*)buf4490, *(uint32_t*)buf4491);
+    rsSetElementAt_ulong4(*(rs_allocation*)buf4492, *(ulong4*)buf4493, *(uint32_t*)buf4494, *(uint32_t*)buf4495, *(uint32_t*)buf4496);
+    rsSetElementAt_half(*(rs_allocation*)buf4497, *(half*)buf4498, *(uint32_t*)buf4499);
+    rsSetElementAt_half2(*(rs_allocation*)buf4500, *(half2*)buf4501, *(uint32_t*)buf4502);
+    rsSetElementAt_half3(*(rs_allocation*)buf4503, *(half3*)buf4504, *(uint32_t*)buf4505);
+    rsSetElementAt_half4(*(rs_allocation*)buf4506, *(half4*)buf4507, *(uint32_t*)buf4508);
+    rsSetElementAt_half(*(rs_allocation*)buf4509, *(half*)buf4510, *(uint32_t*)buf4511, *(uint32_t*)buf4512);
+    rsSetElementAt_half2(*(rs_allocation*)buf4513, *(half2*)buf4514, *(uint32_t*)buf4515, *(uint32_t*)buf4516);
+    rsSetElementAt_half3(*(rs_allocation*)buf4517, *(half3*)buf4518, *(uint32_t*)buf4519, *(uint32_t*)buf4520);
+    rsSetElementAt_half4(*(rs_allocation*)buf4521, *(half4*)buf4522, *(uint32_t*)buf4523, *(uint32_t*)buf4524);
+    rsSetElementAt_half(*(rs_allocation*)buf4525, *(half*)buf4526, *(uint32_t*)buf4527, *(uint32_t*)buf4528, *(uint32_t*)buf4529);
+    rsSetElementAt_half2(*(rs_allocation*)buf4530, *(half2*)buf4531, *(uint32_t*)buf4532, *(uint32_t*)buf4533, *(uint32_t*)buf4534);
+    rsSetElementAt_half3(*(rs_allocation*)buf4535, *(half3*)buf4536, *(uint32_t*)buf4537, *(uint32_t*)buf4538, *(uint32_t*)buf4539);
+    rsSetElementAt_half4(*(rs_allocation*)buf4540, *(half4*)buf4541, *(uint32_t*)buf4542, *(uint32_t*)buf4543, *(uint32_t*)buf4544);
+    rsSetObject((rs_element*) buf4545, *(rs_element*)buf4546);
+    rsSetObject((rs_type*) buf4547, *(rs_type*)buf4548);
+    rsSetObject((rs_allocation*) buf4549, *(rs_allocation*)buf4550);
+    rsSetObject((rs_sampler*) buf4551, *(rs_sampler*)buf4552);
+    rsSetObject((rs_script*) buf4553, *(rs_script*)buf4554);
+    *(rs_time_t*)buf4555 = rsTime((rs_time_t*) buf4556);
+    *(float4*)buf4557 = rsUnpackColor8888(*(uchar4*)buf4558);
+    *(int64_t*)buf4559 = rsUptimeMillis();
+    *(int64_t*)buf4560 = rsUptimeNanos();
+    *(float4*)buf4561 = rsYuvToRGBA_float4(*(uchar*)buf4562, *(uchar*)buf4563, *(uchar*)buf4564);
+    *(uchar4*)buf4565 = rsYuvToRGBA_uchar4(*(uchar*)buf4566, *(uchar*)buf4567, *(uchar*)buf4568);
+    *(float*)buf4569 = rsqrt(*(float*)buf4570);
+    *(float2*)buf4571 = rsqrt(*(float2*)buf4572);
+    *(float3*)buf4573 = rsqrt(*(float3*)buf4574);
+    *(float4*)buf4575 = rsqrt(*(float4*)buf4576);
+    *(float*)buf4577 = sign(*(float*)buf4578);
+    *(float2*)buf4579 = sign(*(float2*)buf4580);
+    *(float3*)buf4581 = sign(*(float3*)buf4582);
+    *(float4*)buf4583 = sign(*(float4*)buf4584);
+    *(float*)buf4585 = sin(*(float*)buf4586);
+    *(float2*)buf4587 = sin(*(float2*)buf4588);
+    *(float3*)buf4589 = sin(*(float3*)buf4590);
+    *(float4*)buf4591 = sin(*(float4*)buf4592);
+    *(float*)buf4593 = sincos(*(float*)buf4594, (float*) buf4595);
+    *(float2*)buf4596 = sincos(*(float2*)buf4597, (float2*) buf4598);
+    *(float3*)buf4599 = sincos(*(float3*)buf4600, (float3*) buf4601);
+    *(float4*)buf4602 = sincos(*(float4*)buf4603, (float4*) buf4604);
+    *(float*)buf4605 = sinh(*(float*)buf4606);
+    *(float2*)buf4607 = sinh(*(float2*)buf4608);
+    *(float3*)buf4609 = sinh(*(float3*)buf4610);
+    *(float4*)buf4611 = sinh(*(float4*)buf4612);
+    *(float*)buf4613 = sinpi(*(float*)buf4614);
+    *(float2*)buf4615 = sinpi(*(float2*)buf4616);
+    *(float3*)buf4617 = sinpi(*(float3*)buf4618);
+    *(float4*)buf4619 = sinpi(*(float4*)buf4620);
+    *(float*)buf4621 = sqrt(*(float*)buf4622);
+    *(float2*)buf4623 = sqrt(*(float2*)buf4624);
+    *(float3*)buf4625 = sqrt(*(float3*)buf4626);
+    *(float4*)buf4627 = sqrt(*(float4*)buf4628);
+    *(float*)buf4629 = step(*(float*)buf4630, *(float*)buf4631);
+    *(float2*)buf4632 = step(*(float2*)buf4633, *(float2*)buf4634);
+    *(float3*)buf4635 = step(*(float3*)buf4636, *(float3*)buf4637);
+    *(float4*)buf4638 = step(*(float4*)buf4639, *(float4*)buf4640);
+    *(float2*)buf4641 = step(*(float2*)buf4642, *(float*)buf4643);
+    *(float3*)buf4644 = step(*(float3*)buf4645, *(float*)buf4646);
+    *(float4*)buf4647 = step(*(float4*)buf4648, *(float*)buf4649);
+    *(float2*)buf4650 = step(*(float*)buf4651, *(float2*)buf4652);
+    *(float3*)buf4653 = step(*(float*)buf4654, *(float3*)buf4655);
+    *(float4*)buf4656 = step(*(float*)buf4657, *(float4*)buf4658);
+    *(float*)buf4659 = tan(*(float*)buf4660);
+    *(float2*)buf4661 = tan(*(float2*)buf4662);
+    *(float3*)buf4663 = tan(*(float3*)buf4664);
+    *(float4*)buf4665 = tan(*(float4*)buf4666);
+    *(float*)buf4667 = tanh(*(float*)buf4668);
+    *(float2*)buf4669 = tanh(*(float2*)buf4670);
+    *(float3*)buf4671 = tanh(*(float3*)buf4672);
+    *(float4*)buf4673 = tanh(*(float4*)buf4674);
+    *(float*)buf4675 = tanpi(*(float*)buf4676);
+    *(float2*)buf4677 = tanpi(*(float2*)buf4678);
+    *(float3*)buf4679 = tanpi(*(float3*)buf4680);
+    *(float4*)buf4681 = tanpi(*(float4*)buf4682);
+    *(float*)buf4683 = tgamma(*(float*)buf4684);
+    *(float2*)buf4685 = tgamma(*(float2*)buf4686);
+    *(float3*)buf4687 = tgamma(*(float3*)buf4688);
+    *(float4*)buf4689 = tgamma(*(float4*)buf4690);
+    *(float*)buf4691 = trunc(*(float*)buf4692);
+    *(float2*)buf4693 = trunc(*(float2*)buf4694);
+    *(float3*)buf4695 = trunc(*(float3*)buf4696);
+    *(float4*)buf4697 = trunc(*(float4*)buf4698);
 }
