A1068: Nodes<Defn> 
1:1-276:7
 A1: TypDefn i 
1:1-1:11
 A0: AtomType INT 
1:9-1:11
 A3: TypDefn c 
2:1-2:12
 A2: AtomType CHAR 
2:9-2:12
 A5: TypDefn b 
3:1-3:12
 A4: AtomType BOOL 
3:9-3:12
 A8: TypDefn pi 
4:1-4:11
 A7: PtrType 
4:10-4:11
 A6: NameType i 
4:11-4:11
defAt: A1 @ 1:1-1:11
 A11: TypDefn pb 
5:1-5:11
 A10: PtrType 
5:10-5:11
 A9: NameType b 
5:11-5:11
defAt: A5 @ 3:1-3:12
 A13: VarDefn counter 
7:1-7:15
 A12: NameType i 
7:15-7:15
defAt: A1 @ 1:1-1:11
 A15: VarDefn flag 
8:1-8:12
 A14: NameType b 
8:12-8:12
defAt: A5 @ 3:1-3:12
 A17: VarDefn result 
9:1-9:14
 A16: NameType i 
9:14-9:14
defAt: A1 @ 1:1-1:11
 A22: ExtFunDefn ext_print 
11:1-11:24
 A21: Nodes<ParDefn> 
11:14-11:20
 A19: ParDefn x 
11:15-11:19
 A18: NameType i 
11:19-11:19
defAt: A1 @ 1:1-1:11
 A20: NameType i 
11:24-11:24
defAt: A1 @ 1:1-1:11
 A25: ExtFunDefn ext_read 
12:1-12:18
 A24: Nodes<ParDefn> 
 A23: NameType i 
12:18-12:18
defAt: A1 @ 1:1-1:11
 A35: DefFunDefn is_zero 
14:1-15:10
 A32: Nodes<ParDefn> 
14:12-14:18
 A27: ParDefn n 
14:13-14:17
 A26: NameType i 
14:17-14:17
defAt: A1 @ 1:1-1:11
 A28: NameType b 
14:22-14:22
defAt: A5 @ 3:1-3:12
 A34: Exprs 
15:5-15:10
 A33: Nodes<Expr> 
15:5-15:10
 A31: BinExpr EQU 
15:5-15:10
 A29: NameExpr n 
15:5-15:5
defAt: A27 @ 14:13-14:17
 A30: AtomExpr 0 
15:10-15:10
 A47: DefFunDefn is_even 
17:1-18:14
 A44: Nodes<ParDefn> 
17:12-17:18
 A37: ParDefn n 
17:13-17:17
 A36: NameType i 
17:17-17:17
defAt: A1 @ 1:1-1:11
 A38: NameType b 
17:22-17:22
defAt: A5 @ 3:1-3:12
 A46: Exprs 
18:5-18:14
 A45: Nodes<Expr> 
18:5-18:14
 A43: BinExpr EQU 
18:5-18:14
 A41: BinExpr MOD 
18:5-18:9
 A39: NameExpr n 
18:5-18:5
defAt: A37 @ 17:13-17:17
 A40: AtomExpr 2 
18:9-18:9
 A42: AtomExpr 0 
18:14-18:14
 A66: DefFunDefn abs_val 
20:1-25:7
 A63: Nodes<ParDefn> 
20:12-20:18
 A49: ParDefn n 
20:13-20:17
 A48: NameType i 
20:17-20:17
defAt: A1 @ 1:1-1:11
 A50: NameType i 
20:22-20:22
defAt: A1 @ 1:1-1:11
 A65: Exprs 
21:5-25:7
 A64: Nodes<Expr> 
21:5-25:7
 A62: IfThenElseExpr 
21:5-25:7
 A53: BinExpr LTH 
21:8-21:12
 A51: NameExpr n 
21:8-21:8
defAt: A49 @ 20:13-20:17
 A52: AtomExpr 0 
21:12-21:12
 A59: Exprs 
22:9-22:13
 A58: Nodes<Expr> 
22:9-22:13
 A56: BinExpr SUB 
22:9-22:13
 A54: AtomExpr 0 
22:9-22:9
 A55: NameExpr n 
22:13-22:13
defAt: A49 @ 20:13-20:17
 A61: Exprs 
24:9-24:9
 A60: Nodes<Expr> 
24:9-24:9
 A57: NameExpr n 
24:9-24:9
defAt: A49 @ 20:13-20:17
 A85: DefFunDefn max 
27:1-32:7
 A82: Nodes<ParDefn> 
27:8-27:21
 A68: ParDefn a 
27:9-27:13
 A67: NameType i 
27:13-27:13
defAt: A1 @ 1:1-1:11
 A70: ParDefn b 
27:16-27:20
 A69: NameType i 
27:20-27:20
defAt: A1 @ 1:1-1:11
 A71: NameType i 
27:25-27:25
defAt: A1 @ 1:1-1:11
 A84: Exprs 
28:5-32:7
 A83: Nodes<Expr> 
28:5-32:7
 A81: IfThenElseExpr 
28:5-32:7
 A74: BinExpr GTH 
28:8-28:12
 A72: NameExpr a 
28:8-28:8
defAt: A68 @ 27:9-27:13
 A73: NameExpr b 
28:12-28:12
defAt: A70 @ 27:16-27:20
 A78: Exprs 
29:9-29:9
 A77: Nodes<Expr> 
29:9-29:9
 A75: NameExpr a 
29:9-29:9
defAt: A68 @ 27:9-27:13
 A80: Exprs 
31:9-31:9
 A79: Nodes<Expr> 
31:9-31:9
 A76: NameExpr b 
31:9-31:9
defAt: A70 @ 27:16-27:20
 A104: DefFunDefn min 
34:1-39:7
 A101: Nodes<ParDefn> 
34:8-34:21
 A87: ParDefn a 
34:9-34:13
 A86: NameType i 
34:13-34:13
defAt: A1 @ 1:1-1:11
 A89: ParDefn b 
34:16-34:20
 A88: NameType i 
34:20-34:20
defAt: A1 @ 1:1-1:11
 A90: NameType i 
34:25-34:25
defAt: A1 @ 1:1-1:11
 A103: Exprs 
35:5-39:7
 A102: Nodes<Expr> 
35:5-39:7
 A100: IfThenElseExpr 
35:5-39:7
 A93: BinExpr LTH 
35:8-35:12
 A91: NameExpr a 
35:8-35:8
defAt: A87 @ 34:9-34:13
 A92: NameExpr b 
35:12-35:12
defAt: A89 @ 34:16-34:20
 A97: Exprs 
36:9-36:9
 A96: Nodes<Expr> 
36:9-36:9
 A94: NameExpr a 
36:9-36:9
defAt: A87 @ 34:9-34:13
 A99: Exprs 
38:9-38:9
 A98: Nodes<Expr> 
38:9-38:9
 A95: NameExpr b 
38:9-38:9
defAt: A89 @ 34:16-34:20
 A132: DefFunDefn pow 
41:1-46:7
 A129: Nodes<ParDefn> 
41:8-41:26
 A106: ParDefn base 
41:9-41:16
 A105: NameType i 
41:16-41:16
defAt: A1 @ 1:1-1:11
 A108: ParDefn exp 
41:19-41:25
 A107: NameType i 
41:25-41:25
defAt: A1 @ 1:1-1:11
 A109: NameType i 
41:30-41:30
defAt: A1 @ 1:1-1:11
 A131: Exprs 
42:5-46:7
 A130: Nodes<Expr> 
42:5-46:7
 A128: IfThenElseExpr 
42:5-46:7
 A113: CallExpr 
42:8-42:19
 A110: NameExpr is_zero 
42:8-42:14
defAt: A35 @ 14:1-15:10
 A112: Nodes<Expr> 
42:15-42:19
 A111: NameExpr exp 
42:16-42:18
defAt: A108 @ 41:19-41:25
 A125: Exprs 
43:9-43:9
 A124: Nodes<Expr> 
43:9-43:9
 A114: AtomExpr 1 
43:9-43:9
 A127: Exprs 
45:9-45:33
 A126: Nodes<Expr> 
45:9-45:33
 A123: BinExpr MUL 
45:9-45:33
 A115: NameExpr base 
45:9-45:12
defAt: A106 @ 41:9-41:16
 A122: CallExpr 
45:16-45:33
 A116: NameExpr pow 
45:16-45:18
defAt: A132 @ 41:1-46:7
 A121: Nodes<Expr> 
45:19-45:33
 A117: NameExpr base 
45:20-45:23
defAt: A106 @ 41:9-41:16
 A120: BinExpr SUB 
45:26-45:32
 A118: NameExpr exp 
45:26-45:28
defAt: A108 @ 41:19-41:25
 A119: AtomExpr 1 
45:32-45:32
 A158: DefFunDefn gcd 
48:1-53:7
 A155: Nodes<ParDefn> 
48:8-48:21
 A134: ParDefn a 
48:9-48:13
 A133: NameType i 
48:13-48:13
defAt: A1 @ 1:1-1:11
 A136: ParDefn b 
48:16-48:20
 A135: NameType i 
48:20-48:20
defAt: A1 @ 1:1-1:11
 A137: NameType i 
48:25-48:25
defAt: A1 @ 1:1-1:11
 A157: Exprs 
49:5-53:7
 A156: Nodes<Expr> 
49:5-53:7
 A154: IfThenElseExpr 
49:5-53:7
 A141: CallExpr 
49:8-49:17
 A138: NameExpr is_zero 
49:8-49:14
defAt: A35 @ 14:1-15:10
 A140: Nodes<Expr> 
49:15-49:17
 A139: NameExpr b 
49:16-49:16
defAt: A136 @ 48:16-48:20
 A151: Exprs 
50:9-50:9
 A150: Nodes<Expr> 
50:9-50:9
 A142: NameExpr a 
50:9-50:9
defAt: A134 @ 48:9-48:13
 A153: Exprs 
52:9-52:21
 A152: Nodes<Expr> 
52:9-52:21
 A149: CallExpr 
52:9-52:21
 A143: NameExpr gcd 
52:9-52:11
defAt: A158 @ 48:1-53:7
 A148: Nodes<Expr> 
52:12-52:21
 A144: NameExpr b 
52:13-52:13
defAt: A136 @ 48:16-48:20
 A147: BinExpr MOD 
52:16-52:20
 A145: NameExpr a 
52:16-52:16
defAt: A134 @ 48:9-48:13
 A146: NameExpr b 
52:20-52:20
defAt: A136 @ 48:16-48:20
 A196: DefFunDefn fib 
55:1-64:7
 A193: Nodes<ParDefn> 
55:8-55:14
 A160: ParDefn n 
55:9-55:13
 A159: NameType i 
55:13-55:13
defAt: A1 @ 1:1-1:11
 A161: NameType i 
55:18-55:18
defAt: A1 @ 1:1-1:11
 A195: Exprs 
56:5-64:7
 A194: Nodes<Expr> 
56:5-64:7
 A192: IfThenElseExpr 
56:5-64:7
 A164: BinExpr EQU 
56:8-56:13
 A162: NameExpr n 
56:8-56:8
defAt: A160 @ 55:9-55:13
 A163: AtomExpr 0 
56:13-56:13
 A189: Exprs 
57:9-57:9
 A188: Nodes<Expr> 
57:9-57:9
 A165: AtomExpr 0 
57:9-57:9
 A191: Exprs 
59:9-63:11
 A190: Nodes<Expr> 
59:9-63:11
 A187: IfThenElseExpr 
59:9-63:11
 A168: BinExpr EQU 
59:12-59:17
 A166: NameExpr n 
59:12-59:12
defAt: A160 @ 55:9-55:13
 A167: AtomExpr 1 
59:17-59:17
 A184: Exprs 
60:13-60:13
 A183: Nodes<Expr> 
60:13-60:13
 A169: AtomExpr 1 
60:13-60:13
 A186: Exprs 
62:13-62:35
 A185: Nodes<Expr> 
62:13-62:35
 A182: BinExpr ADD 
62:13-62:35
 A175: CallExpr 
62:13-62:22
 A170: NameExpr fib 
62:13-62:15
defAt: A196 @ 55:1-64:7
 A174: Nodes<Expr> 
62:16-62:22
 A173: BinExpr SUB 
62:17-62:21
 A171: NameExpr n 
62:17-62:17
defAt: A160 @ 55:9-55:13
 A172: AtomExpr 1 
62:21-62:21
 A181: CallExpr 
62:26-62:35
 A176: NameExpr fib 
62:26-62:28
defAt: A196 @ 55:1-64:7
 A180: Nodes<Expr> 
62:29-62:35
 A179: BinExpr SUB 
62:30-62:34
 A177: NameExpr n 
62:30-62:30
defAt: A160 @ 55:9-55:13
 A178: AtomExpr 2 
62:34-62:34
 A221: DefFunDefn sum_to 
66:1-71:7
 A218: Nodes<ParDefn> 
66:11-66:17
 A198: ParDefn n 
66:12-66:16
 A197: NameType i 
66:16-66:16
defAt: A1 @ 1:1-1:11
 A199: NameType i 
66:21-66:21
defAt: A1 @ 1:1-1:11
 A220: Exprs 
67:5-71:7
 A219: Nodes<Expr> 
67:5-71:7
 A217: IfThenElseExpr 
67:5-71:7
 A203: CallExpr 
67:8-67:17
 A200: NameExpr is_zero 
67:8-67:14
defAt: A35 @ 14:1-15:10
 A202: Nodes<Expr> 
67:15-67:17
 A201: NameExpr n 
67:16-67:16
defAt: A198 @ 66:12-66:16
 A214: Exprs 
68:9-68:9
 A213: Nodes<Expr> 
68:9-68:9
 A204: AtomExpr 0 
68:9-68:9
 A216: Exprs 
70:9-70:25
 A215: Nodes<Expr> 
70:9-70:25
 A212: BinExpr ADD 
70:9-70:25
 A205: NameExpr n 
70:9-70:9
defAt: A198 @ 66:12-66:16
 A211: CallExpr 
70:13-70:25
 A206: NameExpr sum_to 
70:13-70:18
defAt: A221 @ 66:1-71:7
 A210: Nodes<Expr> 
70:19-70:25
 A209: BinExpr SUB 
70:20-70:24
 A207: NameExpr n 
70:20-70:20
defAt: A198 @ 66:12-66:16
 A208: AtomExpr 1 
70:24-70:24
 A264: DefFunDefn collatz 
73:1-82:7
 A261: Nodes<ParDefn> 
73:12-73:18
 A223: ParDefn n 
73:13-73:17
 A222: NameType i 
73:17-73:17
defAt: A1 @ 1:1-1:11
 A224: NameType i 
73:22-73:22
defAt: A1 @ 1:1-1:11
 A263: Exprs 
74:5-82:7
 A262: Nodes<Expr> 
74:5-82:7
 A260: IfThenElseExpr 
74:5-82:7
 A227: BinExpr EQU 
74:8-74:13
 A225: NameExpr n 
74:8-74:8
defAt: A223 @ 73:13-73:17
 A226: AtomExpr 1 
74:13-74:13
 A257: Exprs 
75:9-75:9
 A256: Nodes<Expr> 
75:9-75:9
 A228: AtomExpr 0 
75:9-75:9
 A259: Exprs 
77:9-81:11
 A258: Nodes<Expr> 
77:9-81:11
 A255: IfThenElseExpr 
77:9-81:11
 A232: CallExpr 
77:12-77:21
 A229: NameExpr is_even 
77:12-77:18
defAt: A47 @ 17:1-18:14
 A231: Nodes<Expr> 
77:19-77:21
 A230: NameExpr n 
77:20-77:20
defAt: A223 @ 73:13-73:17
 A252: Exprs 
78:13-78:30
 A251: Nodes<Expr> 
78:13-78:30
 A240: BinExpr ADD 
78:13-78:30
 A233: AtomExpr 1 
78:13-78:13
 A239: CallExpr 
78:17-78:30
 A234: NameExpr collatz 
78:17-78:23
defAt: A264 @ 73:1-82:7
 A238: Nodes<Expr> 
78:24-78:30
 A237: BinExpr DIV 
78:25-78:29
 A235: NameExpr n 
78:25-78:25
defAt: A223 @ 73:13-73:17
 A236: AtomExpr 2 
78:29-78:29
 A254: Exprs 
80:13-80:34
 A253: Nodes<Expr> 
80:13-80:34
 A250: BinExpr ADD 
80:13-80:34
 A241: AtomExpr 1 
80:13-80:13
 A249: CallExpr 
80:17-80:34
 A242: NameExpr collatz 
80:17-80:23
defAt: A264 @ 73:1-82:7
 A248: Nodes<Expr> 
80:24-80:34
 A247: BinExpr ADD 
80:25-80:33
 A245: BinExpr MUL 
80:25-80:29
 A243: AtomExpr 3 
80:25-80:25
 A244: NameExpr n 
80:29-80:29
defAt: A223 @ 73:13-73:17
 A246: AtomExpr 1 
80:33-80:33
 A314: DefFunDefn ackermann 
84:1-93:7
 A311: Nodes<ParDefn> 
84:14-84:27
 A266: ParDefn m 
84:15-84:19
 A265: NameType i 
84:19-84:19
defAt: A1 @ 1:1-1:11
 A268: ParDefn n 
84:22-84:26
 A267: NameType i 
84:26-84:26
defAt: A1 @ 1:1-1:11
 A269: NameType i 
84:31-84:31
defAt: A1 @ 1:1-1:11
 A313: Exprs 
85:5-93:7
 A312: Nodes<Expr> 
85:5-93:7
 A310: IfThenElseExpr 
85:5-93:7
 A273: CallExpr 
85:8-85:17
 A270: NameExpr is_zero 
