module { handshake.func @mul_maximum(%arg0: memref<4x6x1xf32>, %arg1: memref<1x1x3xf32>, %arg2: memref<3xf32>, %arg3: memref<1x1x3xf32>, %arg4: none, ...) -> (memref<4x6x3xf32>, none) { %0 = "handshake.memory"(%1038#0, %1038#1, %1038#2, %1038#3) {id = 14 : i32, ld_count = 0 : i32, lsq = false, st_count = 1 : i32, type = memref<4x6x3xf32>} : (f32, index, index, index) -> none %1:3 = "handshake.memory"(%929, %928, %927, %926, %addressResults_537#0, %addressResults_537#1, %addressResults_537#2) {id = 13 : i32, ld_count = 1 : i32, lsq = false, st_count = 1 : i32, type = memref<4x6x3xf32>} : (f32, index, index, index, index, index, index) -> (f32, none, none) %2 = "handshake.buffer"(%1#2) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %3 = "handshake.buffer"(%1#0) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %4:2 = "handshake.memory"(%addressResults_477#0, %addressResults_477#1, %addressResults_477#2) {id = 12 : i32, ld_count = 1 : i32, lsq = false, st_count = 0 : i32, type = memref<1x1x3xf32>} : (index, index, index) -> (f32, none) %5 = "handshake.buffer"(%4#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %6 = "handshake.buffer"(%4#0) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %7:3 = "handshake.memory"(%835#0, %835#1, %835#2, %835#3, %1034, %1033, %1032) {id = 11 : i32, ld_count = 1 : i32, lsq = false, st_count = 1 : i32, type = memref<4x6x3xf32>} : (f32, index, index, index, index, index, index) -> (f32, none, none) %8:3 = "handshake.memory"(%736#0, %736#1, %736#2, %736#3, %834, %833, %832) {id = 10 : i32, ld_count = 1 : i32, lsq = false, st_count = 1 : i32, type = memref<4x6x3xf32>} : (f32, index, index, index, index, index, index) -> (f32, none, none) %9:3 = "handshake.memory"(%623#0, %623#1, %623#2, %623#3, %727, %726, %725) {id = 9 : i32, ld_count = 1 : i32, lsq = false, st_count = 1 : i32, type = memref<4x6x3xi1>} : (i1, index, index, index, index, index, index) -> (i1, none, none) %10:5 = "handshake.memory"(%518, %517, %516, %515, %620, %619, %618, %addressResults_371#0, %addressResults_371#1, %addressResults_371#2) {id = 8 : i32, ld_count = 2 : i32, lsq = false, st_count = 1 : i32, type = memref<4x6x3xf32>} : (f32, index, index, index, index, index, index, index, index, index) -> (f32, f32, none, none, none) %11 = "handshake.buffer"(%10#4) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %12 = "handshake.buffer"(%10#1) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %13:2 = "handshake.memory"(%addressResults_262) {id = 7 : i32, ld_count = 1 : i32, lsq = false, st_count = 0 : i32, type = memref<3xf32>} : (index) -> (f32, none) %14 = "handshake.buffer"(%13#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %15 = "handshake.buffer"(%13#0) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %16:5 = "handshake.memory"(%426#0, %426#1, %426#2, %426#3, %616, %615, %614, %731, %730, %729) {id = 6 : i32, ld_count = 2 : i32, lsq = false, st_count = 1 : i32, type = memref<4x6x3xf32>} : (f32, index, index, index, index, index, index, index, index, index) -> (f32, f32, none, none, none) %17:3 = "handshake.memory"(%327#0, %327#1, %327#2, %327#3, %425, %424, %423) {id = 5 : i32, ld_count = 1 : i32, lsq = false, st_count = 1 : i32, type = memref<4x6x3xf32>} : (f32, index, index, index, index, index, index) -> (f32, none, none) %18:3 = "handshake.memory"(%224, %223, %222, %221, %addressResults_156#0, %addressResults_156#1, %addressResults_156#2) {id = 4 : i32, ld_count = 1 : i32, lsq = false, st_count = 1 : i32, type = memref<4x6x3xf32>} : (f32, index, index, index, index, index, index) -> (f32, none, none) %19 = "handshake.buffer"(%18#2) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %20 = "handshake.buffer"(%18#0) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %21:2 = "handshake.memory"(%addressResults_102#0, %addressResults_102#1, %addressResults_102#2) {id = 3 : i32, ld_count = 1 : i32, lsq = false, st_count = 0 : i32, type = memref<1x1x3xf32>} : (index, index, index) -> (f32, none) %22 = "handshake.buffer"(%21#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %23 = "handshake.buffer"(%21#0) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %24:3 = "handshake.memory"(%129#0, %129#1, %129#2, %129#3, %323, %322, %321) {id = 2 : i32, ld_count = 1 : i32, lsq = false, st_count = 1 : i32, type = memref<4x6x3xf32>} : (f32, index, index, index, index, index, index) -> (f32, none, none) %25:2 = "handshake.memory"(%addressResults#0, %addressResults#1, %addressResults#2) {id = 1 : i32, ld_count = 1 : i32, lsq = false, st_count = 0 : i32, type = memref<4x6x1xf32>} : (index, index, index) -> (f32, none) %26 = "handshake.buffer"(%25#0) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %27:3 = "handshake.memory"(%46#0, %46#1, %50, %49, %52#0, %52#1) {id = 0 : i32, ld_count = 0 : i32, lsq = false, st_count = 3 : i32, type = memref<3xindex>} : (index, index, index, index, index, index) -> (none, none, none) %28:2 = "handshake.fork"(%27#1) {control = false} : (none) -> (none, none) %29 = "handshake.buffer"(%28#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %30:3 = "handshake.fork"(%27#0) {control = false} : (none) -> (none, none, none) %31 = "handshake.buffer"(%30#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none "handshake.sink"(%arg0) : (memref<4x6x1xf32>) -> () "handshake.sink"(%arg1) : (memref<1x1x3xf32>) -> () "handshake.sink"(%arg2) : (memref<3xf32>) -> () "handshake.sink"(%arg3) : (memref<1x1x3xf32>) -> () %32:4 = "handshake.fork"(%arg4) {control = true} : (none) -> (none, none, none, none) %33:7 = "handshake.fork"(%32#3) {control = true} : (none) -> (none, none, none, none, none, none, none) %34 = "handshake.join"(%33#6, %30#2, %28#1, %27#2) {control = true} : (none, none, none, none) -> none %35 = "handshake.constant"(%33#5) {value = 2 : index} : (none) -> index %36 = "handshake.constant"(%33#4) {value = 4 : index} : (none) -> index %37:2 = "handshake.fork"(%36) {control = false} : (index) -> (index, index) %38 = "handshake.constant"(%33#3) {value = 6 : index} : (none) -> index %39:2 = "handshake.fork"(%38) {control = false} : (index) -> (index, index) %40 = "handshake.constant"(%33#2) {value = 3 : index} : (none) -> index %41:2 = "handshake.fork"(%40) {control = false} : (index) -> (index, index) %42 = "handshake.constant"(%33#1) {value = 0 : index} : (none) -> index %43:3 = "handshake.fork"(%42) {control = false} : (index) -> (index, index, index) %44 = "handshake.constant"(%33#0) {value = 1 : index} : (none) -> index %45:2 = "handshake.fork"(%44) {control = false} : (index) -> (index, index) %46:2 = "handshake.store"(%37#0, %43#0, %32#2) : (index, index, none) -> (index, index) %47 = "handshake.join"(%32#1, %30#1) {control = true} : (none, none) -> none %48:2 = "handshake.store"(%39#0, %45#0, %47) : (index, index, none) -> (index, index) %49 = "handshake.buffer"(%48#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %50 = "handshake.buffer"(%48#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %51 = "handshake.join"(%32#0, %31, %29) {control = true} : (none, none, none) -> none %52:2 = "handshake.store"(%41#0, %35, %51) : (index, index, none) -> (index, index) %53 = "handshake.mux"(%62#5, %falseResult_27, %37#1) : (index, index, index) -> index %54:2 = "handshake.fork"(%53) {control = false} : (index) -> (index, index) %55 = "handshake.mux"(%62#4, %falseResult_17, %43#2) : (index, index, index) -> index %56:2 = "handshake.fork"(%55) {control = false} : (index) -> (index, index) %57 = "handshake.mux"(%62#3, %falseResult_15, %39#1) : (index, index, index) -> index %58 = "handshake.mux"(%62#2, %falseResult_21, %41#1) : (index, index, index) -> index %59 = "handshake.mux"(%62#1, %137#0, %45#1) : (index, index, index) -> index %60 = "handshake.buffer"(%59) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %61:2 = "handshake.control_merge"(%139, %34) {control = true} : (none, none) -> (none, index) %62:6 = "handshake.fork"(%61#1) {control = false} : (index) -> (index, index, index, index, index, index) %63 = "handshake.mux"(%62#0, %140, %43#1) : (index, index, index) -> index %64:2 = "handshake.fork"(%63) {control = false} : (index) -> (index, index) %65 = "handshake.buffer"(%64#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %66 = "handshake.buffer"(%64#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %67 = cmpi "slt", %65, %54#1 : index %68:8 = "handshake.fork"(%67) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1) %69 = "handshake.buffer"(%68#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult, %falseResult = "handshake.conditional_branch"(%68#7, %54#0) {control = false} : (i1, index) -> (index, index) %70 = "handshake.buffer"(%trueResult) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_0, %falseResult_1 = "handshake.conditional_branch"(%68#6, %56#1) {control = false} : (i1, index) -> (index, index) %71 = "handshake.buffer"(%trueResult_0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_2, %falseResult_3 = "handshake.conditional_branch"(%68#5, %56#0) {control = false} : (i1, index) -> (index, index) %72 = "handshake.buffer"(%trueResult_2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_3) : (index) -> () %trueResult_4, %falseResult_5 = "handshake.conditional_branch"(%68#4, %57) {control = false} : (i1, index) -> (index, index) %trueResult_6, %falseResult_7 = "handshake.conditional_branch"(%68#3, %58) {control = false} : (i1, index) -> (index, index) %trueResult_8, %falseResult_9 = "handshake.conditional_branch"(%68#2, %60) {control = false} : (i1, index) -> (index, index) %trueResult_10, %falseResult_11 = "handshake.conditional_branch"(%69, %61#0) {control = true} : (i1, none) -> (none, none) %trueResult_12, %falseResult_13 = "handshake.conditional_branch"(%68#0, %66) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_13) : (index) -> () %73 = "handshake.mux"(%86#6, %falseResult_43, %trueResult_4) : (index, index, index) -> index %74:2 = "handshake.fork"(%73) {control = false} : (index) -> (index, index) %75 = "handshake.buffer"(%74#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %76 = "handshake.buffer"(%74#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %77 = "handshake.mux"(%86#5, %falseResult_39, %72) : (index, index, index) -> index %78:2 = "handshake.fork"(%77) {control = false} : (index) -> (index, index) %79 = "handshake.buffer"(%78#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %80 = "handshake.mux"(%86#4, %falseResult_33, %trueResult_6) : (index, index, index) -> index %81 = "handshake.buffer"(%80) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %82 = "handshake.mux"(%86#3, %112, %trueResult_12) : (index, index, index) -> index %83 = "handshake.mux"(%86#2, %133, %trueResult_8) : (index, index, index) -> index %84 = "handshake.mux"(%86#1, %falseResult_45, %70) : (index, index, index) -> index %85:2 = "handshake.control_merge"(%135, %trueResult_10) {control = true} : (none, none) -> (none, index) %86:7 = "handshake.fork"(%85#1) {control = false} : (index) -> (index, index, index, index, index, index, index) %87 = "handshake.mux"(%86#0, %136, %71) : (index, index, index) -> index %88:2 = "handshake.fork"(%87) {control = false} : (index) -> (index, index) %89 = cmpi "slt", %88#1, %75 : index %90:9 = "handshake.fork"(%89) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %91 = "handshake.buffer"(%90#3) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %92 = "handshake.buffer"(%90#2) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %93 = "handshake.buffer"(%90#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_14, %falseResult_15 = "handshake.conditional_branch"(%90#8, %76) {control = false} : (i1, index) -> (index, index) %trueResult_16, %falseResult_17 = "handshake.conditional_branch"(%90#7, %78#1) {control = false} : (i1, index) -> (index, index) %94 = "handshake.buffer"(%trueResult_16) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_18, %falseResult_19 = "handshake.conditional_branch"(%90#6, %79) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_19) : (index) -> () %trueResult_20, %falseResult_21 = "handshake.conditional_branch"(%90#5, %81) {control = false} : (i1, index) -> (index, index) %trueResult_22, %falseResult_23 = "handshake.conditional_branch"(%90#4, %82) {control = false} : (i1, index) -> (index, index) %trueResult_24, %falseResult_25 = "handshake.conditional_branch"(%91, %83) {control = false} : (i1, index) -> (index, index) %trueResult_26, %falseResult_27 = "handshake.conditional_branch"(%92, %84) {control = false} : (i1, index) -> (index, index) %trueResult_28, %falseResult_29 = "handshake.conditional_branch"(%93, %85#0) {control = true} : (i1, none) -> (none, none) %trueResult_30, %falseResult_31 = "handshake.conditional_branch"(%90#0, %88#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_31) : (index) -> () %95 = "handshake.mux"(%106#7, %111, %trueResult_20) : (index, index, index) -> index %96:2 = "handshake.fork"(%95) {control = false} : (index) -> (index, index) %97 = "handshake.buffer"(%96#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %98 = "handshake.mux"(%106#6, %116, %trueResult_22) : (index, index, index) -> index %99 = "handshake.mux"(%106#5, %118, %trueResult_30) : (index, index, index) -> index %100 = "handshake.mux"(%106#4, %120, %trueResult_18) : (index, index, index) -> index %101 = "handshake.mux"(%106#3, %123, %trueResult_24) : (index, index, index) -> index %102 = "handshake.mux"(%106#2, %114, %trueResult_14) : (index, index, index) -> index %103 = "handshake.mux"(%106#1, %trueResult_44, %trueResult_26) : (index, index, index) -> index %104 = "handshake.buffer"(%103) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %105:2 = "handshake.control_merge"(%127, %trueResult_28) {control = true} : (none, none) -> (none, index) %106:8 = "handshake.fork"(%105#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index) %107 = "handshake.mux"(%106#0, %131, %94) : (index, index, index) -> index %108:2 = "handshake.fork"(%107) {control = false} : (index) -> (index, index) %109 = cmpi "slt", %108#1, %97 : index %110:9 = "handshake.fork"(%109) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %trueResult_32, %falseResult_33 = "handshake.conditional_branch"(%110#8, %96#0) {control = false} : (i1, index) -> (index, index) %111 = "handshake.buffer"(%trueResult_32) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_34, %falseResult_35 = "handshake.conditional_branch"(%110#7, %98) {control = false} : (i1, index) -> (index, index) %112 = "handshake.buffer"(%falseResult_35) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_36, %falseResult_37 = "handshake.conditional_branch"(%110#6, %99) {control = false} : (i1, index) -> (index, index) %113 = "handshake.buffer"(%falseResult_37) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_38, %falseResult_39 = "handshake.conditional_branch"(%110#5, %100) {control = false} : (i1, index) -> (index, index) %trueResult_40, %falseResult_41 = "handshake.conditional_branch"(%110#4, %101) {control = false} : (i1, index) -> (index, index) %trueResult_42, %falseResult_43 = "handshake.conditional_branch"(%110#3, %102) {control = false} : (i1, index) -> (index, index) %114 = "handshake.buffer"(%trueResult_42) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_44, %falseResult_45 = "handshake.conditional_branch"(%110#2, %104) {control = false} : (i1, index) -> (index, index) %trueResult_46, %falseResult_47 = "handshake.conditional_branch"(%110#1, %105#0) {control = true} : (i1, none) -> (none, none) %trueResult_48, %falseResult_49 = "handshake.conditional_branch"(%110#0, %108#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_49) : (index) -> () %115:3 = "handshake.fork"(%trueResult_34) {control = false} : (index) -> (index, index, index) %116 = "handshake.buffer"(%115#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %117:3 = "handshake.fork"(%trueResult_36) {control = false} : (index) -> (index, index, index) %118 = "handshake.buffer"(%117#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %119:2 = "handshake.fork"(%trueResult_38) {control = false} : (index) -> (index, index) %120 = "handshake.buffer"(%119#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %121:2 = "handshake.fork"(%trueResult_48) {control = false} : (index) -> (index, index) %122:2 = "handshake.fork"(%trueResult_40) {control = false} : (index) -> (index, index) %123 = "handshake.buffer"(%122#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %124:2 = "handshake.control_merge"(%trueResult_46) {control = true} : (none) -> (none, index) %125:3 = "handshake.fork"(%124#0) {control = true} : (none) -> (none, none, none) %126 = "handshake.join"(%125#1, %25#1, %24#1) {control = true} : (none, none, none) -> none %127 = "handshake.buffer"(%126) {control = true, sequential = true, slots = 2 : i32} : (none) -> none "handshake.sink"(%124#1) : (index) -> () %128, %addressResults:3 = "handshake.load"(%115#2, %117#2, %119#1, %26, %125#2) : (index, index, index, f32, none) -> (f32, index, index, index) %129:4 = "handshake.store"(%128, %115#1, %117#1, %121#1, %125#0) : (f32, index, index, index, none) -> (f32, index, index, index) %130 = addi %121#0, %122#1 : index %131 = "handshake.buffer"(%130) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %132:2 = "handshake.fork"(%falseResult_41) {control = false} : (index) -> (index, index) %133 = "handshake.buffer"(%132#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %134:2 = "handshake.control_merge"(%falseResult_47) {control = true} : (none) -> (none, index) %135 = "handshake.buffer"(%134#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none "handshake.sink"(%134#1) : (index) -> () %136 = addi %113, %132#1 : index %137:2 = "handshake.fork"(%falseResult_25) {control = false} : (index) -> (index, index) %138:2 = "handshake.control_merge"(%falseResult_29) {control = true} : (none) -> (none, index) %139 = "handshake.buffer"(%138#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none "handshake.sink"(%138#1) : (index) -> () %140 = addi %falseResult_23, %137#1 : index %141:2 = "handshake.fork"(%falseResult_1) {control = false} : (index) -> (index, index) %142:2 = "handshake.control_merge"(%falseResult_11) {control = true} : (none) -> (none, index) "handshake.sink"(%142#1) : (index) -> () %143 = "handshake.mux"(%153#5, %falseResult_79, %falseResult) : (index, index, index) -> index %144:2 = "handshake.fork"(%143) {control = false} : (index) -> (index, index) %145 = "handshake.buffer"(%144#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %146 = "handshake.mux"(%153#4, %falseResult_69, %141#0) : (index, index, index) -> index %147:2 = "handshake.fork"(%146) {control = false} : (index) -> (index, index) %148 = "handshake.mux"(%153#3, %falseResult_67, %falseResult_5) : (index, index, index) -> index %149 = "handshake.mux"(%153#2, %falseResult_73, %falseResult_7) : (index, index, index) -> index %150 = "handshake.mux"(%153#1, %230#0, %falseResult_9) : (index, index, index) -> index %151 = "handshake.buffer"(%150) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %152:2 = "handshake.control_merge"(%231#0, %142#0) {control = true} : (none, none) -> (none, index) %153:6 = "handshake.fork"(%152#1) {control = false} : (index) -> (index, index, index, index, index, index) %154 = "handshake.mux"(%153#0, %233, %141#1) : (index, index, index) -> index %155:2 = "handshake.fork"(%154) {control = false} : (index) -> (index, index) %156 = cmpi "slt", %155#1, %145 : index %157:8 = "handshake.fork"(%156) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1) %trueResult_50, %falseResult_51 = "handshake.conditional_branch"(%157#7, %144#0) {control = false} : (i1, index) -> (index, index) %158 = "handshake.buffer"(%trueResult_50) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_52, %falseResult_53 = "handshake.conditional_branch"(%157#6, %147#1) {control = false} : (i1, index) -> (index, index) %trueResult_54, %falseResult_55 = "handshake.conditional_branch"(%157#5, %147#0) {control = false} : (i1, index) -> (index, index) %159 = "handshake.buffer"(%trueResult_54) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_55) : (index) -> () %trueResult_56, %falseResult_57 = "handshake.conditional_branch"(%157#4, %148) {control = false} : (i1, index) -> (index, index) %160 = "handshake.buffer"(%trueResult_56) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_58, %falseResult_59 = "handshake.conditional_branch"(%157#3, %149) {control = false} : (i1, index) -> (index, index) %trueResult_60, %falseResult_61 = "handshake.conditional_branch"(%157#2, %151) {control = false} : (i1, index) -> (index, index) %trueResult_62, %falseResult_63 = "handshake.conditional_branch"(%157#1, %152#0) {control = true} : (i1, none) -> (none, none) %161 = "handshake.buffer"(%trueResult_62) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_64, %falseResult_65 = "handshake.conditional_branch"(%157#0, %155#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_65) : (index) -> () %162 = "handshake.mux"(%173#6, %falseResult_95, %160) : (index, index, index) -> index %163:2 = "handshake.fork"(%162) {control = false} : (index) -> (index, index) %164 = "handshake.mux"(%173#5, %falseResult_87, %159) : (index, index, index) -> index %165:2 = "handshake.fork"(%164) {control = false} : (index) -> (index, index) %166 = "handshake.buffer"(%165#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %167 = "handshake.mux"(%173#4, %falseResult_85, %trueResult_58) : (index, index, index) -> index %168 = "handshake.buffer"(%167) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %169 = "handshake.mux"(%173#3, %204, %trueResult_64) : (index, index, index) -> index %170 = "handshake.mux"(%173#2, %227, %trueResult_60) : (index, index, index) -> index %171 = "handshake.mux"(%173#1, %falseResult_97, %158) : (index, index, index) -> index %172:2 = "handshake.control_merge"(%228#0, %161) {control = true} : (none, none) -> (none, index) %173:7 = "handshake.fork"(%172#1) {control = false} : (index) -> (index, index, index, index, index, index, index) %174 = "handshake.mux"(%173#0, %229, %trueResult_52) : (index, index, index) -> index %175:2 = "handshake.fork"(%174) {control = false} : (index) -> (index, index) %176 = "handshake.buffer"(%175#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %177 = "handshake.buffer"(%175#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %178 = cmpi "slt", %176, %163#1 : index %179:9 = "handshake.fork"(%178) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %180 = "handshake.buffer"(%179#3) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %181 = "handshake.buffer"(%179#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_66, %falseResult_67 = "handshake.conditional_branch"(%179#8, %163#0) {control = false} : (i1, index) -> (index, index) %trueResult_68, %falseResult_69 = "handshake.conditional_branch"(%179#7, %165#1) {control = false} : (i1, index) -> (index, index) %182 = "handshake.buffer"(%trueResult_68) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_70, %falseResult_71 = "handshake.conditional_branch"(%179#6, %166) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_71) : (index) -> () %trueResult_72, %falseResult_73 = "handshake.conditional_branch"(%179#5, %168) {control = false} : (i1, index) -> (index, index) %trueResult_74, %falseResult_75 = "handshake.conditional_branch"(%179#4, %169) {control = false} : (i1, index) -> (index, index) %trueResult_76, %falseResult_77 = "handshake.conditional_branch"(%180, %170) {control = false} : (i1, index) -> (index, index) %trueResult_78, %falseResult_79 = "handshake.conditional_branch"(%179#2, %171) {control = false} : (i1, index) -> (index, index) %trueResult_80, %falseResult_81 = "handshake.conditional_branch"(%181, %172#0) {control = true} : (i1, none) -> (none, none) %183 = "handshake.buffer"(%trueResult_80) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_82, %falseResult_83 = "handshake.conditional_branch"(%179#0, %177) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_83) : (index) -> () %184 = "handshake.mux"(%196#7, %203, %trueResult_72) : (index, index, index) -> index %185:2 = "handshake.fork"(%184) {control = false} : (index) -> (index, index) %186 = "handshake.buffer"(%185#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %187 = "handshake.mux"(%196#6, %206, %trueResult_70) : (index, index, index) -> index %188 = "handshake.mux"(%196#5, %210, %trueResult_74) : (index, index, index) -> index %189 = "handshake.mux"(%196#4, %212, %trueResult_82) : (index, index, index) -> index %190 = "handshake.mux"(%196#3, %214, %trueResult_76) : (index, index, index) -> index %191 = "handshake.mux"(%196#2, %trueResult_94, %trueResult_66) : (index, index, index) -> index %192 = "handshake.buffer"(%191) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %193 = "handshake.mux"(%196#1, %trueResult_96, %trueResult_78) : (index, index, index) -> index %194 = "handshake.buffer"(%193) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %195:2 = "handshake.control_merge"(%218, %183) {control = true} : (none, none) -> (none, index) %196:8 = "handshake.fork"(%195#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index) %197 = "handshake.mux"(%196#0, %225, %182) : (index, index, index) -> index %198:2 = "handshake.fork"(%197) {control = false} : (index) -> (index, index) %199 = cmpi "slt", %198#1, %186 : index %200:9 = "handshake.fork"(%199) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %201 = "handshake.buffer"(%200#4) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %202 = "handshake.buffer"(%200#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_84, %falseResult_85 = "handshake.conditional_branch"(%200#8, %185#0) {control = false} : (i1, index) -> (index, index) %203 = "handshake.buffer"(%trueResult_84) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_86, %falseResult_87 = "handshake.conditional_branch"(%200#7, %187) {control = false} : (i1, index) -> (index, index) %trueResult_88, %falseResult_89 = "handshake.conditional_branch"(%200#6, %188) {control = false} : (i1, index) -> (index, index) %204 = "handshake.buffer"(%falseResult_89) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_90, %falseResult_91 = "handshake.conditional_branch"(%200#5, %189) {control = false} : (i1, index) -> (index, index) %trueResult_92, %falseResult_93 = "handshake.conditional_branch"(%201, %190) {control = false} : (i1, index) -> (index, index) %trueResult_94, %falseResult_95 = "handshake.conditional_branch"(%200#3, %192) {control = false} : (i1, index) -> (index, index) %trueResult_96, %falseResult_97 = "handshake.conditional_branch"(%200#2, %194) {control = false} : (i1, index) -> (index, index) %trueResult_98, %falseResult_99 = "handshake.conditional_branch"(%202, %195#0) {control = true} : (i1, none) -> (none, none) %trueResult_100, %falseResult_101 = "handshake.conditional_branch"(%200#0, %198#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_101) : (index) -> () %205:3 = "handshake.fork"(%trueResult_86) {control = false} : (index) -> (index, index, index) %206 = "handshake.buffer"(%205#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %207:3 = "handshake.fork"(%trueResult_100) {control = false} : (index) -> (index, index, index) %208 = "handshake.buffer"(%207#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %209:2 = "handshake.fork"(%trueResult_88) {control = false} : (index) -> (index, index) %210 = "handshake.buffer"(%209#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %211:2 = "handshake.fork"(%trueResult_90) {control = false} : (index) -> (index, index) %212 = "handshake.buffer"(%211#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %213:2 = "handshake.fork"(%trueResult_92) {control = false} : (index) -> (index, index) %214 = "handshake.buffer"(%213#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %215:2 = "handshake.control_merge"(%trueResult_98) {control = true} : (none) -> (none, index) %216:3 = "handshake.fork"(%215#0) {control = true} : (none) -> (none, none, none) %217 = "handshake.buffer"(%216#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %218 = "handshake.join"(%217, %22, %18#1) {control = true} : (none, none, none) -> none "handshake.sink"(%215#1) : (index) -> () %219, %addressResults_102:3 = "handshake.load"(%205#1, %205#2, %207#2, %23, %216#2) : (index, index, index, f32, none) -> (f32, index, index, index) %220:4 = "handshake.store"(%219, %209#1, %211#1, %207#1, %216#0) : (f32, index, index, index, none) -> (f32, index, index, index) %221 = "handshake.buffer"(%220#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %222 = "handshake.buffer"(%220#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %223 = "handshake.buffer"(%220#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %224 = "handshake.buffer"(%220#0) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %225 = addi %208, %213#1 : index %226:2 = "handshake.fork"(%falseResult_93) {control = false} : (index) -> (index, index) %227 = "handshake.buffer"(%226#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %228:2 = "handshake.control_merge"(%falseResult_99) {control = true} : (none) -> (none, index) "handshake.sink"(%228#1) : (index) -> () %229 = addi %falseResult_91, %226#1 : index %230:2 = "handshake.fork"(%falseResult_77) {control = false} : (index) -> (index, index) %231:2 = "handshake.control_merge"(%falseResult_81) {control = true} : (none) -> (none, index) "handshake.sink"(%231#1) : (index) -> () %232 = addi %falseResult_75, %230#1 : index %233 = "handshake.buffer"(%232) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %234:2 = "handshake.fork"(%falseResult_53) {control = false} : (index) -> (index, index) %235:2 = "handshake.control_merge"(%falseResult_63) {control = true} : (none) -> (none, index) "handshake.sink"(%235#1) : (index) -> () %236 = "handshake.mux"(%245#5, %falseResult_132, %falseResult_51) : (index, index, index) -> index %237:2 = "handshake.fork"(%236) {control = false} : (index) -> (index, index) %238 = "handshake.mux"(%245#4, %falseResult_122, %234#0) : (index, index, index) -> index %239:2 = "handshake.fork"(%238) {control = false} : (index) -> (index, index) %240 = "handshake.mux"(%245#3, %falseResult_120, %falseResult_57) : (index, index, index) -> index %241 = "handshake.mux"(%245#2, %falseResult_126, %falseResult_59) : (index, index, index) -> index %242 = "handshake.mux"(%245#1, %334#0, %falseResult_61) : (index, index, index) -> index %243 = "handshake.buffer"(%242) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %244:2 = "handshake.control_merge"(%336, %235#0) {control = true} : (none, none) -> (none, index) %245:6 = "handshake.fork"(%244#1) {control = false} : (index) -> (index, index, index, index, index, index) %246 = "handshake.mux"(%245#0, %337, %234#1) : (index, index, index) -> index %247:2 = "handshake.fork"(%246) {control = false} : (index) -> (index, index) %248 = "handshake.buffer"(%247#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %249 = "handshake.buffer"(%247#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %250 = cmpi "slt", %248, %237#1 : index %251:8 = "handshake.fork"(%250) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1) %252 = "handshake.buffer"(%251#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_103, %falseResult_104 = "handshake.conditional_branch"(%251#7, %237#0) {control = false} : (i1, index) -> (index, index) %trueResult_105, %falseResult_106 = "handshake.conditional_branch"(%251#6, %239#1) {control = false} : (i1, index) -> (index, index) %253 = "handshake.buffer"(%trueResult_105) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_107, %falseResult_108 = "handshake.conditional_branch"(%251#5, %239#0) {control = false} : (i1, index) -> (index, index) %254 = "handshake.buffer"(%trueResult_107) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_108) : (index) -> () %trueResult_109, %falseResult_110 = "handshake.conditional_branch"(%251#4, %240) {control = false} : (i1, index) -> (index, index) %255 = "handshake.buffer"(%trueResult_109) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_111, %falseResult_112 = "handshake.conditional_branch"(%251#3, %241) {control = false} : (i1, index) -> (index, index) %256 = "handshake.buffer"(%trueResult_111) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_113, %falseResult_114 = "handshake.conditional_branch"(%251#2, %243) {control = false} : (i1, index) -> (index, index) %trueResult_115, %falseResult_116 = "handshake.conditional_branch"(%252, %244#0) {control = true} : (i1, none) -> (none, none) %trueResult_117, %falseResult_118 = "handshake.conditional_branch"(%251#0, %249) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_118) : (index) -> () %257 = "handshake.mux"(%268#6, %falseResult_146, %255) : (index, index, index) -> index %258:2 = "handshake.fork"(%257) {control = false} : (index) -> (index, index) %259 = "handshake.buffer"(%258#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %260 = "handshake.mux"(%268#5, %falseResult_148, %254) : (index, index, index) -> index %261:2 = "handshake.fork"(%260) {control = false} : (index) -> (index, index) %262 = "handshake.mux"(%268#4, %falseResult_138, %256) : (index, index, index) -> index %263 = "handshake.mux"(%268#3, %295, %trueResult_117) : (index, index, index) -> index %264 = "handshake.mux"(%268#2, %330, %trueResult_113) : (index, index, index) -> index %265 = "handshake.mux"(%268#1, %falseResult_150, %trueResult_103) : (index, index, index) -> index %266 = "handshake.buffer"(%265) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %267:2 = "handshake.control_merge"(%331#0, %trueResult_115) {control = true} : (none, none) -> (none, index) %268:7 = "handshake.fork"(%267#1) {control = false} : (index) -> (index, index, index, index, index, index, index) %269 = "handshake.mux"(%268#0, %333, %253) : (index, index, index) -> index %270:2 = "handshake.fork"(%269) {control = false} : (index) -> (index, index) %271 = cmpi "slt", %270#1, %259 : index %272:9 = "handshake.fork"(%271) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %trueResult_119, %falseResult_120 = "handshake.conditional_branch"(%272#8, %258#0) {control = false} : (i1, index) -> (index, index) %trueResult_121, %falseResult_122 = "handshake.conditional_branch"(%272#7, %261#1) {control = false} : (i1, index) -> (index, index) %273 = "handshake.buffer"(%trueResult_121) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_123, %falseResult_124 = "handshake.conditional_branch"(%272#6, %261#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_124) : (index) -> () %trueResult_125, %falseResult_126 = "handshake.conditional_branch"(%272#5, %262) {control = false} : (i1, index) -> (index, index) %trueResult_127, %falseResult_128 = "handshake.conditional_branch"(%272#4, %263) {control = false} : (i1, index) -> (index, index) %trueResult_129, %falseResult_130 = "handshake.conditional_branch"(%272#3, %264) {control = false} : (i1, index) -> (index, index) %trueResult_131, %falseResult_132 = "handshake.conditional_branch"(%272#2, %266) {control = false} : (i1, index) -> (index, index) %trueResult_133, %falseResult_134 = "handshake.conditional_branch"(%272#1, %267#0) {control = true} : (i1, none) -> (none, none) %274 = "handshake.buffer"(%trueResult_133) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_135, %falseResult_136 = "handshake.conditional_branch"(%272#0, %270#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_136) : (index) -> () %275 = "handshake.mux"(%288#7, %trueResult_137, %trueResult_125) : (index, index, index) -> index %276:2 = "handshake.fork"(%275) {control = false} : (index) -> (index, index) %277 = "handshake.buffer"(%276#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %278 = "handshake.buffer"(%276#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %279 = "handshake.mux"(%288#6, %301, %trueResult_127) : (index, index, index) -> index %280 = "handshake.mux"(%288#5, %306, %trueResult_135) : (index, index, index) -> index %281 = "handshake.mux"(%288#4, %313, %trueResult_129) : (index, index, index) -> index %282 = "handshake.mux"(%288#3, %trueResult_145, %trueResult_119) : (index, index, index) -> index %283 = "handshake.buffer"(%282) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %284 = "handshake.mux"(%288#2, %trueResult_147, %trueResult_123) : (index, index, index) -> index %285 = "handshake.buffer"(%284) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %286 = "handshake.mux"(%288#1, %296, %trueResult_131) : (index, index, index) -> index %287:2 = "handshake.control_merge"(%319, %274) {control = true} : (none, none) -> (none, index) %288:8 = "handshake.fork"(%287#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index) %289 = "handshake.mux"(%288#0, %328, %273) : (index, index, index) -> index %290:2 = "handshake.fork"(%289) {control = false} : (index) -> (index, index) %291 = cmpi "slt", %290#1, %277 : index %292:9 = "handshake.fork"(%291) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %293 = "handshake.buffer"(%292#5) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %294 = "handshake.buffer"(%292#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_137, %falseResult_138 = "handshake.conditional_branch"(%292#8, %278) {control = false} : (i1, index) -> (index, index) %trueResult_139, %falseResult_140 = "handshake.conditional_branch"(%292#7, %279) {control = false} : (i1, index) -> (index, index) %295 = "handshake.buffer"(%falseResult_140) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_141, %falseResult_142 = "handshake.conditional_branch"(%292#6, %280) {control = false} : (i1, index) -> (index, index) %trueResult_143, %falseResult_144 = "handshake.conditional_branch"(%293, %281) {control = false} : (i1, index) -> (index, index) %trueResult_145, %falseResult_146 = "handshake.conditional_branch"(%292#4, %283) {control = false} : (i1, index) -> (index, index) %trueResult_147, %falseResult_148 = "handshake.conditional_branch"(%292#3, %285) {control = false} : (i1, index) -> (index, index) %trueResult_149, %falseResult_150 = "handshake.conditional_branch"(%292#2, %286) {control = false} : (i1, index) -> (index, index) %296 = "handshake.buffer"(%trueResult_149) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_151, %falseResult_152 = "handshake.conditional_branch"(%294, %287#0) {control = true} : (i1, none) -> (none, none) %trueResult_153, %falseResult_154 = "handshake.conditional_branch"(%292#0, %290#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_154) : (index) -> () %297:4 = "handshake.fork"(%trueResult_139) {control = false} : (index) -> (index, index, index, index) %298 = "handshake.buffer"(%297#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %299 = "handshake.buffer"(%297#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %300 = "handshake.buffer"(%297#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %301 = "handshake.buffer"(%297#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %302:4 = "handshake.fork"(%trueResult_141) {control = false} : (index) -> (index, index, index, index) %303 = "handshake.buffer"(%302#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %304 = "handshake.buffer"(%302#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %305 = "handshake.buffer"(%302#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %306 = "handshake.buffer"(%302#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %307:4 = "handshake.fork"(%trueResult_153) {control = false} : (index) -> (index, index, index, index) %308 = "handshake.buffer"(%307#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %309 = "handshake.buffer"(%307#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %310 = "handshake.buffer"(%307#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %311 = "handshake.buffer"(%307#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %312:2 = "handshake.fork"(%trueResult_143) {control = false} : (index) -> (index, index) %313 = "handshake.buffer"(%312#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %314:2 = "handshake.control_merge"(%trueResult_151) {control = true} : (none) -> (none, index) %315:4 = "handshake.fork"(%314#0) {control = true} : (none) -> (none, none, none, none) %316 = "handshake.buffer"(%315#3) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %317 = "handshake.buffer"(%315#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %318 = "handshake.buffer"(%315#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %319 = "handshake.join"(%317, %24#2, %19, %17#1) {control = true} : (none, none, none, none) -> none "handshake.sink"(%314#1) : (index) -> () %320, %addressResults_155:3 = "handshake.load"(%298, %303, %308, %24#0, %316) : (index, index, index, f32, none) -> (f32, index, index, index) %321 = "handshake.buffer"(%addressResults_155#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %322 = "handshake.buffer"(%addressResults_155#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %323 = "handshake.buffer"(%addressResults_155#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %324, %addressResults_156:3 = "handshake.load"(%299, %304, %309, %20, %315#2) : (index, index, index, f32, none) -> (f32, index, index, index) %325 = "handshake.buffer"(%324) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %326 = mulf %320, %325 : f32 %327:4 = "handshake.store"(%326, %300, %305, %310, %318) : (f32, index, index, index, none) -> (f32, index, index, index) %328 = addi %311, %312#1 : index %329:2 = "handshake.fork"(%falseResult_144) {control = false} : (index) -> (index, index) %330 = "handshake.buffer"(%329#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %331:2 = "handshake.control_merge"(%falseResult_152) {control = true} : (none) -> (none, index) "handshake.sink"(%331#1) : (index) -> () %332 = addi %falseResult_142, %329#1 : index %333 = "handshake.buffer"(%332) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %334:2 = "handshake.fork"(%falseResult_130) {control = false} : (index) -> (index, index) %335:2 = "handshake.control_merge"(%falseResult_134) {control = true} : (none) -> (none, index) %336 = "handshake.buffer"(%335#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none "handshake.sink"(%335#1) : (index) -> () %337 = addi %falseResult_128, %334#1 : index %338:2 = "handshake.fork"(%falseResult_106) {control = false} : (index) -> (index, index) %339:2 = "handshake.control_merge"(%falseResult_116) {control = true} : (none) -> (none, index) "handshake.sink"(%339#1) : (index) -> () %340 = "handshake.mux"(%350#5, %falseResult_186, %falseResult_104) : (index, index, index) -> index %341:2 = "handshake.fork"(%340) {control = false} : (index) -> (index, index) %342 = "handshake.buffer"(%341#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %343 = "handshake.mux"(%350#4, %falseResult_176, %338#0) : (index, index, index) -> index %344:2 = "handshake.fork"(%343) {control = false} : (index) -> (index, index) %345 = "handshake.mux"(%350#3, %falseResult_174, %falseResult_110) : (index, index, index) -> index %346 = "handshake.mux"(%350#2, %falseResult_180, %falseResult_112) : (index, index, index) -> index %347 = "handshake.mux"(%350#1, %433#0, %falseResult_114) : (index, index, index) -> index %348 = "handshake.buffer"(%347) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %349:2 = "handshake.control_merge"(%434#0, %339#0) {control = true} : (none, none) -> (none, index) %350:6 = "handshake.fork"(%349#1) {control = false} : (index) -> (index, index, index, index, index, index) %351 = "handshake.mux"(%350#0, %436, %338#1) : (index, index, index) -> index %352:2 = "handshake.fork"(%351) {control = false} : (index) -> (index, index) %353 = cmpi "slt", %352#1, %342 : index %354:8 = "handshake.fork"(%353) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1) %trueResult_157, %falseResult_158 = "handshake.conditional_branch"(%354#7, %341#0) {control = false} : (i1, index) -> (index, index) %355 = "handshake.buffer"(%trueResult_157) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_159, %falseResult_160 = "handshake.conditional_branch"(%354#6, %344#1) {control = false} : (i1, index) -> (index, index) %trueResult_161, %falseResult_162 = "handshake.conditional_branch"(%354#5, %344#0) {control = false} : (i1, index) -> (index, index) %356 = "handshake.buffer"(%trueResult_161) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_162) : (index) -> () %trueResult_163, %falseResult_164 = "handshake.conditional_branch"(%354#4, %345) {control = false} : (i1, index) -> (index, index) %trueResult_165, %falseResult_166 = "handshake.conditional_branch"(%354#3, %346) {control = false} : (i1, index) -> (index, index) %trueResult_167, %falseResult_168 = "handshake.conditional_branch"(%354#2, %348) {control = false} : (i1, index) -> (index, index) %trueResult_169, %falseResult_170 = "handshake.conditional_branch"(%354#1, %349#0) {control = true} : (i1, none) -> (none, none) %357 = "handshake.buffer"(%trueResult_169) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_171, %falseResult_172 = "handshake.conditional_branch"(%354#0, %352#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_172) : (index) -> () %358 = "handshake.mux"(%370#6, %falseResult_200, %trueResult_163) : (index, index, index) -> index %359:2 = "handshake.fork"(%358) {control = false} : (index) -> (index, index) %360 = "handshake.buffer"(%359#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %361 = "handshake.buffer"(%359#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %362 = "handshake.mux"(%370#5, %falseResult_202, %356) : (index, index, index) -> index %363:2 = "handshake.fork"(%362) {control = false} : (index) -> (index, index) %364 = "handshake.mux"(%370#4, %falseResult_192, %trueResult_165) : (index, index, index) -> index %365 = "handshake.buffer"(%364) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %366 = "handshake.mux"(%370#3, %400, %trueResult_171) : (index, index, index) -> index %367 = "handshake.mux"(%370#2, %429, %trueResult_167) : (index, index, index) -> index %368 = "handshake.mux"(%370#1, %falseResult_204, %355) : (index, index, index) -> index %369:2 = "handshake.control_merge"(%430#0, %357) {control = true} : (none, none) -> (none, index) %370:7 = "handshake.fork"(%369#1) {control = false} : (index) -> (index, index, index, index, index, index, index) %371 = "handshake.mux"(%370#0, %432, %trueResult_159) : (index, index, index) -> index %372:2 = "handshake.fork"(%371) {control = false} : (index) -> (index, index) %373 = cmpi "slt", %372#1, %360 : index %374:9 = "handshake.fork"(%373) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %375 = "handshake.buffer"(%374#7) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %376 = "handshake.buffer"(%374#3) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %377 = "handshake.buffer"(%374#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_173, %falseResult_174 = "handshake.conditional_branch"(%374#8, %361) {control = false} : (i1, index) -> (index, index) %trueResult_175, %falseResult_176 = "handshake.conditional_branch"(%375, %363#1) {control = false} : (i1, index) -> (index, index) %378 = "handshake.buffer"(%trueResult_175) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_177, %falseResult_178 = "handshake.conditional_branch"(%374#6, %363#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_178) : (index) -> () %trueResult_179, %falseResult_180 = "handshake.conditional_branch"(%374#5, %365) {control = false} : (i1, index) -> (index, index) %trueResult_181, %falseResult_182 = "handshake.conditional_branch"(%374#4, %366) {control = false} : (i1, index) -> (index, index) %trueResult_183, %falseResult_184 = "handshake.conditional_branch"(%376, %367) {control = false} : (i1, index) -> (index, index) %trueResult_185, %falseResult_186 = "handshake.conditional_branch"(%374#2, %368) {control = false} : (i1, index) -> (index, index) %trueResult_187, %falseResult_188 = "handshake.conditional_branch"(%377, %369#0) {control = true} : (i1, none) -> (none, none) %379 = "handshake.buffer"(%trueResult_187) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_189, %falseResult_190 = "handshake.conditional_branch"(%374#0, %372#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_190) : (index) -> () %380 = "handshake.mux"(%392#7, %399, %trueResult_179) : (index, index, index) -> index %381:2 = "handshake.fork"(%380) {control = false} : (index) -> (index, index) %382 = "handshake.buffer"(%381#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %383 = "handshake.mux"(%392#6, %405, %trueResult_181) : (index, index, index) -> index %384 = "handshake.mux"(%392#5, %409, %trueResult_189) : (index, index, index) -> index %385 = "handshake.mux"(%392#4, %415, %trueResult_183) : (index, index, index) -> index %386 = "handshake.mux"(%392#3, %401, %trueResult_173) : (index, index, index) -> index %387 = "handshake.mux"(%392#2, %trueResult_201, %trueResult_177) : (index, index, index) -> index %388 = "handshake.buffer"(%387) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %389 = "handshake.mux"(%392#1, %trueResult_203, %trueResult_185) : (index, index, index) -> index %390 = "handshake.buffer"(%389) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %391:2 = "handshake.control_merge"(%421, %379) {control = true} : (none, none) -> (none, index) %392:8 = "handshake.fork"(%391#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index) %393 = "handshake.mux"(%392#0, %427, %378) : (index, index, index) -> index %394:2 = "handshake.fork"(%393) {control = false} : (index) -> (index, index) %395 = cmpi "slt", %394#1, %382 : index %396:9 = "handshake.fork"(%395) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %397 = "handshake.buffer"(%396#5) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %398 = "handshake.buffer"(%396#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_191, %falseResult_192 = "handshake.conditional_branch"(%396#8, %381#0) {control = false} : (i1, index) -> (index, index) %399 = "handshake.buffer"(%trueResult_191) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_193, %falseResult_194 = "handshake.conditional_branch"(%396#7, %383) {control = false} : (i1, index) -> (index, index) %400 = "handshake.buffer"(%falseResult_194) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_195, %falseResult_196 = "handshake.conditional_branch"(%396#6, %384) {control = false} : (i1, index) -> (index, index) %trueResult_197, %falseResult_198 = "handshake.conditional_branch"(%397, %385) {control = false} : (i1, index) -> (index, index) %trueResult_199, %falseResult_200 = "handshake.conditional_branch"(%396#4, %386) {control = false} : (i1, index) -> (index, index) %401 = "handshake.buffer"(%trueResult_199) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_201, %falseResult_202 = "handshake.conditional_branch"(%396#3, %388) {control = false} : (i1, index) -> (index, index) %trueResult_203, %falseResult_204 = "handshake.conditional_branch"(%396#2, %390) {control = false} : (i1, index) -> (index, index) %trueResult_205, %falseResult_206 = "handshake.conditional_branch"(%398, %391#0) {control = true} : (i1, none) -> (none, none) %trueResult_207, %falseResult_208 = "handshake.conditional_branch"(%396#0, %394#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_208) : (index) -> () %402:3 = "handshake.fork"(%trueResult_193) {control = false} : (index) -> (index, index, index) %403 = "handshake.buffer"(%402#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %404 = "handshake.buffer"(%402#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %405 = "handshake.buffer"(%402#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %406:3 = "handshake.fork"(%trueResult_195) {control = false} : (index) -> (index, index, index) %407 = "handshake.buffer"(%406#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %408 = "handshake.buffer"(%406#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %409 = "handshake.buffer"(%406#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %410:3 = "handshake.fork"(%trueResult_207) {control = false} : (index) -> (index, index, index) %411 = "handshake.buffer"(%410#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %412 = "handshake.buffer"(%410#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %413 = "handshake.buffer"(%410#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %414:2 = "handshake.fork"(%trueResult_197) {control = false} : (index) -> (index, index) %415 = "handshake.buffer"(%414#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %416:2 = "handshake.control_merge"(%trueResult_205) {control = true} : (none) -> (none, index) %417:3 = "handshake.fork"(%416#0) {control = true} : (none) -> (none, none, none) %418 = "handshake.buffer"(%417#2) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %419 = "handshake.buffer"(%417#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %420 = "handshake.buffer"(%417#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %421 = "handshake.join"(%419, %17#2, %16#2) {control = true} : (none, none, none) -> none "handshake.sink"(%416#1) : (index) -> () %422, %addressResults_209:3 = "handshake.load"(%403, %407, %411, %17#0, %418) : (index, index, index, f32, none) -> (f32, index, index, index) %423 = "handshake.buffer"(%addressResults_209#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %424 = "handshake.buffer"(%addressResults_209#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %425 = "handshake.buffer"(%addressResults_209#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %426:4 = "handshake.store"(%422, %404, %408, %412, %420) : (f32, index, index, index, none) -> (f32, index, index, index) %427 = addi %413, %414#1 : index %428:2 = "handshake.fork"(%falseResult_198) {control = false} : (index) -> (index, index) %429 = "handshake.buffer"(%428#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %430:2 = "handshake.control_merge"(%falseResult_206) {control = true} : (none) -> (none, index) "handshake.sink"(%430#1) : (index) -> () %431 = addi %falseResult_196, %428#1 : index %432 = "handshake.buffer"(%431) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %433:2 = "handshake.fork"(%falseResult_184) {control = false} : (index) -> (index, index) %434:2 = "handshake.control_merge"(%falseResult_188) {control = true} : (none) -> (none, index) "handshake.sink"(%434#1) : (index) -> () %435 = addi %falseResult_182, %433#1 : index %436 = "handshake.buffer"(%435) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %437:2 = "handshake.fork"(%falseResult_160) {control = false} : (index) -> (index, index) %438:2 = "handshake.control_merge"(%falseResult_170) {control = true} : (none) -> (none, index) "handshake.sink"(%438#1) : (index) -> () %439 = "handshake.mux"(%449#5, %falseResult_239, %falseResult_158) : (index, index, index) -> index %440:2 = "handshake.fork"(%439) {control = false} : (index) -> (index, index) %441 = "handshake.buffer"(%440#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %442 = "handshake.mux"(%449#4, %falseResult_229, %437#0) : (index, index, index) -> index %443:2 = "handshake.fork"(%442) {control = false} : (index) -> (index, index) %444 = "handshake.mux"(%449#3, %falseResult_227, %falseResult_164) : (index, index, index) -> index %445 = "handshake.mux"(%449#2, %falseResult_233, %falseResult_166) : (index, index, index) -> index %446 = "handshake.mux"(%449#1, %525#0, %falseResult_168) : (index, index, index) -> index %447 = "handshake.buffer"(%446) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %448:2 = "handshake.control_merge"(%526#0, %438#0) {control = true} : (none, none) -> (none, index) %449:6 = "handshake.fork"(%448#1) {control = false} : (index) -> (index, index, index, index, index, index) %450 = "handshake.mux"(%449#0, %528, %437#1) : (index, index, index) -> index %451:2 = "handshake.fork"(%450) {control = false} : (index) -> (index, index) %452 = cmpi "slt", %451#1, %441 : index %453:8 = "handshake.fork"(%452) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1) %trueResult_210, %falseResult_211 = "handshake.conditional_branch"(%453#7, %440#0) {control = false} : (i1, index) -> (index, index) %454 = "handshake.buffer"(%trueResult_210) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_212, %falseResult_213 = "handshake.conditional_branch"(%453#6, %443#1) {control = false} : (i1, index) -> (index, index) %trueResult_214, %falseResult_215 = "handshake.conditional_branch"(%453#5, %443#0) {control = false} : (i1, index) -> (index, index) %455 = "handshake.buffer"(%trueResult_214) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_215) : (index) -> () %trueResult_216, %falseResult_217 = "handshake.conditional_branch"(%453#4, %444) {control = false} : (i1, index) -> (index, index) %trueResult_218, %falseResult_219 = "handshake.conditional_branch"(%453#3, %445) {control = false} : (i1, index) -> (index, index) %trueResult_220, %falseResult_221 = "handshake.conditional_branch"(%453#2, %447) {control = false} : (i1, index) -> (index, index) %trueResult_222, %falseResult_223 = "handshake.conditional_branch"(%453#1, %448#0) {control = true} : (i1, none) -> (none, none) %456 = "handshake.buffer"(%trueResult_222) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_224, %falseResult_225 = "handshake.conditional_branch"(%453#0, %451#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_225) : (index) -> () %457 = "handshake.mux"(%469#6, %falseResult_253, %trueResult_216) : (index, index, index) -> index %458:2 = "handshake.fork"(%457) {control = false} : (index) -> (index, index) %459 = "handshake.buffer"(%458#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %460 = "handshake.buffer"(%458#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %461 = "handshake.mux"(%469#5, %falseResult_255, %455) : (index, index, index) -> index %462:2 = "handshake.fork"(%461) {control = false} : (index) -> (index, index) %463 = "handshake.mux"(%469#4, %falseResult_245, %trueResult_218) : (index, index, index) -> index %464 = "handshake.buffer"(%463) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %465 = "handshake.mux"(%469#3, %499, %trueResult_224) : (index, index, index) -> index %466 = "handshake.mux"(%469#2, %521, %trueResult_220) : (index, index, index) -> index %467 = "handshake.mux"(%469#1, %falseResult_257, %454) : (index, index, index) -> index %468:2 = "handshake.control_merge"(%522#0, %456) {control = true} : (none, none) -> (none, index) %469:7 = "handshake.fork"(%468#1) {control = false} : (index) -> (index, index, index, index, index, index, index) %470 = "handshake.mux"(%469#0, %524, %trueResult_212) : (index, index, index) -> index %471:2 = "handshake.fork"(%470) {control = false} : (index) -> (index, index) %472 = cmpi "slt", %471#1, %459 : index %473:9 = "handshake.fork"(%472) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %474 = "handshake.buffer"(%473#7) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %475 = "handshake.buffer"(%473#3) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %476 = "handshake.buffer"(%473#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_226, %falseResult_227 = "handshake.conditional_branch"(%473#8, %460) {control = false} : (i1, index) -> (index, index) %trueResult_228, %falseResult_229 = "handshake.conditional_branch"(%474, %462#1) {control = false} : (i1, index) -> (index, index) %477 = "handshake.buffer"(%trueResult_228) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_230, %falseResult_231 = "handshake.conditional_branch"(%473#6, %462#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_231) : (index) -> () %trueResult_232, %falseResult_233 = "handshake.conditional_branch"(%473#5, %464) {control = false} : (i1, index) -> (index, index) %trueResult_234, %falseResult_235 = "handshake.conditional_branch"(%473#4, %465) {control = false} : (i1, index) -> (index, index) %trueResult_236, %falseResult_237 = "handshake.conditional_branch"(%475, %466) {control = false} : (i1, index) -> (index, index) %trueResult_238, %falseResult_239 = "handshake.conditional_branch"(%473#2, %467) {control = false} : (i1, index) -> (index, index) %trueResult_240, %falseResult_241 = "handshake.conditional_branch"(%476, %468#0) {control = true} : (i1, none) -> (none, none) %478 = "handshake.buffer"(%trueResult_240) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_242, %falseResult_243 = "handshake.conditional_branch"(%473#0, %471#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_243) : (index) -> () %479 = "handshake.mux"(%491#7, %498, %trueResult_232) : (index, index, index) -> index %480:2 = "handshake.fork"(%479) {control = false} : (index) -> (index, index) %481 = "handshake.buffer"(%480#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %482 = "handshake.mux"(%491#6, %504, %trueResult_234) : (index, index, index) -> index %483 = "handshake.mux"(%491#5, %506, %trueResult_242) : (index, index, index) -> index %484 = "handshake.mux"(%491#4, %508, %trueResult_236) : (index, index, index) -> index %485 = "handshake.mux"(%491#3, %500, %trueResult_226) : (index, index, index) -> index %486 = "handshake.mux"(%491#2, %trueResult_254, %trueResult_230) : (index, index, index) -> index %487 = "handshake.buffer"(%486) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %488 = "handshake.mux"(%491#1, %trueResult_256, %trueResult_238) : (index, index, index) -> index %489 = "handshake.buffer"(%488) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %490:2 = "handshake.control_merge"(%512, %478) {control = true} : (none, none) -> (none, index) %491:8 = "handshake.fork"(%490#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index) %492 = "handshake.mux"(%491#0, %519, %477) : (index, index, index) -> index %493:2 = "handshake.fork"(%492) {control = false} : (index) -> (index, index) %494 = cmpi "slt", %493#1, %481 : index %495:9 = "handshake.fork"(%494) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %496 = "handshake.buffer"(%495#5) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %497 = "handshake.buffer"(%495#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_244, %falseResult_245 = "handshake.conditional_branch"(%495#8, %480#0) {control = false} : (i1, index) -> (index, index) %498 = "handshake.buffer"(%trueResult_244) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_246, %falseResult_247 = "handshake.conditional_branch"(%495#7, %482) {control = false} : (i1, index) -> (index, index) %499 = "handshake.buffer"(%falseResult_247) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_248, %falseResult_249 = "handshake.conditional_branch"(%495#6, %483) {control = false} : (i1, index) -> (index, index) %trueResult_250, %falseResult_251 = "handshake.conditional_branch"(%496, %484) {control = false} : (i1, index) -> (index, index) %trueResult_252, %falseResult_253 = "handshake.conditional_branch"(%495#4, %485) {control = false} : (i1, index) -> (index, index) %500 = "handshake.buffer"(%trueResult_252) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_254, %falseResult_255 = "handshake.conditional_branch"(%495#3, %487) {control = false} : (i1, index) -> (index, index) %trueResult_256, %falseResult_257 = "handshake.conditional_branch"(%495#2, %489) {control = false} : (i1, index) -> (index, index) %trueResult_258, %falseResult_259 = "handshake.conditional_branch"(%497, %490#0) {control = true} : (i1, none) -> (none, none) %trueResult_260, %falseResult_261 = "handshake.conditional_branch"(%495#0, %493#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_261) : (index) -> () %501:3 = "handshake.fork"(%trueResult_260) {control = false} : (index) -> (index, index, index) %502 = "handshake.buffer"(%501#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %503:2 = "handshake.fork"(%trueResult_246) {control = false} : (index) -> (index, index) %504 = "handshake.buffer"(%503#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %505:2 = "handshake.fork"(%trueResult_248) {control = false} : (index) -> (index, index) %506 = "handshake.buffer"(%505#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %507:2 = "handshake.fork"(%trueResult_250) {control = false} : (index) -> (index, index) %508 = "handshake.buffer"(%507#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %509:2 = "handshake.control_merge"(%trueResult_258) {control = true} : (none) -> (none, index) %510:3 = "handshake.fork"(%509#0) {control = true} : (none) -> (none, none, none) %511 = "handshake.buffer"(%510#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %512 = "handshake.join"(%511, %14, %10#2) {control = true} : (none, none, none) -> none "handshake.sink"(%509#1) : (index) -> () %513, %addressResults_262 = "handshake.load"(%501#2, %15, %510#2) : (index, f32, none) -> (f32, index) %514:4 = "handshake.store"(%513, %503#1, %505#1, %501#1, %510#0) : (f32, index, index, index, none) -> (f32, index, index, index) %515 = "handshake.buffer"(%514#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %516 = "handshake.buffer"(%514#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %517 = "handshake.buffer"(%514#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %518 = "handshake.buffer"(%514#0) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %519 = addi %502, %507#1 : index %520:2 = "handshake.fork"(%falseResult_251) {control = false} : (index) -> (index, index) %521 = "handshake.buffer"(%520#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %522:2 = "handshake.control_merge"(%falseResult_259) {control = true} : (none) -> (none, index) "handshake.sink"(%522#1) : (index) -> () %523 = addi %falseResult_249, %520#1 : index %524 = "handshake.buffer"(%523) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %525:2 = "handshake.fork"(%falseResult_237) {control = false} : (index) -> (index, index) %526:2 = "handshake.control_merge"(%falseResult_241) {control = true} : (none) -> (none, index) "handshake.sink"(%526#1) : (index) -> () %527 = addi %falseResult_235, %525#1 : index %528 = "handshake.buffer"(%527) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %529:2 = "handshake.fork"(%falseResult_213) {control = false} : (index) -> (index, index) %530:2 = "handshake.control_merge"(%falseResult_223) {control = true} : (none) -> (none, index) "handshake.sink"(%530#1) : (index) -> () %531 = "handshake.mux"(%540#5, %falseResult_292, %falseResult_211) : (index, index, index) -> index %532:2 = "handshake.fork"(%531) {control = false} : (index) -> (index, index) %533 = "handshake.mux"(%540#4, %falseResult_282, %529#0) : (index, index, index) -> index %534:2 = "handshake.fork"(%533) {control = false} : (index) -> (index, index) %535 = "handshake.mux"(%540#3, %falseResult_280, %falseResult_217) : (index, index, index) -> index %536 = "handshake.mux"(%540#2, %falseResult_286, %falseResult_219) : (index, index, index) -> index %537 = "handshake.mux"(%540#1, %631#0, %falseResult_221) : (index, index, index) -> index %538 = "handshake.buffer"(%537) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %539:2 = "handshake.control_merge"(%633, %530#0) {control = true} : (none, none) -> (none, index) %540:6 = "handshake.fork"(%539#1) {control = false} : (index) -> (index, index, index, index, index, index) %541 = "handshake.mux"(%540#0, %634, %529#1) : (index, index, index) -> index %542:2 = "handshake.fork"(%541) {control = false} : (index) -> (index, index) %543 = "handshake.buffer"(%542#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %544 = "handshake.buffer"(%542#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %545 = cmpi "slt", %543, %532#1 : index %546:8 = "handshake.fork"(%545) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1) %547 = "handshake.buffer"(%546#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_263, %falseResult_264 = "handshake.conditional_branch"(%546#7, %532#0) {control = false} : (i1, index) -> (index, index) %548 = "handshake.buffer"(%trueResult_263) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_265, %falseResult_266 = "handshake.conditional_branch"(%546#6, %534#1) {control = false} : (i1, index) -> (index, index) %549 = "handshake.buffer"(%trueResult_265) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_267, %falseResult_268 = "handshake.conditional_branch"(%546#5, %534#0) {control = false} : (i1, index) -> (index, index) %550 = "handshake.buffer"(%trueResult_267) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_268) : (index) -> () %trueResult_269, %falseResult_270 = "handshake.conditional_branch"(%546#4, %535) {control = false} : (i1, index) -> (index, index) %trueResult_271, %falseResult_272 = "handshake.conditional_branch"(%546#3, %536) {control = false} : (i1, index) -> (index, index) %trueResult_273, %falseResult_274 = "handshake.conditional_branch"(%546#2, %538) {control = false} : (i1, index) -> (index, index) %trueResult_275, %falseResult_276 = "handshake.conditional_branch"(%547, %539#0) {control = true} : (i1, none) -> (none, none) %trueResult_277, %falseResult_278 = "handshake.conditional_branch"(%546#0, %544) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_278) : (index) -> () %551 = "handshake.mux"(%564#6, %falseResult_306, %trueResult_269) : (index, index, index) -> index %552:2 = "handshake.fork"(%551) {control = false} : (index) -> (index, index) %553 = "handshake.buffer"(%552#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %554 = "handshake.buffer"(%552#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %555 = "handshake.mux"(%564#5, %falseResult_308, %550) : (index, index, index) -> index %556:2 = "handshake.fork"(%555) {control = false} : (index) -> (index, index) %557 = "handshake.buffer"(%556#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %558 = "handshake.mux"(%564#4, %falseResult_298, %trueResult_271) : (index, index, index) -> index %559 = "handshake.buffer"(%558) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %560 = "handshake.mux"(%564#3, %590, %trueResult_277) : (index, index, index) -> index %561 = "handshake.mux"(%564#2, %627, %trueResult_273) : (index, index, index) -> index %562 = "handshake.mux"(%564#1, %falseResult_310, %548) : (index, index, index) -> index %563:2 = "handshake.control_merge"(%629, %trueResult_275) {control = true} : (none, none) -> (none, index) %564:7 = "handshake.fork"(%563#1) {control = false} : (index) -> (index, index, index, index, index, index, index) %565 = "handshake.mux"(%564#0, %630, %549) : (index, index, index) -> index %566:2 = "handshake.fork"(%565) {control = false} : (index) -> (index, index) %567 = cmpi "slt", %566#1, %553 : index %568:9 = "handshake.fork"(%567) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %569 = "handshake.buffer"(%568#3) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %570 = "handshake.buffer"(%568#2) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %571 = "handshake.buffer"(%568#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_279, %falseResult_280 = "handshake.conditional_branch"(%568#8, %554) {control = false} : (i1, index) -> (index, index) %trueResult_281, %falseResult_282 = "handshake.conditional_branch"(%568#7, %556#1) {control = false} : (i1, index) -> (index, index) %572 = "handshake.buffer"(%trueResult_281) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_283, %falseResult_284 = "handshake.conditional_branch"(%568#6, %557) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_284) : (index) -> () %trueResult_285, %falseResult_286 = "handshake.conditional_branch"(%568#5, %559) {control = false} : (i1, index) -> (index, index) %trueResult_287, %falseResult_288 = "handshake.conditional_branch"(%568#4, %560) {control = false} : (i1, index) -> (index, index) %trueResult_289, %falseResult_290 = "handshake.conditional_branch"(%569, %561) {control = false} : (i1, index) -> (index, index) %trueResult_291, %falseResult_292 = "handshake.conditional_branch"(%570, %562) {control = false} : (i1, index) -> (index, index) %trueResult_293, %falseResult_294 = "handshake.conditional_branch"(%571, %563#0) {control = true} : (i1, none) -> (none, none) %trueResult_295, %falseResult_296 = "handshake.conditional_branch"(%568#0, %566#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_296) : (index) -> () %573 = "handshake.mux"(%584#7, %589, %trueResult_285) : (index, index, index) -> index %574:2 = "handshake.fork"(%573) {control = false} : (index) -> (index, index) %575 = "handshake.buffer"(%574#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %576 = "handshake.mux"(%584#6, %597, %trueResult_287) : (index, index, index) -> index %577 = "handshake.mux"(%584#5, %601, %trueResult_295) : (index, index, index) -> index %578 = "handshake.mux"(%584#4, %606, %trueResult_289) : (index, index, index) -> index %579 = "handshake.mux"(%584#3, %592, %trueResult_279) : (index, index, index) -> index %580 = "handshake.mux"(%584#2, %593, %trueResult_283) : (index, index, index) -> index %581 = "handshake.mux"(%584#1, %trueResult_309, %trueResult_291) : (index, index, index) -> index %582 = "handshake.buffer"(%581) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %583:2 = "handshake.control_merge"(%612, %trueResult_293) {control = true} : (none, none) -> (none, index) %584:8 = "handshake.fork"(%583#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index) %585 = "handshake.mux"(%584#0, %625, %572) : (index, index, index) -> index %586:2 = "handshake.fork"(%585) {control = false} : (index) -> (index, index) %587 = cmpi "slt", %586#1, %575 : index %588:9 = "handshake.fork"(%587) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %trueResult_297, %falseResult_298 = "handshake.conditional_branch"(%588#8, %574#0) {control = false} : (i1, index) -> (index, index) %589 = "handshake.buffer"(%trueResult_297) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_299, %falseResult_300 = "handshake.conditional_branch"(%588#7, %576) {control = false} : (i1, index) -> (index, index) %590 = "handshake.buffer"(%falseResult_300) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_301, %falseResult_302 = "handshake.conditional_branch"(%588#6, %577) {control = false} : (i1, index) -> (index, index) %591 = "handshake.buffer"(%falseResult_302) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_303, %falseResult_304 = "handshake.conditional_branch"(%588#5, %578) {control = false} : (i1, index) -> (index, index) %trueResult_305, %falseResult_306 = "handshake.conditional_branch"(%588#4, %579) {control = false} : (i1, index) -> (index, index) %592 = "handshake.buffer"(%trueResult_305) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_307, %falseResult_308 = "handshake.conditional_branch"(%588#3, %580) {control = false} : (i1, index) -> (index, index) %593 = "handshake.buffer"(%trueResult_307) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_309, %falseResult_310 = "handshake.conditional_branch"(%588#2, %582) {control = false} : (i1, index) -> (index, index) %trueResult_311, %falseResult_312 = "handshake.conditional_branch"(%588#1, %583#0) {control = true} : (i1, none) -> (none, none) %trueResult_313, %falseResult_314 = "handshake.conditional_branch"(%588#0, %586#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_314) : (index) -> () %594:4 = "handshake.fork"(%trueResult_299) {control = false} : (index) -> (index, index, index, index) %595 = "handshake.buffer"(%594#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %596 = "handshake.buffer"(%594#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %597 = "handshake.buffer"(%594#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %598:4 = "handshake.fork"(%trueResult_301) {control = false} : (index) -> (index, index, index, index) %599 = "handshake.buffer"(%598#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %600 = "handshake.buffer"(%598#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %601 = "handshake.buffer"(%598#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %602:4 = "handshake.fork"(%trueResult_313) {control = false} : (index) -> (index, index, index, index) %603 = "handshake.buffer"(%602#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %604 = "handshake.buffer"(%602#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %605:2 = "handshake.fork"(%trueResult_303) {control = false} : (index) -> (index, index) %606 = "handshake.buffer"(%605#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %607:2 = "handshake.control_merge"(%trueResult_311) {control = true} : (none) -> (none, index) %608:4 = "handshake.fork"(%607#0) {control = true} : (none) -> (none, none, none, none) %609 = "handshake.buffer"(%608#3) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %610 = "handshake.buffer"(%608#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %611 = "handshake.join"(%608#1, %16#3, %10#3, %9#1) {control = true} : (none, none, none, none) -> none %612 = "handshake.buffer"(%611) {control = true, sequential = true, slots = 2 : i32} : (none) -> none "handshake.sink"(%607#1) : (index) -> () %613, %addressResults_315:3 = "handshake.load"(%595, %599, %603, %16#0, %609) : (index, index, index, f32, none) -> (f32, index, index, index) %614 = "handshake.buffer"(%addressResults_315#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %615 = "handshake.buffer"(%addressResults_315#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %616 = "handshake.buffer"(%addressResults_315#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %617, %addressResults_316:3 = "handshake.load"(%594#2, %598#2, %602#2, %10#0, %608#2) : (index, index, index, f32, none) -> (f32, index, index, index) %618 = "handshake.buffer"(%addressResults_316#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %619 = "handshake.buffer"(%addressResults_316#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %620 = "handshake.buffer"(%addressResults_316#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %621 = "handshake.buffer"(%617) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %622 = cmpf "ogt", %613, %621 : f32 %623:4 = "handshake.store"(%622, %596, %600, %604, %610) : (i1, index, index, index, none) -> (i1, index, index, index) %624 = addi %602#0, %605#1 : index %625 = "handshake.buffer"(%624) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %626:2 = "handshake.fork"(%falseResult_304) {control = false} : (index) -> (index, index) %627 = "handshake.buffer"(%626#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %628:2 = "handshake.control_merge"(%falseResult_312) {control = true} : (none) -> (none, index) %629 = "handshake.buffer"(%628#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none "handshake.sink"(%628#1) : (index) -> () %630 = addi %591, %626#1 : index %631:2 = "handshake.fork"(%falseResult_290) {control = false} : (index) -> (index, index) %632:2 = "handshake.control_merge"(%falseResult_294) {control = true} : (none) -> (none, index) %633 = "handshake.buffer"(%632#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none "handshake.sink"(%632#1) : (index) -> () %634 = addi %falseResult_288, %631#1 : index %635:2 = "handshake.fork"(%falseResult_266) {control = false} : (index) -> (index, index) %636:2 = "handshake.control_merge"(%falseResult_276) {control = true} : (none) -> (none, index) "handshake.sink"(%636#1) : (index) -> () %637 = "handshake.mux"(%647, %676, %falseResult_264) : (index, index, index) -> index %638:2 = "handshake.fork"(%637) {control = false} : (index) -> (index, index) %639 = "handshake.mux"(%646#4, %falseResult_336, %635#0) : (index, index, index) -> index %640:2 = "handshake.fork"(%639) {control = false} : (index) -> (index, index) %641 = "handshake.mux"(%646#3, %falseResult_334, %falseResult_270) : (index, index, index) -> index %642 = "handshake.mux"(%646#2, %falseResult_340, %falseResult_272) : (index, index, index) -> index %643 = "handshake.mux"(%646#1, %744, %falseResult_274) : (index, index, index) -> index %644:2 = "handshake.control_merge"(%745#0, %636#0) {control = true} : (none, none) -> (none, index) %645 = "handshake.buffer"(%644#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %646:6 = "handshake.fork"(%644#1) {control = false} : (index) -> (index, index, index, index, index, index) %647 = "handshake.buffer"(%646#5) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %648 = "handshake.mux"(%646#0, %746, %635#1) : (index, index, index) -> index %649:2 = "handshake.fork"(%648) {control = false} : (index) -> (index, index) %650 = "handshake.buffer"(%649#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %651 = "handshake.buffer"(%649#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %652 = cmpi "slt", %650, %638#1 : index %653:8 = "handshake.fork"(%652) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1) %trueResult_317, %falseResult_318 = "handshake.conditional_branch"(%653#7, %638#0) {control = false} : (i1, index) -> (index, index) %trueResult_319, %falseResult_320 = "handshake.conditional_branch"(%653#6, %640#1) {control = false} : (i1, index) -> (index, index) %trueResult_321, %falseResult_322 = "handshake.conditional_branch"(%653#5, %640#0) {control = false} : (i1, index) -> (index, index) %654 = "handshake.buffer"(%trueResult_321) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_322) : (index) -> () %trueResult_323, %falseResult_324 = "handshake.conditional_branch"(%653#4, %641) {control = false} : (i1, index) -> (index, index) %trueResult_325, %falseResult_326 = "handshake.conditional_branch"(%653#3, %642) {control = false} : (i1, index) -> (index, index) %trueResult_327, %falseResult_328 = "handshake.conditional_branch"(%653#2, %643) {control = false} : (i1, index) -> (index, index) %trueResult_329, %falseResult_330 = "handshake.conditional_branch"(%653#1, %645) {control = true} : (i1, none) -> (none, none) %trueResult_331, %falseResult_332 = "handshake.conditional_branch"(%653#0, %651) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_332) : (index) -> () %655 = "handshake.mux"(%667#6, %falseResult_360, %trueResult_323) : (index, index, index) -> index %656:2 = "handshake.fork"(%655) {control = false} : (index) -> (index, index) %657 = "handshake.buffer"(%656#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %658 = "handshake.buffer"(%656#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %659 = "handshake.mux"(%667#5, %falseResult_362, %654) : (index, index, index) -> index %660:2 = "handshake.fork"(%659) {control = false} : (index) -> (index, index) %661 = "handshake.mux"(%667#4, %falseResult_352, %trueResult_325) : (index, index, index) -> index %662 = "handshake.buffer"(%661) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %663 = "handshake.mux"(%667#3, %697, %trueResult_331) : (index, index, index) -> index %664 = "handshake.mux"(%667#2, %739, %trueResult_327) : (index, index, index) -> index %665 = "handshake.mux"(%667#1, %699, %trueResult_317) : (index, index, index) -> index %666:2 = "handshake.control_merge"(%740#0, %trueResult_329) {control = true} : (none, none) -> (none, index) %667:7 = "handshake.fork"(%666#1) {control = false} : (index) -> (index, index, index, index, index, index, index) %668 = "handshake.mux"(%667#0, %742, %trueResult_319) : (index, index, index) -> index %669:2 = "handshake.fork"(%668) {control = false} : (index) -> (index, index) %670 = cmpi "slt", %669#1, %657 : index %671:9 = "handshake.fork"(%670) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %672 = "handshake.buffer"(%671#7) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %673 = "handshake.buffer"(%671#3) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %674 = "handshake.buffer"(%671#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_333, %falseResult_334 = "handshake.conditional_branch"(%671#8, %658) {control = false} : (i1, index) -> (index, index) %trueResult_335, %falseResult_336 = "handshake.conditional_branch"(%672, %660#1) {control = false} : (i1, index) -> (index, index) %675 = "handshake.buffer"(%trueResult_335) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_337, %falseResult_338 = "handshake.conditional_branch"(%671#6, %660#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_338) : (index) -> () %trueResult_339, %falseResult_340 = "handshake.conditional_branch"(%671#5, %662) {control = false} : (i1, index) -> (index, index) %trueResult_341, %falseResult_342 = "handshake.conditional_branch"(%671#4, %663) {control = false} : (i1, index) -> (index, index) %trueResult_343, %falseResult_344 = "handshake.conditional_branch"(%673, %664) {control = false} : (i1, index) -> (index, index) %trueResult_345, %falseResult_346 = "handshake.conditional_branch"(%671#2, %665) {control = false} : (i1, index) -> (index, index) %676 = "handshake.buffer"(%falseResult_346) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_347, %falseResult_348 = "handshake.conditional_branch"(%674, %666#0) {control = true} : (i1, none) -> (none, none) %677 = "handshake.buffer"(%trueResult_347) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_349, %falseResult_350 = "handshake.conditional_branch"(%671#0, %669#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_350) : (index) -> () %678 = "handshake.mux"(%689#7, %696, %trueResult_339) : (index, index, index) -> index %679:2 = "handshake.fork"(%678) {control = false} : (index) -> (index, index) %680 = "handshake.buffer"(%679#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %681 = "handshake.mux"(%689#6, %705, %trueResult_341) : (index, index, index) -> index %682 = "handshake.mux"(%689#5, %710, %trueResult_349) : (index, index, index) -> index %683 = "handshake.mux"(%689#4, %717, %trueResult_343) : (index, index, index) -> index %684 = "handshake.mux"(%689#3, %698, %trueResult_333) : (index, index, index) -> index %685 = "handshake.mux"(%689#2, %trueResult_361, %trueResult_337) : (index, index, index) -> index %686 = "handshake.buffer"(%685) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %687 = "handshake.mux"(%689#1, %700, %trueResult_345) : (index, index, index) -> index %688:2 = "handshake.control_merge"(%723, %677) {control = true} : (none, none) -> (none, index) %689:8 = "handshake.fork"(%688#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index) %690 = "handshake.mux"(%689#0, %737, %675) : (index, index, index) -> index %691:2 = "handshake.fork"(%690) {control = false} : (index) -> (index, index) %692 = cmpi "slt", %691#1, %680 : index %693:9 = "handshake.fork"(%692) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %694 = "handshake.buffer"(%693#5) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %695 = "handshake.buffer"(%693#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_351, %falseResult_352 = "handshake.conditional_branch"(%693#8, %679#0) {control = false} : (i1, index) -> (index, index) %696 = "handshake.buffer"(%trueResult_351) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_353, %falseResult_354 = "handshake.conditional_branch"(%693#7, %681) {control = false} : (i1, index) -> (index, index) %697 = "handshake.buffer"(%falseResult_354) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_355, %falseResult_356 = "handshake.conditional_branch"(%693#6, %682) {control = false} : (i1, index) -> (index, index) %trueResult_357, %falseResult_358 = "handshake.conditional_branch"(%694, %683) {control = false} : (i1, index) -> (index, index) %trueResult_359, %falseResult_360 = "handshake.conditional_branch"(%693#4, %684) {control = false} : (i1, index) -> (index, index) %698 = "handshake.buffer"(%trueResult_359) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_361, %falseResult_362 = "handshake.conditional_branch"(%693#3, %686) {control = false} : (i1, index) -> (index, index) %trueResult_363, %falseResult_364 = "handshake.conditional_branch"(%693#2, %687) {control = false} : (i1, index) -> (index, index) %699 = "handshake.buffer"(%falseResult_364) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %700 = "handshake.buffer"(%trueResult_363) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_365, %falseResult_366 = "handshake.conditional_branch"(%695, %688#0) {control = true} : (i1, none) -> (none, none) %trueResult_367, %falseResult_368 = "handshake.conditional_branch"(%693#0, %691#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_368) : (index) -> () %701:5 = "handshake.fork"(%trueResult_353) {control = false} : (index) -> (index, index, index, index, index) %702 = "handshake.buffer"(%701#4) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %703 = "handshake.buffer"(%701#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %704 = "handshake.buffer"(%701#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %705 = "handshake.buffer"(%701#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %706:5 = "handshake.fork"(%trueResult_355) {control = false} : (index) -> (index, index, index, index, index) %707 = "handshake.buffer"(%706#4) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %708 = "handshake.buffer"(%706#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %709 = "handshake.buffer"(%706#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %710 = "handshake.buffer"(%706#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %711:5 = "handshake.fork"(%trueResult_367) {control = false} : (index) -> (index, index, index, index, index) %712 = "handshake.buffer"(%711#4) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %713 = "handshake.buffer"(%711#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %714 = "handshake.buffer"(%711#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %715 = "handshake.buffer"(%711#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %716:2 = "handshake.fork"(%trueResult_357) {control = false} : (index) -> (index, index) %717 = "handshake.buffer"(%716#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %718:2 = "handshake.control_merge"(%trueResult_365) {control = true} : (none) -> (none, index) %719:5 = "handshake.fork"(%718#0) {control = true} : (none) -> (none, none, none, none, none) %720 = "handshake.buffer"(%719#2) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %721 = "handshake.buffer"(%719#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %722 = "handshake.buffer"(%719#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %723 = "handshake.join"(%721, %16#4, %11, %9#2, %8#1) {control = true} : (none, none, none, none, none) -> none "handshake.sink"(%718#1) : (index) -> () %724, %addressResults_369:3 = "handshake.load"(%702, %707, %712, %9#0, %720) : (index, index, index, i1, none) -> (i1, index, index, index) %725 = "handshake.buffer"(%addressResults_369#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %726 = "handshake.buffer"(%addressResults_369#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %727 = "handshake.buffer"(%addressResults_369#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %728, %addressResults_370:3 = "handshake.load"(%701#3, %706#3, %711#3, %16#1, %719#4) : (index, index, index, f32, none) -> (f32, index, index, index) %729 = "handshake.buffer"(%addressResults_370#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %730 = "handshake.buffer"(%addressResults_370#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %731 = "handshake.buffer"(%addressResults_370#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %732 = "handshake.buffer"(%728) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %733, %addressResults_371:3 = "handshake.load"(%703, %708, %713, %12, %719#3) : (index, index, index, f32, none) -> (f32, index, index, index) %734 = "handshake.buffer"(%733) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %735 = select %724, %732, %734 : f32 %736:4 = "handshake.store"(%735, %704, %709, %714, %722) : (f32, index, index, index, none) -> (f32, index, index, index) %737 = addi %715, %716#1 : index %738:2 = "handshake.fork"(%falseResult_358) {control = false} : (index) -> (index, index) %739 = "handshake.buffer"(%738#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %740:2 = "handshake.control_merge"(%falseResult_366) {control = true} : (none) -> (none, index) "handshake.sink"(%740#1) : (index) -> () %741 = addi %falseResult_356, %738#1 : index %742 = "handshake.buffer"(%741) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %743:2 = "handshake.fork"(%falseResult_344) {control = false} : (index) -> (index, index) %744 = "handshake.buffer"(%743#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %745:2 = "handshake.control_merge"(%falseResult_348) {control = true} : (none) -> (none, index) "handshake.sink"(%745#1) : (index) -> () %746 = addi %falseResult_342, %743#1 : index %747:2 = "handshake.fork"(%falseResult_320) {control = false} : (index) -> (index, index) %748:2 = "handshake.control_merge"(%falseResult_330) {control = true} : (none) -> (none, index) "handshake.sink"(%748#1) : (index) -> () %749 = "handshake.mux"(%759#5, %falseResult_401, %falseResult_318) : (index, index, index) -> index %750:2 = "handshake.fork"(%749) {control = false} : (index) -> (index, index) %751 = "handshake.buffer"(%750#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %752 = "handshake.mux"(%759#4, %falseResult_391, %747#0) : (index, index, index) -> index %753:2 = "handshake.fork"(%752) {control = false} : (index) -> (index, index) %754 = "handshake.mux"(%759#3, %falseResult_389, %falseResult_324) : (index, index, index) -> index %755 = "handshake.mux"(%759#2, %falseResult_395, %falseResult_326) : (index, index, index) -> index %756 = "handshake.mux"(%759#1, %842#0, %falseResult_328) : (index, index, index) -> index %757 = "handshake.buffer"(%756) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %758:2 = "handshake.control_merge"(%843#0, %748#0) {control = true} : (none, none) -> (none, index) %759:6 = "handshake.fork"(%758#1) {control = false} : (index) -> (index, index, index, index, index, index) %760 = "handshake.mux"(%759#0, %845, %747#1) : (index, index, index) -> index %761:2 = "handshake.fork"(%760) {control = false} : (index) -> (index, index) %762 = cmpi "slt", %761#1, %751 : index %763:8 = "handshake.fork"(%762) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1) %trueResult_372, %falseResult_373 = "handshake.conditional_branch"(%763#7, %750#0) {control = false} : (i1, index) -> (index, index) %764 = "handshake.buffer"(%trueResult_372) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_374, %falseResult_375 = "handshake.conditional_branch"(%763#6, %753#1) {control = false} : (i1, index) -> (index, index) %trueResult_376, %falseResult_377 = "handshake.conditional_branch"(%763#5, %753#0) {control = false} : (i1, index) -> (index, index) %765 = "handshake.buffer"(%trueResult_376) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_377) : (index) -> () %trueResult_378, %falseResult_379 = "handshake.conditional_branch"(%763#4, %754) {control = false} : (i1, index) -> (index, index) %trueResult_380, %falseResult_381 = "handshake.conditional_branch"(%763#3, %755) {control = false} : (i1, index) -> (index, index) %trueResult_382, %falseResult_383 = "handshake.conditional_branch"(%763#2, %757) {control = false} : (i1, index) -> (index, index) %trueResult_384, %falseResult_385 = "handshake.conditional_branch"(%763#1, %758#0) {control = true} : (i1, none) -> (none, none) %766 = "handshake.buffer"(%trueResult_384) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_386, %falseResult_387 = "handshake.conditional_branch"(%763#0, %761#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_387) : (index) -> () %767 = "handshake.mux"(%779#6, %falseResult_415, %trueResult_378) : (index, index, index) -> index %768:2 = "handshake.fork"(%767) {control = false} : (index) -> (index, index) %769 = "handshake.buffer"(%768#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %770 = "handshake.buffer"(%768#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %771 = "handshake.mux"(%779#5, %falseResult_417, %765) : (index, index, index) -> index %772:2 = "handshake.fork"(%771) {control = false} : (index) -> (index, index) %773 = "handshake.mux"(%779#4, %falseResult_407, %trueResult_380) : (index, index, index) -> index %774 = "handshake.buffer"(%773) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %775 = "handshake.mux"(%779#3, %809, %trueResult_386) : (index, index, index) -> index %776 = "handshake.mux"(%779#2, %838, %trueResult_382) : (index, index, index) -> index %777 = "handshake.mux"(%779#1, %falseResult_419, %764) : (index, index, index) -> index %778:2 = "handshake.control_merge"(%839#0, %766) {control = true} : (none, none) -> (none, index) %779:7 = "handshake.fork"(%778#1) {control = false} : (index) -> (index, index, index, index, index, index, index) %780 = "handshake.mux"(%779#0, %841, %trueResult_374) : (index, index, index) -> index %781:2 = "handshake.fork"(%780) {control = false} : (index) -> (index, index) %782 = cmpi "slt", %781#1, %769 : index %783:9 = "handshake.fork"(%782) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %784 = "handshake.buffer"(%783#7) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %785 = "handshake.buffer"(%783#3) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %786 = "handshake.buffer"(%783#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_388, %falseResult_389 = "handshake.conditional_branch"(%783#8, %770) {control = false} : (i1, index) -> (index, index) %trueResult_390, %falseResult_391 = "handshake.conditional_branch"(%784, %772#1) {control = false} : (i1, index) -> (index, index) %787 = "handshake.buffer"(%trueResult_390) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_392, %falseResult_393 = "handshake.conditional_branch"(%783#6, %772#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_393) : (index) -> () %trueResult_394, %falseResult_395 = "handshake.conditional_branch"(%783#5, %774) {control = false} : (i1, index) -> (index, index) %trueResult_396, %falseResult_397 = "handshake.conditional_branch"(%783#4, %775) {control = false} : (i1, index) -> (index, index) %trueResult_398, %falseResult_399 = "handshake.conditional_branch"(%785, %776) {control = false} : (i1, index) -> (index, index) %trueResult_400, %falseResult_401 = "handshake.conditional_branch"(%783#2, %777) {control = false} : (i1, index) -> (index, index) %trueResult_402, %falseResult_403 = "handshake.conditional_branch"(%786, %778#0) {control = true} : (i1, none) -> (none, none) %788 = "handshake.buffer"(%trueResult_402) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_404, %falseResult_405 = "handshake.conditional_branch"(%783#0, %781#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_405) : (index) -> () %789 = "handshake.mux"(%801#7, %808, %trueResult_394) : (index, index, index) -> index %790:2 = "handshake.fork"(%789) {control = false} : (index) -> (index, index) %791 = "handshake.buffer"(%790#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %792 = "handshake.mux"(%801#6, %814, %trueResult_396) : (index, index, index) -> index %793 = "handshake.mux"(%801#5, %818, %trueResult_404) : (index, index, index) -> index %794 = "handshake.mux"(%801#4, %824, %trueResult_398) : (index, index, index) -> index %795 = "handshake.mux"(%801#3, %810, %trueResult_388) : (index, index, index) -> index %796 = "handshake.mux"(%801#2, %trueResult_416, %trueResult_392) : (index, index, index) -> index %797 = "handshake.buffer"(%796) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %798 = "handshake.mux"(%801#1, %trueResult_418, %trueResult_400) : (index, index, index) -> index %799 = "handshake.buffer"(%798) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %800:2 = "handshake.control_merge"(%830, %788) {control = true} : (none, none) -> (none, index) %801:8 = "handshake.fork"(%800#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index) %802 = "handshake.mux"(%801#0, %836, %787) : (index, index, index) -> index %803:2 = "handshake.fork"(%802) {control = false} : (index) -> (index, index) %804 = cmpi "slt", %803#1, %791 : index %805:9 = "handshake.fork"(%804) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %806 = "handshake.buffer"(%805#5) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %807 = "handshake.buffer"(%805#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_406, %falseResult_407 = "handshake.conditional_branch"(%805#8, %790#0) {control = false} : (i1, index) -> (index, index) %808 = "handshake.buffer"(%trueResult_406) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_408, %falseResult_409 = "handshake.conditional_branch"(%805#7, %792) {control = false} : (i1, index) -> (index, index) %809 = "handshake.buffer"(%falseResult_409) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_410, %falseResult_411 = "handshake.conditional_branch"(%805#6, %793) {control = false} : (i1, index) -> (index, index) %trueResult_412, %falseResult_413 = "handshake.conditional_branch"(%806, %794) {control = false} : (i1, index) -> (index, index) %trueResult_414, %falseResult_415 = "handshake.conditional_branch"(%805#4, %795) {control = false} : (i1, index) -> (index, index) %810 = "handshake.buffer"(%trueResult_414) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_416, %falseResult_417 = "handshake.conditional_branch"(%805#3, %797) {control = false} : (i1, index) -> (index, index) %trueResult_418, %falseResult_419 = "handshake.conditional_branch"(%805#2, %799) {control = false} : (i1, index) -> (index, index) %trueResult_420, %falseResult_421 = "handshake.conditional_branch"(%807, %800#0) {control = true} : (i1, none) -> (none, none) %trueResult_422, %falseResult_423 = "handshake.conditional_branch"(%805#0, %803#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_423) : (index) -> () %811:3 = "handshake.fork"(%trueResult_408) {control = false} : (index) -> (index, index, index) %812 = "handshake.buffer"(%811#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %813 = "handshake.buffer"(%811#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %814 = "handshake.buffer"(%811#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %815:3 = "handshake.fork"(%trueResult_410) {control = false} : (index) -> (index, index, index) %816 = "handshake.buffer"(%815#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %817 = "handshake.buffer"(%815#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %818 = "handshake.buffer"(%815#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %819:3 = "handshake.fork"(%trueResult_422) {control = false} : (index) -> (index, index, index) %820 = "handshake.buffer"(%819#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %821 = "handshake.buffer"(%819#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %822 = "handshake.buffer"(%819#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %823:2 = "handshake.fork"(%trueResult_412) {control = false} : (index) -> (index, index) %824 = "handshake.buffer"(%823#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %825:2 = "handshake.control_merge"(%trueResult_420) {control = true} : (none) -> (none, index) %826:3 = "handshake.fork"(%825#0) {control = true} : (none) -> (none, none, none) %827 = "handshake.buffer"(%826#2) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %828 = "handshake.buffer"(%826#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %829 = "handshake.buffer"(%826#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %830 = "handshake.join"(%828, %8#2, %7#1) {control = true} : (none, none, none) -> none "handshake.sink"(%825#1) : (index) -> () %831, %addressResults_424:3 = "handshake.load"(%812, %816, %820, %8#0, %827) : (index, index, index, f32, none) -> (f32, index, index, index) %832 = "handshake.buffer"(%addressResults_424#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %833 = "handshake.buffer"(%addressResults_424#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %834 = "handshake.buffer"(%addressResults_424#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %835:4 = "handshake.store"(%831, %813, %817, %821, %829) : (f32, index, index, index, none) -> (f32, index, index, index) %836 = addi %822, %823#1 : index %837:2 = "handshake.fork"(%falseResult_413) {control = false} : (index) -> (index, index) %838 = "handshake.buffer"(%837#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %839:2 = "handshake.control_merge"(%falseResult_421) {control = true} : (none) -> (none, index) "handshake.sink"(%839#1) : (index) -> () %840 = addi %falseResult_411, %837#1 : index %841 = "handshake.buffer"(%840) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %842:2 = "handshake.fork"(%falseResult_399) {control = false} : (index) -> (index, index) %843:2 = "handshake.control_merge"(%falseResult_403) {control = true} : (none) -> (none, index) "handshake.sink"(%843#1) : (index) -> () %844 = addi %falseResult_397, %842#1 : index %845 = "handshake.buffer"(%844) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %846:2 = "handshake.fork"(%falseResult_375) {control = false} : (index) -> (index, index) %847:2 = "handshake.control_merge"(%falseResult_385) {control = true} : (none) -> (none, index) "handshake.sink"(%847#1) : (index) -> () %848 = "handshake.mux"(%858#5, %falseResult_454, %falseResult_373) : (index, index, index) -> index %849:2 = "handshake.fork"(%848) {control = false} : (index) -> (index, index) %850 = "handshake.buffer"(%849#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %851 = "handshake.mux"(%858#4, %falseResult_444, %846#0) : (index, index, index) -> index %852:2 = "handshake.fork"(%851) {control = false} : (index) -> (index, index) %853 = "handshake.mux"(%858#3, %falseResult_442, %falseResult_379) : (index, index, index) -> index %854 = "handshake.mux"(%858#2, %falseResult_448, %falseResult_381) : (index, index, index) -> index %855 = "handshake.mux"(%858#1, %935#0, %falseResult_383) : (index, index, index) -> index %856 = "handshake.buffer"(%855) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %857:2 = "handshake.control_merge"(%936#0, %847#0) {control = true} : (none, none) -> (none, index) %858:6 = "handshake.fork"(%857#1) {control = false} : (index) -> (index, index, index, index, index, index) %859 = "handshake.mux"(%858#0, %938, %846#1) : (index, index, index) -> index %860:2 = "handshake.fork"(%859) {control = false} : (index) -> (index, index) %861 = cmpi "slt", %860#1, %850 : index %862:8 = "handshake.fork"(%861) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1) %trueResult_425, %falseResult_426 = "handshake.conditional_branch"(%862#7, %849#0) {control = false} : (i1, index) -> (index, index) %863 = "handshake.buffer"(%trueResult_425) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_427, %falseResult_428 = "handshake.conditional_branch"(%862#6, %852#1) {control = false} : (i1, index) -> (index, index) %trueResult_429, %falseResult_430 = "handshake.conditional_branch"(%862#5, %852#0) {control = false} : (i1, index) -> (index, index) %864 = "handshake.buffer"(%trueResult_429) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_430) : (index) -> () %trueResult_431, %falseResult_432 = "handshake.conditional_branch"(%862#4, %853) {control = false} : (i1, index) -> (index, index) %865 = "handshake.buffer"(%trueResult_431) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_433, %falseResult_434 = "handshake.conditional_branch"(%862#3, %854) {control = false} : (i1, index) -> (index, index) %trueResult_435, %falseResult_436 = "handshake.conditional_branch"(%862#2, %856) {control = false} : (i1, index) -> (index, index) %trueResult_437, %falseResult_438 = "handshake.conditional_branch"(%862#1, %857#0) {control = true} : (i1, none) -> (none, none) %866 = "handshake.buffer"(%trueResult_437) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_439, %falseResult_440 = "handshake.conditional_branch"(%862#0, %860#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_440) : (index) -> () %867 = "handshake.mux"(%878#6, %falseResult_470, %865) : (index, index, index) -> index %868:2 = "handshake.fork"(%867) {control = false} : (index) -> (index, index) %869 = "handshake.mux"(%878#5, %falseResult_462, %864) : (index, index, index) -> index %870:2 = "handshake.fork"(%869) {control = false} : (index) -> (index, index) %871 = "handshake.buffer"(%870#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %872 = "handshake.mux"(%878#4, %falseResult_460, %trueResult_433) : (index, index, index) -> index %873 = "handshake.buffer"(%872) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %874 = "handshake.mux"(%878#3, %909, %trueResult_439) : (index, index, index) -> index %875 = "handshake.mux"(%878#2, %932, %trueResult_435) : (index, index, index) -> index %876 = "handshake.mux"(%878#1, %falseResult_472, %863) : (index, index, index) -> index %877:2 = "handshake.control_merge"(%933#0, %866) {control = true} : (none, none) -> (none, index) %878:7 = "handshake.fork"(%877#1) {control = false} : (index) -> (index, index, index, index, index, index, index) %879 = "handshake.mux"(%878#0, %934, %trueResult_427) : (index, index, index) -> index %880:2 = "handshake.fork"(%879) {control = false} : (index) -> (index, index) %881 = "handshake.buffer"(%880#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %882 = "handshake.buffer"(%880#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %883 = cmpi "slt", %881, %868#1 : index %884:9 = "handshake.fork"(%883) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %885 = "handshake.buffer"(%884#3) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %886 = "handshake.buffer"(%884#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_441, %falseResult_442 = "handshake.conditional_branch"(%884#8, %868#0) {control = false} : (i1, index) -> (index, index) %trueResult_443, %falseResult_444 = "handshake.conditional_branch"(%884#7, %870#1) {control = false} : (i1, index) -> (index, index) %887 = "handshake.buffer"(%trueResult_443) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_445, %falseResult_446 = "handshake.conditional_branch"(%884#6, %871) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_446) : (index) -> () %trueResult_447, %falseResult_448 = "handshake.conditional_branch"(%884#5, %873) {control = false} : (i1, index) -> (index, index) %trueResult_449, %falseResult_450 = "handshake.conditional_branch"(%884#4, %874) {control = false} : (i1, index) -> (index, index) %trueResult_451, %falseResult_452 = "handshake.conditional_branch"(%885, %875) {control = false} : (i1, index) -> (index, index) %trueResult_453, %falseResult_454 = "handshake.conditional_branch"(%884#2, %876) {control = false} : (i1, index) -> (index, index) %trueResult_455, %falseResult_456 = "handshake.conditional_branch"(%886, %877#0) {control = true} : (i1, none) -> (none, none) %888 = "handshake.buffer"(%trueResult_455) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_457, %falseResult_458 = "handshake.conditional_branch"(%884#0, %882) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_458) : (index) -> () %889 = "handshake.mux"(%901#7, %908, %trueResult_447) : (index, index, index) -> index %890:2 = "handshake.fork"(%889) {control = false} : (index) -> (index, index) %891 = "handshake.buffer"(%890#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %892 = "handshake.mux"(%901#6, %911, %trueResult_445) : (index, index, index) -> index %893 = "handshake.mux"(%901#5, %915, %trueResult_449) : (index, index, index) -> index %894 = "handshake.mux"(%901#4, %917, %trueResult_457) : (index, index, index) -> index %895 = "handshake.mux"(%901#3, %919, %trueResult_451) : (index, index, index) -> index %896 = "handshake.mux"(%901#2, %trueResult_469, %trueResult_441) : (index, index, index) -> index %897 = "handshake.buffer"(%896) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %898 = "handshake.mux"(%901#1, %trueResult_471, %trueResult_453) : (index, index, index) -> index %899 = "handshake.buffer"(%898) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %900:2 = "handshake.control_merge"(%923, %888) {control = true} : (none, none) -> (none, index) %901:8 = "handshake.fork"(%900#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index) %902 = "handshake.mux"(%901#0, %930, %887) : (index, index, index) -> index %903:2 = "handshake.fork"(%902) {control = false} : (index) -> (index, index) %904 = cmpi "slt", %903#1, %891 : index %905:9 = "handshake.fork"(%904) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %906 = "handshake.buffer"(%905#4) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %907 = "handshake.buffer"(%905#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_459, %falseResult_460 = "handshake.conditional_branch"(%905#8, %890#0) {control = false} : (i1, index) -> (index, index) %908 = "handshake.buffer"(%trueResult_459) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_461, %falseResult_462 = "handshake.conditional_branch"(%905#7, %892) {control = false} : (i1, index) -> (index, index) %trueResult_463, %falseResult_464 = "handshake.conditional_branch"(%905#6, %893) {control = false} : (i1, index) -> (index, index) %909 = "handshake.buffer"(%falseResult_464) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_465, %falseResult_466 = "handshake.conditional_branch"(%905#5, %894) {control = false} : (i1, index) -> (index, index) %trueResult_467, %falseResult_468 = "handshake.conditional_branch"(%906, %895) {control = false} : (i1, index) -> (index, index) %trueResult_469, %falseResult_470 = "handshake.conditional_branch"(%905#3, %897) {control = false} : (i1, index) -> (index, index) %trueResult_471, %falseResult_472 = "handshake.conditional_branch"(%905#2, %899) {control = false} : (i1, index) -> (index, index) %trueResult_473, %falseResult_474 = "handshake.conditional_branch"(%907, %900#0) {control = true} : (i1, none) -> (none, none) %trueResult_475, %falseResult_476 = "handshake.conditional_branch"(%905#0, %903#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_476) : (index) -> () %910:3 = "handshake.fork"(%trueResult_461) {control = false} : (index) -> (index, index, index) %911 = "handshake.buffer"(%910#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %912:3 = "handshake.fork"(%trueResult_475) {control = false} : (index) -> (index, index, index) %913 = "handshake.buffer"(%912#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %914:2 = "handshake.fork"(%trueResult_463) {control = false} : (index) -> (index, index) %915 = "handshake.buffer"(%914#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %916:2 = "handshake.fork"(%trueResult_465) {control = false} : (index) -> (index, index) %917 = "handshake.buffer"(%916#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %918:2 = "handshake.fork"(%trueResult_467) {control = false} : (index) -> (index, index) %919 = "handshake.buffer"(%918#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %920:2 = "handshake.control_merge"(%trueResult_473) {control = true} : (none) -> (none, index) %921:3 = "handshake.fork"(%920#0) {control = true} : (none) -> (none, none, none) %922 = "handshake.buffer"(%921#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %923 = "handshake.join"(%922, %5, %1#1) {control = true} : (none, none, none) -> none "handshake.sink"(%920#1) : (index) -> () %924, %addressResults_477:3 = "handshake.load"(%910#1, %910#2, %912#2, %6, %921#2) : (index, index, index, f32, none) -> (f32, index, index, index) %925:4 = "handshake.store"(%924, %914#1, %916#1, %912#1, %921#0) : (f32, index, index, index, none) -> (f32, index, index, index) %926 = "handshake.buffer"(%925#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %927 = "handshake.buffer"(%925#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %928 = "handshake.buffer"(%925#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %929 = "handshake.buffer"(%925#0) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %930 = addi %913, %918#1 : index %931:2 = "handshake.fork"(%falseResult_468) {control = false} : (index) -> (index, index) %932 = "handshake.buffer"(%931#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %933:2 = "handshake.control_merge"(%falseResult_474) {control = true} : (none) -> (none, index) "handshake.sink"(%933#1) : (index) -> () %934 = addi %falseResult_466, %931#1 : index %935:2 = "handshake.fork"(%falseResult_452) {control = false} : (index) -> (index, index) %936:2 = "handshake.control_merge"(%falseResult_456) {control = true} : (none) -> (none, index) "handshake.sink"(%936#1) : (index) -> () %937 = addi %falseResult_450, %935#1 : index %938 = "handshake.buffer"(%937) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %939:2 = "handshake.fork"(%falseResult_428) {control = false} : (index) -> (index, index) %940:2 = "handshake.control_merge"(%falseResult_438) {control = true} : (none) -> (none, index) "handshake.sink"(%940#1) : (index) -> () %941 = alloc() : memref<4x6x3xf32> %942 = "handshake.mux"(%952#6, %falseResult_509, %falseResult_426) : (index, index, index) -> index %943:2 = "handshake.fork"(%942) {control = false} : (index) -> (index, index) %944 = "handshake.mux"(%952#5, %falseResult_499, %939#0) : (index, index, index) -> index %945:2 = "handshake.fork"(%944) {control = false} : (index) -> (index, index) %946 = "handshake.mux"(%952#4, %falseResult_497, %falseResult_432) : (index, index, index) -> index %947 = "handshake.mux"(%952#3, %falseResult_503, %falseResult_434) : (index, index, index) -> index %948 = "handshake.mux"(%952#2, %1045#0, %falseResult_436) : (index, index, index) -> index %949 = "handshake.buffer"(%948) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %950 = "handshake.mux"(%952#1, %falseResult_511, %941) : (index, memref<4x6x3xf32>, memref<4x6x3xf32>) -> memref<4x6x3xf32> %951:2 = "handshake.control_merge"(%1047, %940#0) {control = true} : (none, none) -> (none, index) %952:7 = "handshake.fork"(%951#1) {control = false} : (index) -> (index, index, index, index, index, index, index) %953 = "handshake.mux"(%952#0, %1048, %939#1) : (index, index, index) -> index %954:2 = "handshake.fork"(%953) {control = false} : (index) -> (index, index) %955 = "handshake.buffer"(%954#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %956 = "handshake.buffer"(%954#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %957 = cmpi "slt", %955, %943#1 : index %958:9 = "handshake.fork"(%957) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) %959 = "handshake.buffer"(%958#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_478, %falseResult_479 = "handshake.conditional_branch"(%958#8, %943#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_479) : (index) -> () %trueResult_480, %falseResult_481 = "handshake.conditional_branch"(%958#7, %945#1) {control = false} : (i1, index) -> (index, index) %960 = "handshake.buffer"(%trueResult_480) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_481) : (index) -> () %trueResult_482, %falseResult_483 = "handshake.conditional_branch"(%958#6, %945#0) {control = false} : (i1, index) -> (index, index) %961 = "handshake.buffer"(%trueResult_482) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_483) : (index) -> () %trueResult_484, %falseResult_485 = "handshake.conditional_branch"(%958#5, %946) {control = false} : (i1, index) -> (index, index) %962 = "handshake.buffer"(%trueResult_484) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_485) : (index) -> () %trueResult_486, %falseResult_487 = "handshake.conditional_branch"(%958#4, %947) {control = false} : (i1, index) -> (index, index) %963 = "handshake.buffer"(%trueResult_486) {control = false, sequential = true, slots = 2 : i32} : (index) -> index "handshake.sink"(%falseResult_487) : (index) -> () %trueResult_488, %falseResult_489 = "handshake.conditional_branch"(%958#3, %949) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_489) : (index) -> () %trueResult_490, %falseResult_491 = "handshake.conditional_branch"(%958#2, %950) {control = false} : (i1, memref<4x6x3xf32>) -> (memref<4x6x3xf32>, memref<4x6x3xf32>) %trueResult_492, %falseResult_493 = "handshake.conditional_branch"(%959, %951#0) {control = true} : (i1, none) -> (none, none) %trueResult_494, %falseResult_495 = "handshake.conditional_branch"(%958#0, %956) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_495) : (index) -> () %964 = "handshake.mux"(%977#7, %falseResult_525, %962) : (index, index, index) -> index %965:2 = "handshake.fork"(%964) {control = false} : (index) -> (index, index) %966 = "handshake.buffer"(%965#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %967 = "handshake.mux"(%977#6, %falseResult_527, %961) : (index, index, index) -> index %968:2 = "handshake.fork"(%967) {control = false} : (index) -> (index, index) %969 = "handshake.mux"(%977#5, %falseResult_517, %963) : (index, index, index) -> index %970 = "handshake.mux"(%977#4, %1005, %trueResult_494) : (index, index, index) -> index %971 = "handshake.mux"(%977#3, %1041, %trueResult_488) : (index, index, index) -> index %972 = "handshake.mux"(%977#2, %falseResult_529, %trueResult_478) : (index, index, index) -> index %973 = "handshake.buffer"(%972) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %974 = "handshake.mux"(%977#1, %falseResult_531, %trueResult_490) : (index, memref<4x6x3xf32>, memref<4x6x3xf32>) -> memref<4x6x3xf32> %975 = "handshake.buffer"(%974) {control = false, sequential = true, slots = 2 : i32} : (memref<4x6x3xf32>) -> memref<4x6x3xf32> %976:2 = "handshake.control_merge"(%1042#0, %trueResult_492) {control = true} : (none, none) -> (none, index) %977:8 = "handshake.fork"(%976#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index) %978 = "handshake.mux"(%977#0, %1044, %960) : (index, index, index) -> index %979:2 = "handshake.fork"(%978) {control = false} : (index) -> (index, index) %980 = cmpi "slt", %979#1, %966 : index %981:10 = "handshake.fork"(%980) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1, i1) %trueResult_496, %falseResult_497 = "handshake.conditional_branch"(%981#9, %965#0) {control = false} : (i1, index) -> (index, index) %trueResult_498, %falseResult_499 = "handshake.conditional_branch"(%981#8, %968#1) {control = false} : (i1, index) -> (index, index) %982 = "handshake.buffer"(%trueResult_498) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_500, %falseResult_501 = "handshake.conditional_branch"(%981#7, %968#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_501) : (index) -> () %trueResult_502, %falseResult_503 = "handshake.conditional_branch"(%981#6, %969) {control = false} : (i1, index) -> (index, index) %trueResult_504, %falseResult_505 = "handshake.conditional_branch"(%981#5, %970) {control = false} : (i1, index) -> (index, index) %trueResult_506, %falseResult_507 = "handshake.conditional_branch"(%981#4, %971) {control = false} : (i1, index) -> (index, index) %trueResult_508, %falseResult_509 = "handshake.conditional_branch"(%981#3, %973) {control = false} : (i1, index) -> (index, index) %trueResult_510, %falseResult_511 = "handshake.conditional_branch"(%981#2, %975) {control = false} : (i1, memref<4x6x3xf32>) -> (memref<4x6x3xf32>, memref<4x6x3xf32>) %trueResult_512, %falseResult_513 = "handshake.conditional_branch"(%981#1, %976#0) {control = true} : (i1, none) -> (none, none) %983 = "handshake.buffer"(%trueResult_512) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %trueResult_514, %falseResult_515 = "handshake.conditional_branch"(%981#0, %979#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_515) : (index) -> () %984 = "handshake.mux"(%998#8, %trueResult_516, %trueResult_502) : (index, index, index) -> index %985:2 = "handshake.fork"(%984) {control = false} : (index) -> (index, index) %986 = "handshake.buffer"(%985#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %987 = "handshake.buffer"(%985#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %988 = "handshake.mux"(%998#7, %1012, %trueResult_504) : (index, index, index) -> index %989 = "handshake.mux"(%998#6, %1017, %trueResult_514) : (index, index, index) -> index %990 = "handshake.mux"(%998#5, %1024, %trueResult_506) : (index, index, index) -> index %991 = "handshake.mux"(%998#4, %trueResult_524, %trueResult_496) : (index, index, index) -> index %992 = "handshake.buffer"(%991) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %993 = "handshake.mux"(%998#3, %trueResult_526, %trueResult_500) : (index, index, index) -> index %994 = "handshake.buffer"(%993) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %995 = "handshake.mux"(%998#2, %1006, %trueResult_508) : (index, index, index) -> index %996 = "handshake.mux"(%998#1, %1007, %trueResult_510) : (index, memref<4x6x3xf32>, memref<4x6x3xf32>) -> memref<4x6x3xf32> %997:2 = "handshake.control_merge"(%1030, %983) {control = true} : (none, none) -> (none, index) %998:9 = "handshake.fork"(%997#1) {control = false} : (index) -> (index, index, index, index, index, index, index, index, index) %999 = "handshake.mux"(%998#0, %1039, %982) : (index, index, index) -> index %1000:2 = "handshake.fork"(%999) {control = false} : (index) -> (index, index) %1001 = cmpi "slt", %1000#1, %986 : index %1002:10 = "handshake.fork"(%1001) {control = false} : (i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1, i1) %1003 = "handshake.buffer"(%1002#6) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %1004 = "handshake.buffer"(%1002#1) {control = false, sequential = true, slots = 2 : i32} : (i1) -> i1 %trueResult_516, %falseResult_517 = "handshake.conditional_branch"(%1002#9, %987) {control = false} : (i1, index) -> (index, index) %trueResult_518, %falseResult_519 = "handshake.conditional_branch"(%1002#8, %988) {control = false} : (i1, index) -> (index, index) %1005 = "handshake.buffer"(%falseResult_519) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_520, %falseResult_521 = "handshake.conditional_branch"(%1002#7, %989) {control = false} : (i1, index) -> (index, index) %trueResult_522, %falseResult_523 = "handshake.conditional_branch"(%1003, %990) {control = false} : (i1, index) -> (index, index) %trueResult_524, %falseResult_525 = "handshake.conditional_branch"(%1002#5, %992) {control = false} : (i1, index) -> (index, index) %trueResult_526, %falseResult_527 = "handshake.conditional_branch"(%1002#4, %994) {control = false} : (i1, index) -> (index, index) %trueResult_528, %falseResult_529 = "handshake.conditional_branch"(%1002#3, %995) {control = false} : (i1, index) -> (index, index) %1006 = "handshake.buffer"(%trueResult_528) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %trueResult_530, %falseResult_531 = "handshake.conditional_branch"(%1002#2, %996) {control = false} : (i1, memref<4x6x3xf32>) -> (memref<4x6x3xf32>, memref<4x6x3xf32>) %1007 = "handshake.buffer"(%trueResult_530) {control = false, sequential = true, slots = 2 : i32} : (memref<4x6x3xf32>) -> memref<4x6x3xf32> %trueResult_532, %falseResult_533 = "handshake.conditional_branch"(%1004, %997#0) {control = true} : (i1, none) -> (none, none) %trueResult_534, %falseResult_535 = "handshake.conditional_branch"(%1002#0, %1000#0) {control = false} : (i1, index) -> (index, index) "handshake.sink"(%falseResult_535) : (index) -> () %1008:4 = "handshake.fork"(%trueResult_518) {control = false} : (index) -> (index, index, index, index) %1009 = "handshake.buffer"(%1008#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1010 = "handshake.buffer"(%1008#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1011 = "handshake.buffer"(%1008#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1012 = "handshake.buffer"(%1008#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1013:4 = "handshake.fork"(%trueResult_520) {control = false} : (index) -> (index, index, index, index) %1014 = "handshake.buffer"(%1013#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1015 = "handshake.buffer"(%1013#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1016 = "handshake.buffer"(%1013#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1017 = "handshake.buffer"(%1013#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1018:4 = "handshake.fork"(%trueResult_534) {control = false} : (index) -> (index, index, index, index) %1019 = "handshake.buffer"(%1018#3) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1020 = "handshake.buffer"(%1018#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1021 = "handshake.buffer"(%1018#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1022 = "handshake.buffer"(%1018#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1023:2 = "handshake.fork"(%trueResult_522) {control = false} : (index) -> (index, index) %1024 = "handshake.buffer"(%1023#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1025:2 = "handshake.control_merge"(%trueResult_532) {control = true} : (none) -> (none, index) %1026:4 = "handshake.fork"(%1025#0) {control = true} : (none) -> (none, none, none, none) %1027 = "handshake.buffer"(%1026#3) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %1028 = "handshake.buffer"(%1026#1) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %1029 = "handshake.buffer"(%1026#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none %1030 = "handshake.join"(%1028, %7#2, %2, %0) {control = true} : (none, none, none, none) -> none "handshake.sink"(%1025#1) : (index) -> () %1031, %addressResults_536:3 = "handshake.load"(%1009, %1014, %1019, %7#0, %1027) : (index, index, index, f32, none) -> (f32, index, index, index) %1032 = "handshake.buffer"(%addressResults_536#2) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1033 = "handshake.buffer"(%addressResults_536#1) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1034 = "handshake.buffer"(%addressResults_536#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1035, %addressResults_537:3 = "handshake.load"(%1010, %1015, %1020, %3, %1026#2) : (index, index, index, f32, none) -> (f32, index, index, index) %1036 = "handshake.buffer"(%1035) {control = false, sequential = true, slots = 2 : i32} : (f32) -> f32 %1037 = addf %1031, %1036 : f32 %1038:4 = "handshake.store"(%1037, %1011, %1016, %1021, %1029) : (f32, index, index, index, none) -> (f32, index, index, index) %1039 = addi %1022, %1023#1 : index %1040:2 = "handshake.fork"(%falseResult_523) {control = false} : (index) -> (index, index) %1041 = "handshake.buffer"(%1040#0) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1042:2 = "handshake.control_merge"(%falseResult_533) {control = true} : (none) -> (none, index) "handshake.sink"(%1042#1) : (index) -> () %1043 = addi %falseResult_521, %1040#1 : index %1044 = "handshake.buffer"(%1043) {control = false, sequential = true, slots = 2 : i32} : (index) -> index %1045:2 = "handshake.fork"(%falseResult_507) {control = false} : (index) -> (index, index) %1046:2 = "handshake.control_merge"(%falseResult_513) {control = true} : (none) -> (none, index) %1047 = "handshake.buffer"(%1046#0) {control = true, sequential = true, slots = 2 : i32} : (none) -> none "handshake.sink"(%1046#1) : (index) -> () %1048 = addi %falseResult_505, %1045#1 : index %1049:2 = "handshake.control_merge"(%falseResult_493) {control = true} : (none) -> (none, index) "handshake.sink"(%1049#1) : (index) -> () handshake.return %falseResult_491, %1049#0 : memref<4x6x3xf32>, none } }