MAIN
       MOVE TEMP 56 HALLOCATE 4
       MOVE TEMP 57 HALLOCATE 4
       MOVE TEMP 372 TV_Start
       HSTORE TEMP 56 0 TEMP 372
       HSTORE TEMP 57 0 TEMP 56
       MOVE TEMP 55 TEMP 57
       HLOAD TEMP 53 TEMP 55 0
       HLOAD TEMP 54 TEMP 53 0
       MOVE TEMP 373 CALL TEMP 54( TEMP 55 )
       PRINT TEMP 373
END
TV_Start [1]
BEGIN
       MOVE TEMP 59 HALLOCATE 84
       MOVE TEMP 60 HALLOCATE 28
       MOVE TEMP 374 Tree_accept
       HSTORE TEMP 59 80 TEMP 374
       MOVE TEMP 375 Tree_RecPrint
       HSTORE TEMP 59 76 TEMP 375
       MOVE TEMP 376 Tree_Print
       HSTORE TEMP 59 72 TEMP 376
       MOVE TEMP 377 Tree_Search
       HSTORE TEMP 59 68 TEMP 377
       MOVE TEMP 378 Tree_RemoveLeft
       HSTORE TEMP 59 64 TEMP 378
       MOVE TEMP 379 Tree_RemoveRight
       HSTORE TEMP 59 60 TEMP 379
       MOVE TEMP 380 Tree_Remove
       HSTORE TEMP 59 56 TEMP 380
       MOVE TEMP 381 Tree_Delete
       HSTORE TEMP 59 52 TEMP 381
       MOVE TEMP 382 Tree_Insert
       HSTORE TEMP 59 48 TEMP 382
       MOVE TEMP 383 Tree_Compare
       HSTORE TEMP 59 44 TEMP 383
       MOVE TEMP 384 Tree_SetHas_Right
       HSTORE TEMP 59 40 TEMP 384
       MOVE TEMP 385 Tree_SetHas_Left
       HSTORE TEMP 59 36 TEMP 385
       MOVE TEMP 386 Tree_GetHas_Left
       HSTORE TEMP 59 32 TEMP 386
       MOVE TEMP 387 Tree_GetHas_Right
       HSTORE TEMP 59 28 TEMP 387
       MOVE TEMP 388 Tree_SetKey
       HSTORE TEMP 59 24 TEMP 388
       MOVE TEMP 389 Tree_GetKey
       HSTORE TEMP 59 20 TEMP 389
       MOVE TEMP 390 Tree_GetLeft
       HSTORE TEMP 59 16 TEMP 390
       MOVE TEMP 391 Tree_GetRight
       HSTORE TEMP 59 12 TEMP 391
       MOVE TEMP 392 Tree_SetLeft
       HSTORE TEMP 59 8 TEMP 392
       MOVE TEMP 393 Tree_SetRight
       HSTORE TEMP 59 4 TEMP 393
       MOVE TEMP 394 Tree_Init
       HSTORE TEMP 59 0 TEMP 394
       MOVE TEMP 61 4
L2     NOOP
       MOVE TEMP 395 28
       MOVE TEMP 396 LT TEMP 61 TEMP 395
       CJUMP TEMP 396 L3
       MOVE TEMP 397 PLUS TEMP 60 TEMP 61
       MOVE TEMP 398 0
       HSTORE TEMP 397 0 TEMP 398
       MOVE TEMP 61 PLUS TEMP 61 4
       JUMP L2
L3     NOOP
       HSTORE TEMP 60 0 TEMP 59
       MOVE TEMP 20 TEMP 60
       MOVE TEMP 64 TEMP 20
       HLOAD TEMP 62 TEMP 64 0
       HLOAD TEMP 63 TEMP 62 0
       MOVE TEMP 399 16
       MOVE TEMP 400 CALL TEMP 63( TEMP 64 TEMP 399 )
       MOVE TEMP 21 TEMP 400
       MOVE TEMP 67 TEMP 20
       HLOAD TEMP 65 TEMP 67 0
       HLOAD TEMP 66 TEMP 65 72
       MOVE TEMP 401 CALL TEMP 66( TEMP 67 )
       MOVE TEMP 21 TEMP 401
       MOVE TEMP 402 100000000
       PRINT TEMP 402
       MOVE TEMP 70 TEMP 20
       HLOAD TEMP 68 TEMP 70 0
       HLOAD TEMP 69 TEMP 68 48
       MOVE TEMP 403 8
       MOVE TEMP 404 CALL TEMP 69( TEMP 70 TEMP 403 )
       MOVE TEMP 21 TEMP 404
       MOVE TEMP 73 TEMP 20
       HLOAD TEMP 71 TEMP 73 0
       HLOAD TEMP 72 TEMP 71 48
       MOVE TEMP 405 24
       MOVE TEMP 406 CALL TEMP 72( TEMP 73 TEMP 405 )
       MOVE TEMP 21 TEMP 406
       MOVE TEMP 76 TEMP 20
       HLOAD TEMP 74 TEMP 76 0
       HLOAD TEMP 75 TEMP 74 48
       MOVE TEMP 407 4
       MOVE TEMP 408 CALL TEMP 75( TEMP 76 TEMP 407 )
       MOVE TEMP 21 TEMP 408
       MOVE TEMP 79 TEMP 20
       HLOAD TEMP 77 TEMP 79 0
       HLOAD TEMP 78 TEMP 77 48
       MOVE TEMP 409 12
       MOVE TEMP 410 CALL TEMP 78( TEMP 79 TEMP 409 )
       MOVE TEMP 21 TEMP 410
       MOVE TEMP 82 TEMP 20
       HLOAD TEMP 80 TEMP 82 0
       HLOAD TEMP 81 TEMP 80 48
       MOVE TEMP 411 20
       MOVE TEMP 412 CALL TEMP 81( TEMP 82 TEMP 411 )
       MOVE TEMP 21 TEMP 412
       MOVE TEMP 85 TEMP 20
       HLOAD TEMP 83 TEMP 85 0
       HLOAD TEMP 84 TEMP 83 48
       MOVE TEMP 413 28
       MOVE TEMP 414 CALL TEMP 84( TEMP 85 TEMP 413 )
       MOVE TEMP 21 TEMP 414
       MOVE TEMP 88 TEMP 20
       HLOAD TEMP 86 TEMP 88 0
       HLOAD TEMP 87 TEMP 86 48
       MOVE TEMP 415 14
       MOVE TEMP 416 CALL TEMP 87( TEMP 88 TEMP 415 )
       MOVE TEMP 21 TEMP 416
       MOVE TEMP 91 TEMP 20
       HLOAD TEMP 89 TEMP 91 0
       HLOAD TEMP 90 TEMP 89 72
       MOVE TEMP 417 CALL TEMP 90( TEMP 91 )
       MOVE TEMP 21 TEMP 417
       MOVE TEMP 418 100000000
       PRINT TEMP 418
       MOVE TEMP 92 HALLOCATE 4
       MOVE TEMP 93 HALLOCATE 12
       MOVE TEMP 419 MyVisitor_visit
       HSTORE TEMP 92 0 TEMP 419
       MOVE TEMP 94 4
L4     NOOP
       MOVE TEMP 420 12
       MOVE TEMP 421 LT TEMP 94 TEMP 420
       CJUMP TEMP 421 L5
       MOVE TEMP 422 PLUS TEMP 93 TEMP 94
       MOVE TEMP 423 0
       HSTORE TEMP 422 0 TEMP 423
       MOVE TEMP 94 PLUS TEMP 94 4
       JUMP L4
L5     NOOP
       HSTORE TEMP 93 0 TEMP 92
       MOVE TEMP 23 TEMP 93
       MOVE TEMP 424 50000000
       PRINT TEMP 424
       MOVE TEMP 97 TEMP 20
       HLOAD TEMP 95 TEMP 97 0
       HLOAD TEMP 96 TEMP 95 80
       MOVE TEMP 425 CALL TEMP 96( TEMP 97 TEMP 23 )
       MOVE TEMP 22 TEMP 425
       MOVE TEMP 426 100000000
       PRINT TEMP 426
       MOVE TEMP 100 TEMP 20
       HLOAD TEMP 98 TEMP 100 0
       HLOAD TEMP 99 TEMP 98 68
       MOVE TEMP 427 24
       MOVE TEMP 428 CALL TEMP 99( TEMP 100 TEMP 427 )
       PRINT TEMP 428
       MOVE TEMP 103 TEMP 20
       HLOAD TEMP 101 TEMP 103 0
       HLOAD TEMP 102 TEMP 101 68
       MOVE TEMP 429 12
       MOVE TEMP 430 CALL TEMP 102( TEMP 103 TEMP 429 )
       PRINT TEMP 430
       MOVE TEMP 106 TEMP 20
       HLOAD TEMP 104 TEMP 106 0
       HLOAD TEMP 105 TEMP 104 68
       MOVE TEMP 431 16
       MOVE TEMP 432 CALL TEMP 105( TEMP 106 TEMP 431 )
       PRINT TEMP 432
       MOVE TEMP 109 TEMP 20
       HLOAD TEMP 107 TEMP 109 0
       HLOAD TEMP 108 TEMP 107 68
       MOVE TEMP 433 50
       MOVE TEMP 434 CALL TEMP 108( TEMP 109 TEMP 433 )
       PRINT TEMP 434
       MOVE TEMP 112 TEMP 20
       HLOAD TEMP 110 TEMP 112 0
       HLOAD TEMP 111 TEMP 110 68
       MOVE TEMP 435 12
       MOVE TEMP 436 CALL TEMP 111( TEMP 112 TEMP 435 )
       PRINT TEMP 436
       MOVE TEMP 115 TEMP 20
       HLOAD TEMP 113 TEMP 115 0
       HLOAD TEMP 114 TEMP 113 52
       MOVE TEMP 437 12
       MOVE TEMP 438 CALL TEMP 114( TEMP 115 TEMP 437 )
       MOVE TEMP 21 TEMP 438
       MOVE TEMP 118 TEMP 20
       HLOAD TEMP 116 TEMP 118 0
       HLOAD TEMP 117 TEMP 116 72
       MOVE TEMP 439 CALL TEMP 117( TEMP 118 )
       MOVE TEMP 21 TEMP 439
       MOVE TEMP 121 TEMP 20
       HLOAD TEMP 119 TEMP 121 0
       HLOAD TEMP 120 TEMP 119 68
       MOVE TEMP 440 12
       MOVE TEMP 441 CALL TEMP 120( TEMP 121 TEMP 440 )
       PRINT TEMP 441
       MOVE TEMP 442 0
RETURN
       TEMP 442
END
Tree_Init [2]
BEGIN
       HSTORE TEMP 0 12 TEMP 1
       MOVE TEMP 443 0
       HSTORE TEMP 0 16 TEMP 443
       MOVE TEMP 444 0
       HSTORE TEMP 0 20 TEMP 444
       MOVE TEMP 445 1
RETURN
       TEMP 445
END
Tree_SetRight [2]
BEGIN
       HSTORE TEMP 0 8 TEMP 1
       MOVE TEMP 446 1
RETURN
       TEMP 446
END
Tree_SetLeft [2]
BEGIN
       HSTORE TEMP 0 4 TEMP 1
       MOVE TEMP 447 1
RETURN
       TEMP 447
END
Tree_GetRight [1]
BEGIN
       HLOAD TEMP 122 TEMP 0 8
RETURN
       TEMP 122
END
Tree_GetLeft [1]
BEGIN
       HLOAD TEMP 124 TEMP 0 4
RETURN
       TEMP 124
END
Tree_GetKey [1]
BEGIN
       HLOAD TEMP 126 TEMP 0 12
RETURN
       TEMP 126
END
Tree_SetKey [2]
BEGIN
       HSTORE TEMP 0 12 TEMP 1
       MOVE TEMP 448 1
RETURN
       TEMP 448
END
Tree_GetHas_Right [1]
BEGIN
       HLOAD TEMP 128 TEMP 0 20
RETURN
       TEMP 128
END
Tree_GetHas_Left [1]
BEGIN
       HLOAD TEMP 130 TEMP 0 16
RETURN
       TEMP 130
END
Tree_SetHas_Left [2]
BEGIN
       HSTORE TEMP 0 16 TEMP 1
       MOVE TEMP 449 1
RETURN
       TEMP 449
END
Tree_SetHas_Right [2]
BEGIN
       HSTORE TEMP 0 20 TEMP 1
       MOVE TEMP 450 1
RETURN
       TEMP 450
END
Tree_Compare [3]
BEGIN
       MOVE TEMP 24 0
       MOVE TEMP 25 PLUS TEMP 2 1
       MOVE TEMP 451 LT TEMP 1 TEMP 2
       CJUMP TEMP 451 L6
       MOVE TEMP 24 0
       JUMP L7
L6     NOOP
       MOVE TEMP 452 1
       MOVE TEMP 453 LT TEMP 1 TEMP 25
       MOVE TEMP 454 MINUS TEMP 452 TEMP 453
       CJUMP TEMP 454 L8
       MOVE TEMP 24 0
       JUMP L9
L8     NOOP
       MOVE TEMP 24 1
L9     NOOP
L7     NOOP
RETURN
       TEMP 24
END
Tree_Insert [2]
BEGIN
       MOVE TEMP 132 HALLOCATE 84
       MOVE TEMP 133 HALLOCATE 28
       MOVE TEMP 455 Tree_accept
       HSTORE TEMP 132 80 TEMP 455
       MOVE TEMP 456 Tree_RecPrint
       HSTORE TEMP 132 76 TEMP 456
       MOVE TEMP 457 Tree_Print
       HSTORE TEMP 132 72 TEMP 457
       MOVE TEMP 458 Tree_Search
       HSTORE TEMP 132 68 TEMP 458
       MOVE TEMP 459 Tree_RemoveLeft
       HSTORE TEMP 132 64 TEMP 459
       MOVE TEMP 460 Tree_RemoveRight
       HSTORE TEMP 132 60 TEMP 460
       MOVE TEMP 461 Tree_Remove
       HSTORE TEMP 132 56 TEMP 461
       MOVE TEMP 462 Tree_Delete
       HSTORE TEMP 132 52 TEMP 462
       MOVE TEMP 463 Tree_Insert
       HSTORE TEMP 132 48 TEMP 463
       MOVE TEMP 464 Tree_Compare
       HSTORE TEMP 132 44 TEMP 464
       MOVE TEMP 465 Tree_SetHas_Right
       HSTORE TEMP 132 40 TEMP 465
       MOVE TEMP 466 Tree_SetHas_Left
       HSTORE TEMP 132 36 TEMP 466
       MOVE TEMP 467 Tree_GetHas_Left
       HSTORE TEMP 132 32 TEMP 467
       MOVE TEMP 468 Tree_GetHas_Right
       HSTORE TEMP 132 28 TEMP 468
       MOVE TEMP 469 Tree_SetKey
       HSTORE TEMP 132 24 TEMP 469
       MOVE TEMP 470 Tree_GetKey
       HSTORE TEMP 132 20 TEMP 470
       MOVE TEMP 471 Tree_GetLeft
       HSTORE TEMP 132 16 TEMP 471
       MOVE TEMP 472 Tree_GetRight
       HSTORE TEMP 132 12 TEMP 472
       MOVE TEMP 473 Tree_SetLeft
       HSTORE TEMP 132 8 TEMP 473
       MOVE TEMP 474 Tree_SetRight
       HSTORE TEMP 132 4 TEMP 474
       MOVE TEMP 475 Tree_Init
       HSTORE TEMP 132 0 TEMP 475
       MOVE TEMP 134 4
L10    NOOP
       MOVE TEMP 476 28
       MOVE TEMP 477 LT TEMP 134 TEMP 476
       CJUMP TEMP 477 L11
       MOVE TEMP 478 PLUS TEMP 133 TEMP 134
       MOVE TEMP 479 0
       HSTORE TEMP 478 0 TEMP 479
       MOVE TEMP 134 PLUS TEMP 134 4
       JUMP L10
L11    NOOP
       HSTORE TEMP 133 0 TEMP 132
       MOVE TEMP 26 TEMP 133
       MOVE TEMP 137 TEMP 26
       HLOAD TEMP 135 TEMP 137 0
       HLOAD TEMP 136 TEMP 135 0
       MOVE TEMP 480 CALL TEMP 136( TEMP 137 TEMP 1 )
       MOVE TEMP 27 TEMP 480
       MOVE TEMP 28 TEMP 0
       MOVE TEMP 29 1
L12    NOOP
       CJUMP TEMP 29 L13
       MOVE TEMP 141 TEMP 28
       HLOAD TEMP 139 TEMP 141 0
       HLOAD TEMP 140 TEMP 139 20
       MOVE TEMP 481 CALL TEMP 140( TEMP 141 )
       MOVE TEMP 30 TEMP 481
       MOVE TEMP 482 LT TEMP 1 TEMP 30
       CJUMP TEMP 482 L14
       MOVE TEMP 144 TEMP 28
       HLOAD TEMP 142 TEMP 144 0
       HLOAD TEMP 143 TEMP 142 32
       MOVE TEMP 483 CALL TEMP 143( TEMP 144 )
       CJUMP TEMP 483 L16
       MOVE TEMP 147 TEMP 28
       HLOAD TEMP 145 TEMP 147 0
       HLOAD TEMP 146 TEMP 145 16
       MOVE TEMP 484 CALL TEMP 146( TEMP 147 )
       MOVE TEMP 28 TEMP 484
       JUMP L17
L16    NOOP
       MOVE TEMP 29 0
       MOVE TEMP 150 TEMP 28
       HLOAD TEMP 148 TEMP 150 0
       HLOAD TEMP 149 TEMP 148 36
       MOVE TEMP 485 1
       MOVE TEMP 486 CALL TEMP 149( TEMP 150 TEMP 485 )
       MOVE TEMP 27 TEMP 486
       MOVE TEMP 153 TEMP 28
       HLOAD TEMP 151 TEMP 153 0
       HLOAD TEMP 152 TEMP 151 8
       MOVE TEMP 487 CALL TEMP 152( TEMP 153 TEMP 26 )
       MOVE TEMP 27 TEMP 487
L17    NOOP
       JUMP L15
L14    NOOP
       MOVE TEMP 156 TEMP 28
       HLOAD TEMP 154 TEMP 156 0
       HLOAD TEMP 155 TEMP 154 28
       MOVE TEMP 488 CALL TEMP 155( TEMP 156 )
       CJUMP TEMP 488 L18
       MOVE TEMP 159 TEMP 28
       HLOAD TEMP 157 TEMP 159 0
       HLOAD TEMP 158 TEMP 157 12
       MOVE TEMP 489 CALL TEMP 158( TEMP 159 )
       MOVE TEMP 28 TEMP 489
       JUMP L19
L18    NOOP
       MOVE TEMP 29 0
       MOVE TEMP 162 TEMP 28
       HLOAD TEMP 160 TEMP 162 0
       HLOAD TEMP 161 TEMP 160 40
       MOVE TEMP 490 1
       MOVE TEMP 491 CALL TEMP 161( TEMP 162 TEMP 490 )
       MOVE TEMP 27 TEMP 491
       MOVE TEMP 165 TEMP 28
       HLOAD TEMP 163 TEMP 165 0
       HLOAD TEMP 164 TEMP 163 4
       MOVE TEMP 492 CALL TEMP 164( TEMP 165 TEMP 26 )
       MOVE TEMP 27 TEMP 492
L19    NOOP
L15    NOOP
       JUMP L12
L13    NOOP
       MOVE TEMP 493 1
RETURN
       TEMP 493
END
Tree_Delete [2]
BEGIN
       MOVE TEMP 31 TEMP 0
       MOVE TEMP 32 TEMP 0
       MOVE TEMP 33 1
       MOVE TEMP 34 0
       MOVE TEMP 36 1
L20    NOOP
       CJUMP TEMP 33 L21
       MOVE TEMP 169 TEMP 31
       HLOAD TEMP 167 TEMP 169 0
       HLOAD TEMP 168 TEMP 167 20
       MOVE TEMP 494 CALL TEMP 168( TEMP 169 )
       MOVE TEMP 37 TEMP 494
       MOVE TEMP 495 LT TEMP 1 TEMP 37
       CJUMP TEMP 495 L22
       MOVE TEMP 172 TEMP 31
       HLOAD TEMP 170 TEMP 172 0
       HLOAD TEMP 171 TEMP 170 32
       MOVE TEMP 496 CALL TEMP 171( TEMP 172 )
       CJUMP TEMP 496 L24
       MOVE TEMP 32 TEMP 31
       MOVE TEMP 175 TEMP 31
       HLOAD TEMP 173 TEMP 175 0
       HLOAD TEMP 174 TEMP 173 16
       MOVE TEMP 497 CALL TEMP 174( TEMP 175 )
       MOVE TEMP 31 TEMP 497
       JUMP L25