85:8-85:14
defAt: A35 @ 14:1-15:10
 A272: Nodes<Expr> 
85:15-85:17
 A271: NameExpr m 
85:16-85:16
defAt: A266 @ 84:15-84:19
 A307: Exprs 
86:9-86:13
 A306: Nodes<Expr> 
86:9-86:13
 A276: BinExpr ADD 
86:9-86:13
 A274: NameExpr n 
86:9-86:9
defAt: A268 @ 84:22-84:26
 A275: AtomExpr 1 
86:13-86:13
 A309: Exprs 
88:9-92:11
 A308: Nodes<Expr> 
88:9-92:11
 A305: IfThenElseExpr 
88:9-92:11
 A280: CallExpr 
88:12-88:21
 A277: NameExpr is_zero 
88:12-88:18
defAt: A35 @ 14:1-15:10
 A279: Nodes<Expr> 
88:19-88:21
 A278: NameExpr n 
88:20-88:20
defAt: A268 @ 84:22-84:26
 A302: Exprs 
89:13-89:31
 A301: Nodes<Expr> 
89:13-89:31
 A287: CallExpr 
89:13-89:31
 A281: NameExpr ackermann 
89:13-89:21
defAt: A314 @ 84:1-93:7
 A286: Nodes<Expr> 
89:22-89:31
 A284: BinExpr SUB 
89:23-89:27
 A282: NameExpr m 
89:23-89:23
defAt: A266 @ 84:15-84:19
 A283: AtomExpr 1 
89:27-89:27
 A285: AtomExpr 1 
89:30-89:30
 A304: Exprs 
91:13-91:49
 A303: Nodes<Expr> 
91:13-91:49
 A300: CallExpr 
91:13-91:49
 A288: NameExpr ackermann 
91:13-91:21
defAt: A314 @ 84:1-93:7
 A299: Nodes<Expr> 
91:22-91:49
 A291: BinExpr SUB 
91:23-91:27
 A289: NameExpr m 
91:23-91:23
defAt: A266 @ 84:15-84:19
 A290: AtomExpr 1 
91:27-91:27
 A298: CallExpr 
91:30-91:48
 A292: NameExpr ackermann 
91:30-91:38
defAt: A314 @ 84:1-93:7
 A297: Nodes<Expr> 
91:39-91:48
 A293: NameExpr m 
91:40-91:40
defAt: A266 @ 84:15-84:19
 A296: BinExpr SUB 
91:43-91:47
 A294: NameExpr n 
91:43-91:43
defAt: A268 @ 84:22-84:26
 A295: AtomExpr 1 
91:47-91:47
 A340: DefFunDefn digit_sum 
95:1-100:7
 A337: Nodes<ParDefn> 
95:14-95:20
 A316: ParDefn n 
95:15-95:19
 A315: NameType i 
95:19-95:19
defAt: A1 @ 1:1-1:11
 A317: NameType i 
95:24-95:24
defAt: A1 @ 1:1-1:11
 A339: Exprs 
96:5-100:7
 A338: Nodes<Expr> 
96:5-100:7
 A336: IfThenElseExpr 
96:5-100:7
 A320: BinExpr LTH 
96:8-96:13
 A318: NameExpr n 
96:8-96:8
defAt: A316 @ 95:15-95:19
 A319: AtomExpr 10 
96:12-96:13
 A333: Exprs 
97:9-97:9
 A332: Nodes<Expr> 
97:9-97:9
 A321: NameExpr n 
97:9-97:9
defAt: A316 @ 95:15-95:19
 A335: Exprs 
99:9-99:34
 A334: Nodes<Expr> 
99:9-99:34
 A331: BinExpr ADD 
99:9-99:34
 A324: BinExpr MOD 
99:9-99:14
 A322: NameExpr n 
99:9-99:9
defAt: A316 @ 95:15-95:19
 A323: AtomExpr 10 
99:13-99:14
 A330: CallExpr 
99:18-99:34
 A325: NameExpr digit_sum 
99:18-99:26
defAt: A340 @ 95:1-100:7
 A329: Nodes<Expr> 
99:27-99:34
 A328: BinExpr DIV 
99:28-99:33
 A326: NameExpr n 
99:28-99:28
defAt: A316 @ 95:15-95:19
 A327: AtomExpr 10 
99:32-99:33
 A374: DefFunDefn is_palindrome 
102:1-107:7
 A371: Nodes<ParDefn> 
102:18-102:33
 A342: ParDefn n 
102:19-102:23
 A341: NameType i 
102:23-102:23
defAt: A1 @ 1:1-1:11
 A344: ParDefn rev 
102:26-102:32
 A343: NameType i 
102:32-102:32
defAt: A1 @ 1:1-1:11
 A345: NameType b 
102:37-102:37
defAt: A5 @ 3:1-3:12
 A373: Exprs 
103:5-107:7
 A372: Nodes<Expr> 
103:5-107:7
 A370: IfThenElseExpr 
103:5-107:7
 A349: CallExpr 
103:8-103:17
 A346: NameExpr is_zero 
103:8-103:14
defAt: A35 @ 14:1-15:10
 A348: Nodes<Expr> 
103:15-103:17
 A347: NameExpr n 
103:16-103:16
defAt: A342 @ 102:19-102:23
 A367: Exprs 
104:9-104:16
 A366: Nodes<Expr> 
104:9-104:16
 A352: BinExpr EQU 
104:9-104:16
 A350: NameExpr n 
104:9-104:9
defAt: A342 @ 102:19-102:23
 A351: NameExpr rev 
104:14-104:16
defAt: A344 @ 102:26-102:32
 A369: Exprs 
106:9-106:48
 A368: Nodes<Expr> 
106:9-106:48
 A365: CallExpr 
106:9-106:48
 A353: NameExpr is_palindrome 
106:9-106:21
defAt: A374 @ 102:1-107:7
 A364: Nodes<Expr> 
106:22-106:48
 A356: BinExpr DIV 
106:23-106:28
 A354: NameExpr n 
106:23-106:23
defAt: A342 @ 102:19-102:23
 A355: AtomExpr 10 
106:27-106:28
 A363: BinExpr ADD 
106:31-106:47
 A359: BinExpr MUL 
106:31-106:38
 A357: NameExpr rev 
106:31-106:33
defAt: A344 @ 102:26-102:32
 A358: AtomExpr 10 
106:37-106:38
 A362: BinExpr MOD 
106:42-106:47
 A360: NameExpr n 
106:42-106:42
defAt: A342 @ 102:19-102:23
 A361: AtomExpr 10 
106:46-106:47
 A401: DefFunDefn count_bits 
109:1-114:7
 A398: Nodes<ParDefn> 
109:15-109:21
 A376: ParDefn n 
109:16-109:20
 A375: NameType i 
109:20-109:20
defAt: A1 @ 1:1-1:11
 A377: NameType i 
109:25-109:25
defAt: A1 @ 1:1-1:11
 A400: Exprs 
110:5-114:7
 A399: Nodes<Expr> 
110:5-114:7
 A397: IfThenElseExpr 
110:5-114:7
 A381: CallExpr 
110:8-110:17
 A378: NameExpr is_zero 
110:8-110:14
defAt: A35 @ 14:1-15:10
 A380: Nodes<Expr> 
110:15-110:17
 A379: NameExpr n 
110:16-110:16
defAt: A376 @ 109:16-109:20
 A394: Exprs 
111:9-111:9
 A393: Nodes<Expr> 
111:9-111:9
 A382: AtomExpr 0 
111:9-111:9
 A396: Exprs 
113:9-113:33
 A395: Nodes<Expr> 
113:9-113:33
 A392: BinExpr ADD 
113:9-113:33
 A385: BinExpr MOD 
113:9-113:13
 A383: NameExpr n 
113:9-113:9
defAt: A376 @ 109:16-109:20
 A384: AtomExpr 2 
113:13-113:13
 A391: CallExpr 
113:17-113:33
 A386: NameExpr count_bits 
113:17-113:26
defAt: A401 @ 109:1-114:7
 A390: Nodes<Expr> 
113:27-113:33
 A389: BinExpr DIV 
113:28-113:32
 A387: NameExpr n 
113:28-113:28
defAt: A376 @ 109:16-109:20
 A388: AtomExpr 2 
113:32-113:32
 A1067: DefFunDefn main 
116:1-276:7
 A1064: Nodes<ParDefn> 
 A402: NameType i 
116:14-116:14
defAt: A1 @ 1:1-1:11
 A1066: Exprs 
117:5-276:7
 A1065: Nodes<Expr> 
117:5-276:7
 A1063: LetExpr 
117:5-276:7
 A1060: Nodes<Defn> 
118:9-138:29
 A404: VarDefn a 
118:9-118:17
 A403: NameType i 
118:17-118:17
defAt: A1 @ 1:1-1:11
 A406: VarDefn bb 
119:9-119:18
 A405: NameType i 
119:18-119:18
defAt: A1 @ 1:1-1:11
 A408: VarDefn cc 
120:9-120:18
 A407: NameType i 
120:18-120:18
defAt: A1 @ 1:1-1:11
 A410: VarDefn dd 
121:9-121:18
 A409: NameType i 
121:18-121:18
defAt: A1 @ 1:1-1:11
 A412: VarDefn e 
122:9-122:17
 A411: NameType i 
122:17-122:17
defAt: A1 @ 1:1-1:11
 A414: VarDefn f 
123:9-123:17
 A413: NameType b 
123:17-123:17
defAt: A5 @ 3:1-3:12
 A416: VarDefn g 
124:9-124:17
 A415: NameType b 
124:17-124:17
defAt: A5 @ 3:1-3:12
 A418: TypDefn li 
125:9-125:18
 A417: NameType i 
125:18-125:18
defAt: A1 @ 1:1-1:11
 A420: TypDefn lb 
126:9-126:18
 A419: NameType b 
126:18-126:18
defAt: A5 @ 3:1-3:12
 A439: DefFunDefn local_max 
127:9-132:15
 A436: Nodes<ParDefn> 
127:22-127:37
 A422: ParDefn x 
127:23-127:28
 A421: NameType li 
127:27-127:28
defAt: A418 @ 125:9-125:18
 A424: ParDefn y 
127:31-127:36
 A423: NameType li 
127:35-127:36
defAt: A418 @ 125:9-125:18
 A425: NameType li 
127:41-127:42
defAt: A418 @ 125:9-125:18
 A438: Exprs 
128:13-132:15
 A437: Nodes<Expr> 
128:13-132:15
 A435: IfThenElseExpr 
128:13-132:15
 A428: BinExpr GTH 
128:16-128:20
 A426: NameExpr x 
128:16-128:16
defAt: A422 @ 127:23-127:28
 A427: NameExpr y 
128:20-128:20
defAt: A424 @ 127:31-127:36
 A432: Exprs 
129:17-129:17
 A431: Nodes<Expr> 
129:17-129:17
 A429: NameExpr x 
129:17-129:17
defAt: A422 @ 127:23-127:28
 A434: Exprs 
131:17-131:17
 A433: Nodes<Expr> 
131:17-131:17
 A430: NameExpr y 
131:17-131:17
defAt: A424 @ 127:31-127:36
 A451: DefFunDefn local_and 
133:9-134:19
 A448: Nodes<ParDefn> 
133:22-133:37
 A441: ParDefn x 
133:23-133:28
 A440: NameType lb 
133:27-133:28
defAt: A420 @ 126:9-126:18
 A443: ParDefn y 
133:31-133:36
 A442: NameType lb 
133:35-133:36
defAt: A420 @ 126:9-126:18
 A444: NameType lb 
133:41-133:42
defAt: A420 @ 126:9-126:18
 A450: Exprs 
134:13-134:19
 A449: Nodes<Expr> 
134:13-134:19
 A447: BinExpr AND 
134:13-134:19
 A445: NameExpr x 
134:13-134:13
defAt: A441 @ 133:23-133:28
 A446: NameExpr y 
134:19-134:19
defAt: A443 @ 133:31-133:36
 A461: DefFunDefn triple 
135:9-136:17
 A458: Nodes<ParDefn> 
135:19-135:26
 A453: ParDefn x 
135:20-135:25
 A452: NameType li 
135:24-135:25
defAt: A418 @ 125:9-125:18
 A454: NameType li 
135:30-135:31
defAt: A418 @ 125:9-125:18
 A460: Exprs 
136:13-136:17
 A459: Nodes<Expr> 
136:13-136:17
 A457: BinExpr MUL 
136:13-136:17
 A455: NameExpr x 
136:13-136:13
defAt: A453 @ 135:20-135:25
 A456: AtomExpr 3 
136:17-136:17
 A475: DefFunDefn compose 
137:9-138:29
 A472: Nodes<ParDefn> 
137:20-137:27
 A463: ParDefn x 
137:21-137:26
 A462: NameType li 
137:25-137:26
defAt: A418 @ 125:9-125:18
 A464: NameType li 
137:31-137:32
defAt: A418 @ 125:9-125:18
 A474: Exprs 
138:13-138:29
 A473: Nodes<Expr> 
138:13-138:29
 A471: CallExpr 
138:13-138:29
 A465: NameExpr triple 
138:13-138:18
defAt: A461 @ 135:9-136:17
 A470: Nodes<Expr> 
138:19-138:29
 A469: CallExpr 
138:20-138:28
 A466: NameExpr triple 
138:20-138:25
defAt: A461 @ 135:9-136:17
 A468: Nodes<Expr> 
138:26-138:28
 A467: NameExpr x 
138:27-138:27
defAt: A463 @ 137:21-137:26
 A1062: Exprs 
140:9-275:11
 A1061: Nodes<Expr> 
140:9-275:11
 A478: AsgnExpr 
140:9-140:19
 A476: NameExpr counter 
140:9-140:15
defAt: A13 @ 7:1-7:15
 A477: AtomExpr 0 
140:19-140:19
 A481: AsgnExpr 
141:9-141:18
 A479: NameExpr result 
141:9-141:14
defAt: A17 @ 9:1-9:14
 A480: AtomExpr 0 
141:18-141:18
 A484: AsgnExpr 
142:9-142:19
 A482: NameExpr flag 
142:9-142:12
defAt: A15 @ 8:1-8:12
 A483: AtomExpr true 
142:16-142:19
 A490: AsgnExpr 
143:9-143:19
 A485: NameExpr a 
143:9-143:9
defAt: A404 @ 118:9-118:17
 A489: CallExpr 
143:13-143:19
 A486: NameExpr fib 
143:13-143:15
defAt: A196 @ 55:1-64:7
 A488: Nodes<Expr> 
143:16-143:19
 A487: AtomExpr 10 
143:17-143:18
 A497: AsgnExpr 
144:9-144:22
 A491: NameExpr bb 
144:9-144:10
defAt: A406 @ 119:9-119:18
 A496: CallExpr 
144:14-144:22
 A492: NameExpr pow 
144:14-144:16
defAt: A132 @ 41:1-46:7
 A495: Nodes<Expr> 
144:17-144:22
 A493: AtomExpr 2 
144:18-144:18
 A494: AtomExpr 8 
144:21-144:21
 A504: AsgnExpr 
145:9-145:23
 A498: NameExpr cc 
145:9-145:10
defAt: A408 @ 120:9-120:18
 A503: CallExpr 
145:14-145:23
 A499: NameExpr gcd 
145:14-145:16
defAt: A158 @ 48:1-53:7
 A502: Nodes<Expr> 
145:17-145:23
 A500: NameExpr bb 
145:18-145:19
defAt: A406 @ 119:9-119:18
 A501: NameExpr a 
145:22-145:22
defAt: A404 @ 118:9-118:17
 A510: AsgnExpr 
146:9-146:24
 A505: NameExpr dd 
146:9-146:10
defAt: A410 @ 121:9-121:18
 A509: CallExpr 
146:14-146:24
 A506: NameExpr sum_to 
146:14-146:19
defAt: A221 @ 66:1-71:7
 A508: Nodes<Expr> 
146:20-146:24
 A507: AtomExpr 100 
146:21-146:23
 A516: AsgnExpr 
147:9-147:23
 A511: NameExpr e 
147:9-147:9
defAt: A412 @ 122:9-122:17
 A515: CallExpr 
147:13-147:23
 A512: NameExpr collatz 
147:13-147:19
defAt: A264 @ 73:1-82:7
 A514: Nodes<Expr> 
147:20-147:23
 A513: AtomExpr 27 
147:21-147:22
 A522: AsgnExpr 
148:9-148:22
 A517: NameExpr f 
148:9-148:9
defAt: A414 @ 123:9-123:17
 A521: CallExpr 
148:13-148:22
 A518: NameExpr is_even 
148:13-148:19
defAt: A47 @ 17:1-18:14
 A520: Nodes<Expr> 
148:20-148:22
 A519: NameExpr a 
148:21-148:21
defAt: A404 @ 118:9-118:17
 A529: AsgnExpr 
149:9-149:35
 A523: NameExpr g 
149:9-149:9
defAt: A416 @ 124:9-124:17
 A528: CallExpr 
149:13-149:35
 A524: NameExpr is_palindrome 
149:13-149:25
defAt: A374 @ 102:1-107:7
 A527: Nodes<Expr> 
149:26-149:35
 A525: AtomExpr 12321 
149:27-149:31
 A526: AtomExpr 0 
149:34-149:34
 A536: AsgnExpr 
150:9-150:33
 A530: NameExpr result 
150:9-150:14
defAt: A17 @ 9:1-9:14
 A535: CallExpr 
150:18-150:33
 A531: NameExpr local_max 
150:18-150:26
defAt: A439 @ 127:9-132:15
 A534: Nodes<Expr> 
150:27-150:33
 A532: NameExpr a 
150:28-150:28
defAt: A404 @ 118:9-118:17
 A533: NameExpr bb 
150:31-150:32
defAt: A406 @ 119:9-119:18
 A542: AsgnExpr 
151:9-151:32
 A537: NameExpr result 
151:9-151:14
defAt: A17 @ 9:1-9:14
 A541: CallExpr 
151:18-151:32
 A538: NameExpr compose 
151:18-151:24
defAt: A475 @ 137:9-138:29
 A540: Nodes<Expr> 
151:25-151:32
 A539: NameExpr result 
151:26-151:31
defAt: A17 @ 9:1-9:14
 A549: AsgnExpr 
152:9-152:33
 A543: NameExpr counter 
152:9-152:15
defAt: A13 @ 7:1-7:15
 A548: CallExpr 
152:19-152:33
 A544: NameExpr ackermann 
152:19-152:27
defAt: A314 @ 84:1-93:7
 A547: Nodes<Expr> 
152:28-152:33
 A545: AtomExpr 3 
152:29-152:29
 A546: AtomExpr 2 
152:32-152:32
 A1059: LetExpr 
153:9-275:11
 A1056: Nodes<Defn> 
154:13-174:19
 A551: VarDefn shadow_a 
154:13-154:28
 A550: NameType i 
154:28-154:28
defAt: A1 @ 1:1-1:11
 A553: VarDefn shadow_b 
155:13-155:28
 A552: NameType i 
155:28-155:28
defAt: A1 @ 1:1-1:11
 A555: VarDefn shadow_f 
156:13-156:28
 A554: NameType b 
156:28-156:28
defAt: A5 @ 3:1-3:12
 A557: VarDefn counter 
157:13-157:27
 A556: NameType i 
157:27-157:27
defAt: A1 @ 1:1-1:11
 A559: VarDefn result 
158:13-158:26
 A558: NameType i 
158:26-158:26
defAt: A1 @ 1:1-1:11
 A597: DefFunDefn shadow_fib 
159:13-168:19
 A594: Nodes<ParDefn> 
159:27-159:33
 A561: ParDefn n 
159:28-159:32
 A560: NameType i 
159:32-159:32
defAt: A1 @ 1:1-1:11
 A562: NameType i 
159:37-159:37
defAt: A1 @ 1:1-1:11
 A596: Exprs 
160:17-168:19
 A595: Nodes<Expr> 
160:17-168:19
 A593: IfThenElseExpr 
160:17-168:19
 A565: BinExpr EQU 
160:20-160:25
 A563: NameExpr n 
160:20-160:20
defAt: A561 @ 159:28-159:32
 A564: AtomExpr 0 
160:25-160:25
 A590: Exprs 
161:21-161:21
 A589: Nodes<Expr> 
161:21-161:21
 A566: AtomExpr 0 
161:21-161:21
 A592: Exprs 
163:21-167:23
 A591: Nodes<Expr> 
163:21-167:23
 A588: IfThenElseExpr 
163:21-167:23
 A569: BinExpr EQU 
163:24-163:29
 A567: NameExpr n 
163:24-163:24
defAt: A561 @ 159:28-159:32
 A568: AtomExpr 1 
163:29-163:29
 A585: Exprs 
164:25-164:25
 A584: Nodes<Expr> 
164:25-164:25
 A570: AtomExpr 1 
164:25-164:25
 A587: Exprs 
166:25-166:61
 A586: Nodes<Expr> 
166:25-166:61
 A583: BinExpr ADD 
166:25-166:61
 A576: CallExpr 
166:25-166:41
 A571: NameExpr shadow_fib 
166:25-166:34
defAt: A597 @ 159:13-168:19
 A575: Nodes<Expr> 
166:35-166:41
 A574: BinExpr SUB 
166:36-166:40
 A572: NameExpr n 
166:36-166:36
defAt: A561 @ 159:28-159:32
 A573: AtomExpr 1 
166:40-166:40
 A582: CallExpr 
166:45-166:61
 A577: NameExpr shadow_fib 
166:45-166:54
defAt: A597 @ 159:13-168:19
 A581: Nodes<Expr> 
166:55-166:61
 A580: BinExpr SUB 
166:56-166:60
 A578: NameExpr n 
166:56-166:56
defAt: A561 @ 159:28-159:32
 A579: AtomExpr 2 
166:60-166:60
 A625: DefFunDefn accumulate 
169:13-174:19
 A622: Nodes<ParDefn> 
169:27-169:42
 A599: ParDefn n 
169:28-169:32
 A598: NameType i 
169:32-169:32
defAt: A1 @ 1:1-1:11
 A601: ParDefn acc 
169:35-169:41
 A600: NameType i 
169:41-169:41
defAt: A1 @ 1:1-1:11
 A602: NameType i 
169:46-169:46
defAt: A1 @ 1:1-1:11
 A624: Exprs 
170:17-174:19
 A623: Nodes<Expr> 
170:17-174:19
 A621: IfThenElseExpr 
170:17-174:19
 A606: CallExpr 
170:20-170:29
 A603: NameExpr is_zero 
170:20-170:26
defAt: A35 @ 14:1-15:10
 A605: Nodes<Expr> 
170:27-170:29
 A604: NameExpr n 
170:28-170:28
defAt: A599 @ 169:28-169:32
 A618: Exprs 
171:21-171:23
 A617: Nodes<Expr> 
171:21-171:23
 A607: NameExpr acc 
171:21-171:23
defAt: A601 @ 169:35-169:41
 A620: Exprs 
173:21-173:46
 A619: Nodes<Expr> 
173:21-173:46
 A616: CallExpr 
173:21-173:46
 A608: NameExpr accumulate 
173:21-173:30
defAt: A625 @ 169:13-174:19
 A615: Nodes<Expr> 
173:31-173:46
 A611: BinExpr SUB 
173:32-173:36
 A609: NameExpr n 
173:32-173:32
defAt: A599 @ 169:28-169:32
 A610: AtomExpr 1 
173:36-173:36
 A614: BinExpr ADD 
173:39-173:45
 A612: NameExpr acc 
173:39-173:41
defAt: A601 @ 169:35-169:41
 A613: NameExpr n 
173:45-173:45
defAt: A599 @ 169:28-169:32
 A1058: Exprs 
176:13-274:15
 A1057: Nodes<Expr> 
176:13-274:15
 A631: AsgnExpr 
176:13-176:37
 A626: NameExpr shadow_a 
176:13-176:20
defAt: A551 @ 154:13-154:28
 A630: CallExpr 
176:24-176:37
 A627: NameExpr shadow_fib 
176:24-176:33
defAt: A597 @ 159:13-168:19
 A629: Nodes<Expr> 
176:34-176:37
 A628: AtomExpr 15 
176:35-176:36
 A638: AsgnExpr 
177:13-177:40
 A632: NameExpr shadow_b 
177:13-177:20
defAt: A553 @ 155:13-155:28
 A637: CallExpr 
177:24-177:40
 A633: NameExpr accumulate 
177:24-177:33
defAt: A625 @ 169:13-174:19
 A636: Nodes<Expr> 
177:34-177:40
 A634: AtomExpr 50 
177:35-177:36
 A635: AtomExpr 0 
177:39-177:39
 A645: AsgnExpr 
178:13-178:38
 A639: NameExpr shadow_f 
178:13-178:20
defAt: A555 @ 156:13-156:28
 A644: CallExpr 
178:24-178:38
 A640: NameExpr local_and 
178:24-178:32
defAt: A451 @ 133:9-134:19
 A643: Nodes<Expr> 
178:33-178:38
 A641: NameExpr f 
178:34-178:34
defAt: A414 @ 123:9-123:17
 A642: NameExpr g 
178:37-178:37
defAt: A416 @ 124:9-124:17
 A653: AsgnExpr 
179:13-179:52
 A646: NameExpr counter 
179:13-179:19
defAt: A557 @ 157:13-157:27
 A652: CallExpr 
179:23-179:52
 A647: NameExpr digit_sum 
179:23-179:31
defAt: A340 @ 95:1-100:7
 A651: Nodes<Expr> 
179:32-179:52
 A650: BinExpr MUL 
179:33-179:51
 A648: NameExpr shadow_a 
179:33-179:40
defAt: A551 @ 154:13-154:28
 A649: NameExpr shadow_b 
179:44-179:51
defAt: A553 @ 155:13-155:28
 A660: AsgnExpr 
180:13-180:44
 A654: NameExpr result 
180:13-180:18
defAt: A559 @ 158:13-158:26
 A659: CallExpr 
180:22-180:44
 A655: NameExpr min 
180:22-180:24
defAt: A104 @ 34:1-39:7
 A658: Nodes<Expr> 
180:25-180:44
 A656: NameExpr shadow_a 
180:26-180:33
defAt: A551 @ 154:13-154:28
 A657: NameExpr shadow_b 
180:36-180:43
defAt: A553 @ 155:13-155:28
 A696: WhileExpr 
181:13-188:15
 A663: BinExpr GTH 
181:19-181:29
 A661: NameExpr counter 
181:19-181:25
defAt: A557 @ 157:13-157:27
 A662: AtomExpr 0 
181:29-181:29
 A695: Exprs 
182:17-187:37
 A694: Nodes<Expr> 
182:17-187:37
 A688: IfThenElseExpr 
182:17-186:19
 A667: CallExpr 
182:20-182:35
 A664: NameExpr is_even 
182:20-182:26
defAt: A47 @ 17:1-18:14
 A666: Nodes<Expr> 
182:27-182:35
 A665: NameExpr counter 
182:28-182:34
defAt: A557 @ 157:13-157:27
 A685: Exprs 
183:21-183:57
 A684: Nodes<Expr> 
183:21-183:57
 A675: AsgnExpr 
183:21-183:57
 A668: NameExpr result 
183:21-183:26
defAt: A559 @ 158:13-158:26
 A674: BinExpr ADD 
183:30-183:57
 A669: NameExpr result 
183:30-183:35
defAt: A559 @ 158:13-158:26
 A673: CallExpr 
183:39-183:57
 A670: NameExpr shadow_fib 
183:39-183:48
defAt: A597 @ 159:13-168:19
 A672: Nodes<Expr> 
183:49-183:57
 A671: NameExpr counter 
183:50-183:56
defAt: A557 @ 157:13-157:27
 A687: Exprs 
185:21-185:56
 A686: Nodes<Expr> 
185:21-185:56
 A683: AsgnExpr 
185:21-185:56
 A676: NameExpr result 
185:21-185:26
defAt: A559 @ 158:13-158:26
 A682: BinExpr SUB 
185:30-185:56
 A677: NameExpr result 
185:30-185:35
defAt: A559 @ 158:13-158:26
 A681: CallExpr 
185:39-185:56
 A678: NameExpr digit_sum 
185:39-185:47
defAt: A340 @ 95:1-100:7
 A680: Nodes<Expr> 
185:48-185:56
 A679: NameExpr counter 
185:49-185:55
defAt: A557 @ 157:13-157:27
 A693: AsgnExpr 
187:17-187:37
 A689: NameExpr counter 
187:17-187:23
defAt: A557 @ 157:13-157:27
 A692: BinExpr SUB 
187:27-187:37
 A690: NameExpr counter 
187:27-187:33
defAt: A557 @ 157:13-157:27
 A691: AtomExpr 1 
187:37-187:37
 A1055: LetExpr 
189:13-274:15
 A1052: Nodes<Defn> 
190:17-216:23
 A698: VarDefn deep1 
190:17-190:29
 A697: NameType i 
190:29-190:29
defAt: A1 @ 1:1-1:11
 A700: VarDefn deep2 
191:17-191:29
 A699: NameType i 
191:29-191:29
defAt: A1 @ 1:1-1:11
 A702: VarDefn deep3 
192:17-192:29
 A701: NameType b 
192:29-192:29
defAt: A5 @ 3:1-3:12
 A704: VarDefn deep4 
193:17-193:29
 A703: NameType i 
193:29-193:29
defAt: A1 @ 1:1-1:11
 A706: TypDefn di 
194:17-194:26
 A705: NameType i 
194:26-194:26
defAt: A1 @ 1:1-1:11
 A734: DefFunDefn deep_pow 
195:17-200:23
 A731: Nodes<ParDefn> 
195:29-195:44
 A708: ParDefn b 
195:30-195:35
 A707: NameType di 
195:34-195:35
defAt: A706 @ 194:17-194:26
 A710: ParDefn e 
195:38-195:43
 A709: NameType di 
195:42-195:43
defAt: A706 @ 194:17-194:26
 A711: NameType di 
195:48-195:49
defAt: A706 @ 194:17-194:26
 A733: Exprs 
196:21-200:23
 A732: Nodes<Expr> 
196:21-200:23
 A730: IfThenElseExpr 
196:21-200:23
 A715: CallExpr 
196:24-196:33
 A712: NameExpr is_zero 
196:24-196:30
defAt: A35 @ 14:1-15:10
 A714: Nodes<Expr> 
196:31-196:33
 A713: NameExpr e 
196:32-196:32
defAt: A710 @ 195:38-195:43
 A727: Exprs 
197:25-197:25
 A726: Nodes<Expr> 
197:25-197:25
 A716: AtomExpr 1 
197:25-197:25
 A729: Exprs 
199:25-199:46
 A728: Nodes<Expr> 
199:25-199:46
 A725: BinExpr MUL 
199:25-199:46
 A717: NameExpr b 
199:25-199:25
defAt: A708 @ 195:30-195:35
 A724: CallExpr 
199:29-199:46
 A718: NameExpr deep_pow 
199:29-199:36
defAt: A734 @ 195:17-200:23
 A723: Nodes<Expr> 
199:37-199:46
 A719: NameExpr b 
199:38-199:38
defAt: A708 @ 195:30-195:35
 A722: BinExpr SUB 
199:41-199:45
 A720: NameExpr e 
199:41-199:41
defAt: A710 @ 195:38-195:43
 A721: AtomExpr 1 
199:45-199:45
 A777: DefFunDefn deep_collatz 
201:17-210:23
 A774: Nodes<ParDefn> 
201:33-201:40
 A736: ParDefn n 
201:34-201:39
 A735: NameType di 
201:38-201:39
defAt: A706 @ 194:17-194:26
 A737: NameType di 
201:44-201:45
defAt: A706 @ 194:17-194:26
 A776: Exprs 
202:21-210:23
 A775: Nodes<Expr> 
202:21-210:23
 A773: IfThenElseExpr 
202:21-210:23
 A740: BinExpr EQU 
202:24-202:29
 A738: NameExpr n 
202:24-202:24
defAt: A736 @ 201:34-201:39
 A739: AtomExpr 1 
202:29-202:29
 A770: Exprs 
203:25-203:25
 A769: Nodes<Expr> 
203:25-203:25
 A741: AtomExpr 0 
203:25-203:25
 A772: Exprs 
205:25-209:27
 A771: Nodes<Expr> 
205:25-209:27
 A768: IfThenElseExpr 
205:25-209:27
 A745: CallExpr 
205:28-205:37
 A742: NameExpr is_even 
205:28-205:34
defAt: A47 @ 17:1-18:14
 A744: Nodes<Expr> 
205:35-205:37
 A743: NameExpr n 
205:36-205:36
defAt: A736 @ 201:34-201:39
 A765: Exprs 
206:29-206:51
 A764: Nodes<Expr> 
206:29-206:51
 A753: BinExpr ADD 
206:29-206:51
 A746: AtomExpr 1 
206:29-206:29
 A752: CallExpr 
206:33-206:51
 A747: NameExpr deep_collatz 
206:33-206:44
defAt: A777 @ 201:17-210:23
 A751: Nodes<Expr> 
206:45-206:51
 A750: BinExpr DIV 
206:46-206:50
 A748: NameExpr n 
206:46-206:46
defAt: A736 @ 201:34-201:39
 A749: AtomExpr 2 
206:50-206:50
 A767: Exprs 
208:29-208:55
 A766: Nodes<Expr> 
208:29-208:55
 A763: BinExpr ADD 
208:29-208:55
 A754: AtomExpr 1 
208:29-208:29
 A762: CallExpr 
208:33-208:55
 A755: NameExpr deep_collatz 
208:33-208:44
defAt: A777 @ 201:17-210:23
 A761: Nodes<Expr> 
208:45-208:55
 A760: BinExpr ADD 
208:46-208:54
 A758: BinExpr MUL 
208:46-208:50
 A756: AtomExpr 3 
208:46-208:46
 A757: NameExpr n 
208:50-208:50
defAt: A736 @ 201:34-201:39
 A759: AtomExpr 1 
208:54-208:54
 A792: DefFunDefn toggle 
211:17-216:23
 A789: Nodes<ParDefn> 
211:27-211:34
 A779: ParDefn x 
211:28-211:33
 A778: NameType lb 
211:32-211:33
defAt: A420 @ 126:9-126:18
 A780: NameType lb 
211:38-211:39
defAt: A420 @ 126:9-126:18
 A791: Exprs 
212:21-216:23
 A790: Nodes<Expr> 
212:21-216:23
 A788: IfThenElseExpr 
212:21-216:23
 A781: NameExpr x 
212:24-212:24
defAt: A779 @ 211:28-211:33
 A785: Exprs 
213:25-213:29
 A784: Nodes<Expr> 
213:25-213:29
 A782: AtomExpr false 
213:25-213:29
 A787: Exprs 
215:25-215:28
 A786: Nodes<Expr> 
215:25-215:28
 A783: AtomExpr true 
215:25-215:28
 A1054: Exprs 
218:17-273:19
 A1053: Nodes<Expr> 
218:17-273:19
 A801: AsgnExpr 
218:17-218:49
 A793: NameExpr deep1 
218:17-218:21
defAt: A698 @ 190:17-190:29
 A800: CallExpr 
218:25-218:49
 A794: NameExpr deep_pow 
