Created
April 13, 2020 20:16
-
-
Save athas/48f37664882e8f5110485e298741b862 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| int futhark_mc_parloop_44110(void *args, int start, int end, int ntask_44065) | |
| { | |
| struct futhark_mc_parloop_struct_44109 *futhark_mc_parloop_struct_44109 = | |
| (struct futhark_mc_parloop_struct_44109 *) args; | |
| struct futhark_context *ctx = futhark_mc_parloop_struct_44109->ctx; | |
| int64_t futhark_mc_parloop_44110_start, futhark_mc_parloop_44110_end; | |
| if (ctx->profiling) | |
| futhark_mc_parloop_44110_start = get_wall_time(); | |
| int32_t h_41993 = *futhark_mc_parloop_struct_44109->free_h_41993; | |
| int32_t w_41994 = *futhark_mc_parloop_struct_44109->free_w_41994; | |
| float horizzontal_41995 = | |
| *futhark_mc_parloop_struct_44109->free_horizzontal_41995; | |
| float horizzontal_41996 = | |
| *futhark_mc_parloop_struct_44109->free_horizzontal_41996; | |
| float horizzontal_41997 = | |
| *futhark_mc_parloop_struct_44109->free_horizzontal_41997; | |
| float llc_41998 = *futhark_mc_parloop_struct_44109->free_llc_41998; | |
| float llc_41999 = *futhark_mc_parloop_struct_44109->free_llc_41999; | |
| float llc_42000 = *futhark_mc_parloop_struct_44109->free_llc_42000; | |
| float origin_42001 = *futhark_mc_parloop_struct_44109->free_origin_42001; | |
| float origin_42002 = *futhark_mc_parloop_struct_44109->free_origin_42002; | |
| float origin_42003 = *futhark_mc_parloop_struct_44109->free_origin_42003; | |
| float vertical_42004 = | |
| *futhark_mc_parloop_struct_44109->free_vertical_42004; | |
| float vertical_42005 = | |
| *futhark_mc_parloop_struct_44109->free_vertical_42005; | |
| float vertical_42006 = | |
| *futhark_mc_parloop_struct_44109->free_vertical_42006; | |
| float res_42033 = *futhark_mc_parloop_struct_44109->free_res_42033; | |
| float res_42034 = *futhark_mc_parloop_struct_44109->free_res_42034; | |
| struct memblock I_mem_43770 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43770; | |
| struct memblock I_mem_43771 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43771; | |
| struct memblock I_mem_43772 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43772; | |
| struct memblock I_mem_43773 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43773; | |
| struct memblock I_mem_43774 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43774; | |
| struct memblock I_mem_43775 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43775; | |
| struct memblock I_mem_43776 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43776; | |
| struct memblock I_mem_43777 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43777; | |
| struct memblock I_mem_43778 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43778; | |
| struct memblock I_mem_43779 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43779; | |
| struct memblock I_mem_43780 = | |
| *futhark_mc_parloop_struct_44109->free_I_mem_43780; | |
| struct memblock L_mem_43781 = | |
| *futhark_mc_parloop_struct_44109->free_L_mem_43781; | |
| struct memblock L_mem_43782 = | |
| *futhark_mc_parloop_struct_44109->free_L_mem_43782; | |
| struct memblock L_mem_43783 = | |
| *futhark_mc_parloop_struct_44109->free_L_mem_43783; | |
| struct memblock L_mem_43784 = | |
| *futhark_mc_parloop_struct_44109->free_L_mem_43784; | |
| struct memblock L_mem_43785 = | |
| *futhark_mc_parloop_struct_44109->free_L_mem_43785; | |
| struct memblock L_mem_43786 = | |
| *futhark_mc_parloop_struct_44109->free_L_mem_43786; | |
| struct memblock L_mem_43787 = | |
| *futhark_mc_parloop_struct_44109->free_L_mem_43787; | |
| struct memblock mem_43792 = | |
| *futhark_mc_parloop_struct_44109->free_mem_43792; | |
| int phys_tid_43180 = start; | |
| for (; phys_tid_43180 < end; phys_tid_43180++) { | |
| if (ctx->debugging) | |
| fprintf(stderr, "%s\n", "SegMap fbody"); | |
| int32_t gtid_43178 = squot32(phys_tid_43180, w_41994); | |
| int32_t gtid_43179; | |
| gtid_43179 = sub32(phys_tid_43180, mul32(squot32(phys_tid_43180, | |
| w_41994), w_41994)); | |
| int32_t convop_x_43656 = sub32(h_41993, gtid_43178); | |
| float binop_x_43657 = sitofp_i32_f32(convop_x_43656); | |
| float binop_y_43658 = binop_x_43657 / res_42034; | |
| float index_primexp_43659 = vertical_42004 * binop_y_43658; | |
| float index_primexp_43655 = vertical_42005 * binop_y_43658; | |
| float index_primexp_43651 = vertical_42006 * binop_y_43658; | |
| float res_43197 = sitofp_i32_f32(gtid_43179); | |
| float u_43198 = res_43197 / res_42033; | |
| float res_43199 = horizzontal_41995 * u_43198; | |
| float res_43200 = horizzontal_41996 * u_43198; | |
| float res_43201 = horizzontal_41997 * u_43198; | |
| float res_43202 = llc_41998 + res_43199; | |
| float res_43203 = llc_41999 + res_43200; | |
| float res_43204 = llc_42000 + res_43201; | |
| float res_43205 = res_43202 + index_primexp_43659; | |
| float res_43206 = res_43203 + index_primexp_43655; | |
| float res_43207 = res_43204 + index_primexp_43651; | |
| float res_43208 = res_43205 - origin_42001; | |
| float res_43209 = res_43206 - origin_42002; | |
| float res_43210 = res_43207 - origin_42003; | |
| bool lifted_1_zlzb_arg_43211; | |
| float lifted_1_zlzb_arg_43212; | |
| float lifted_1_zlzb_arg_43213; | |
| float lifted_1_zlzb_arg_43214; | |
| float lifted_1_zlzb_arg_43215; | |
| float lifted_1_zlzb_arg_43216; | |
| float lifted_1_zlzb_arg_43217; | |
| int32_t lifted_1_zlzb_arg_43218; | |
| float lifted_1_zlzb_arg_43219; | |
| float lifted_1_zlzb_arg_43220; | |
| float lifted_1_zlzb_arg_43221; | |
| float lifted_1_zlzb_arg_43222; | |
| float lifted_1_zlzb_arg_43223; | |
| float lifted_1_zlzb_arg_43224; | |
| bool loop_while_43225; | |
| float r_43226; | |
| float r_43227; | |
| float r_43228; | |
| float r_43229; | |
| float r_43230; | |
| float r_43231; | |
| int32_t depth_43232; | |
| float light_43233; | |
| float light_43234; | |
| float light_43235; | |
| float colour_43236; | |
| float colour_43237; | |
| float colour_43238; | |
| loop_while_43225 = 1; | |
| r_43226 = res_43208; | |
| r_43227 = res_43209; | |
| r_43228 = res_43210; | |
| r_43229 = origin_42001; | |
| r_43230 = origin_42002; | |
| r_43231 = origin_42003; | |
| depth_43232 = 0; | |
| light_43233 = 1.0F; | |
| light_43234 = 1.0F; | |
| light_43235 = 1.0F; | |
| colour_43236 = 0.0F; | |
| colour_43237 = 0.0F; | |
| colour_43238 = 0.0F; | |
| while (loop_while_43225) { | |
| bool lifted_1_zlzb_arg_43239; | |
| int32_t lifted_1_zlzb_arg_43240; | |
| float lifted_1_zlzb_arg_43241; | |
| int32_t lifted_1_zlzb_arg_43242; | |
| int8_t lifted_1_zlzb_arg_43243; | |
| int32_t lifted_1_zlzb_arg_43244; | |
| bool loop_while_43245; | |
| int32_t acc_43246; | |
| float acc_43247; | |
| int32_t cur_43248; | |
| int8_t prev_43249; | |
| int32_t prev_43250; | |
| loop_while_43245 = 1; | |
| acc_43246 = -1; | |
| acc_43247 = 1.0e9F; | |
| cur_43248 = 0; | |
| prev_43249 = 0; | |
| prev_43250 = -1; | |
| while (loop_while_43245) { | |
| int8_t loopres_43257 = ((int8_t *) I_mem_43776.mem)[cur_43248]; | |
| int32_t loopres_43258 = | |
| ((int32_t *) I_mem_43777.mem)[cur_43248]; | |
| int8_t loopres_43260 = ((int8_t *) I_mem_43779.mem)[cur_43248]; | |
| int32_t loopres_43261 = | |
| ((int32_t *) I_mem_43780.mem)[cur_43248]; | |
| bool from_left_43262 = prev_43249 == loopres_43257; | |
| bool from_left_43263 = prev_43250 == loopres_43258; | |
| bool eq_43264 = from_left_43262 && from_left_43263; | |
| bool from_right_43265 = prev_43249 == loopres_43260; | |
| bool from_right_43266 = prev_43250 == loopres_43261; | |
| bool eq_43267 = from_right_43265 && from_right_43266; | |
| int8_t rec_child_43268; | |
| int8_t rec_child_43269; | |
| int32_t rec_child_43270; | |
| if (eq_43264) { | |
| rec_child_43268 = 1; | |
| rec_child_43269 = loopres_43260; | |
| rec_child_43270 = loopres_43261; | |
| } else { | |
| float loopres_43251 = | |
| ((float *) I_mem_43770.mem)[cur_43248]; | |
| float loopres_43252 = | |
| ((float *) I_mem_43771.mem)[cur_43248]; | |
| float loopres_43253 = | |
| ((float *) I_mem_43772.mem)[cur_43248]; | |
| float loopres_43254 = | |
| ((float *) I_mem_43773.mem)[cur_43248]; | |
| float loopres_43255 = | |
| ((float *) I_mem_43774.mem)[cur_43248]; | |
| float loopres_43256 = | |
| ((float *) I_mem_43775.mem)[cur_43248]; | |
| bool cond_43271 = !eq_43267; | |
| float invD_43272 = 1.0F / r_43226; | |
| float x_43273 = loopres_43254 - r_43229; | |
| float t0_43274 = invD_43272 * x_43273; | |
| float x_43275 = loopres_43251 - r_43229; | |
| float t1_43276 = invD_43272 * x_43275; | |
| bool cond_43277 = invD_43272 < 0.0F; | |
| float res_43278; | |
| if (cond_43277) { | |
| res_43278 = t1_43276; | |
| } else { | |
| res_43278 = t0_43274; | |
| } | |
| float res_43279; | |
| if (cond_43277) { | |
| res_43279 = t0_43274; | |
| } else { | |
| res_43279 = t1_43276; | |
| } | |
| float res_43280 = fmax32(1.0e-3F, res_43278); | |
| float res_43281 = fmin32(1.0e9F, res_43279); | |
| bool cond_43282 = res_43281 <= res_43280; | |
| float invD_43283 = 1.0F / r_43227; | |
| float x_43284 = loopres_43255 - r_43230; | |
| float t0_43285 = invD_43283 * x_43284; | |
| float x_43286 = loopres_43252 - r_43230; | |
| float t1_43287 = invD_43283 * x_43286; | |
| bool cond_43288 = invD_43283 < 0.0F; | |
| float res_43289; | |
| if (cond_43288) { | |
| res_43289 = t1_43287; | |
| } else { | |
| res_43289 = t0_43285; | |
| } | |
| float res_43290; | |
| if (cond_43288) { | |
| res_43290 = t0_43285; | |
| } else { | |
| res_43290 = t1_43287; | |
| } | |
| float res_43291 = fmax32(res_43280, res_43289); | |
| float res_43292 = fmin32(res_43281, res_43290); | |
| bool cond_43293 = res_43292 <= res_43291; | |
| float invD_43294 = 1.0F / r_43228; | |
| float x_43295 = loopres_43256 - r_43231; | |
| float t0_43296 = invD_43294 * x_43295; | |
| float x_43297 = loopres_43253 - r_43231; | |
| float t1_43298 = invD_43294 * x_43297; | |
| bool cond_43299 = invD_43294 < 0.0F; | |
| float res_43300; | |
| if (cond_43299) { | |
| res_43300 = t1_43298; | |
| } else { | |
| res_43300 = t0_43296; | |
| } | |
| float res_43301; | |
| if (cond_43299) { | |
| res_43301 = t0_43296; | |
| } else { | |
| res_43301 = t1_43298; | |
| } | |
| float res_43302 = fmax32(res_43291, res_43300); | |
| float res_43303 = fmin32(res_43292, res_43301); | |
| bool complement_arg_43304 = res_43303 <= res_43302; | |
| bool res_43305 = !complement_arg_43304; | |
| bool x_43306 = !cond_43293; | |
| bool y_43307 = res_43305 && x_43306; | |
| bool x_43308 = !cond_43282; | |
| bool y_43309 = y_43307 && x_43308; | |
| bool x_43310 = cond_43271 && y_43309; | |
| int8_t res_43311 = btoi_bool_i8(x_43310); | |
| int8_t res_43312; | |
| if (x_43310) { | |
| res_43312 = loopres_43257; | |
| } else { | |
| res_43312 = 0; | |
| } | |
| int32_t res_43313; | |
| if (x_43310) { | |
| res_43313 = loopres_43258; | |
| } else { | |
| res_43313 = 0; | |
| } | |
| rec_child_43268 = res_43311; | |
| rec_child_43269 = res_43312; | |
| rec_child_43270 = res_43313; | |
| } | |
| bool match_constr_43314 = 0 == rec_child_43268; | |
| int32_t loopres_43315; | |
| float loopres_43316; | |
| int32_t loopres_43317; | |
| int8_t loopres_43318; | |
| int32_t loopres_43319; | |
| if (match_constr_43314) { | |
| int32_t loopres_43259 = | |
| ((int32_t *) I_mem_43778.mem)[cur_43248]; | |
| loopres_43315 = acc_43246; | |
| loopres_43316 = acc_43247; | |
| loopres_43317 = loopres_43259; | |
| loopres_43318 = 0; | |
| loopres_43319 = cur_43248; | |
| } else { | |
| bool match_constr_43320 = 0 == rec_child_43269; | |
| int32_t res_43321; | |
| if (match_constr_43320) { | |
| res_43321 = rec_child_43270; | |
| } else { | |
| res_43321 = cur_43248; | |
| } | |
| int8_t res_43322; | |
| if (match_constr_43320) { | |
| res_43322 = 0; | |
| } else { | |
| res_43322 = rec_child_43269; | |
| } | |
| int32_t res_43323; | |
| if (match_constr_43320) { | |
| res_43323 = cur_43248; | |
| } else { | |
| res_43323 = rec_child_43270; | |
| } | |
| int32_t res_43324; | |
| float res_43325; | |
| if (match_constr_43320) { | |
| res_43324 = acc_43246; | |
| res_43325 = acc_43247; | |
| } else { | |
| float lifted_2_op_arg_43326 = | |
| ((float *) L_mem_43784.mem)[rec_child_43270]; | |
| float lifted_2_op_arg_43327 = | |
| ((float *) L_mem_43785.mem)[rec_child_43270]; | |
| float lifted_2_op_arg_43328 = | |
| ((float *) L_mem_43786.mem)[rec_child_43270]; | |
| float lifted_2_op_arg_43329 = | |
| ((float *) L_mem_43787.mem)[rec_child_43270]; | |
| float res_43330 = r_43229 - lifted_2_op_arg_43326; | |
| float res_43331 = r_43230 - lifted_2_op_arg_43327; | |
| float res_43332 = r_43231 - lifted_2_op_arg_43328; | |
| float res_43333 = r_43226 * r_43226; | |
| float res_43334 = r_43227 * r_43227; | |
| float res_43335 = r_43228 * r_43228; | |
| float x_43336 = res_43333 + res_43334; | |
| float res_43337 = res_43335 + x_43336; | |
| float res_43338 = r_43226 * res_43330; | |
| float res_43339 = r_43227 * res_43331; | |
| float res_43340 = r_43228 * res_43332; | |
| float x_43341 = res_43338 + res_43339; | |
| float res_43342 = res_43340 + x_43341; | |
| float res_43343 = res_43330 * res_43330; | |
| float res_43344 = res_43331 * res_43331; | |
| float res_43345 = res_43332 * res_43332; | |
| float x_43346 = res_43343 + res_43344; | |
| float res_43347 = res_43345 + x_43346; | |
| float y_43348 = lifted_2_op_arg_43329 * | |
| lifted_2_op_arg_43329; | |
| float c_43349 = res_43347 - y_43348; | |
| float x_43350 = res_43342 * res_43342; | |
| float y_43351 = res_43337 * c_43349; | |
| float discriminant_43352 = x_43350 - y_43351; | |
| bool cond_43353 = discriminant_43352 <= 0.0F; | |
| int8_t res_43354; | |
| float res_43355; | |
| if (cond_43353) { | |
| res_43354 = 0; | |
| res_43355 = 0.0F; | |
| } else { | |
| float x_43356 = 0.0F - res_43342; | |
| float res_43357; | |
| res_43357 = futrts_sqrt32(discriminant_43352); | |
| float x_43358 = x_43356 - res_43357; | |
| float lifted_0_f_arg_43359 = x_43358 / res_43337; | |
| bool cond_43360 = lifted_0_f_arg_43359 < acc_43247; | |
| bool res_43361 = 1.0e-3F < lifted_0_f_arg_43359; | |
| bool x_43362 = cond_43360 && res_43361; | |
| float res_43363; | |
| if (x_43362) { | |
| res_43363 = lifted_0_f_arg_43359; | |
| } else { | |
| res_43363 = 0.0F; | |
| } | |
| int8_t res_43364; | |
| float res_43365; | |
| if (x_43362) { | |
| res_43364 = 1; | |
| res_43365 = res_43363; | |
| } else { | |
| float x_43366 = x_43356 + res_43357; | |
| float lifted_0_f_arg_43367 = x_43366 / | |
| res_43337; | |
| bool cond_43368 = lifted_0_f_arg_43367 < | |
| acc_43247; | |
| bool res_43369 = 1.0e-3F < lifted_0_f_arg_43367; | |
| bool x_43370 = cond_43368 && res_43369; | |
| int8_t res_43371 = btoi_bool_i8(x_43370); | |
| float res_43372; | |
| if (x_43370) { | |
| res_43372 = lifted_0_f_arg_43367; | |
| } else { | |
| res_43372 = 0.0F; | |
| } | |
| res_43364 = res_43371; | |
| res_43365 = res_43372; | |
| } | |
| res_43354 = res_43364; | |
| res_43355 = res_43365; | |
| } | |
| bool match_constr_43373 = 0 == res_43354; | |
| int32_t res_43374; | |
| if (match_constr_43373) { | |
| res_43374 = acc_43246; | |
| } else { | |
| res_43374 = rec_child_43270; | |
| } | |
| float res_43375; | |
| if (match_constr_43373) { | |
| res_43375 = acc_43247; | |
| } else { | |
| res_43375 = res_43355; | |
| } | |
| res_43324 = res_43374; | |
| res_43325 = res_43375; | |
| } | |
| loopres_43315 = res_43324; | |
| loopres_43316 = res_43325; | |
| loopres_43317 = res_43321; | |
| loopres_43318 = res_43322; | |
| loopres_43319 = res_43323; | |
| } | |
| bool loop_cond_43376 = loopres_43317 == -1; | |
| bool loop_cond_43377 = !loop_cond_43376; | |
| bool loop_while_tmp_44080 = loop_cond_43377; | |
| int32_t acc_tmp_44081 = loopres_43315; | |
| float acc_tmp_44082 = loopres_43316; | |
| int32_t cur_tmp_44083 = loopres_43317; | |
| int8_t prev_tmp_44084 = loopres_43318; | |
| int32_t prev_tmp_44085; | |
| prev_tmp_44085 = loopres_43319; | |
| loop_while_43245 = loop_while_tmp_44080; | |
| acc_43246 = acc_tmp_44081; | |
| acc_43247 = acc_tmp_44082; | |
| cur_43248 = cur_tmp_44083; | |
| prev_43249 = prev_tmp_44084; | |
| prev_43250 = prev_tmp_44085; | |
| } | |
| lifted_1_zlzb_arg_43239 = loop_while_43245; | |
| lifted_1_zlzb_arg_43240 = acc_43246; | |
| lifted_1_zlzb_arg_43241 = acc_43247; | |
| lifted_1_zlzb_arg_43242 = cur_43248; | |
| lifted_1_zlzb_arg_43243 = prev_43249; | |
| lifted_1_zlzb_arg_43244 = prev_43250; | |
| bool cond_43378 = sle32(0, lifted_1_zlzb_arg_43240); | |
| int8_t res_43379; | |
| float res_43380; | |
| float res_43381; | |
| float res_43382; | |
| float res_43383; | |
| float res_43384; | |
| float res_43385; | |
| float res_43386; | |
| float res_43387; | |
| float res_43388; | |
| if (cond_43378) { | |
| float res_43392 = | |
| ((float *) L_mem_43784.mem)[lifted_1_zlzb_arg_43240]; | |
| float res_43393 = | |
| ((float *) L_mem_43785.mem)[lifted_1_zlzb_arg_43240]; | |
| float res_43394 = | |
| ((float *) L_mem_43786.mem)[lifted_1_zlzb_arg_43240]; | |
| float res_43395 = | |
| ((float *) L_mem_43787.mem)[lifted_1_zlzb_arg_43240]; | |
| float sphere_hit_arg_43396 = 1.0F + lifted_1_zlzb_arg_43241; | |
| float res_43397 = r_43229 - res_43392; | |
| float res_43398 = r_43230 - res_43393; | |
| float res_43399 = r_43231 - res_43394; | |
| float res_43400 = r_43226 * r_43226; | |
| float res_43401 = r_43227 * r_43227; | |
| float res_43402 = r_43228 * r_43228; | |
| float x_43403 = res_43400 + res_43401; | |
| float res_43404 = res_43402 + x_43403; | |
| float res_43405 = r_43226 * res_43397; | |
| float res_43406 = r_43227 * res_43398; | |
| float res_43407 = r_43228 * res_43399; | |
| float x_43408 = res_43405 + res_43406; | |
| float res_43409 = res_43407 + x_43408; | |
| float res_43410 = res_43397 * res_43397; | |
| float res_43411 = res_43398 * res_43398; | |
| float res_43412 = res_43399 * res_43399; | |
| float x_43413 = res_43410 + res_43411; | |
| float res_43414 = res_43412 + x_43413; | |
| float y_43415 = res_43395 * res_43395; | |
| float c_43416 = res_43414 - y_43415; | |
| float x_43417 = res_43409 * res_43409; | |
| float y_43418 = res_43404 * c_43416; | |
| float discriminant_43419 = x_43417 - y_43418; | |
| bool cond_43420 = discriminant_43419 <= 0.0F; | |
| int8_t res_43421; | |
| float res_43422; | |
| float res_43423; | |
| float res_43424; | |
| float res_43425; | |
| float res_43426; | |
| float res_43427; | |
| float res_43428; | |
| float res_43429; | |
| float res_43430; | |
| if (cond_43420) { | |
| res_43421 = 0; | |
| res_43422 = 0.0F; | |
| res_43423 = 0.0F; | |
| res_43424 = 0.0F; | |
| res_43425 = 0.0F; | |
| res_43426 = 0.0F; | |
| res_43427 = 0.0F; | |
| res_43428 = 0.0F; | |
| res_43429 = 0.0F; | |
| res_43430 = 0.0F; | |
| } else { | |
| float res_43389 = | |
| ((float *) L_mem_43781.mem)[lifted_1_zlzb_arg_43240]; | |
| float res_43390 = | |
| ((float *) L_mem_43782.mem)[lifted_1_zlzb_arg_43240]; | |
| float res_43391 = | |
| ((float *) L_mem_43783.mem)[lifted_1_zlzb_arg_43240]; | |
| float x_43431 = 0.0F - res_43409; | |
| float res_43432; | |
| res_43432 = futrts_sqrt32(discriminant_43419); | |
| float x_43433 = x_43431 - res_43432; | |
| float lifted_0_f_arg_43434 = x_43433 / res_43404; | |
| bool cond_43435 = lifted_0_f_arg_43434 < | |
| sphere_hit_arg_43396; | |
| bool res_43436 = 1.0e-3F < lifted_0_f_arg_43434; | |
| bool x_43437 = cond_43435 && res_43436; | |
| float res_43438; | |
| if (x_43437) { | |
| res_43438 = res_43389; | |
| } else { | |
| res_43438 = 0.0F; | |
| } | |
| float res_43439; | |
| if (x_43437) { | |
| res_43439 = res_43390; | |
| } else { | |
| res_43439 = 0.0F; | |
| } | |
| float res_43440; | |
| if (x_43437) { | |
| res_43440 = res_43391; | |
| } else { | |
| res_43440 = 0.0F; | |
| } | |
| float res_43441; | |
| float res_43442; | |
| float res_43443; | |
| float res_43444; | |
| float res_43445; | |
| float res_43446; | |
| if (x_43437) { | |
| float res_43447 = r_43226 * lifted_0_f_arg_43434; | |
| float res_43448 = r_43227 * lifted_0_f_arg_43434; | |
| float res_43449 = r_43228 * lifted_0_f_arg_43434; | |
| float res_43450 = r_43229 + res_43447; | |
| float res_43451 = r_43230 + res_43448; | |
| float res_43452 = r_43231 + res_43449; | |
| float res_43453 = res_43450 - res_43392; | |
| float res_43454 = res_43451 - res_43393; | |
| float res_43455 = res_43452 - res_43394; | |
| float scale_arg_43456 = 1.0F / res_43395; | |
| float res_43457 = res_43453 * scale_arg_43456; | |
| float res_43458 = res_43454 * scale_arg_43456; | |
| float res_43459 = res_43455 * scale_arg_43456; | |
| res_43441 = res_43457; | |
| res_43442 = res_43458; | |
| res_43443 = res_43459; | |
| res_43444 = res_43450; | |
| res_43445 = res_43451; | |
| res_43446 = res_43452; | |
| } else { | |
| res_43441 = 0.0F; | |
| res_43442 = 0.0F; | |
| res_43443 = 0.0F; | |
| res_43444 = 0.0F; | |
| res_43445 = 0.0F; | |
| res_43446 = 0.0F; | |
| } | |
| int8_t res_43460; | |
| float res_43461; | |
| float res_43462; | |
| float res_43463; | |
| float res_43464; | |
| float res_43465; | |
| float res_43466; | |
| float res_43467; | |
| float res_43468; | |
| float res_43469; | |
| if (x_43437) { | |
| res_43460 = 1; | |
| res_43461 = res_43438; | |
| res_43462 = res_43439; | |
| res_43463 = res_43440; | |
| res_43464 = res_43441; | |
| res_43465 = res_43442; | |
| res_43466 = res_43443; | |
| res_43467 = res_43444; | |
| res_43468 = res_43445; | |
| res_43469 = res_43446; | |
| } else { | |
| float x_43470 = x_43431 + res_43432; | |
| float lifted_0_f_arg_43471 = x_43470 / res_43404; | |
| bool cond_43472 = lifted_0_f_arg_43471 < | |
| sphere_hit_arg_43396; | |
| bool res_43473 = 1.0e-3F < lifted_0_f_arg_43471; | |
| bool x_43474 = cond_43472 && res_43473; | |
| int8_t res_43475 = btoi_bool_i8(x_43474); | |
| float res_43476; | |
| if (x_43474) { | |
| res_43476 = res_43389; | |
| } else { | |
| res_43476 = 0.0F; | |
| } | |
| float res_43477; | |
| if (x_43474) { | |
| res_43477 = res_43390; | |
| } else { | |
| res_43477 = 0.0F; | |
| } | |
| float res_43478; | |
| if (x_43474) { | |
| res_43478 = res_43391; | |
| } else { | |
| res_43478 = 0.0F; | |
| } | |
| float res_43479; | |
| float res_43480; | |
| float res_43481; | |
| float res_43482; | |
| float res_43483; | |
| float res_43484; | |
| if (x_43474) { | |
| float res_43485 = r_43226 * lifted_0_f_arg_43471; | |
| float res_43486 = r_43227 * lifted_0_f_arg_43471; | |
| float res_43487 = r_43228 * lifted_0_f_arg_43471; | |
| float res_43488 = r_43229 + res_43485; | |
| float res_43489 = r_43230 + res_43486; | |
| float res_43490 = r_43231 + res_43487; | |
| float res_43491 = res_43488 - res_43392; | |
| float res_43492 = res_43489 - res_43393; | |
| float res_43493 = res_43490 - res_43394; | |
| float scale_arg_43494 = 1.0F / res_43395; | |
| float res_43495 = res_43491 * scale_arg_43494; | |
| float res_43496 = res_43492 * scale_arg_43494; | |
| float res_43497 = res_43493 * scale_arg_43494; | |
| res_43479 = res_43495; | |
| res_43480 = res_43496; | |
| res_43481 = res_43497; | |
| res_43482 = res_43488; | |
| res_43483 = res_43489; | |
| res_43484 = res_43490; | |
| } else { | |
| res_43479 = 0.0F; | |
| res_43480 = 0.0F; | |
| res_43481 = 0.0F; | |
| res_43482 = 0.0F; | |
| res_43483 = 0.0F; | |
| res_43484 = 0.0F; | |
| } | |
| res_43460 = res_43475; | |
| res_43461 = res_43476; | |
| res_43462 = res_43477; | |
| res_43463 = res_43478; | |
| res_43464 = res_43479; | |
| res_43465 = res_43480; | |
| res_43466 = res_43481; | |
| res_43467 = res_43482; | |
| res_43468 = res_43483; | |
| res_43469 = res_43484; | |
| } | |
| res_43421 = res_43460; | |
| res_43422 = res_43461; | |
| res_43423 = res_43462; | |
| res_43424 = res_43463; | |
| res_43425 = res_43464; | |
| res_43426 = res_43465; | |
| res_43427 = res_43466; | |
| res_43428 = res_43467; | |
| res_43429 = res_43468; | |
| res_43430 = res_43469; | |
| } | |
| res_43379 = res_43421; | |
| res_43380 = res_43422; | |
| res_43381 = res_43423; | |
| res_43382 = res_43424; | |
| res_43383 = res_43425; | |
| res_43384 = res_43426; | |
| res_43385 = res_43427; | |
| res_43386 = res_43428; | |
| res_43387 = res_43429; | |
| res_43388 = res_43430; | |
| } else { | |
| res_43379 = 0; | |
| res_43380 = 0.0F; | |
| res_43381 = 0.0F; | |
| res_43382 = 0.0F; | |
| res_43383 = 0.0F; | |
| res_43384 = 0.0F; | |
| res_43385 = 0.0F; | |
| res_43386 = 0.0F; | |
| res_43387 = 0.0F; | |
| res_43388 = 0.0F; | |
| } | |
| bool match_constr_43498 = 1 == res_43379; | |
| float loopres_43499; | |
| float loopres_43500; | |
| float loopres_43501; | |
| float loopres_43502; | |
| float loopres_43503; | |
| float loopres_43504; | |
| int32_t loopres_43505; | |
| float loopres_43506; | |
| float loopres_43507; | |
| float loopres_43508; | |
| float loopres_43509; | |
| float loopres_43510; | |
| float loopres_43511; | |
| if (match_constr_43498) { | |
| float res_43512 = r_43226 * r_43226; | |
| float res_43513 = r_43227 * r_43227; | |
| float res_43514 = r_43228 * r_43228; | |
| float x_43515 = res_43512 + res_43513; | |
| float res_43516 = res_43514 + x_43515; | |
| float res_43517; | |
| res_43517 = futrts_sqrt32(res_43516); | |
| float scale_arg_43518 = 1.0F / res_43517; | |
| float res_43519 = r_43226 * scale_arg_43518; | |
| float res_43520 = r_43227 * scale_arg_43518; | |
| float res_43521 = r_43228 * scale_arg_43518; | |
| float res_43522 = res_43383 * res_43519; | |
| float res_43523 = res_43384 * res_43520; | |
| float res_43524 = res_43385 * res_43521; | |
| float x_43525 = res_43522 + res_43523; | |
| float res_43526 = res_43524 + x_43525; | |
| float scale_arg_43527 = 2.0F * res_43526; | |
| float res_43528 = res_43383 * scale_arg_43527; | |
| float res_43529 = res_43384 * scale_arg_43527; | |
| float res_43530 = res_43385 * scale_arg_43527; | |
| float res_43531 = res_43519 - res_43528; | |
| float res_43532 = res_43520 - res_43529; | |
| float res_43533 = res_43521 - res_43530; | |
| float res_43534 = res_43383 * res_43531; | |
| float res_43535 = res_43384 * res_43532; | |
| float res_43536 = res_43385 * res_43533; | |
| float x_43537 = res_43534 + res_43535; | |
| float res_43538 = res_43536 + x_43537; | |
| bool cond_43539 = 0.0F < res_43538; | |
| float res_43540; | |
| if (cond_43539) { | |
| res_43540 = res_43531; | |
| } else { | |
| res_43540 = 0.0F; | |
| } | |
| float res_43541; | |
| if (cond_43539) { | |
| res_43541 = res_43532; | |
| } else { | |
| res_43541 = 0.0F; | |
| } | |
| float res_43542; | |
| if (cond_43539) { | |
| res_43542 = res_43533; | |
| } else { | |
| res_43542 = 0.0F; | |
| } | |
| float res_43543; | |
| if (cond_43539) { | |
| res_43543 = res_43386; | |
| } else { | |
| res_43543 = 0.0F; | |
| } | |
| float res_43544; | |
| if (cond_43539) { | |
| res_43544 = res_43387; | |
| } else { | |
| res_43544 = 0.0F; | |
| } | |
| float res_43545; | |
| if (cond_43539) { | |
| res_43545 = res_43388; | |
| } else { | |
| res_43545 = 0.0F; | |
| } | |
| float res_43546; | |
| if (cond_43539) { | |
| res_43546 = res_43380; | |
| } else { | |
| res_43546 = 0.0F; | |
| } | |
| float res_43547; | |
| if (cond_43539) { | |
| res_43547 = res_43381; | |
| } else { | |
| res_43547 = 0.0F; | |
| } | |
| float res_43548; | |
| if (cond_43539) { | |
| res_43548 = res_43382; | |
| } else { | |
| res_43548 = 0.0F; | |
| } | |
| float res_43549; | |
| if (cond_43539) { | |
| res_43549 = res_43540; | |
| } else { | |
| res_43549 = r_43226; | |
| } | |
| float res_43550; | |
| if (cond_43539) { | |
| res_43550 = res_43541; | |
| } else { | |
| res_43550 = r_43227; | |
| } | |
| float res_43551; | |
| if (cond_43539) { | |
| res_43551 = res_43542; | |
| } else { | |
| res_43551 = r_43228; | |
| } | |
| float res_43552; | |
| if (cond_43539) { | |
| res_43552 = res_43543; | |
| } else { | |
| res_43552 = r_43229; | |
| } | |
| float res_43553; | |
| if (cond_43539) { | |
| res_43553 = res_43544; | |
| } else { | |
| res_43553 = r_43230; | |
| } | |
| float res_43554; | |
| if (cond_43539) { | |
| res_43554 = res_43545; | |
| } else { | |
| res_43554 = r_43231; | |
| } | |
| int32_t res_43555; | |
| float res_43556; | |
| float res_43557; | |
| float res_43558; | |
| float res_43559; | |
| float res_43560; | |
| float res_43561; | |
| if (cond_43539) { | |
| int32_t res_43562 = add32(1, depth_43232); | |
| float res_43563 = light_43233 * res_43546; | |
| float res_43564 = light_43234 * res_43547; | |
| float res_43565 = light_43235 * res_43548; | |
| float res_43566 = light_43233 * colour_43236; | |
| float res_43567 = light_43234 * colour_43237; | |
| float res_43568 = light_43235 * colour_43238; | |
| res_43555 = res_43562; | |
| res_43556 = res_43563; | |
| res_43557 = res_43564; | |
| res_43558 = res_43565; | |
| res_43559 = res_43566; | |
| res_43560 = res_43567; | |
| res_43561 = res_43568; | |
| } else { | |
| float res_43569 = light_43233 * colour_43236; | |
| float res_43570 = light_43234 * colour_43237; | |
| float res_43571 = light_43235 * colour_43238; | |
| res_43555 = 50; | |
| res_43556 = light_43233; | |
| res_43557 = light_43234; | |
| res_43558 = light_43235; | |
| res_43559 = res_43569; | |
| res_43560 = res_43570; | |
| res_43561 = res_43571; | |
| } | |
| loopres_43499 = res_43549; | |
| loopres_43500 = res_43550; | |
| loopres_43501 = res_43551; | |
| loopres_43502 = res_43552; | |
| loopres_43503 = res_43553; | |
| loopres_43504 = res_43554; | |
| loopres_43505 = res_43555; | |
| loopres_43506 = res_43556; | |
| loopres_43507 = res_43557; | |
| loopres_43508 = res_43558; | |
| loopres_43509 = res_43559; | |
| loopres_43510 = res_43560; | |
| loopres_43511 = res_43561; | |
| } else { | |
| float res_43572 = r_43226 * r_43226; | |
| float res_43573 = r_43227 * r_43227; | |
| float res_43574 = r_43228 * r_43228; | |
| float x_43575 = res_43572 + res_43573; | |
| float res_43576 = res_43574 + x_43575; | |
| float res_43577; | |
| res_43577 = futrts_sqrt32(res_43576); | |
| float scale_arg_43578 = 1.0F / res_43577; | |
| float res_43579 = r_43227 * scale_arg_43578; | |
| float y_43580 = 1.0F + res_43579; | |
| float t_43581 = 0.5F * y_43580; | |
| float res_43582 = 0.5F * t_43581; | |
| float res_43583 = 0.7F * t_43581; | |
| float scale_arg_43584 = 1.0F - t_43581; | |
| float res_43585 = res_43582 + scale_arg_43584; | |
| float res_43586 = res_43583 + scale_arg_43584; | |
| float res_43587 = t_43581 + scale_arg_43584; | |
| float res_43588 = light_43233 * res_43585; | |
| float res_43589 = light_43234 * res_43586; | |
| float res_43590 = light_43235 * res_43587; | |
| loopres_43499 = r_43226; | |
| loopres_43500 = r_43227; | |
| loopres_43501 = r_43228; | |
| loopres_43502 = r_43229; | |
| loopres_43503 = r_43230; | |
| loopres_43504 = r_43231; | |
| loopres_43505 = 50; | |
| loopres_43506 = light_43233; | |
| loopres_43507 = light_43234; | |
| loopres_43508 = light_43235; | |
| loopres_43509 = res_43588; | |
| loopres_43510 = res_43589; | |
| loopres_43511 = res_43590; | |
| } | |
| bool loop_cond_43591 = slt32(loopres_43505, 50); | |
| bool loop_while_tmp_44066 = loop_cond_43591; | |
| float r_tmp_44067 = loopres_43499; | |
| float r_tmp_44068 = loopres_43500; | |
| float r_tmp_44069 = loopres_43501; | |
| float r_tmp_44070 = loopres_43502; | |
| float r_tmp_44071 = loopres_43503; | |
| float r_tmp_44072 = loopres_43504; | |
| int32_t depth_tmp_44073 = loopres_43505; | |
| float light_tmp_44074 = loopres_43506; | |
| float light_tmp_44075 = loopres_43507; | |
| float light_tmp_44076 = loopres_43508; | |
| float colour_tmp_44077 = loopres_43509; | |
| float colour_tmp_44078 = loopres_43510; | |
| float colour_tmp_44079; | |
| colour_tmp_44079 = loopres_43511; | |
| loop_while_43225 = loop_while_tmp_44066; | |
| r_43226 = r_tmp_44067; | |
| r_43227 = r_tmp_44068; | |
| r_43228 = r_tmp_44069; | |
| r_43229 = r_tmp_44070; | |
| r_43230 = r_tmp_44071; | |
| r_43231 = r_tmp_44072; | |
| depth_43232 = depth_tmp_44073; | |
| light_43233 = light_tmp_44074; | |
| light_43234 = light_tmp_44075; | |
| light_43235 = light_tmp_44076; | |
| colour_43236 = colour_tmp_44077; | |
| colour_43237 = colour_tmp_44078; | |
| colour_43238 = colour_tmp_44079; | |
| } | |
| lifted_1_zlzb_arg_43211 = loop_while_43225; | |
| lifted_1_zlzb_arg_43212 = r_43226; | |
| lifted_1_zlzb_arg_43213 = r_43227; | |
| lifted_1_zlzb_arg_43214 = r_43228; | |
| lifted_1_zlzb_arg_43215 = r_43229; | |
| lifted_1_zlzb_arg_43216 = r_43230; | |
| lifted_1_zlzb_arg_43217 = r_43231; | |
| lifted_1_zlzb_arg_43218 = depth_43232; | |
| lifted_1_zlzb_arg_43219 = light_43233; | |
| lifted_1_zlzb_arg_43220 = light_43234; | |
| lifted_1_zlzb_arg_43221 = light_43235; | |
| lifted_1_zlzb_arg_43222 = colour_43236; | |
| lifted_1_zlzb_arg_43223 = colour_43237; | |
| lifted_1_zlzb_arg_43224 = colour_43238; | |
| float f32_arg_43592 = 255.99F * lifted_1_zlzb_arg_43222; | |
| int32_t res_43593 = fptosi_f32_i32(f32_arg_43592); | |
| float f32_arg_43594 = 255.99F * lifted_1_zlzb_arg_43223; | |
| int32_t res_43595 = fptosi_f32_i32(f32_arg_43594); | |
| float f32_arg_43596 = 255.99F * lifted_1_zlzb_arg_43224; | |
| int32_t res_43597 = fptosi_f32_i32(f32_arg_43596); | |
| int32_t x_43598 = res_43593 << 16; | |
| int32_t y_43599 = res_43595 << 8; | |
| int32_t x_43600 = x_43598 | y_43599; | |
| int32_t res_43601 = res_43597 | x_43600; | |
| ((int32_t *) mem_43792.mem)[add32(mul32(gtid_43178, w_41994), | |
| gtid_43179)] = res_43601; | |
| } | |
| ; | |
| if (ctx->profiling) { | |
| futhark_mc_parloop_44110_end = get_wall_time(); | |
| uint64_t elapsed = futhark_mc_parloop_44110_end - | |
| futhark_mc_parloop_44110_start; | |
| CHECK_ERR(pthread_mutex_lock(&ctx->profile_mutex), | |
| "pthread_mutex_lock"); | |
| ctx->futhark_mc_parloop_44110_runs++; | |
| ctx->futhark_mc_parloop_44110_total_runtime += elapsed; | |
| CHECK_ERR(pthread_mutex_unlock(&ctx->profile_mutex), | |
| "pthread_mutex_unlock"); | |
| } | |
| return 0; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment