declare i32 @getint() declare float @getfloat() declare i32 @getarray(i32* %arg.a) declare i32 @getfarray(float* %arg.a) declare i32 @getch() declare void @putint(i32 %arg.x) declare void @putfloat(float %arg.x) declare void @putarray(i32 %arg.n, i32* %arg.a) declare void @putfarray(i32 %arg.n, float* %arg.a) declare void @putch(i32 %arg.x) declare void @starttime() declare void @stoptime() define void @sort(i32* %arg.arr, i32 %arg.len) { entry: %t1 = alloca i32 %t8 = alloca i32 %t25 = alloca i32 %t0 = alloca i32 store i32 %arg.len, i32* %t0 store i32 0, i32* %t1 br label %while.cond.1 while.cond.1: %t2 = load i32, i32* %t1 %t3 = load i32, i32* %t0 %t4 = sub i32 %t3, 1 %t5 = icmp slt i32 %t2, %t4 %t6 = zext i1 %t5 to i32 %t7 = icmp ne i32 %t6, 0 br i1 %t7, label %while.body.2, label %while.end.3 while.body.2: %t9 = load i32, i32* %t1 %t10 = add i32 %t9, 1 store i32 %t10, i32* %t8 br label %while.cond.4 while.end.3: ret void while.cond.4: %t11 = load i32, i32* %t8 %t12 = load i32, i32* %t0 %t13 = icmp slt i32 %t11, %t12 %t14 = zext i1 %t13 to i32 %t15 = icmp ne i32 %t14, 0 br i1 %t15, label %while.body.5, label %while.end.6 while.body.5: %t16 = load i32, i32* %t1 %t17 = getelementptr inbounds i32, i32* %arg.arr, i32 %t16 %t18 = load i32, i32* %t17 %t19 = load i32, i32* %t8 %t20 = getelementptr inbounds i32, i32* %arg.arr, i32 %t19 %t21 = load i32, i32* %t20 %t22 = icmp slt i32 %t18, %t21 %t23 = zext i1 %t22 to i32 %t24 = icmp ne i32 %t23, 0 br i1 %t24, label %if.then.7, label %if.end.8 while.end.6: %t39 = load i32, i32* %t1 %t40 = add i32 %t39, 1 store i32 %t40, i32* %t1 br label %while.cond.1 if.then.7: %t26 = load i32, i32* %t1 %t27 = getelementptr inbounds i32, i32* %arg.arr, i32 %t26 %t28 = load i32, i32* %t27 store i32 %t28, i32* %t25 %t29 = load i32, i32* %t1 %t30 = getelementptr inbounds i32, i32* %arg.arr, i32 %t29 %t31 = load i32, i32* %t8 %t32 = getelementptr inbounds i32, i32* %arg.arr, i32 %t31 %t33 = load i32, i32* %t32 store i32 %t33, i32* %t30 %t34 = load i32, i32* %t8 %t35 = getelementptr inbounds i32, i32* %arg.arr, i32 %t34 %t36 = load i32, i32* %t25 store i32 %t36, i32* %t35 br label %if.end.8 if.end.8: %t37 = load i32, i32* %t8 %t38 = add i32 %t37, 1 store i32 %t38, i32* %t8 br label %while.cond.4 } define i32 @param32_rec(i32 %arg.a1, i32 %arg.a2, i32 %arg.a3, i32 %arg.a4, i32 %arg.a5, i32 %arg.a6, i32 %arg.a7, i32 %arg.a8, i32 %arg.a9, i32 %arg.a10, i32 %arg.a11, i32 %arg.a12, i32 %arg.a13, i32 %arg.a14, i32 %arg.a15, i32 %arg.a16, i32 %arg.a17, i32 %arg.a18, i32 %arg.a19, i32 %arg.a20, i32 %arg.a21, i32 %arg.a22, i32 %arg.a23, i32 %arg.a24, i32 %arg.a25, i32 %arg.a26, i32 %arg.a27, i32 %arg.a28, i32 %arg.a29, i32 %arg.a30, i32 %arg.a31, i32 %arg.a32) { entry: %t41 = alloca i32 store i32 %arg.a1, i32* %t41 %t42 = alloca i32 store i32 %arg.a2, i32* %t42 %t43 = alloca i32 store i32 %arg.a3, i32* %t43 %t44 = alloca i32 store i32 %arg.a4, i32* %t44 %t45 = alloca i32 store i32 %arg.a5, i32* %t45 %t46 = alloca i32 store i32 %arg.a6, i32* %t46 %t47 = alloca i32 store i32 %arg.a7, i32* %t47 %t48 = alloca i32 store i32 %arg.a8, i32* %t48 %t49 = alloca i32 store i32 %arg.a9, i32* %t49 %t50 = alloca i32 store i32 %arg.a10, i32* %t50 %t51 = alloca i32 store i32 %arg.a11, i32* %t51 %t52 = alloca i32 store i32 %arg.a12, i32* %t52 %t53 = alloca i32 store i32 %arg.a13, i32* %t53 %t54 = alloca i32 store i32 %arg.a14, i32* %t54 %t55 = alloca i32 store i32 %arg.a15, i32* %t55 %t56 = alloca i32 store i32 %arg.a16, i32* %t56 %t57 = alloca i32 store i32 %arg.a17, i32* %t57 %t58 = alloca i32 store i32 %arg.a18, i32* %t58 %t59 = alloca i32 store i32 %arg.a19, i32* %t59 %t60 = alloca i32 store i32 %arg.a20, i32* %t60 %t61 = alloca i32 store i32 %arg.a21, i32* %t61 %t62 = alloca i32 store i32 %arg.a22, i32* %t62 %t63 = alloca i32 store i32 %arg.a23, i32* %t63 %t64 = alloca i32 store i32 %arg.a24, i32* %t64 %t65 = alloca i32 store i32 %arg.a25, i32* %t65 %t66 = alloca i32 store i32 %arg.a26, i32* %t66 %t67 = alloca i32 store i32 %arg.a27, i32* %t67 %t68 = alloca i32 store i32 %arg.a28, i32* %t68 %t69 = alloca i32 store i32 %arg.a29, i32* %t69 %t70 = alloca i32 store i32 %arg.a30, i32* %t70 %t71 = alloca i32 store i32 %arg.a31, i32* %t71 %t72 = alloca i32 store i32 %arg.a32, i32* %t72 %t73 = load i32, i32* %t41 %t74 = icmp eq i32 %t73, 0 %t75 = zext i1 %t74 to i32 %t76 = icmp ne i32 %t75, 0 br i1 %t76, label %if.then.9, label %if.else.10 if.then.9: %t77 = load i32, i32* %t42 ret i32 %t77 if.else.10: %t78 = load i32, i32* %t41 %t79 = sub i32 %t78, 1 %t80 = load i32, i32* %t42 %t81 = load i32, i32* %t43 %t82 = add i32 %t80, %t81 %t83 = srem i32 %t82, 998244353 %t84 = load i32, i32* %t44 %t85 = load i32, i32* %t45 %t86 = load i32, i32* %t46 %t87 = load i32, i32* %t47 %t88 = load i32, i32* %t48 %t89 = load i32, i32* %t49 %t90 = load i32, i32* %t50 %t91 = load i32, i32* %t51 %t92 = load i32, i32* %t52 %t93 = load i32, i32* %t53 %t94 = load i32, i32* %t54 %t95 = load i32, i32* %t55 %t96 = load i32, i32* %t56 %t97 = load i32, i32* %t57 %t98 = load i32, i32* %t58 %t99 = load i32, i32* %t59 %t100 = load i32, i32* %t60 %t101 = load i32, i32* %t61 %t102 = load i32, i32* %t62 %t103 = load i32, i32* %t63 %t104 = load i32, i32* %t64 %t105 = load i32, i32* %t65 %t106 = load i32, i32* %t66 %t107 = load i32, i32* %t67 %t108 = load i32, i32* %t68 %t109 = load i32, i32* %t69 %t110 = load i32, i32* %t70 %t111 = load i32, i32* %t71 %t112 = load i32, i32* %t72 %t113 = call i32 @param32_rec(i32 %t79, i32 %t83, i32 %t84, i32 %t85, i32 %t86, i32 %t87, i32 %t88, i32 %t89, i32 %t90, i32 %t91, i32 %t92, i32 %t93, i32 %t94, i32 %t95, i32 %t96, i32 %t97, i32 %t98, i32 %t99, i32 %t100, i32 %t101, i32 %t102, i32 %t103, i32 %t104, i32 %t105, i32 %t106, i32 %t107, i32 %t108, i32 %t109, i32 %t110, i32 %t111, i32 %t112, i32 0) ret i32 %t113 if.end.11: ret i32 0 } define i32 @param32_arr(i32* %arg.a1, i32* %arg.a2, i32* %arg.a3, i32* %arg.a4, i32* %arg.a5, i32* %arg.a6, i32* %arg.a7, i32* %arg.a8, i32* %arg.a9, i32* %arg.a10, i32* %arg.a11, i32* %arg.a12, i32* %arg.a13, i32* %arg.a14, i32* %arg.a15, i32* %arg.a16, i32* %arg.a17, i32* %arg.a18, i32* %arg.a19, i32* %arg.a20, i32* %arg.a21, i32* %arg.a22, i32* %arg.a23, i32* %arg.a24, i32* %arg.a25, i32* %arg.a26, i32* %arg.a27, i32* %arg.a28, i32* %arg.a29, i32* %arg.a30, i32* %arg.a31, i32* %arg.a32) { entry: %t114 = alloca i32 %t115 = getelementptr inbounds i32, i32* %arg.a1, i32 0 %t116 = load i32, i32* %t115 %t117 = getelementptr inbounds i32, i32* %arg.a1, i32 1 %t118 = load i32, i32* %t117 %t119 = add i32 %t116, %t118 store i32 %t119, i32* %t114 %t120 = load i32, i32* %t114 %t121 = getelementptr inbounds i32, i32* %arg.a2, i32 0 %t122 = load i32, i32* %t121 %t123 = add i32 %t120, %t122 %t124 = getelementptr inbounds i32, i32* %arg.a2, i32 1 %t125 = load i32, i32* %t124 %t126 = add i32 %t123, %t125 store i32 %t126, i32* %t114 %t127 = load i32, i32* %t114 %t128 = getelementptr inbounds i32, i32* %arg.a3, i32 0 %t129 = load i32, i32* %t128 %t130 = add i32 %t127, %t129 %t131 = getelementptr inbounds i32, i32* %arg.a3, i32 1 %t132 = load i32, i32* %t131 %t133 = add i32 %t130, %t132 store i32 %t133, i32* %t114 %t134 = load i32, i32* %t114 %t135 = getelementptr inbounds i32, i32* %arg.a4, i32 0 %t136 = load i32, i32* %t135 %t137 = add i32 %t134, %t136 %t138 = getelementptr inbounds i32, i32* %arg.a4, i32 1 %t139 = load i32, i32* %t138 %t140 = add i32 %t137, %t139 store i32 %t140, i32* %t114 %t141 = load i32, i32* %t114 %t142 = getelementptr inbounds i32, i32* %arg.a5, i32 0 %t143 = load i32, i32* %t142 %t144 = add i32 %t141, %t143 %t145 = getelementptr inbounds i32, i32* %arg.a5, i32 1 %t146 = load i32, i32* %t145 %t147 = add i32 %t144, %t146 store i32 %t147, i32* %t114 %t148 = load i32, i32* %t114 %t149 = getelementptr inbounds i32, i32* %arg.a6, i32 0 %t150 = load i32, i32* %t149 %t151 = add i32 %t148, %t150 %t152 = getelementptr inbounds i32, i32* %arg.a6, i32 1 %t153 = load i32, i32* %t152 %t154 = add i32 %t151, %t153 store i32 %t154, i32* %t114 %t155 = load i32, i32* %t114 %t156 = getelementptr inbounds i32, i32* %arg.a7, i32 0 %t157 = load i32, i32* %t156 %t158 = add i32 %t155, %t157 %t159 = getelementptr inbounds i32, i32* %arg.a7, i32 1 %t160 = load i32, i32* %t159 %t161 = add i32 %t158, %t160 store i32 %t161, i32* %t114 %t162 = load i32, i32* %t114 %t163 = getelementptr inbounds i32, i32* %arg.a8, i32 0 %t164 = load i32, i32* %t163 %t165 = add i32 %t162, %t164 %t166 = getelementptr inbounds i32, i32* %arg.a8, i32 1 %t167 = load i32, i32* %t166 %t168 = add i32 %t165, %t167 store i32 %t168, i32* %t114 %t169 = load i32, i32* %t114 %t170 = getelementptr inbounds i32, i32* %arg.a9, i32 0 %t171 = load i32, i32* %t170 %t172 = add i32 %t169, %t171 %t173 = getelementptr inbounds i32, i32* %arg.a9, i32 1 %t174 = load i32, i32* %t173 %t175 = add i32 %t172, %t174 store i32 %t175, i32* %t114 %t176 = load i32, i32* %t114 %t177 = getelementptr inbounds i32, i32* %arg.a10, i32 0 %t178 = load i32, i32* %t177 %t179 = add i32 %t176, %t178 %t180 = getelementptr inbounds i32, i32* %arg.a10, i32 1 %t181 = load i32, i32* %t180 %t182 = add i32 %t179, %t181 store i32 %t182, i32* %t114 %t183 = load i32, i32* %t114 %t184 = getelementptr inbounds i32, i32* %arg.a11, i32 0 %t185 = load i32, i32* %t184 %t186 = add i32 %t183, %t185 %t187 = getelementptr inbounds i32, i32* %arg.a11, i32 1 %t188 = load i32, i32* %t187 %t189 = add i32 %t186, %t188 store i32 %t189, i32* %t114 %t190 = load i32, i32* %t114 %t191 = getelementptr inbounds i32, i32* %arg.a12, i32 0 %t192 = load i32, i32* %t191 %t193 = add i32 %t190, %t192 %t194 = getelementptr inbounds i32, i32* %arg.a12, i32 1 %t195 = load i32, i32* %t194 %t196 = add i32 %t193, %t195 store i32 %t196, i32* %t114 %t197 = load i32, i32* %t114 %t198 = getelementptr inbounds i32, i32* %arg.a13, i32 0 %t199 = load i32, i32* %t198 %t200 = add i32 %t197, %t199 %t201 = getelementptr inbounds i32, i32* %arg.a13, i32 1 %t202 = load i32, i32* %t201 %t203 = add i32 %t200, %t202 store i32 %t203, i32* %t114 %t204 = load i32, i32* %t114 %t205 = getelementptr inbounds i32, i32* %arg.a14, i32 0 %t206 = load i32, i32* %t205 %t207 = add i32 %t204, %t206 %t208 = getelementptr inbounds i32, i32* %arg.a14, i32 1 %t209 = load i32, i32* %t208 %t210 = add i32 %t207, %t209 store i32 %t210, i32* %t114 %t211 = load i32, i32* %t114 %t212 = getelementptr inbounds i32, i32* %arg.a15, i32 0 %t213 = load i32, i32* %t212 %t214 = add i32 %t211, %t213 %t215 = getelementptr inbounds i32, i32* %arg.a15, i32 1 %t216 = load i32, i32* %t215 %t217 = add i32 %t214, %t216 store i32 %t217, i32* %t114 %t218 = load i32, i32* %t114 %t219 = getelementptr inbounds i32, i32* %arg.a16, i32 0 %t220 = load i32, i32* %t219 %t221 = add i32 %t218, %t220 %t222 = getelementptr inbounds i32, i32* %arg.a16, i32 1 %t223 = load i32, i32* %t222 %t224 = add i32 %t221, %t223 store i32 %t224, i32* %t114 %t225 = load i32, i32* %t114 %t226 = getelementptr inbounds i32, i32* %arg.a17, i32 0 %t227 = load i32, i32* %t226 %t228 = add i32 %t225, %t227 %t229 = getelementptr inbounds i32, i32* %arg.a17, i32 1 %t230 = load i32, i32* %t229 %t231 = add i32 %t228, %t230 store i32 %t231, i32* %t114 %t232 = load i32, i32* %t114 %t233 = getelementptr inbounds i32, i32* %arg.a18, i32 0 %t234 = load i32, i32* %t233 %t235 = add i32 %t232, %t234 %t236 = getelementptr inbounds i32, i32* %arg.a18, i32 1 %t237 = load i32, i32* %t236 %t238 = add i32 %t235, %t237 store i32 %t238, i32* %t114 %t239 = load i32, i32* %t114 %t240 = getelementptr inbounds i32, i32* %arg.a19, i32 0 %t241 = load i32, i32* %t240 %t242 = add i32 %t239, %t241 %t243 = getelementptr inbounds i32, i32* %arg.a19, i32 1 %t244 = load i32, i32* %t243 %t245 = add i32 %t242, %t244 store i32 %t245, i32* %t114 %t246 = load i32, i32* %t114 %t247 = getelementptr inbounds i32, i32* %arg.a20, i32 0 %t248 = load i32, i32* %t247 %t249 = add i32 %t246, %t248 %t250 = getelementptr inbounds i32, i32* %arg.a20, i32 1 %t251 = load i32, i32* %t250 %t252 = add i32 %t249, %t251 store i32 %t252, i32* %t114 %t253 = load i32, i32* %t114 %t254 = getelementptr inbounds i32, i32* %arg.a21, i32 0 %t255 = load i32, i32* %t254 %t256 = add i32 %t253, %t255 %t257 = getelementptr inbounds i32, i32* %arg.a21, i32 1 %t258 = load i32, i32* %t257 %t259 = add i32 %t256, %t258 store i32 %t259, i32* %t114 %t260 = load i32, i32* %t114 %t261 = getelementptr inbounds i32, i32* %arg.a22, i32 0 %t262 = load i32, i32* %t261 %t263 = add i32 %t260, %t262 %t264 = getelementptr inbounds i32, i32* %arg.a22, i32 1 %t265 = load i32, i32* %t264 %t266 = add i32 %t263, %t265 store i32 %t266, i32* %t114 %t267 = load i32, i32* %t114 %t268 = getelementptr inbounds i32, i32* %arg.a23, i32 0 %t269 = load i32, i32* %t268 %t270 = add i32 %t267, %t269 %t271 = getelementptr inbounds i32, i32* %arg.a23, i32 1 %t272 = load i32, i32* %t271 %t273 = add i32 %t270, %t272 store i32 %t273, i32* %t114 %t274 = load i32, i32* %t114 %t275 = getelementptr inbounds i32, i32* %arg.a24, i32 0 %t276 = load i32, i32* %t275 %t277 = add i32 %t274, %t276 %t278 = getelementptr inbounds i32, i32* %arg.a24, i32 1 %t279 = load i32, i32* %t278 %t280 = add i32 %t277, %t279 store i32 %t280, i32* %t114 %t281 = load i32, i32* %t114 %t282 = getelementptr inbounds i32, i32* %arg.a25, i32 0 %t283 = load i32, i32* %t282 %t284 = add i32 %t281, %t283 %t285 = getelementptr inbounds i32, i32* %arg.a25, i32 1 %t286 = load i32, i32* %t285 %t287 = add i32 %t284, %t286 store i32 %t287, i32* %t114 %t288 = load i32, i32* %t114 %t289 = getelementptr inbounds i32, i32* %arg.a26, i32 0 %t290 = load i32, i32* %t289 %t291 = add i32 %t288, %t290 %t292 = getelementptr inbounds i32, i32* %arg.a26, i32 1 %t293 = load i32, i32* %t292 %t294 = add i32 %t291, %t293 store i32 %t294, i32* %t114 %t295 = load i32, i32* %t114 %t296 = getelementptr inbounds i32, i32* %arg.a27, i32 0 %t297 = load i32, i32* %t296 %t298 = add i32 %t295, %t297 %t299 = getelementptr inbounds i32, i32* %arg.a27, i32 1 %t300 = load i32, i32* %t299 %t301 = add i32 %t298, %t300 store i32 %t301, i32* %t114 %t302 = load i32, i32* %t114 %t303 = getelementptr inbounds i32, i32* %arg.a28, i32 0 %t304 = load i32, i32* %t303 %t305 = add i32 %t302, %t304 %t306 = getelementptr inbounds i32, i32* %arg.a28, i32 1 %t307 = load i32, i32* %t306 %t308 = add i32 %t305, %t307 store i32 %t308, i32* %t114 %t309 = load i32, i32* %t114 %t310 = getelementptr inbounds i32, i32* %arg.a29, i32 0 %t311 = load i32, i32* %t310 %t312 = add i32 %t309, %t311 %t313 = getelementptr inbounds i32, i32* %arg.a29, i32 1 %t314 = load i32, i32* %t313 %t315 = add i32 %t312, %t314 store i32 %t315, i32* %t114 %t316 = load i32, i32* %t114 %t317 = getelementptr inbounds i32, i32* %arg.a30, i32 0 %t318 = load i32, i32* %t317 %t319 = add i32 %t316, %t318 %t320 = getelementptr inbounds i32, i32* %arg.a30, i32 1 %t321 = load i32, i32* %t320 %t322 = add i32 %t319, %t321 store i32 %t322, i32* %t114 %t323 = load i32, i32* %t114 %t324 = getelementptr inbounds i32, i32* %arg.a31, i32 0 %t325 = load i32, i32* %t324 %t326 = add i32 %t323, %t325 %t327 = getelementptr inbounds i32, i32* %arg.a31, i32 1 %t328 = load i32, i32* %t327 %t329 = add i32 %t326, %t328 store i32 %t329, i32* %t114 %t330 = load i32, i32* %t114 %t331 = getelementptr inbounds i32, i32* %arg.a32, i32 0 %t332 = load i32, i32* %t331 %t333 = add i32 %t330, %t332 %t334 = getelementptr inbounds i32, i32* %arg.a32, i32 1 %t335 = load i32, i32* %t334 %t336 = add i32 %t333, %t335 store i32 %t336, i32* %t114 %t337 = load i32, i32* %t114 ret i32 %t337 } define i32 @param16(i32 %arg.a1, i32 %arg.a2, i32 %arg.a3, i32 %arg.a4, i32 %arg.a5, i32 %arg.a6, i32 %arg.a7, i32 %arg.a8, i32 %arg.a9, i32 %arg.a10, i32 %arg.a11, i32 %arg.a12, i32 %arg.a13, i32 %arg.a14, i32 %arg.a15, i32 %arg.a16) { entry: %t354 = alloca i32, i32 16 %t338 = alloca i32 store i32 %arg.a1, i32* %t338 %t339 = alloca i32 store i32 %arg.a2, i32* %t339 %t340 = alloca i32 store i32 %arg.a3, i32* %t340 %t341 = alloca i32 store i32 %arg.a4, i32* %t341 %t342 = alloca i32 store i32 %arg.a5, i32* %t342 %t343 = alloca i32 store i32 %arg.a6, i32* %t343 %t344 = alloca i32 store i32 %arg.a7, i32* %t344 %t345 = alloca i32 store i32 %arg.a8, i32* %t345 %t346 = alloca i32 store i32 %arg.a9, i32* %t346 %t347 = alloca i32 store i32 %arg.a10, i32* %t347 %t348 = alloca i32 store i32 %arg.a11, i32* %t348 %t349 = alloca i32 store i32 %arg.a12, i32* %t349 %t350 = alloca i32 store i32 %arg.a13, i32* %t350 %t351 = alloca i32 store i32 %arg.a14, i32* %t351 %t352 = alloca i32 store i32 %arg.a15, i32* %t352 %t353 = alloca i32 store i32 %arg.a16, i32* %t353 %t355 = getelementptr inbounds i32, i32* %t354, i32 0 %t356 = load i32, i32* %t338 store i32 %t356, i32* %t355 %t357 = getelementptr inbounds i32, i32* %t354, i32 1 %t358 = load i32, i32* %t339 store i32 %t358, i32* %t357 %t359 = getelementptr inbounds i32, i32* %t354, i32 2 %t360 = load i32, i32* %t340 store i32 %t360, i32* %t359 %t361 = getelementptr inbounds i32, i32* %t354, i32 3 %t362 = load i32, i32* %t341 store i32 %t362, i32* %t361 %t363 = getelementptr inbounds i32, i32* %t354, i32 4 %t364 = load i32, i32* %t342 store i32 %t364, i32* %t363 %t365 = getelementptr inbounds i32, i32* %t354, i32 5 %t366 = load i32, i32* %t343 store i32 %t366, i32* %t365 %t367 = getelementptr inbounds i32, i32* %t354, i32 6 %t368 = load i32, i32* %t344 store i32 %t368, i32* %t367 %t369 = getelementptr inbounds i32, i32* %t354, i32 7 %t370 = load i32, i32* %t345 store i32 %t370, i32* %t369 %t371 = getelementptr inbounds i32, i32* %t354, i32 8 %t372 = load i32, i32* %t346 store i32 %t372, i32* %t371 %t373 = getelementptr inbounds i32, i32* %t354, i32 9 %t374 = load i32, i32* %t347 store i32 %t374, i32* %t373 %t375 = getelementptr inbounds i32, i32* %t354, i32 10 %t376 = load i32, i32* %t348 store i32 %t376, i32* %t375 %t377 = getelementptr inbounds i32, i32* %t354, i32 11 %t378 = load i32, i32* %t349 store i32 %t378, i32* %t377 %t379 = getelementptr inbounds i32, i32* %t354, i32 12 %t380 = load i32, i32* %t350 store i32 %t380, i32* %t379 %t381 = getelementptr inbounds i32, i32* %t354, i32 13 %t382 = load i32, i32* %t351 store i32 %t382, i32* %t381 %t383 = getelementptr inbounds i32, i32* %t354, i32 14 %t384 = load i32, i32* %t352 store i32 %t384, i32* %t383 %t385 = getelementptr inbounds i32, i32* %t354, i32 15 %t386 = load i32, i32* %t353 store i32 %t386, i32* %t385 call void @sort(i32* %t354, i32 16) %t388 = getelementptr inbounds i32, i32* %t354, i32 0 %t389 = load i32, i32* %t388 %t390 = getelementptr inbounds i32, i32* %t354, i32 1 %t391 = load i32, i32* %t390 %t392 = getelementptr inbounds i32, i32* %t354, i32 2 %t393 = load i32, i32* %t392 %t394 = getelementptr inbounds i32, i32* %t354, i32 3 %t395 = load i32, i32* %t394 %t396 = getelementptr inbounds i32, i32* %t354, i32 4 %t397 = load i32, i32* %t396 %t398 = getelementptr inbounds i32, i32* %t354, i32 5 %t399 = load i32, i32* %t398 %t400 = getelementptr inbounds i32, i32* %t354, i32 6 %t401 = load i32, i32* %t400 %t402 = getelementptr inbounds i32, i32* %t354, i32 7 %t403 = load i32, i32* %t402 %t404 = getelementptr inbounds i32, i32* %t354, i32 8 %t405 = load i32, i32* %t404 %t406 = getelementptr inbounds i32, i32* %t354, i32 9 %t407 = load i32, i32* %t406 %t408 = getelementptr inbounds i32, i32* %t354, i32 10 %t409 = load i32, i32* %t408 %t410 = getelementptr inbounds i32, i32* %t354, i32 11 %t411 = load i32, i32* %t410 %t412 = getelementptr inbounds i32, i32* %t354, i32 12 %t413 = load i32, i32* %t412 %t414 = getelementptr inbounds i32, i32* %t354, i32 13 %t415 = load i32, i32* %t414 %t416 = getelementptr inbounds i32, i32* %t354, i32 14 %t417 = load i32, i32* %t416 %t418 = getelementptr inbounds i32, i32* %t354, i32 15 %t419 = load i32, i32* %t418 %t420 = load i32, i32* %t338 %t421 = load i32, i32* %t339 %t422 = load i32, i32* %t340 %t423 = load i32, i32* %t341 %t424 = load i32, i32* %t342 %t425 = load i32, i32* %t343 %t426 = load i32, i32* %t344 %t427 = load i32, i32* %t345 %t428 = load i32, i32* %t346 %t429 = load i32, i32* %t347 %t430 = load i32, i32* %t348 %t431 = load i32, i32* %t349 %t432 = load i32, i32* %t350 %t433 = load i32, i32* %t351 %t434 = load i32, i32* %t352 %t435 = load i32, i32* %t353 %t436 = call i32 @param32_rec(i32 %t389, i32 %t391, i32 %t393, i32 %t395, i32 %t397, i32 %t399, i32 %t401, i32 %t403, i32 %t405, i32 %t407, i32 %t409, i32 %t411, i32 %t413, i32 %t415, i32 %t417, i32 %t419, i32 %t420, i32 %t421, i32 %t422, i32 %t423, i32 %t424, i32 %t425, i32 %t426, i32 %t427, i32 %t428, i32 %t429, i32 %t430, i32 %t431, i32 %t432, i32 %t433, i32 %t434, i32 %t435) ret i32 %t436 } define i32 @main() { entry: %t437 = alloca i32 %t439 = alloca i32 %t441 = alloca i32 %t443 = alloca i32 %t445 = alloca i32 %t447 = alloca i32 %t449 = alloca i32 %t451 = alloca i32 %t453 = alloca i32 %t455 = alloca i32 %t457 = alloca i32 %t459 = alloca i32 %t461 = alloca i32 %t463 = alloca i32 %t465 = alloca i32 %t467 = alloca i32 %t469 = alloca i32, i32 64 %t551 = alloca i32 %t438 = call i32 @getint() store i32 %t438, i32* %t437 %t440 = call i32 @getint() store i32 %t440, i32* %t439 %t442 = call i32 @getint() store i32 %t442, i32* %t441 %t444 = call i32 @getint() store i32 %t444, i32* %t443 %t446 = call i32 @getint() store i32 %t446, i32* %t445 %t448 = call i32 @getint() store i32 %t448, i32* %t447 %t450 = call i32 @getint() store i32 %t450, i32* %t449 %t452 = call i32 @getint() store i32 %t452, i32* %t451 %t454 = call i32 @getint() store i32 %t454, i32* %t453 %t456 = call i32 @getint() store i32 %t456, i32* %t455 %t458 = call i32 @getint() store i32 %t458, i32* %t457 %t460 = call i32 @getint() store i32 %t460, i32* %t459 %t462 = call i32 @getint() store i32 %t462, i32* %t461 %t464 = call i32 @getint() store i32 %t464, i32* %t463 %t466 = call i32 @getint() store i32 %t466, i32* %t465 %t468 = call i32 @getint() store i32 %t468, i32* %t467 %t470 = getelementptr inbounds i32, i32* %t469, i32 0 %t471 = load i32, i32* %t437 %t472 = load i32, i32* %t439 %t473 = load i32, i32* %t441 %t474 = load i32, i32* %t443 %t475 = load i32, i32* %t445 %t476 = load i32, i32* %t447 %t477 = load i32, i32* %t449 %t478 = load i32, i32* %t451 %t479 = load i32, i32* %t453 %t480 = load i32, i32* %t455 %t481 = load i32, i32* %t457 %t482 = load i32, i32* %t459 %t483 = load i32, i32* %t461 %t484 = load i32, i32* %t463 %t485 = load i32, i32* %t465 %t486 = load i32, i32* %t467 %t487 = call i32 @param16(i32 %t471, i32 %t472, i32 %t473, i32 %t474, i32 %t475, i32 %t476, i32 %t477, i32 %t478, i32 %t479, i32 %t480, i32 %t481, i32 %t482, i32 %t483, i32 %t484, i32 %t485, i32 %t486) store i32 %t487, i32* %t470 %t488 = getelementptr inbounds i32, i32* %t469, i32 1 store i32 8848, i32* %t488 %t489 = getelementptr inbounds i32, i32* %t469, i32 2 store i32 0, i32* %t489 %t490 = getelementptr inbounds i32, i32* %t469, i32 3 store i32 0, i32* %t490 %t491 = getelementptr inbounds i32, i32* %t469, i32 4 store i32 0, i32* %t491 %t492 = getelementptr inbounds i32, i32* %t469, i32 5 store i32 0, i32* %t492 %t493 = getelementptr inbounds i32, i32* %t469, i32 6 store i32 0, i32* %t493 %t494 = getelementptr inbounds i32, i32* %t469, i32 7 store i32 0, i32* %t494 %t495 = getelementptr inbounds i32, i32* %t469, i32 8 store i32 0, i32* %t495 %t496 = getelementptr inbounds i32, i32* %t469, i32 9 store i32 0, i32* %t496 %t497 = getelementptr inbounds i32, i32* %t469, i32 10 store i32 0, i32* %t497 %t498 = getelementptr inbounds i32, i32* %t469, i32 11 store i32 0, i32* %t498 %t499 = getelementptr inbounds i32, i32* %t469, i32 12 store i32 0, i32* %t499 %t500 = getelementptr inbounds i32, i32* %t469, i32 13 store i32 0, i32* %t500 %t501 = getelementptr inbounds i32, i32* %t469, i32 14 store i32 0, i32* %t501 %t502 = getelementptr inbounds i32, i32* %t469, i32 15 store i32 0, i32* %t502 %t503 = getelementptr inbounds i32, i32* %t469, i32 16 store i32 0, i32* %t503 %t504 = getelementptr inbounds i32, i32* %t469, i32 17 store i32 0, i32* %t504 %t505 = getelementptr inbounds i32, i32* %t469, i32 18 store i32 0, i32* %t505 %t506 = getelementptr inbounds i32, i32* %t469, i32 19 store i32 0, i32* %t506 %t507 = getelementptr inbounds i32, i32* %t469, i32 20 store i32 0, i32* %t507 %t508 = getelementptr inbounds i32, i32* %t469, i32 21 store i32 0, i32* %t508 %t509 = getelementptr inbounds i32, i32* %t469, i32 22 store i32 0, i32* %t509 %t510 = getelementptr inbounds i32, i32* %t469, i32 23 store i32 0, i32* %t510 %t511 = getelementptr inbounds i32, i32* %t469, i32 24 store i32 0, i32* %t511 %t512 = getelementptr inbounds i32, i32* %t469, i32 25 store i32 0, i32* %t512 %t513 = getelementptr inbounds i32, i32* %t469, i32 26 store i32 0, i32* %t513 %t514 = getelementptr inbounds i32, i32* %t469, i32 27 store i32 0, i32* %t514 %t515 = getelementptr inbounds i32, i32* %t469, i32 28 store i32 0, i32* %t515 %t516 = getelementptr inbounds i32, i32* %t469, i32 29 store i32 0, i32* %t516 %t517 = getelementptr inbounds i32, i32* %t469, i32 30 store i32 0, i32* %t517 %t518 = getelementptr inbounds i32, i32* %t469, i32 31 store i32 0, i32* %t518 %t519 = getelementptr inbounds i32, i32* %t469, i32 32 store i32 0, i32* %t519 %t520 = getelementptr inbounds i32, i32* %t469, i32 33 store i32 0, i32* %t520 %t521 = getelementptr inbounds i32, i32* %t469, i32 34 store i32 0, i32* %t521 %t522 = getelementptr inbounds i32, i32* %t469, i32 35 store i32 0, i32* %t522 %t523 = getelementptr inbounds i32, i32* %t469, i32 36 store i32 0, i32* %t523 %t524 = getelementptr inbounds i32, i32* %t469, i32 37 store i32 0, i32* %t524 %t525 = getelementptr inbounds i32, i32* %t469, i32 38 store i32 0, i32* %t525 %t526 = getelementptr inbounds i32, i32* %t469, i32 39 store i32 0, i32* %t526 %t527 = getelementptr inbounds i32, i32* %t469, i32 40 store i32 0, i32* %t527 %t528 = getelementptr inbounds i32, i32* %t469, i32 41 store i32 0, i32* %t528 %t529 = getelementptr inbounds i32, i32* %t469, i32 42 store i32 0, i32* %t529 %t530 = getelementptr inbounds i32, i32* %t469, i32 43 store i32 0, i32* %t530 %t531 = getelementptr inbounds i32, i32* %t469, i32 44 store i32 0, i32* %t531 %t532 = getelementptr inbounds i32, i32* %t469, i32 45 store i32 0, i32* %t532 %t533 = getelementptr inbounds i32, i32* %t469, i32 46 store i32 0, i32* %t533 %t534 = getelementptr inbounds i32, i32* %t469, i32 47 store i32 0, i32* %t534 %t535 = getelementptr inbounds i32, i32* %t469, i32 48 store i32 0, i32* %t535 %t536 = getelementptr inbounds i32, i32* %t469, i32 49 store i32 0, i32* %t536 %t537 = getelementptr inbounds i32, i32* %t469, i32 50 store i32 0, i32* %t537 %t538 = getelementptr inbounds i32, i32* %t469, i32 51 store i32 0, i32* %t538 %t539 = getelementptr inbounds i32, i32* %t469, i32 52 store i32 0, i32* %t539 %t540 = getelementptr inbounds i32, i32* %t469, i32 53 store i32 0, i32* %t540 %t541 = getelementptr inbounds i32, i32* %t469, i32 54 store i32 0, i32* %t541 %t542 = getelementptr inbounds i32, i32* %t469, i32 55 store i32 0, i32* %t542 %t543 = getelementptr inbounds i32, i32* %t469, i32 56 store i32 0, i32* %t543 %t544 = getelementptr inbounds i32, i32* %t469, i32 57 store i32 0, i32* %t544 %t545 = getelementptr inbounds i32, i32* %t469, i32 58 store i32 0, i32* %t545 %t546 = getelementptr inbounds i32, i32* %t469, i32 59 store i32 0, i32* %t546 %t547 = getelementptr inbounds i32, i32* %t469, i32 60 store i32 0, i32* %t547 %t548 = getelementptr inbounds i32, i32* %t469, i32 61 store i32 0, i32* %t548 %t549 = getelementptr inbounds i32, i32* %t469, i32 62 store i32 0, i32* %t549 %t550 = getelementptr inbounds i32, i32* %t469, i32 63 store i32 0, i32* %t550 store i32 1, i32* %t551 br label %while.cond.12 while.cond.12: %t552 = load i32, i32* %t551 %t553 = icmp slt i32 %t552, 32 %t554 = zext i1 %t553 to i32 %t555 = icmp ne i32 %t554, 0 br i1 %t555, label %while.body.13, label %while.end.14 while.body.13: %t556 = load i32, i32* %t551 %t557 = mul i32 %t556, 2 %t558 = getelementptr inbounds i32, i32* %t469, i32 %t557 %t559 = load i32, i32* %t551 %t560 = sub i32 %t559, 1 %t561 = mul i32 %t560, 2 %t562 = add i32 %t561, 1 %t563 = getelementptr inbounds i32, i32* %t469, i32 %t562 %t564 = load i32, i32* %t563 %t565 = sub i32 %t564, 1 store i32 %t565, i32* %t558 %t566 = load i32, i32* %t551 %t567 = mul i32 %t566, 2 %t568 = add i32 %t567, 1 %t569 = getelementptr inbounds i32, i32* %t469, i32 %t568 %t570 = load i32, i32* %t551 %t571 = sub i32 %t570, 1 %t572 = mul i32 %t571, 2 %t573 = getelementptr inbounds i32, i32* %t469, i32 %t572 %t574 = load i32, i32* %t573 %t575 = sub i32 %t574, 2 store i32 %t575, i32* %t569 %t576 = load i32, i32* %t551 %t577 = add i32 %t576, 1 store i32 %t577, i32* %t551 br label %while.cond.12 while.end.14: %t578 = getelementptr inbounds i32, i32* %t469, i32 0 %t579 = getelementptr inbounds i32, i32* %t469, i32 2 %t580 = getelementptr inbounds i32, i32* %t469, i32 4 %t581 = getelementptr inbounds i32, i32* %t469, i32 6 %t582 = getelementptr inbounds i32, i32* %t469, i32 8 %t583 = getelementptr inbounds i32, i32* %t469, i32 10 %t584 = getelementptr inbounds i32, i32* %t469, i32 12 %t585 = getelementptr inbounds i32, i32* %t469, i32 14 %t586 = getelementptr inbounds i32, i32* %t469, i32 16 %t587 = getelementptr inbounds i32, i32* %t469, i32 18 %t588 = getelementptr inbounds i32, i32* %t469, i32 20 %t589 = getelementptr inbounds i32, i32* %t469, i32 22 %t590 = getelementptr inbounds i32, i32* %t469, i32 24 %t591 = getelementptr inbounds i32, i32* %t469, i32 26 %t592 = getelementptr inbounds i32, i32* %t469, i32 28 %t593 = getelementptr inbounds i32, i32* %t469, i32 30 %t594 = getelementptr inbounds i32, i32* %t469, i32 32 %t595 = getelementptr inbounds i32, i32* %t469, i32 34 %t596 = getelementptr inbounds i32, i32* %t469, i32 36 %t597 = getelementptr inbounds i32, i32* %t469, i32 38 %t598 = getelementptr inbounds i32, i32* %t469, i32 40 %t599 = getelementptr inbounds i32, i32* %t469, i32 42 %t600 = getelementptr inbounds i32, i32* %t469, i32 44 %t601 = getelementptr inbounds i32, i32* %t469, i32 46 %t602 = getelementptr inbounds i32, i32* %t469, i32 48 %t603 = getelementptr inbounds i32, i32* %t469, i32 50 %t604 = getelementptr inbounds i32, i32* %t469, i32 52 %t605 = getelementptr inbounds i32, i32* %t469, i32 54 %t606 = getelementptr inbounds i32, i32* %t469, i32 56 %t607 = getelementptr inbounds i32, i32* %t469, i32 58 %t608 = getelementptr inbounds i32, i32* %t469, i32 60 %t609 = getelementptr inbounds i32, i32* %t469, i32 62 %t610 = call i32 @param32_arr(i32* %t578, i32* %t579, i32* %t580, i32* %t581, i32* %t582, i32* %t583, i32* %t584, i32* %t585, i32* %t586, i32* %t587, i32* %t588, i32* %t589, i32* %t590, i32* %t591, i32* %t592, i32* %t593, i32* %t594, i32* %t595, i32* %t596, i32* %t597, i32* %t598, i32* %t599, i32* %t600, i32* %t601, i32* %t602, i32* %t603, i32* %t604, i32* %t605, i32* %t606, i32* %t607, i32* %t608, i32* %t609) call void @putint(i32 %t610) call void @putch(i32 10) ret i32 0 }