L24    NOOP
       MOVE TEMP 33 0
L25    NOOP
       JUMP L23
L22    NOOP
       MOVE TEMP 498 LT TEMP 37 TEMP 1
       CJUMP TEMP 498 L26
       MOVE TEMP 178 TEMP 31
       HLOAD TEMP 176 TEMP 178 0
       HLOAD TEMP 177 TEMP 176 28
       MOVE TEMP 499 CALL TEMP 177( TEMP 178 )
       CJUMP TEMP 499 L28
       MOVE TEMP 32 TEMP 31
       MOVE TEMP 181 TEMP 31
       HLOAD TEMP 179 TEMP 181 0
       HLOAD TEMP 180 TEMP 179 12
       MOVE TEMP 500 CALL TEMP 180( TEMP 181 )
       MOVE TEMP 31 TEMP 500
       JUMP L29
L28    NOOP
       MOVE TEMP 33 0
L29    NOOP
       JUMP L27
L26    NOOP
       CJUMP TEMP 36 L30
       MOVE TEMP 188 0
       MOVE TEMP 501 1
       MOVE TEMP 184 TEMP 31
       HLOAD TEMP 182 TEMP 184 0
       HLOAD TEMP 183 TEMP 182 28
       MOVE TEMP 502 CALL TEMP 183( TEMP 184 )
       MOVE TEMP 503 MINUS TEMP 501 TEMP 502
       CJUMP TEMP 503 L34
       MOVE TEMP 504 1
       MOVE TEMP 187 TEMP 31
       HLOAD TEMP 185 TEMP 187 0
       HLOAD TEMP 186 TEMP 185 32
       MOVE TEMP 505 CALL TEMP 186( TEMP 187 )
       MOVE TEMP 506 MINUS TEMP 504 TEMP 505
       CJUMP TEMP 506 L34
       MOVE TEMP 188 1
L34    NOOP
       CJUMP TEMP 188 L32
       MOVE TEMP 35 1
       JUMP L33
L32    NOOP
       MOVE TEMP 191 TEMP 0
       HLOAD TEMP 189 TEMP 191 0
       HLOAD TEMP 190 TEMP 189 56
       MOVE TEMP 507 CALL TEMP 190( TEMP 191 TEMP 32 TEMP 31 )
       MOVE TEMP 35 TEMP 507
L33    NOOP
       JUMP L31
L30    NOOP
       MOVE TEMP 194 TEMP 0
       HLOAD TEMP 192 TEMP 194 0
       HLOAD TEMP 193 TEMP 192 56
       MOVE TEMP 508 CALL TEMP 193( TEMP 194 TEMP 32 TEMP 31 )
       MOVE TEMP 35 TEMP 508
L31    NOOP
       MOVE TEMP 34 1
       MOVE TEMP 33 0
L27    NOOP
L23    NOOP
       MOVE TEMP 36 0
       JUMP L20
L21    NOOP
RETURN
       TEMP 34
END
Tree_Remove [3]
BEGIN
       MOVE TEMP 197 TEMP 2
       HLOAD TEMP 195 TEMP 197 0
       HLOAD TEMP 196 TEMP 195 32
       MOVE TEMP 509 CALL TEMP 196( TEMP 197 )
       CJUMP TEMP 509 L35
       MOVE TEMP 200 TEMP 0
       HLOAD TEMP 198 TEMP 200 0
       HLOAD TEMP 199 TEMP 198 64
       MOVE TEMP 510 CALL TEMP 199( TEMP 200 TEMP 1 TEMP 2 )
       MOVE TEMP 38 TEMP 510
       JUMP L36
L35    NOOP
       MOVE TEMP 203 TEMP 2
       HLOAD TEMP 201 TEMP 203 0
       HLOAD TEMP 202 TEMP 201 28
       MOVE TEMP 511 CALL TEMP 202( TEMP 203 )
       CJUMP TEMP 511 L37
       MOVE TEMP 206 TEMP 0
       HLOAD TEMP 204 TEMP 206 0
       HLOAD TEMP 205 TEMP 204 60
       MOVE TEMP 512 CALL TEMP 205( TEMP 206 TEMP 1 TEMP 2 )
       MOVE TEMP 38 TEMP 512
       JUMP L38
L37    NOOP
       MOVE TEMP 209 TEMP 2
       HLOAD TEMP 207 TEMP 209 0
       HLOAD TEMP 208 TEMP 207 20
       MOVE TEMP 513 CALL TEMP 208( TEMP 209 )
       MOVE TEMP 39 TEMP 513
       MOVE TEMP 215 TEMP 1
       HLOAD TEMP 213 TEMP 215 0
       HLOAD TEMP 214 TEMP 213 16
       MOVE TEMP 514 CALL TEMP 214( TEMP 215 )
       MOVE TEMP 212 TEMP 514
       HLOAD TEMP 210 TEMP 212 0
       HLOAD TEMP 211 TEMP 210 20
       MOVE TEMP 515 CALL TEMP 211( TEMP 212 )
       MOVE TEMP 40 TEMP 515
       MOVE TEMP 218 TEMP 0
       HLOAD TEMP 216 TEMP 218 0
       HLOAD TEMP 217 TEMP 216 44
       MOVE TEMP 516 CALL TEMP 217( TEMP 218 TEMP 39 TEMP 40 )
       CJUMP TEMP 516 L39
       MOVE TEMP 221 TEMP 1
       HLOAD TEMP 219 TEMP 221 0
       HLOAD TEMP 220 TEMP 219 8
       HLOAD TEMP 222 TEMP 0 24
       MOVE TEMP 517 CALL TEMP 220( TEMP 221 TEMP 222 )
       MOVE TEMP 38 TEMP 517
       MOVE TEMP 226 TEMP 1
       HLOAD TEMP 224 TEMP 226 0
       HLOAD TEMP 225 TEMP 224 36
       MOVE TEMP 518 0
       MOVE TEMP 519 CALL TEMP 225( TEMP 226 TEMP 518 )
       MOVE TEMP 38 TEMP 519
       JUMP L40
