(letrec ([square$1 (lambda () (locals (t.50 cp.11 n.4 rp.55) (ulocals (u.77 u.76) (locate () (frame-conflict ([t.50] [cp.11] [n.4] [rp.55]) (register-conflict ([t.50] [cp.11] [n.4] [rp.55] [u.77 r15 rbp rdx r9] [u.76 r9 r15 rbp rdx]) (begin (nop) (nop) (nop) (set! u.76 r9) (set! u.76 (sra u.76 3)) (nop) (set! u.77 u.76) (set! u.77 (* u.77 r9)) (set! rax u.77) (r15 rbp rax rdx))))))))] [map$2 (lambda () (locals (t.34 t.32 t.49 t.48) (ulocals (u.75 u.74 u.73) (locate ([t.33 fv0] [rp.52 fv1] [ls.5 fv2] [f.6 fv3]) (frame-conflict ([t.34] [t.33 t.32 t.48 rp.52 ls.5 f.6] [t.32 rp.52 t.33] [t.49 rp.52 ls.5 f.6] [t.48 rp.52 t.33] [f.6 t.33 t.49 ls.5 rp.52] [ls.5 t.33 t.49 rp.52 f.6] [rp.52 t.32 t.48 t.33 t.49 ls.5 f.6]) (register-conflict ([t.34] [t.32 u.75 rbp rdx rax] [t.49 r15 rax rdx r8 r9 rbp] [t.48 rdx rbp rax] [u.75 rbp rdx rax t.32] [u.74 rbp rdx rax] [u.73 rax rbp rdx r8]) (begin (set! fv1 r15) (set! fv3 r8) (set! fv2 r9) (if (= r9 22) (begin (set! rax 22) (r15 rbp rax rdx)) (begin (set! t.49 (mref r8 -2)) (set! rbp (+ rbp 32)) (return-point ret$54 (begin (nop) (set! r9 (mref r9 -1)) (set! r15 ret$54) (t.49 rbp r15 rdx r8 r9))) (set! rbp (- rbp 32)) (set! fv0 rax) (set! rbp (+ rbp 32)) (return-point ret$53 (begin (set! r8 fv3) (set! u.73 fv2) (set! r9 (mref u.73 7)) (set! r15 ret$53) (map$2 rbp r15 rdx r8 r9))) (set! rbp (- rbp 32)) (nop) (set! t.48 rdx) (set! rdx (+ rdx 16)) (set! u.74 t.48) (set! u.74 (+ u.74 1)) (set! t.32 u.74) (set! u.75 fv0) (mset! t.32 -1 u.75) (mset! t.32 7 rax) (set! rax t.32) (fv1 rbp rax rdx))))))))))] [num-list?$3 (lambda () (locals (tmp.8 t.47 ls.7 rp.51) (ulocals (u.72) (locate () (frame-conflict ([tmp.8 t.47] [t.47 tmp.8] [ls.7] [rp.51]) (register-conflict ([tmp.8 r8 r15 rbp rdx] [t.47 r8 r15 rbp rdx] [ls.7] [rp.51] [u.72 r8 r15 rbp rdx]) (begin (nop) (nop) (if (= r8 22) (set! tmp.8 14) (set! tmp.8 6)) (if (if (= tmp.8 6) (false) (true)) (begin (set! rax tmp.8) (r15 rbp rax rdx)) (begin (set! u.72 (mref r8 -1)) (set! u.72 (logand u.72 7)) (set! t.47 u.72) (if (= t.47 0) (begin (set! r8 (mref r8 7)) (nop) (num-list?$3 rbp r15 rdx r8)) (begin (set! rax 6) (r15 rbp rax rdx))))))))))))]) (locals (tmp.10 t.31 t.30 t.28 t.26 t.24 t.22 t.20 t.21 t.23 t.25 t.27 t.19 t.17 t.15 t.13 t.14 t.16 t.18 t.29 t.12 t.46 t.45 t.44 t.43 t.42 t.41 t.40 t.39 t.38 t.37 t.36 t.35) (ulocals (u.71 u.70 u.69 u.68 u.67 u.66 u.65 u.64 u.63 u.62 u.61 u.60 u.59) (locate ([rp.56 fv0] [ls.9 fv1] [square.1 fv2]) (frame-conflict ([tmp.10] [t.31] [t.30] [t.28] [t.26] [t.24] [t.22] [t.20 t.21 t.45 rp.56] [t.21 t.23 t.44 rp.56 t.20] [t.23 t.25 t.43 rp.56 t.21] [t.25 t.27 t.42 rp.56 t.23] [t.27 t.29 t.37 t.18 t.38 t.16 t.39 t.14 t.40 t.13 t.41 rp.56 t.25] [t.19] [t.17] [t.15] [t.13 t.14 t.40 rp.56 t.27] [t.14 t.16 t.39 rp.56 t.27 t.13] [t.16 t.18 t.38 rp.56 t.27 t.14] [t.18 t.29 t.37 rp.56 t.27 t.16] [t.29 square.1 t.12 t.36 rp.56 t.18 t.27] [square.1 ls.9 rp.56 t.29] [t.12 rp.56 t.29] [ls.9 rp.56 square.1] [t.46 rp.56] [t.45 rp.56 t.20] [t.44 rp.56 t.21] [t.43 rp.56 t.23] [t.42 rp.56 t.25] [t.41 rp.56 t.27] [t.40 rp.56 t.27 t.13] [t.39 rp.56 t.27 t.14] [t.38 rp.56 t.27 t.16] [t.37 rp.56 t.18 t.27] [t.36 rp.56 t.29] [t.35] [rp.56 ls.9 square.1 t.12 t.36 t.29 t.37 t.18 t.38 t.16 t.39 t.14 t.40 t.13 t.41 t.27 t.42 t.25 t.43 t.23 t.44 t.21 t.45 t.20 t.46]) (register-conflict ([tmp.10] [t.31] [t.30] [t.28] [t.26] [t.24] [t.22] [t.20 t.21 u.60 t.45 rax rbp rdx] [t.21 t.23 u.61 t.44 rax rbp rdx t.20] [t.23 t.25 u.62 t.43 rax rbp rdx t.21] [t.25 t.27 u.63 t.42 rax rbp rdx t.23] [t.27 t.29 u.68 t.37 t.18 u.67 t.38 t.16 u.66 t.39 t.14 u.65 t.40 t.13 u.64 t.41 rax rbp rdx t.25] [t.19] [t.17] [t.15] [t.13 t.14 u.65 t.40 rax rbp t.27 rdx] [t.14 t.16 u.66 t.39 rax rbp t.27 rdx t.13] [t.16 t.18 u.67 t.38 rax rbp t.27 rdx t.14] [t.18 t.29 u.68 t.37 rax rbp t.27 rdx t.16] [t.29 u.70 t.12 u.69 t.36 rax rbp rdx t.18 t.27] [t.12 u.70 rax rdx rbp t.29] [t.46 rdx rax rbp] [t.45 rdx rax rbp t.20] [t.44 rdx rax rbp t.21] [t.43 rdx rax rbp t.23] [t.42 rdx rax rbp t.25] [t.41 rdx rax rbp t.27] [t.40 rdx rax rbp t.27 t.13] [t.39 rdx rax rbp t.27 t.14] [t.38 rdx rax rbp t.27 t.16] [t.37 rdx rax rbp t.18 t.27] [t.36 rdx rax rbp t.29] [t.35] [u.71 rbp rdx rax] [u.70 rax rdx rbp t.29 t.12] [u.69 rax rdx rbp t.29] [u.68 rax rbp rdx t.18 t.27] [u.67 rax rbp t.27 rdx t.16] [u.66 rax rbp t.27 rdx t.14] [u.65 rax rbp t.27 rdx t.13] [u.64 rax rbp t.27 rdx] [u.63 rax rbp rdx t.25] [u.62 rax rbp rdx t.23] [u.61 rax rbp rdx t.21] [u.60 rax rbp rdx t.20] [u.59 rax rbp rdx]) (begin (set! fv0 r15) (set! t.46 rdx) (set! rdx (+ rdx 16)) (set! u.59 t.46) (set! u.59 (+ u.59 1)) (set! t.20 u.59) (mset! u.59 -1 200) (mset! u.59 7 22) (nop) (set! t.45 rdx) (set! rdx (+ rdx 16)) (set! u.60 t.45) (set! u.60 (+ u.60 1)) (set! t.21 u.60) (mset! u.60 -1 128) (mset! u.60 7 t.20) (nop) (set! t.44 rdx) (set! rdx (+ rdx 16)) (set! u.61 t.44) (set! u.61 (+ u.61 1)) (set! t.23 u.61) (mset! u.61 -1 72) (mset! u.61 7 t.21) (nop) (set! t.43 rdx) (set! rdx (+ rdx 16)) (set! u.62 t.43) (set! u.62 (+ u.62 1)) (set! t.25 u.62) (mset! u.62 -1 32) (mset! u.62 7 t.23) (nop) (set! t.42 rdx) (set! rdx (+ rdx 16)) (set! u.63 t.42) (set! u.63 (+ u.63 1)) (set! t.27 u.63) (mset! u.63 -1 8) (mset! u.63 7 t.25) (nop) (set! t.41 rdx) (set! rdx (+ rdx 16)) (set! u.64 t.41) (set! u.64 (+ u.64 1)) (set! t.13 u.64) (mset! u.64 -1 40) (mset! u.64 7 22) (nop) (set! t.40 rdx) (set! rdx (+ rdx 16)) (set! u.65 t.40) (set! u.65 (+ u.65 1)) (set! t.14 u.65) (mset! u.65 -1 32) (mset! u.65 7 t.13) (nop) (set! t.39 rdx) (set! rdx (+ rdx 16)) (set! u.66 t.39) (set! u.66 (+ u.66 1)) (set! t.16 u.66) (mset! u.66 -1 24) (mset! u.66 7 t.14) (nop) (set! t.38 rdx) (set! rdx (+ rdx 16)) (set! u.67 t.38) (set! u.67 (+ u.67 1)) (set! t.18 u.67) (mset! u.67 -1 16) (mset! u.67 7 t.16) (nop) (set! t.37 rdx) (set! rdx (+ rdx 16)) (set! u.68 t.37) (set! u.68 (+ u.68 1)) (set! t.29 u.68) (mset! u.68 -1 t.27) (mset! u.68 7 t.18) (nop) (set! t.36 rdx) (set! rdx (+ rdx 8)) (set! u.69 t.36) (set! u.69 (+ u.69 2)) (set! t.12 u.69) (set! u.70 square$1) (mset! t.12 -2 u.70) (set! fv2 t.12) (set! fv1 t.29) (set! rbp (+ rbp 24)) (return-point ret$58 (begin (set! r8 t.29) (set! r15 ret$58) (num-list?$3 rbp r15 rdx r8))) (set! rbp (- rbp 24)) (nop) (if (if (= rax 6) (false) (true)) (begin (set! rbp (+ rbp 24)) (return-point ret$57 (begin (set! r8 fv2) (set! r9 fv1) (set! r15 ret$57) (map$2 rbp r15 rdx r8 r9))) (set! rbp (- rbp 24)) (set! u.71 fv1) (mset! u.71 -1 rax)) (nop)) (set! rax fv1) (fv0 rbp rax rdx))))))))
(letrec ([square$1 (lambda () (locals (t.50 cp.11 n.4 rp.55) (ulocals (u.77 u.76) (locate () (frame-conflict ([t.50] [cp.11] [n.4] [rp.55]) (register-conflict ([t.50] [cp.11] [n.4] [rp.55] [u.77 r15 rbp rdx r9] [u.76 r9 r15 rbp rdx]) (begin (nop) (nop) (nop) (set! u.76 r9) (set! u.76 (sra u.76 3)) (nop) (set! u.77 u.76) (set! u.77 (* u.77 r9)) (set! rax u.77) (r15 rbp rax rdx))))))))] [map$2 (lambda () (locals (t.34 t.32 t.49 t.48) (ulocals (u.75 u.74 u.73) (locate ([t.33 fv0] [rp.52 fv1] [ls.5 fv2] [f.6 fv3]) (frame-conflict ([t.34] [t.33 t.32 t.48 rp.52 ls.5 f.6] [t.32 rp.52 t.33] [t.49 rp.52 ls.5 f.6] [t.48 rp.52 t.33] [f.6 t.33 t.49 ls.5 rp.52] [ls.5 t.33 t.49 rp.52 f.6] [rp.52 t.32 t.48 t.33 t.49 ls.5 f.6]) (register-conflict ([t.34] [t.32 u.75 rbp rdx rax] [t.49 r15 rax rdx r8 r9 rbp] [t.48] [u.75 rbp rdx rax t.32] [u.74 rdx rbp rax] [u.73 rax rbp rdx r8]) (begin (set! fv1 r15) (set! fv3 r8) (set! fv2 r9) (if (= r9 22) (begin (set! rax 22) (r15 rbp rax rdx)) (begin (set! t.49 (mref r8 -2)) (set! rbp (+ rbp 32)) (return-point ret$54 (begin (nop) (set! r9 (mref r9 -1)) (set! r15 ret$54) (t.49 rbp r15 rdx r8 r9))) (set! rbp (- rbp 32)) (set! fv0 rax) (set! rbp (+ rbp 32)) (return-point ret$53 (begin (set! r8 fv3) (set! u.73 fv2) (set! r9 (mref u.73 7)) (set! r15 ret$53) (map$2 rbp r15 rdx r8 r9))) (set! rbp (- rbp 32)) (nop) (set! u.74 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.74 (+ u.74 1)) (set! t.32 u.74) (set! u.75 fv0) (mset! t.32 -1 u.75) (mset! t.32 7 rax) (set! rax t.32) (fv1 rbp rax rdx))))))))))] [num-list?$3 (lambda () (locals (tmp.8 t.47 ls.7 rp.51) (ulocals (u.72) (locate () (frame-conflict ([tmp.8 t.47] [t.47 tmp.8] [ls.7] [rp.51]) (register-conflict ([tmp.8 r8 r15 rbp rdx] [t.47 r8 r15 rbp rdx] [ls.7] [rp.51] [u.72 r8 r15 rbp rdx]) (begin (nop) (nop) (if (= r8 22) (set! tmp.8 14) (set! tmp.8 6)) (if (if (= tmp.8 6) (false) (true)) (begin (set! rax tmp.8) (r15 rbp rax rdx)) (begin (set! u.72 (mref r8 -1)) (set! u.72 (logand u.72 7)) (set! t.47 u.72) (if (= t.47 0) (begin (set! r8 (mref r8 7)) (nop) (num-list?$3 rbp r15 rdx r8)) (begin (set! rax 6) (r15 rbp rax rdx))))))))))))]) (locals (tmp.10 t.31 t.30 t.28 t.26 t.24 t.22 t.20 t.21 t.23 t.25 t.27 t.19 t.17 t.15 t.13 t.14 t.16 t.18 t.29 t.12 t.46 t.45 t.44 t.43 t.42 t.41 t.40 t.39 t.38 t.37 t.36 t.35) (ulocals (u.71 u.70 u.69 u.68 u.67 u.66 u.65 u.64 u.63 u.62 u.61 u.60 u.59) (locate ([rp.56 fv0] [ls.9 fv1] [square.1 fv2]) (frame-conflict ([tmp.10] [t.31] [t.30] [t.28] [t.26] [t.24] [t.22] [t.20 t.21 t.45 rp.56] [t.21 t.23 t.44 rp.56 t.20] [t.23 t.25 t.43 rp.56 t.21] [t.25 t.27 t.42 rp.56 t.23] [t.27 t.29 t.37 t.18 t.38 t.16 t.39 t.14 t.40 t.13 t.41 rp.56 t.25] [t.19] [t.17] [t.15] [t.13 t.14 t.40 rp.56 t.27] [t.14 t.16 t.39 rp.56 t.27 t.13] [t.16 t.18 t.38 rp.56 t.27 t.14] [t.18 t.29 t.37 rp.56 t.27 t.16] [t.29 square.1 t.12 t.36 rp.56 t.18 t.27] [square.1 ls.9 rp.56 t.29] [t.12 rp.56 t.29] [ls.9 rp.56 square.1] [t.46 rp.56] [t.45 rp.56 t.20] [t.44 rp.56 t.21] [t.43 rp.56 t.23] [t.42 rp.56 t.25] [t.41 rp.56 t.27] [t.40 rp.56 t.27 t.13] [t.39 rp.56 t.27 t.14] [t.38 rp.56 t.27 t.16] [t.37 rp.56 t.18 t.27] [t.36 rp.56 t.29] [t.35] [rp.56 ls.9 square.1 t.12 t.36 t.29 t.37 t.18 t.38 t.16 t.39 t.14 t.40 t.13 t.41 t.27 t.42 t.25 t.43 t.23 t.44 t.21 t.45 t.20 t.46]) (register-conflict ([tmp.10] [t.31] [t.30] [t.28] [t.26] [t.24] [t.22] [t.20 t.21 u.60 rax t.29 rbp rdx] [t.21 t.23 u.61 rax t.29 rbp rdx t.20] [t.23 t.25 u.62 rax t.29 rbp rdx t.21] [t.25 t.27 u.63 rax t.29 rbp rdx t.23] [t.27 u.68 t.18 u.67 t.16 u.66 t.14 u.65 t.13 u.64 rax t.29 rbp rdx t.25] [t.19] [t.17] [t.15] [t.13 t.14 u.65 rax t.29 rbp t.27 rdx] [t.14 t.16 u.66 rax t.29 rbp t.27 rdx t.13] [t.16 t.18 u.67 rax t.29 rbp t.27 rdx t.14] [t.18 u.68 rax t.29 rbp t.27 rdx t.16] [t.29 rbp u.70 t.12 u.69 u.68 t.18 u.67 t.16 u.66 t.14 u.65 t.13 u.64 t.27 u.63 t.25 u.62 t.23 u.61 t.21 u.60 t.20 rdx u.59] [t.12 u.70 rax rdx t.29 rbp] [t.46] [t.45] [t.44] [t.43] [t.42] [t.41] [t.40] [t.39] [t.38] [t.37] [t.36] [t.35] [u.71 rbp rdx rax] [u.70 rax rdx t.29 rbp t.12] [u.69 rdx rax t.29 rbp] [u.68 rdx rax t.29 rbp t.18 t.27] [u.67 rdx rax t.29 rbp t.27 t.16] [u.66 rdx rax t.29 rbp t.27 t.14] [u.65 rdx rax t.29 rbp t.27 t.13] [u.64 rdx rax t.29 rbp t.27] [u.63 rdx rax t.29 rbp t.25] [u.62 rdx rax t.29 rbp t.23] [u.61 rdx rax t.29 rbp t.21] [u.60 rdx rax t.29 rbp t.20] [u.59 rdx rax t.29 rbp]) (begin (set! fv0 r15) (set! u.59 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.59 (+ u.59 1)) (set! t.20 u.59) (mset! u.59 -1 200) (mset! u.59 7 22) (nop) (set! u.60 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.60 (+ u.60 1)) (set! t.21 u.60) (mset! u.60 -1 128) (mset! u.60 7 t.20) (nop) (set! u.61 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.61 (+ u.61 1)) (set! t.23 u.61) (mset! u.61 -1 72) (mset! u.61 7 t.21) (nop) (set! u.62 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.62 (+ u.62 1)) (set! t.25 u.62) (mset! u.62 -1 32) (mset! u.62 7 t.23) (nop) (set! u.63 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.63 (+ u.63 1)) (set! t.27 u.63) (mset! u.63 -1 8) (mset! u.63 7 t.25) (nop) (set! u.64 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.64 (+ u.64 1)) (set! t.13 u.64) (mset! u.64 -1 40) (mset! u.64 7 22) (nop) (set! u.65 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.65 (+ u.65 1)) (set! t.14 u.65) (mset! u.65 -1 32) (mset! u.65 7 t.13) (nop) (set! u.66 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.66 (+ u.66 1)) (set! t.16 u.66) (mset! u.66 -1 24) (mset! u.66 7 t.14) (nop) (set! u.67 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.67 (+ u.67 1)) (set! t.18 u.67) (mset! u.67 -1 16) (mset! u.67 7 t.16) (nop) (set! u.68 rdx) (set! rdx (+ rdx 16)) (nop) (set! u.68 (+ u.68 1)) (set! fv1 u.68) (mset! u.68 -1 t.27) (mset! u.68 7 t.18) (nop) (set! u.69 rdx) (set! rdx (+ rdx 8)) (nop) (set! u.69 (+ u.69 2)) (set! t.12 u.69) (set! u.70 square$1) (mset! t.12 -2 u.70) (set! fv2 t.12) (nop) (set! rbp (+ rbp 24)) (return-point ret$58 (begin (set! r8 t.29) (set! r15 ret$58) (num-list?$3 rbp r15 rdx r8))) (set! rbp (- rbp 24)) (nop) (if (if (= rax 6) (false) (true)) (begin (set! rbp (+ rbp 24)) (return-point ret$57 (begin (set! r8 fv2) (set! r9 fv1) (set! r15 ret$57) (map$2 rbp r15 rdx r8 r9))) (set! rbp (- rbp 24)) (set! u.71 fv1) (mset! u.71 -1 rax)) (nop)) (set! rax fv1) (fv0 rbp rax rdx))))))))