Commit dc565b9b authored by Erwan Jahier's avatar Erwan Jahier

Use big int (well, num actually) to represent integers internally and avoid overflows.

nb : this break luckyDrawC.
parent 296575f9
......@@ -12,7 +12,7 @@ test-lucky:
cd xlurette/fault-tolerant-heater/ && make test ;
cd xlurette/heater/ && make test ;
cd luckyDraw/ocaml/ && make test ;
cd luckyDraw/c/ && make test ;
# cd luckyDraw/c/ && make test ;
cd lucky/C && make test ;
cd lucky/lustre && make test
cd lucky/luciole && make test ;
......@@ -35,6 +35,8 @@ endif
echo "All lucky tests ran correctly."
# test-fail:
test-lutin:
cd lutin/up_and_down && make test;
cd lutin/test_ok && make test;
......
......@@ -2,31 +2,31 @@
#outputs "x":int "y":bool "z":real
# step 0
10 0 20.000000
#outs 13 1 15.060474
#outs 11 1 18.799496
# step 1
10 0 20.000000
#outs 13 1 17.123683
#outs 14 1 16.264390
# step 2
10 0 20.000000
#outs 11 0 21.480098
#outs 14 1 18.033024
# step 3
10 0 20.000000
#outs 13 0 15.018594
#outs 8 1 16.313425
# step 4
10 0 20.000000
#outs 7 0 15.788150
#outs 9 0 15.563465
# step 5
10 0 20.000000
#outs 9 0 24.383132
#outs 13 0 16.300452
# step 6
10 0 20.000000
#outs 6 0 21.112031
#outs 8 1 16.116189
# step 7
10 0 20.000000
#outs 6 0 18.469379
#outs 8 1 18.379950
# step 8
10 0 20.000000
#outs 9 0 24.918797
#outs 6 1 17.306345
# step 9
10 0 20.000000
#outs 6 0 20.372730
#outs 13 0 21.920611
-1 true 8.937570
-4 true 12.133434
-6 true 17.069661
-10 true 13.011116
-10 true 10.589102
-6 true 15.156004
-7 true 11.374476
-5 true 9.780481
-6 true 13.086357
-6 true 13.020654
-7 true 10.297891
-1 true 6.849600
-3 true 8.396126
-6 true 5.273248
-9 true 9.376807
-11 true 11.262250
-7 true 12.155279
-4 true 7.950617
-6 true 5.922781
-1 true 2.435590
-1 true -0.287173
2 true -4.982815
......@@ -3,33 +3,33 @@
#outputs "s.f1":bool "s.f2":(zero, one, two) "s.f3[0][0][0]":int "s.f3[0][0][1]":int "s.f3[0][0][2]":int "s.f3[0][0][3]":int "s.f3[0][1][0]":int "s.f3[0][1][1]":int "s.f3[0][1][2]":int "s.f3[0][1][3]":int "s.f3[1][0][0]":int "s.f3[1][0][1]":int "s.f3[1][0][2]":int "s.f3[1][0][3]":int "s.f3[1][1][0]":int "s.f3[1][1][1]":int "s.f3[1][1][2]":int "s.f3[1][1][3]":int "s.f3[2][0][0]":int "s.f3[2][0][1]":int "s.f3[2][0][2]":int "s.f3[2][0][3]":int "s.f3[2][1][0]":int "s.f3[2][1][1]":int "s.f3[2][1][2]":int "s.f3[2][1][3]":int "s.f3[3][0][0]":int "s.f3[3][0][1]":int "s.f3[3][0][2]":int "s.f3[3][0][3]":int "s.f3[3][1][0]":int "s.f3[3][1][1]":int "s.f3[3][1][2]":int "s.f3[3][1][3]":int "s.f3[4][0][0]":int "s.f3[4][0][1]":int "s.f3[4][0][2]":int "s.f3[4][0][3]":int "s.f3[4][1][0]":int "s.f3[4][1][1]":int "s.f3[4][1][2]":int "s.f3[4][1][3]":int
#step 1
#outs F 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#outs f 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#step 2
#outs F 0 947 199 162 73 859 291 400 395 417 684 244 709 338 37 997 712 923 848 788 689 516 585 220 561 777 471 804 909 497 784 658 59 511 938 353 151 511 984 129 579
#outs f 1 0 0 0 0 0 0 0 0 1 3 5 7 1 3 5 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#step 3
#outs T 2 610 898 752 179 596 407 317 972 381 746 452 687 818 6 931 380 720 23 281 193 609 417 290 213 496 283 737 289 498 130 927 689 306 723 349 241 285 422 873 296
#outs t 2 658 831 87 430 394 509 690 888 629 803 247 495 350 790 656 313 114 725 675 225 373 863 924 163 486 27 448 861 209 678 446 779 584 475 445 799 380 592 394 12
#step 4
#outs F 1 0 0 0 0 0 0 0 0 1 3 5 7 1 3 5 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#outs f 0 128 501 358 722 366 64 355 650 461 36 561 887 287 288 190 955 336 533 470 590 102 112 761 103 200 8 994 153 85 629 451 279 616 152 926 431 527 686 492 759
#step 5
#outs T 2 302 775 330 678 786 29 508 435 423 407 716 667 28 712 722 819 604 166 7 535 127 836 558 392 93 15 358 822 404 80 691 97 664 713 830 973 636 590 833 882
#outs t 2 161 405 634 177 880 569 941 558 383 772 352 417 314 82 76 987 386 256 591 451 550 272 818 545 895 258 818 72 156 98 127 786 990 276 63 650 995 969 851 350
#step 6
#outs T 2 646 200 829 187 53 94 834 204 508 311 280 74 388 852 120 498 259 389 495 747 203 246 247 71 1000 524 437 289 287 269 361 803 885 379 104 821 961 351 131 918
#outs f 1 0 0 0 0 0 0 0 0 1 3 5 7 1 3 5 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#step 7
#outs T 2 20 650 541 125 239 155 514 138 466 521 6 525 253 912 450 348 623 82 596 667 747 663 812 971 745 329 94 711 105 115 663 992 313 295 350 330 650 717 119 705
#outs f 1 0 0 0 0 0 0 0 0 1 3 5 7 1 3 5 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
#step 8
#outs T 2 337 235 560 187 392 34 543 602 355 680 206 507 432 608 215 410 757 128 996 859 176 580 328 485 323 173 200 148 573 852 770 103 613 911 499 258 285 926 579 748
#outs t 2 598 450 162 197 508 983 146 370 386 275 252 380 652 719 716 327 79 698 548 862 961 35 934 954 366 878 852 666 941 315 801 252 811 160 749 639 260 607 386 875
#step 9
#outs T 2 598 163 58 190 224 403 363 652 517 929 871 638 794 633 956 406 665 403 568 623 263 74 883 854 988 819 460 93 22 778 90 198 396 87 478 317 782 678 628 509
#outs f 0 862 708 385 836 248 104 196 539 372 396 913 83 994 818 538 282 710 158 218 238 430 177 821 424 305 494 285 397 897 132 200 236 207 22 528 963 311 99 543 994
#step 10
#outs F 0 748 675 273 119 540 582 374 30 494 113 746 98 87 201 141 455 27 739 163 716 601 370 969 116 738 706 157 560 771 409 243 380 85 126 874 4 17 123 194 395
#outs f 0 761 897 696 580 432 204 434 425 0 14 969 863 143 264 266 348 277 23 660 198 793 673 258 770 970 908 683 590 126 881 354 791 101 545 392 410 764 966 516 793
#end
......@@ -3,34 +3,34 @@
#outputs "J":int
#step 1
#outs 5
#outs 8
#step 2
#outs 7
#outs 0
#step 3
#outs 0
#outs 10
#step 4
#outs 0
#outs 4
#step 5
#outs 7
#outs 4
#step 6
#outs 6
#outs 3
#step 7
#outs 2
#outs 9
#step 8
#outs 6
#outs 0
#step 9
#outs 6
#outs 5
#step 10
#outs 4
#outs 1
#end
......@@ -73,33 +73,33 @@
#outputs "J":int
#step 1
#outs 40
#outs 42
#step 2
#outs 88
#outs 100
#step 3
#outs 96
#outs 42
#step 4
#outs 85
#outs 26
#step 5
#outs 34
#outs 99
#step 6
#outs 73
#outs 88
#step 7
#outs 37
#outs 79
#step 8
#outs 23
#outs 47
#step 9
#outs 69
#outs 63
#step 10
#outs 31
#outs 86
#end
......@@ -67,7 +67,7 @@ all: essai
#---------------------------------------
essai: essai.o luckyDrawC_stubs.o luckyDrawC.o
g++ $(CFLAGS) -o $@ $^ -L$(LUCKYDRAW_LIBDIR) -lluckyDraw_stubs -lluckyDraw -lbdd_stubs -lpolkag_caml -lpolkag -lgmp -lunix -lcamlstr -lcamlidl -L$(CAMLLIBDIR) -lasmrun -lm -ldl
g++ $(CFLAGS) -o $@ $^ -L$(LUCKYDRAW_LIBDIR) -lluckyDraw_stubs -lluckyDraw -lbdd_stubs -lpolkag_caml -lpolkag -lgmp -lnums -lunix -lcamlstr -lcamlidl -L$(CAMLLIBDIR) -lasmrun -lm -ldl
essai.o: essai.c
$(CC) $(CFLAGS) -c -o $@ $<
......@@ -79,7 +79,7 @@ luckyDrawC_stubs.o: luckyDrawC_stubs.c luckyDrawC_stubs.h
$(CC) $(CFLAGS) -c -o $@ $<
luckyDrawC.o: luckyDrawC_caml.cmx
$(OCAMLOPT) -output-obj -o $@ unix.cmxa str.cmxa $(LUCKYDRAW_LIBDIR)/bdd.cmxa $(LUCKYDRAW_LIBDIR)/polka.cmxa $(LUCKYDRAW_LIBDIR)/luckyDraw.cmxa $^
$(OCAMLOPT) -output-obj -o $@ nums.cmxa unix.cmxa str.cmxa $(LUCKYDRAW_LIBDIR)/bdd.cmxa $(LUCKYDRAW_LIBDIR)/polka.cmxa $(LUCKYDRAW_LIBDIR)/luckyDraw.cmxa $^
luckyDrawC_caml.cmx: luckyDrawC_caml.ml
$(OCAMLOPT) $(OCAMLINC) -c -o $@ $^
......
......@@ -3,7 +3,7 @@ MAIN=draw-ex
LUCKYDRAW_INSTALL_DIR=../../../$(HOSTTYPE)/lib
CLIBS=-cclib -lluckyDraw
MLLIBS= str.cmxa unix.cmxa bdd.cmxa polka.cmxa luckyDraw.cmxa
MLLIBS= str.cmxa unix.cmxa nums.cmxa bdd.cmxa polka.cmxa luckyDraw.cmxa
WIN32_OCAMLOPT_FLAGS =
ifeq ($(HOSTTYPE),win32)
......
......@@ -2,8 +2,8 @@ open LuckyDraw
let solvedraw mode list str =
let c = make_bool_expr list str in
let ss = solve c in
draw ~mode:mode ~verbose:0 ss
let ss = solve ~verbose:0 c in
draw ~mode:mode ~verbose:0 ss
let solvedrawp mode str list =
List.iter print_solution (solvedraw mode str list)
......@@ -39,7 +39,10 @@ let _ =
if Array.length (Sys.argv) = 1 then
(
solvedrawp (10,10,2) ["x",Float] "x > 10.0 and x <= 20.0" ;
solvedrawp (1,1,2 ) ["x",Int; "y",Int; "Z",Int] "x+y+z=50 and x+y+z > -100 and x < 100 and y < 100 and z < 100";
print_string "______________________________________\n";
solvedrawp (1,1,2 ) ["x",Int; "y",Int; "Z",Int]
"x+y+z=50 and x+y+z > -100 and x < 100 and y < 100 and z < 100";
print_string "______________________________________\n";
solvedrawp (1,0,0) ["x",Bool; "y",Bool; "Z",Bool] "true"
)
else
......
......@@ -20,8 +20,10 @@ x=19.4213686456
x=16.0742588076
x=20.
x=20.
Z=-129056160 y=-82 x=53 z=79
Z=46720041 y=-147 x=99 z=98
______________________________________
Z=264205979 y=-82 x=53 z=79
Z=-17985497 y=-104 x=99 z=55
Z=268435455 x=99 y=99 z=-148
Z=-268435456 x=99 y=99 z=-148
Z=f x=t y=f
Z=268435455 x=99 y=99 z=-148
______________________________________
Z=f x=f y=t
......@@ -20,8 +20,10 @@ x=19.4213686456
x=16.0742588076
x=20.
x=20.
Z=-129056160 y=-82 x=53 z=79
Z=46720041 y=-147 x=99 z=98
______________________________________
Z=264205979 y=-82 x=53 z=79
Z=-17985497 y=-104 x=99 z=55
Z=268435455 x=99 y=99 z=-148
Z=-268435456 x=99 y=99 z=-148
Z=f x=t y=f
Z=268435455 x=99 y=99 z=-148
______________________________________
Z=f x=f y=t
......@@ -4,20 +4,20 @@
# step 0
10 0 20.000000 #outs 0 0 0.000000
# step 1
10 0 20.000000 #outs 12 0 20.694150
10 0 20.000000 #outs 13 0 22.179639
# step 2
10 0 20.000000 #outs 7 1 20.130376
10 0 20.000000 #outs 13 1 17.399245
# step 3
10 0 20.000000 #outs 8 0 22.113411
10 0 20.000000 #outs 11 1 19.097029
# step 4
10 0 20.000000 #outs 10 0 18.662404
10 0 20.000000 #outs 9 1 19.544863
# step 5
10 0 20.000000 #outs 14 0 20.554576
10 0 20.000000 #outs 13 1 19.384348
# step 6
10 0 20.000000 #outs 9 1 18.146439
10 0 20.000000 #outs 12 0 18.145689
# step 7
10 0 20.000000 #outs 13 0 20.734679
10 0 20.000000 #outs 6 0 19.573956
# step 8
10 0 20.000000 #outs 7 0 24.963124
10 0 20.000000 #outs 9 1 18.470497
# step 9
10 0 20.000000 #outs 10 0 19.399387
10 0 20.000000 #outs 6 1 22.033520
# Interpreting the lutin file foo.lut with node main
-1 true 7.188031
-2 true 10.880835
0 true 9.916883
1 true 8.889484
3 true 8.694923
7 true 9.681718
3 true 12.275496
6 true 8.423593
5 true 4.455379
2 true 8.274838
6 true 10.193351
0 true 9.919753
-3 true 14.748169
1 true 10.663335
0 true 11.160807
-3 true 6.456158
-6 true 8.923609
-2 true 9.868858
-3 true 14.436519
-6 true 13.797259
-6 true 9.650367
-2 true 12.562664
CMXA_LIB = unix.cmxa str.cmxa bdd.cmxa polka.cmxa luc4ocaml.cmxa
CMXA_LIB = unix.cmxa nums.cmxa str.cmxa bdd.cmxa polka.cmxa luc4ocaml.cmxa
CMA_LIB=luc4ocaml.cma
LUC4OCAML_INSTALL_DIR = -I ../../../$(HOSTTYPE)/lib
# LUC4OCAML_INSTALL_DIR = -I +lucky
......
#inputs "a":int "b":bool "c":real
#outputs "x":int "y":bool "z":real
#step 1
0 T 0.00 #outs 0 T 1.27
0 T 0.00 #outs 0 T 4.68
#step 2
0 F 1.27 #outs -4 T 2.87
0 F 4.68 #outs 1 T 3.39
#step 3
-4 F 2.87 #outs -5 T 0.27
1 F 3.39 #outs -1 T 8.09
#step 4
-5 F 0.27 #outs -2 T -0.55
-1 F 8.09 #outs -2 F 11.62
#step 5
-2 F -0.55 #outs -1 F -1.30
-2 T 11.62 #outs -4 T 6.95
#step 6
-1 T -1.30 #outs -3 T -6.05
-4 F 6.95 #outs -6 F 9.88
#step 7
-3 F -6.05 #outs -6 F -4.62
-6 T 9.88 #outs -1 T 11.65
#step 8
-6 T -4.62 #outs -2 T -7.29
-1 F 11.65 #outs -1 F 9.78
#step 9
-2 F -7.29 #outs -5 F -7.67
-1 T 9.78 #outs 3 T 7.23
#step 10
-5 T -7.67 #outs -1 T -11.65
3 F 7.23 #outs 3 T 11.07
#step 11
-1 F -11.65 #outs -1 F -7.22
3 F 11.07 #outs 0 T 14.82
#step 12
-1 T -7.22 #outs -2 T -5.87
0 F 14.82 #outs 0 T 19.59
#step 13
-2 F -5.87 #outs -6 F -2.90
0 F 19.59 #outs -1 F 18.05
#step 14
-6 T -2.90 #outs -8 T -7.09
-1 T 18.05 #outs 0 T 14.83
#step 15
-8 F -7.09 #outs -12 T -3.44
0 F 14.83 #outs -2 T 14.17
#step 16
-12 F -3.44 #outs -11 F 0.14
-2 F 14.17 #outs -3 T 14.44
#step 17
-11 T 0.14 #outs -11 T 4.01
-3 F 14.44 #outs 0 T 12.26
#step 18
-11 F 4.01 #outs -15 T 6.24
0 F 12.26 #outs 1 T 17.06
#step 19
-15 F 6.24 #outs -19 F 10.55
1 F 17.06 #outs 0 F 15.82
#step 20
-19 T 10.55 #outs -15 T 11.19
0 T 15.82 #outs 0 T 12.32
#step 21
-15 F 11.19 #outs -16 F 9.95
0 F 12.32 #outs 1 F 10.69
#step 22
-16 T 9.95 #outs -18 T 7.19
1 T 10.69 #outs 1 T 10.61
#step 23
-18 F 7.19 #outs -19 T 4.33
1 F 10.61 #outs 0 F 10.67
#step 24
-19 F 4.33 #outs -20 T 6.30
0 T 10.67 #outs 2 T 11.31
#step 25
-20 F 6.30 #outs -16 T 2.88
2 F 11.31 #outs 1 T 16.08
#step 26
-16 F 2.88 #outs -15 F 5.04
1 F 16.08 #outs 0 T 11.98
#step 27
-15 T 5.04 #outs -15 T 7.31
0 F 11.98 #outs -1 T 15.43
#step 28
-15 F 7.31 #outs -16 F 3.14
-1 F 15.43 #outs -3 T 14.37
#step 29
-16 T 3.14 #outs -20 T 0.48
-3 F 14.37 #outs -6 F 16.23
#step 30
-20 F 0.48 #outs -19 F -0.09
-6 T 16.23 #outs -8 T 20.52
#step 31
-19 T -0.09 #outs -21 T 4.59
-8 F 20.52 #outs -5 F 22.74
#step 32
-21 F 4.59 #outs -20 T 5.88
-5 T 22.74 #outs -4 T 25.33
#step 33
-20 F 5.88 #outs -20 F 8.11
-4 F 25.33 #outs 0 T 28.08
#step 34
-20 T 8.11 #outs -19 T 11.00
0 F 28.08 #outs 4 F 24.94
#step 35
-19 F 11.00 #outs -18 T 7.29
4 T 24.94 #outs 8 T 20.42
#step 36
-18 F 7.29 #outs -22 F 3.31
8 F 20.42 #outs 8 T 21.22
#step 37
-22 T 3.31 #outs -23 T 8.27
8 F 21.22 #outs 10 F 20.60
#step 38
-23 F 8.27 #outs -27 F 7.32
10 T 20.60 #outs 10 T 20.98
#step 39
-27 T 7.32 #outs -31 T 9.99
10 F 20.98 #outs 8 F 18.10
#step 40
-31 F 9.99 #outs -28 T 14.79
8 T 18.10 #outs 12 T 15.50
#step 41
-28 F 14.79 #outs -29 T 18.49
12 F 15.50 #outs 13 F 20.23
#step 42
-29 F 18.49 #outs -32 F 13.89
13 T 20.23 #outs 10 T 19.08
#step 43
-32 T 13.89 #outs -33 T 18.40
10 F 19.08 #outs 14 F 19.05
#step 44
-33 F 18.40 #outs -33 F 19.28
14 T 19.05 #outs 17 T 15.93
#step 45
-33 T 19.28 #outs -33 T 22.28
17 F 15.93 #outs 18 F 18.42
#step 46
-33 F 22.28 #outs -30 T 25.10
18 T 18.42 #outs 15 T 22.75
#step 47
-30 F 25.10 #outs -28 F 26.73
15 F 22.75 #outs 13 T 20.08
#step 48
-28 T 26.73 #outs -29 T 26.75
13 F 20.08 #outs 12 F 15.84
#step 49
-29 F 26.75 #outs -30 T 22.08
12 T 15.84 #outs 9 T 11.39
#step 50
-30 F 22.08 #outs -29 F 24.34
9 F 11.39 #outs 7 T 13.05
#step 51
-29 T 24.34 #outs -26 T 22.27
7 F 13.05 #outs 7 T 15.25
#step 52
-26 F 22.27 #outs -30 F 23.27
7 F 15.25 #outs 7 F 16.02
#step 53
-30 T 23.27 #outs -34 T 25.21
7 T 16.02 #outs 4 T 14.28
#step 54
-34 F 25.21 #outs -30 F 27.14
4 F 14.28 #outs 5 F 13.78
#step 55
-30 T 27.14 #outs -33 T 29.39
5 T 13.78 #outs 9 T 13.44
#step 56
-33 F 29.39 #outs -30 T 24.58
9 F 13.44 #outs 13 T 12.96
#step 57
-30 F 24.58 #outs -29 F 26.22
13 F 12.96 #outs 11 T 10.72
#step 58
-29 T 26.22 #outs -29 T 26.73
11 F 10.72 #outs 14 F 13.26
#step 59
-29 F 26.73 #outs -31 T 22.00
14 T 13.26 #outs 10 T 12.29
#step 60
-31 F 22.00 #outs -35 T 22.73
10 F 12.29 #outs 11 T 13.85
#step 61
-35 F 22.73 #outs -32 F 27.24
11 F 13.85 #outs 10 T 14.62
#step 62
-32 T 27.24 #outs -29 T 31.10
10 F 14.62 #outs 6 T 15.46
#step 63
-29 F 31.10 #outs -30 F 28.86
6 F 15.46 #outs 10 T 19.02
#step 64
-30 T 28.86 #outs -31 T 23.98
10 F 19.02 #outs 8 T 14.91
#step 65
-31 F 23.98 #outs -32 T 27.40
8 F 14.91 #outs 6 T 18.75
#step 66
-32 F 27.40 #outs -36 F 27.87
6 F 18.75 #outs 10 T 16.40
#step 67
-36 T 27.87 #outs -36 T 31.65
10 F 16.40 #outs 11 F 21.12
#step 68
-36 F 31.65 #outs -40 F 34.81
11 T 21.12 #outs 7 T 16.46
#step 69
-40 T 34.81 #outs -43 T 31.99
7 F 16.46 #outs 4 F 19.79
#step 70
-43 F 31.99 #outs -40 F 29.09
4 T 19.79 #outs 2 T 18.07
#step 71
-40 T 29.09 #outs -42 T 30.44
2 F 18.07 #outs 6 T 22.36
#step 72
-42 F 30.44 #outs -46 F 25.59
6 F 22.36 #outs 7 F 21.95
#step 73
-46 T 25.59 #outs -50 T 28.74
7 T 21.95 #outs 9 T 16.99
#step 74
-50 F 28.74 #outs -49 F 30.13
9 F 16.99 #outs 5 T 18.65
#step 75
-49 T 30.13 #outs -51 T 25.89
5 F 18.65 #outs 1 F 18.43
#step 76
-51 F 25.89 #outs -49 F 26.71
1 T 18.43 #outs 3 T 17.11
#step 77
-49 T 26.71 #outs -49 T 24.85
3 F 17.11 #outs 1 F 17.65
#step 78
-49 F 24.85 #outs -52 F 21.42
1 T 17.65 #outs -1 T 19.96
#step 79
-52 T 21.42 #outs -56 T 22.05
-1 F 19.96 #outs 0 T 17.03
#step 80
-56 F 22.05 #outs -59 F 26.56
0 F 17.03 #outs -3 T 19.72
#step 81
-59 T 26.56 #outs -56 T 26.94
-3 F 19.72 #outs 1 F 18.05
#step 82
-56 F 26.94 #outs -54 T 31.18
1 T 18.05 #outs 4 T 21.09
#step 83
-54 F 31.18 #outs -54 T 35.55
4 F 21.09 #outs 0 T 24.48
#step 84
-54 F 35.55 #outs -55 F 34.23
0 F 24.48 #outs 0 F 22.98
#step 85
-55 T 34.23 #outs -58 T 33.14
0 T 22.98 #outs 2 T 23.60
#step 86
-58 F 33.14 #outs -58 F 29.72
2 F 23.60 #outs 5 F 22.77
#step 87
-58 T 29.72 #outs -60 T 30.48
5 T 22.77 #outs 8 T 26.12
#step 88
-60 F 30.48 #outs -58 T 26.51
8 F 26.12 #outs 8 T 22.13
#step 89
-58 F 26.51 #outs -57 T 25.39
8 F 22.13 #outs 9 T 24.04
#step 90
-57 F 25.39 #outs -57 F 26.90
9 F 24.04 #outs 8 F 23.16
#step 91
-57 T 26.90 #outs -55 T 22.86
8 T 23.16 #outs 8 T 26.20
#step 92
-55 F 22.86 #outs -59 F 21.60
8 F 26.20 #outs 6 F 21.23
#step 93
-59 T 21.60 #outs -61 T 26.38
6 T 21.23 #outs 5 T 20.35
#step 94
-61 F 26.38 #outs -57 F 28.28
5 F 20.35 #outs 8 F 24.49
#step 95
-57 T 28.28 #outs -60 T 26.62
8 T 24.49 #outs 5 T 19.97
#step 96
-60 F 26.62 #outs -62 T 29.70
5 F 19.97 #outs 3 F 19.08
#step 97
-62 F 29.70 #outs -63 T 31.80
3 T 19.08 #outs 4 T 17.07
#step 98
-63 F 31.80 #outs -60 T 31.89
4 F 17.07 #outs 2 T 21.39
#step 99
-60 F 31.89 #outs -64 T 32.38
2 F 21.39 #outs 0 T 25.69
#step 100
-64 F 32.38 #outs -68 T 30.22
0 F 25.69 #outs -1 T 24.46
......@@ -2,10 +2,10 @@
#inputs
#outputs "a":int "b":int "c":int "d":int "e":int
#step 1
#outs 76431400 178933346 -252774087 42646446 70428056
#outs 7830685 -100788248 -180225080 -250991873 197072396
#step 2
#outs 66858957 121525507 -216979632 -92014707 -117262357
#outs -149066158 -180031442 -92668403 -117879803 184839769
#step 3
#outs 233203708 -233548293 253529173 -67693723 125709337
#outs -77141518 49170124 -177856997 -97639089 -94952018
#step 4
# Simulation ended normally.
......@@ -2,204 +2,204 @@
#inputs
#outputs "x":int "y":int
#step 1
#outs 10 9
#outs 1 3
#step 2
#outs 1 8
#outs 8 6
#step 3
#outs 10 4
#outs 9 0
#step 4
#outs 10 7
#outs 3 9
#step 5
#outs 9 0
#outs 4 4
#step 6
#outs 7 9
#outs 0 1
#step 7
#outs 8 10
#outs 3 5
#step 8
#outs 6 4
#outs 2 10
#step 9
#outs 3 4
#outs 8 7
#step 10
#outs 4 0
#outs 8 10
#step 11
#outs 0 5
#outs 5 4
#step 12
#outs 6 6
#outs 8 5