L39    NOOP
       MOVE TEMP 229 TEMP 1
       HLOAD TEMP 227 TEMP 229 0
       HLOAD TEMP 228 TEMP 227 4
       HLOAD TEMP 230 TEMP 0 24
       MOVE TEMP 520 CALL TEMP 228( TEMP 229 TEMP 230 )
       MOVE TEMP 38 TEMP 520
       MOVE TEMP 234 TEMP 1
       HLOAD TEMP 232 TEMP 234 0
       HLOAD TEMP 233 TEMP 232 40
       MOVE TEMP 521 0
       MOVE TEMP 522 CALL TEMP 233( TEMP 234 TEMP 521 )
       MOVE TEMP 38 TEMP 522
L40    NOOP
L38    NOOP
L36    NOOP
       MOVE TEMP 523 1
RETURN
       TEMP 523
END
Tree_RemoveRight [3]
BEGIN
L41    NOOP
       MOVE TEMP 238 TEMP 2
       HLOAD TEMP 236 TEMP 238 0
       HLOAD TEMP 237 TEMP 236 28
       MOVE TEMP 524 CALL TEMP 237( TEMP 238 )
       CJUMP TEMP 524 L42
       MOVE TEMP 241 TEMP 2
       HLOAD TEMP 239 TEMP 241 0
       HLOAD TEMP 240 TEMP 239 24
       MOVE TEMP 247 TEMP 2
       HLOAD TEMP 245 TEMP 247 0
       HLOAD TEMP 246 TEMP 245 12
       MOVE TEMP 525 CALL TEMP 246( TEMP 247 )
       MOVE TEMP 244 TEMP 525
       HLOAD TEMP 242 TEMP 244 0
       HLOAD TEMP 243 TEMP 242 20
       MOVE TEMP 526 CALL TEMP 243( TEMP 244 )
       MOVE TEMP 527 CALL TEMP 240( TEMP 241 TEMP 526 )
       MOVE TEMP 41 TEMP 527
       MOVE TEMP 1 TEMP 2
       MOVE TEMP 250 TEMP 2
       HLOAD TEMP 248 TEMP 250 0
       HLOAD TEMP 249 TEMP 248 12
       MOVE TEMP 528 CALL TEMP 249( TEMP 250 )
       MOVE TEMP 2 TEMP 528
       JUMP L41
L42    NOOP
       MOVE TEMP 253 TEMP 1
       HLOAD TEMP 251 TEMP 253 0
       HLOAD TEMP 252 TEMP 251 4
       HLOAD TEMP 254 TEMP 0 24
       MOVE TEMP 529 CALL TEMP 252( TEMP 253 TEMP 254 )
       MOVE TEMP 41 TEMP 529
       MOVE TEMP 258 TEMP 1
       HLOAD TEMP 256 TEMP 258 0
       HLOAD TEMP 257 TEMP 256 40
       MOVE TEMP 530 0
       MOVE TEMP 531 CALL TEMP 257( TEMP 258 TEMP 530 )
       MOVE TEMP 41 TEMP 531
       MOVE TEMP 532 1
RETURN
       TEMP 532
END
Tree_RemoveLeft [3]
BEGIN
L43    NOOP
       MOVE TEMP 262 TEMP 2
       HLOAD TEMP 260 TEMP 262 0
       HLOAD TEMP 261 TEMP 260 32
       MOVE TEMP 533 CALL TEMP 261( TEMP 262 )
       CJUMP TEMP 533 L44
       MOVE TEMP 265 TEMP 2
       HLOAD TEMP 263 TEMP 265 0
       HLOAD TEMP 264 TEMP 263 24
       MOVE TEMP 271 TEMP 2
       HLOAD TEMP 269 TEMP 271 0
       HLOAD TEMP 270 TEMP 269 16
       MOVE TEMP 534 CALL TEMP 270( TEMP 271 )
       MOVE TEMP 268 TEMP 534
       HLOAD TEMP 266 TEMP 268 0
       HLOAD TEMP 267 TEMP 266 20
       MOVE TEMP 535 CALL TEMP 267( TEMP 268 )
       MOVE TEMP 536 CALL TEMP 264( TEMP 265 TEMP 535 )
       MOVE TEMP 42 TEMP 536
       MOVE TEMP 1 TEMP 2
       MOVE TEMP 274 TEMP 2
       HLOAD TEMP 272 TEMP 274 0
       HLOAD TEMP 273 TEMP 272 16
       MOVE TEMP 537 CALL TEMP 273( TEMP 274 )
       MOVE TEMP 2 TEMP 537
       JUMP L43