218:25-218:32
defAt: A734 @ 195:17-200:23
 A799: Nodes<Expr> 
218:33-218:49
 A795: AtomExpr 2 
218:34-218:34
 A798: BinExpr MOD 
218:37-218:48
 A796: NameExpr counter 
218:37-218:43
defAt: A557 @ 157:13-157:27
 A797: AtomExpr 10 
218:47-218:48
 A812: AsgnExpr 
219:17-219:57
 A802: NameExpr deep2 
219:17-219:21
defAt: A700 @ 191:17-191:29
 A811: CallExpr 
219:25-219:57
 A803: NameExpr deep_collatz 
219:25-219:36
defAt: A777 @ 201:17-210:23
 A810: Nodes<Expr> 
219:37-219:57
 A809: BinExpr ADD 
219:38-219:56
 A807: CallExpr 
219:38-219:52
 A804: NameExpr abs_val 
219:38-219:44
defAt: A66 @ 20:1-25:7
 A806: Nodes<Expr> 
219:45-219:52
 A805: NameExpr result 
219:46-219:51
defAt: A559 @ 158:13-158:26
 A808: AtomExpr 1 
219:56-219:56
 A818: AsgnExpr 
220:17-220:40
 A813: NameExpr deep3 
220:17-220:21
defAt: A702 @ 192:17-192:29
 A817: CallExpr 
220:25-220:40
 A814: NameExpr toggle 
220:25-220:30
defAt: A792 @ 211:17-216:23
 A816: Nodes<Expr> 
220:31-220:40
 A815: NameExpr shadow_f 
220:32-220:39
defAt: A555 @ 156:13-156:28
 A825: AsgnExpr 
221:17-221:41
 A819: NameExpr deep4 
221:17-221:21
defAt: A704 @ 193:17-193:29
 A824: CallExpr 
221:25-221:41
 A820: NameExpr max 
221:25-221:27
defAt: A85 @ 27:1-32:7
 A823: Nodes<Expr> 
221:28-221:41
 A821: NameExpr deep1 
221:29-221:33
defAt: A698 @ 190:17-190:29
 A822: NameExpr deep2 
221:36-221:40
defAt: A700 @ 191:17-191:29
 A835: AsgnExpr 
222:17-222:55
 A826: NameExpr flag 
222:17-222:20
defAt: A15 @ 8:1-8:12
 A834: CallExpr 
222:24-222:55
 A827: NameExpr local_and 
222:24-222:32
defAt: A451 @ 133:9-134:19
 A833: Nodes<Expr> 
222:33-222:55
 A828: NameExpr deep3 
222:34-222:38
defAt: A702 @ 192:17-192:29
 A832: CallExpr 
222:41-222:54
 A829: NameExpr is_even 
222:41-222:47
defAt: A47 @ 17:1-18:14
 A831: Nodes<Expr> 
222:48-222:54
 A830: NameExpr deep4 
222:49-222:53
defAt: A704 @ 193:17-193:29
 A893: WhileExpr 
223:17-237:19
 A838: BinExpr GTH 
223:23-223:31
 A836: NameExpr deep4 
223:23-223:27
defAt: A704 @ 193:17-193:29
 A837: AtomExpr 0 
223:31-223:31
 A892: Exprs 
224:21-236:23
 A891: Nodes<Expr> 
224:21-236:23
 A890: IfThenElseExpr 
224:21-236:23
 A842: CallExpr 
224:24-224:37
 A839: NameExpr is_even 
224:24-224:30
defAt: A47 @ 17:1-18:14
 A841: Nodes<Expr> 
224:31-224:37
 A840: NameExpr deep4 
224:32-224:36
defAt: A704 @ 193:17-193:29
 A887: Exprs 
225:25-229:27
 A886: Nodes<Expr> 
225:25-229:27
 A860: IfThenElseExpr 
225:25-229:27
 A845: BinExpr GTH 
225:28-225:38
 A843: NameExpr deep4 
225:28-225:32
defAt: A704 @ 193:17-193:29
 A844: AtomExpr 100 
225:36-225:38
 A857: Exprs 
226:29-226:45
 A856: Nodes<Expr> 
226:29-226:45
 A850: AsgnExpr 
226:29-226:45
 A846: NameExpr deep4 
226:29-226:33
defAt: A704 @ 193:17-193:29
 A849: BinExpr DIV 
226:37-226:45
 A847: NameExpr deep4 
226:37-226:41
defAt: A704 @ 193:17-193:29
 A848: AtomExpr 2 
226:45-226:45
 A859: Exprs 
228:29-228:45
 A858: Nodes<Expr> 
228:29-228:45
 A855: AsgnExpr 
228:29-228:45
 A851: NameExpr deep4 
228:29-228:33
defAt: A704 @ 193:17-193:29
 A854: BinExpr SUB 
228:37-228:45
 A852: NameExpr deep4 
228:37-228:41
defAt: A704 @ 193:17-193:29
 A853: AtomExpr 1 
228:45-228:45
 A889: Exprs 
231:25-235:27
 A888: Nodes<Expr> 
231:25-235:27
 A885: IfThenElseExpr 
231:25-235:27
 A866: CallExpr 
231:28-231:45
 A861: NameExpr is_zero 
231:28-231:34
defAt: A35 @ 14:1-15:10
 A865: Nodes<Expr> 
231:35-231:45
 A864: BinExpr MOD 
231:36-231:44
 A862: NameExpr deep4 
231:36-231:40
defAt: A704 @ 193:17-193:29
 A863: AtomExpr 3 
231:44-231:44
 A882: Exprs 
232:29-232:45
 A881: Nodes<Expr> 
232:29-232:45
 A871: AsgnExpr 
232:29-232:45
 A867: NameExpr deep4 
232:29-232:33
defAt: A704 @ 193:17-193:29
 A870: BinExpr SUB 
232:37-232:45
 A868: NameExpr deep4 
232:37-232:41
defAt: A704 @ 193:17-193:29
 A869: AtomExpr 3 
232:45-232:45
 A884: Exprs 
234:29-234:57
 A883: Nodes<Expr> 
234:29-234:57
 A880: AsgnExpr 
234:29-234:57
 A872: NameExpr deep4 
234:29-234:33
defAt: A704 @ 193:17-193:29
 A879: BinExpr SUB 
234:37-234:57
 A877: BinExpr SUB 
234:37-234:53
 A875: BinExpr MUL 
234:37-234:45
 A873: NameExpr deep4 
234:37-234:41
defAt: A704 @ 193:17-193:29
 A874: AtomExpr 2 
234:45-234:45
 A876: NameExpr deep4 
234:49-234:53
defAt: A704 @ 193:17-193:29
 A878: AtomExpr 1 
234:57-234:57
 A1051: LetExpr 
238:17-273:19
 A1048: Nodes<Defn> 
239:21-259:27
 A895: VarDefn ultra1 
239:21-239:34
 A894: NameType i 
239:34-239:34
defAt: A1 @ 1:1-1:11
 A897: VarDefn ultra2 
240:21-240:34
 A896: NameType b 
240:34-240:34
defAt: A5 @ 3:1-3:12
 A899: VarDefn ultra3 
241:21-241:34
 A898: NameType i 
241:34-241:34
defAt: A1 @ 1:1-1:11
 A925: DefFunDefn ultra_gcd 
242:21-247:27
 A922: Nodes<ParDefn> 
242:34-242:47
 A901: ParDefn a 
242:35-242:39
 A900: NameType i 
242:39-242:39
defAt: A1 @ 1:1-1:11
 A903: ParDefn b 
242:42-242:46
 A902: NameType i 
242:46-242:46
defAt: A1 @ 1:1-1:11
 A904: NameType i 
242:51-242:51
defAt: A1 @ 1:1-1:11
 A924: Exprs 
243:25-247:27
 A923: Nodes<Expr> 
243:25-247:27
 A921: IfThenElseExpr 
243:25-247:27
 A908: CallExpr 
243:28-243:37
 A905: NameExpr is_zero 
243:28-243:34
defAt: A35 @ 14:1-15:10
 A907: Nodes<Expr> 
243:35-243:37
 A906: NameExpr b 
243:36-243:36
defAt: A903 @ 242:42-242:46
 A918: Exprs 
244:29-244:29
 A917: Nodes<Expr> 
244:29-244:29
 A909: NameExpr a 
244:29-244:29
defAt: A901 @ 242:35-242:39
 A920: Exprs 
246:29-246:47
 A919: Nodes<Expr> 
246:29-246:47
 A916: CallExpr 
246:29-246:47
 A910: NameExpr ultra_gcd 
246:29-246:37
defAt: A925 @ 242:21-247:27
 A915: Nodes<Expr> 
246:38-246:47
 A911: NameExpr b 
246:39-246:39
defAt: A903 @ 242:42-242:46
 A914: BinExpr MOD 
246:42-246:46
 A912: NameExpr a 
246:42-246:42
defAt: A901 @ 242:35-242:39
 A913: NameExpr b 