L44    NOOP
       MOVE TEMP 277 TEMP 1
       HLOAD TEMP 275 TEMP 277 0
       HLOAD TEMP 276 TEMP 275 8
       HLOAD TEMP 278 TEMP 0 24
       MOVE TEMP 538 CALL TEMP 276( TEMP 277 TEMP 278 )
       MOVE TEMP 42 TEMP 538
       MOVE TEMP 282 TEMP 1
       HLOAD TEMP 280 TEMP 282 0
       HLOAD TEMP 281 TEMP 280 36
       MOVE TEMP 539 0
       MOVE TEMP 540 CALL TEMP 281( TEMP 282 TEMP 539 )
       MOVE TEMP 42 TEMP 540
       MOVE TEMP 541 1
RETURN
       TEMP 541
END
Tree_Search [2]
BEGIN
       MOVE TEMP 43 TEMP 0
       MOVE TEMP 45 1
       MOVE TEMP 44 0
L45    NOOP
       CJUMP TEMP 45 L46
       MOVE TEMP 286 TEMP 43
       HLOAD TEMP 284 TEMP 286 0
       HLOAD TEMP 285 TEMP 284 20
       MOVE TEMP 542 CALL TEMP 285( TEMP 286 )
       MOVE TEMP 46 TEMP 542
       MOVE TEMP 543 LT TEMP 1 TEMP 46
       CJUMP TEMP 543 L47
       MOVE TEMP 289 TEMP 43
       HLOAD TEMP 287 TEMP 289 0
       HLOAD TEMP 288 TEMP 287 32
       MOVE TEMP 544 CALL TEMP 288( TEMP 289 )
       CJUMP TEMP 544 L49
       MOVE TEMP 292 TEMP 43
       HLOAD TEMP 290 TEMP 292 0
       HLOAD TEMP 291 TEMP 290 16
       MOVE TEMP 545 CALL TEMP 291( TEMP 292 )
       MOVE TEMP 43 TEMP 545
       JUMP L50
L49    NOOP
       MOVE TEMP 45 0
L50    NOOP
       JUMP L48
L47    NOOP
       MOVE TEMP 546 LT TEMP 46 TEMP 1
       CJUMP TEMP 546 L51
       MOVE TEMP 295 TEMP 43
       HLOAD TEMP 293 TEMP 295 0
       HLOAD TEMP 294 TEMP 293 28
       MOVE TEMP 547 CALL TEMP 294( TEMP 295 )
       CJUMP TEMP 547 L53
       MOVE TEMP 298 TEMP 43
       HLOAD TEMP 296 TEMP 298 0
       HLOAD TEMP 297 TEMP 296 12
       MOVE TEMP 548 CALL TEMP 297( TEMP 298 )
       MOVE TEMP 43 TEMP 548
       JUMP L54
L53    NOOP
       MOVE TEMP 45 0
L54    NOOP
       JUMP L52
L51    NOOP
       MOVE TEMP 44 1
       MOVE TEMP 45 0
L52    NOOP
L48    NOOP
       JUMP L45
L46    NOOP
RETURN
       TEMP 44
END
Tree_Print [1]
BEGIN
       MOVE TEMP 48 TEMP 0
       MOVE TEMP 301 TEMP 0
       HLOAD TEMP 299 TEMP 301 0
       HLOAD TEMP 300 TEMP 299 76
       MOVE TEMP 549 CALL TEMP 300( TEMP 301 TEMP 48 )
       MOVE TEMP 47 TEMP 549
       MOVE TEMP 550 1
RETURN
       TEMP 550
END
Tree_RecPrint [2]
BEGIN
       MOVE TEMP 304 TEMP 1
       HLOAD TEMP 302 TEMP 304 0
       HLOAD TEMP 303 TEMP 302 32
       MOVE TEMP 551 CALL TEMP 303( TEMP 304 )
       CJUMP TEMP 551 L55
       MOVE TEMP 307 TEMP 0
       HLOAD TEMP 305 TEMP 307 0
       HLOAD TEMP 306 TEMP 305 76
       MOVE TEMP 310 TEMP 1
       HLOAD TEMP 308 TEMP 310 0
       HLOAD TEMP 309 TEMP 308 16
       MOVE TEMP 552 CALL TEMP 309( TEMP 310 )
       MOVE TEMP 553 CALL TEMP 306( TEMP 307 TEMP 552 )
       MOVE TEMP 49 TEMP 553
       JUMP L56
L55    NOOP
       MOVE TEMP 49 1
L56    NOOP
       MOVE TEMP 313 TEMP 1
       HLOAD TEMP 311 TEMP 313 0
       HLOAD TEMP 312 TEMP 311 20
       MOVE TEMP 554 CALL TEMP 312( TEMP 313 )
       PRINT TEMP 554
       MOVE TEMP 316 TEMP 1
       HLOAD TEMP 314 TEMP 316 0
       HLOAD TEMP 315 TEMP 314 28
       MOVE TEMP 555 CALL TEMP 315( TEMP 316 )
       CJUMP TEMP 555 L57
       MOVE TEMP 319 TEMP 0
       HLOAD TEMP 317 TEMP 319 0
       HLOAD TEMP 318 TEMP 317 76
       MOVE TEMP 322 TEMP 1
       HLOAD TEMP 320 TEMP 322 0
       HLOAD TEMP 321 TEMP 320 12
       MOVE TEMP 556 CALL TEMP 321( TEMP 322 )
       MOVE TEMP 557 CALL TEMP 318( TEMP 319 TEMP 556 )
       MOVE TEMP 49 TEMP 557
       JUMP L58