246:46-246:46
defAt: A903 @ 242:42-242:46
 A950: DefFunDefn ultra_sum 
248:21-253:27
 A947: Nodes<ParDefn> 
248:34-248:40
 A927: ParDefn n 
248:35-248:39
 A926: NameType i 
248:39-248:39
defAt: A1 @ 1:1-1:11
 A928: NameType i 
248:44-248:44
defAt: A1 @ 1:1-1:11
 A949: Exprs 
249:25-253:27
 A948: Nodes<Expr> 
249:25-253:27
 A946: IfThenElseExpr 
249:25-253:27
 A932: CallExpr 
249:28-249:37
 A929: NameExpr is_zero 
249:28-249:34
defAt: A35 @ 14:1-15:10
 A931: Nodes<Expr> 
249:35-249:37
 A930: NameExpr n 
249:36-249:36
defAt: A927 @ 248:35-248:39
 A943: Exprs 
250:29-250:29
 A942: Nodes<Expr> 
250:29-250:29
 A933: AtomExpr 0 
250:29-250:29
 A945: Exprs 
252:29-252:48
 A944: Nodes<Expr> 
252:29-252:48
 A941: BinExpr ADD 
252:29-252:48
 A934: NameExpr n 
252:29-252:29
defAt: A927 @ 248:35-248:39
 A940: CallExpr 
252:33-252:48
 A935: NameExpr ultra_sum 
252:33-252:41
defAt: A950 @ 248:21-253:27
 A939: Nodes<Expr> 
252:42-252:48
 A938: BinExpr SUB 
252:43-252:47
 A936: NameExpr n 
252:43-252:43
defAt: A927 @ 248:35-248:39
 A937: AtomExpr 1 
252:47-252:47
 A977: DefFunDefn ultra_bits 
254:21-259:27
 A974: Nodes<ParDefn> 
254:35-254:41
 A952: ParDefn n 
254:36-254:40
 A951: NameType i 
254:40-254:40
defAt: A1 @ 1:1-1:11
 A953: NameType i 
254:45-254:45
defAt: A1 @ 1:1-1:11
 A976: Exprs 
255:25-259:27
 A975: Nodes<Expr> 
255:25-259:27
 A973: IfThenElseExpr 
255:25-259:27
 A957: CallExpr 
255:28-255:37
 A954: NameExpr is_zero 
255:28-255:34
defAt: A35 @ 14:1-15:10
 A956: Nodes<Expr> 
255:35-255:37
 A955: NameExpr n 
255:36-255:36
defAt: A952 @ 254:36-254:40
 A970: Exprs 
256:29-256:29
 A969: Nodes<Expr> 
256:29-256:29
 A958: AtomExpr 0 
256:29-256:29
 A972: Exprs 
258:29-258:53
 A971: Nodes<Expr> 
258:29-258:53
 A968: BinExpr ADD 
258:29-258:53
 A961: BinExpr MOD 
258:29-258:33
 A959: NameExpr n 
258:29-258:29
defAt: A952 @ 254:36-254:40
 A960: AtomExpr 2 
258:33-258:33
 A967: CallExpr 
258:37-258:53
 A962: NameExpr ultra_bits 
258:37-258:46
defAt: A977 @ 254:21-259:27
 A966: Nodes<Expr> 
258:47-258:53
 A965: BinExpr DIV 
258:48-258:52
 A963: NameExpr n 
258:48-258:48
defAt: A952 @ 254:36-254:40
 A964: AtomExpr 2 
258:52-258:52
 A1050: Exprs 
261:21-272:26
 A1049: Nodes<Expr> 
261:21-272:26
 A984: AsgnExpr 
261:21-261:52
 A978: NameExpr ultra1 
261:21-261:26
defAt: A895 @ 239:21-239:34
 A983: CallExpr 
261:30-261:52
 A979: NameExpr ultra_gcd 
261:30-261:38
defAt: A925 @ 242:21-247:27
 A982: Nodes<Expr> 
261:39-261:52
 A980: NameExpr deep1 
261:40-261:44
defAt: A698 @ 190:17-190:29
 A981: NameExpr deep2 
261:47-261:51
defAt: A700 @ 191:17-191:29
 A990: AsgnExpr 
262:21-262:44
 A985: NameExpr ultra2 
262:21-262:26
defAt: A897 @ 240:21-240:34
 A989: CallExpr 
262:30-262:44
 A986: NameExpr is_even 
262:30-262:36
defAt: A47 @ 17:1-18:14
 A988: Nodes<Expr> 
262:37-262:44
 A987: NameExpr ultra1 
262:38-262:43
defAt: A895 @ 239:21-239:34
 A1001: AsgnExpr 
263:21-263:66
 A991: NameExpr ultra3 
263:21-263:26
defAt: A899 @ 241:21-241:34
 A1000: CallExpr 
263:30-263:66
 A992: NameExpr ultra_sum 
263:30-263:38
defAt: A950 @ 248:21-253:27
 A999: Nodes<Expr> 
263:39-263:66
 A998: CallExpr 
263:40-263:65
 A993: NameExpr ultra_bits 
263:40-263:49
defAt: A977 @ 254:21-259:27
 A997: Nodes<Expr> 
263:50-263:65
 A996: BinExpr ADD 
263:51-263:64
 A994: NameExpr deep4 
263:51-263:55
defAt: A704 @ 193:17-193:29
 A995: NameExpr ultra1 
263:59-263:64
defAt: A895 @ 239:21-239:34
 A1009: AsgnExpr 
264:21-264:57
 A1002: NameExpr counter 
264:21-264:27
defAt: A557 @ 157:13-157:27
 A1008: BinExpr ADD 
264:31-264:57
 A1003: NameExpr ultra3 
264:31-264:36
defAt: A899 @ 241:21-241:34
 A1007: CallExpr 
264:40-264:57
 A1004: NameExpr count_bits 
264:40-264:49
defAt: A401 @ 109:1-114:7
 A1006: Nodes<Expr> 
264:50-264:57
 A1005: NameExpr ultra1 
264:51-264:56
defAt: A895 @ 239:21-239:34
 A1015: AsgnExpr 
265:21-265:47
 A1010: NameExpr result 
265:21-265:26
defAt: A559 @ 158:13-158:26
 A1014: CallExpr 
265:30-265:47
 A1011: NameExpr ext_print 
265:30-265:38
defAt: A22 @ 11:1-11:24
 A1013: Nodes<Expr> 
265:39-265:47
 A1012: NameExpr counter 
265:40-265:46
defAt: A557 @ 157:13-157:27
 A1022: AsgnExpr 
266:21-266:51
 A1016: NameExpr flag 
266:21-266:24
defAt: A15 @ 8:1-8:12
 A1021: CallExpr 
266:28-266:51
 A1017: NameExpr local_and 
266:28-266:36
defAt: A451 @ 133:9-134:19
 A1020: Nodes<Expr> 
266:37-266:51
 A1018: NameExpr ultra2 
266:38-266:43
defAt: A897 @ 240:21-240:34
 A1019: NameExpr deep3 
266:46-266:50
defAt: A702 @ 192:17-192:29
 A1042: WhileExpr 
267:21-270:23
 A1025: BinExpr GTH 
267:27-267:36
 A1023: NameExpr ultra3 
267:27-267:32
defAt: A899 @ 241:21-241:34
 A1024: AtomExpr 0 
267:36-267:36
 A1041: Exprs 
268:25-269:43
 A1040: Nodes<Expr> 
268:25-269:43
 A1034: AsgnExpr 
268:25-268:62
 A1026: NameExpr ultra1 
268:25-268:30
defAt: A895 @ 239:21-239:34
 A1033: CallExpr 
268:34-268:62
 A1027: NameExpr ultra_gcd 
268:34-268:42
defAt: A925 @ 242:21-247:27
 A1032: Nodes<Expr> 
268:43-268:62
 A1028: NameExpr ultra3 
268:44-268:49
defAt: A899 @ 241:21-241:34
 A1031: BinExpr ADD 
268:52-268:61
 A1029: NameExpr ultra1 
268:52-268:57
defAt: A895 @ 239:21-239:34
 A1030: AtomExpr 1 
268:61-268:61
 A1039: AsgnExpr 
269:25-269:43
 A1035: NameExpr ultra3 
269:25-269:30
defAt: A899 @ 241:21-241:34
 A1038: BinExpr SUB 
269:34-269:43
 A1036: NameExpr ultra3 
269:34-269:39
defAt: A899 @ 241:21-241:34
 A1037: AtomExpr 1 
269:43-269:43
 A1046: CallExpr 
271:21-271:37
 A1043: NameExpr ext_print 
271:21-271:29
defAt: A22 @ 11:1-11:24
 A1045: Nodes<Expr> 
271:30-271:37
 A1044: NameExpr result 
271:31-271:36
defAt: A559 @ 158:13-158:26
 A1047: NameExpr ultra3 
272:21-272:26
defAt: A899 @ 241:21-241:34