L57    NOOP
       MOVE TEMP 49 1
L58    NOOP
       MOVE TEMP 558 1
RETURN
       TEMP 558
END
Tree_accept [2]
BEGIN
       MOVE TEMP 559 333
       PRINT TEMP 559
       MOVE TEMP 325 TEMP 1
       HLOAD TEMP 323 TEMP 325 0
       HLOAD TEMP 324 TEMP 323 0
       MOVE TEMP 560 CALL TEMP 324( TEMP 325 TEMP 0 )
       MOVE TEMP 50 TEMP 560
       MOVE TEMP 561 0
RETURN
       TEMP 561
END
Visitor_visit [2]
BEGIN
       MOVE TEMP 328 TEMP 1
       HLOAD TEMP 326 TEMP 328 0
       HLOAD TEMP 327 TEMP 326 28
       MOVE TEMP 562 CALL TEMP 327( TEMP 328 )
       CJUMP TEMP 562 L59
       MOVE TEMP 331 TEMP 1
       HLOAD TEMP 329 TEMP 331 0
       HLOAD TEMP 330 TEMP 329 12
       MOVE TEMP 563 CALL TEMP 330( TEMP 331 )
       HSTORE TEMP 0 8 TEMP 563
       HLOAD TEMP 335 TEMP 0 8
       MOVE TEMP 334 TEMP 335
       HLOAD TEMP 332 TEMP 334 0
       HLOAD TEMP 333 TEMP 332 80
       MOVE TEMP 564 CALL TEMP 333( TEMP 334 TEMP 0 )
       MOVE TEMP 51 TEMP 564
       JUMP L60
L59    NOOP
       MOVE TEMP 51 0
L60    NOOP
       MOVE TEMP 339 TEMP 1
       HLOAD TEMP 337 TEMP 339 0
       HLOAD TEMP 338 TEMP 337 32
       MOVE TEMP 565 CALL TEMP 338( TEMP 339 )
       CJUMP TEMP 565 L61
       MOVE TEMP 342 TEMP 1
       HLOAD TEMP 340 TEMP 342 0
       HLOAD TEMP 341 TEMP 340 16
       MOVE TEMP 566 CALL TEMP 341( TEMP 342 )
       HSTORE TEMP 0 4 TEMP 566
       HLOAD TEMP 346 TEMP 0 4
       MOVE TEMP 345 TEMP 346
       HLOAD TEMP 343 TEMP 345 0
       HLOAD TEMP 344 TEMP 343 80
       MOVE TEMP 567 CALL TEMP 344( TEMP 345 TEMP 0 )
       MOVE TEMP 51 TEMP 567
       JUMP L62
L61    NOOP
       MOVE TEMP 51 0
L62    NOOP
       MOVE TEMP 568 0
RETURN
       TEMP 568
END
MyVisitor_visit [2]
BEGIN
       MOVE TEMP 350 TEMP 1
       HLOAD TEMP 348 TEMP 350 0
       HLOAD TEMP 349 TEMP 348 28
       MOVE TEMP 569 CALL TEMP 349( TEMP 350 )
       CJUMP TEMP 569 L63
       MOVE TEMP 353 TEMP 1
       HLOAD TEMP 351 TEMP 353 0
       HLOAD TEMP 352 TEMP 351 12
       MOVE TEMP 570 CALL TEMP 352( TEMP 353 )
       HSTORE TEMP 0 8 TEMP 570
       HLOAD TEMP 357 TEMP 0 8
       MOVE TEMP 356 TEMP 357
       HLOAD TEMP 354 TEMP 356 0
       HLOAD TEMP 355 TEMP 354 80
       MOVE TEMP 571 CALL TEMP 355( TEMP 356 TEMP 0 )
       MOVE TEMP 52 TEMP 571
       JUMP L64
L63    NOOP
       MOVE TEMP 52 0
L64    NOOP
       MOVE TEMP 361 TEMP 1
       HLOAD TEMP 359 TEMP 361 0
       HLOAD TEMP 360 TEMP 359 20
       MOVE TEMP 572 CALL TEMP 360( TEMP 361 )
       PRINT TEMP 572
       MOVE TEMP 364 TEMP 1
       HLOAD TEMP 362 TEMP 364 0
       HLOAD TEMP 363 TEMP 362 32
       MOVE TEMP 573 CALL TEMP 363( TEMP 364 )
       CJUMP TEMP 573 L65
       MOVE TEMP 367 TEMP 1
       HLOAD TEMP 365 TEMP 367 0
       HLOAD TEMP 366 TEMP 365 16
       MOVE TEMP 574 CALL TEMP 366( TEMP 367 )
       HSTORE TEMP 0 4 TEMP 574
       HLOAD TEMP 371 TEMP 0 4
       MOVE TEMP 370 TEMP 371
       HLOAD TEMP 368 TEMP 370 0
       HLOAD TEMP 369 TEMP 368 80
       MOVE TEMP 575 CALL TEMP 369( TEMP 370 TEMP 0 )
       MOVE TEMP 52 TEMP 575
       JUMP L66
L65    NOOP
       MOVE TEMP 52 0
L66    NOOP
       MOVE TEMP 576 0
RETURN
       TEMP 576
END

