-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprocessor.act
3147 lines (2974 loc) · 75.9 KB
/
processor.act
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
import "lab_syn.act";
import "opcode_conditions.act";
import "functions.act";
import "combined_functions.act";
defproc toplevel (a1of1 go)
{
/* --- declaring all variables and channels --- */
syn_var_init_false var_stack1_is_full;
syn_var_init_false var_reg3[8];
a1of2 chan_stack2_full_chan;
syn_var_init_false var_exec_data[8];
a1of2 chan_stack1_full_chan;
a1of2 chan_stack1_op_chan;
aN1of2<8> chan_stack0_pop_chan;
aN1of2<8> chan_stack2_push_chan;
syn_var_init_false var_stack_should_perform;
syn_var_init_false var_dbg;
syn_var_init_false var_reg1[8];
a1of2 chan_stack2_op_chan;
syn_var_init_false var_stack1_op;
syn_var_init_false var_stack_op;
aN1of2<12> chan_IN;
aN1of2<8> chan_stack1_pop_chan;
aN1of2<8> chan_stack1_push_chan;
a1of2 chan_stack0_op_chan;
syn_var_init_false var_stack0_op;
syn_var_init_false var_pc_index[12];
aN1of2<8> chan_stack2_pop_chan;
syn_var_init_false var_stack0_data[8];
syn_var_init_false var_reg2[8];
syn_var_init_false var_reg0[8];
syn_var_init_false var_stack1_data[8];
a1of2 chan_stack0_full_chan;
syn_var_init_false var_exec_temp[12];
syn_var_init_false var_exec_dump[8];
syn_var_init_false var_jnk;
syn_var_init_false var_exec_op[4];
syn_var_init_false var_stack0_is_full;
syn_var_init_false var_stack_data[8];
aN1of2<12> chan_OUT;
aN1of2<8> chan_stack0_push_chan;
aN1of2<12> chan_PC;
/* --- end of declarations --- */
/* comma */
a1of1 c_0;
/*--- emit individual gc (#0) [loop] ---*/
r1of2 gc_0;
/* semicolon */
a1of1 c_1;
/* send */
syn_expr_vararray<12> e_1;
(i:12: e_1.v[i] = var_pc_index[i].v;)
a1of1 c_2;
a1of1 recv_r_0;
syn_fullseq fs_0(c_2, recv_r_0);
syn_fullseq s_1;
recv_r_0.r = s_1.go.r;
syn_recv rtv_1[12];
syn_expr_vararray<12> e_2;
syn_var_init_false tv_1[12];
(i:12: e_2.v[i] = tv_1[i].v; e_2.v[i]=rtv_1[i].v;)
s_1.r.r = e_1.go_r;
(i:12: s_1.r.r = rtv_1[i].go.r;)
syn_ctree<12> ct_1;
(i:12: ct_1.in[i]=rtv_1[i].go.a;)
s_1.r.a = ct_1.out;
(i:12: e_1.out[i].t = rtv_1[i].in.t; e_1.out[i].f = rtv_1[i].in.f;)
s_1.go.a = e_2.go_r;
recv_r_0.a = chan_PC.a;
(i:12: chan_PC.d[i] = e_2.out[i];)
syn_seq s_2(c_1);
s_2.s1 = c_2;
a1of1 c_3;
s_2.s2 = c_3;
/* recv */
a1of1 c_4;
syn_fullseq fs_3(c_4,);
syn_recv s_3[12];
(i:12: s_3[i].go.r = fs_3.r.r;)
syn_ctree<12> ct_3;
(i:12: ct_3.in[i]=s_3[i].go.a;)
ct_3.out=fs_3.r.a; fs_3.r.a=chan_IN.a;
(i:12: s_3[i].in.t = chan_IN.d[i].t;
s_3[i].in.f = chan_IN.d[i].f;
s_3[i].v = var_exec_temp[i].v; )
syn_seq s_4(c_3);
s_4.s1 = c_4;
a1of1 c_5;
s_4.s2 = c_5;
/* assign */
bundled_split_4 e_3;
(i:12: e_3.v0[i] = var_exec_temp[i].v;)
a1of1 c_6;
syn_fullseq s_6;
c_6.r = s_6.go.r;
syn_recv rtv_6[4];
syn_expr_vararray<4> e_4;
syn_var_init_false tv_6[4];
(i:4: e_4.v[i] = tv_6[i].v; e_4.v[i]=rtv_6[i].v;)
s_6.r.r = e_3.go_r;
(i:4: s_6.r.r = rtv_6[i].go.r;)
syn_ctree<4> ct_6;
(i:4: ct_6.in[i]=rtv_6[i].go.a;)
s_6.r.a = ct_6.out;
(i:4: e_3.out[i].t = rtv_6[i].in.t; e_3.out[i].f = rtv_6[i].in.f;)
s_6.go.a = e_4.go_r;
syn_recv s_5[4];
(i:4: s_5[i].go.r = c_6.r;)
syn_ctree<4> ct_5;
(i:4: ct_5.in[i]=s_5[i].go.a;)
ct_5.out=c_6.a;
(i:4: s_5[i].in.t = e_4.out[i].t;
s_5[i].in.f = e_4.out[i].f;
s_5[i].v = var_exec_op[i].v; )
syn_seq s_7(c_5);
s_7.s1 = c_6;
a1of1 c_7;
s_7.s2 = c_7;
/* assign */
bundled_split_8 e_5;
(i:12: e_5.v0[i] = var_exec_temp[i].v;)
a1of1 c_8;
syn_fullseq s_9;
c_8.r = s_9.go.r;
syn_recv rtv_9[8];
syn_expr_vararray<8> e_6;
syn_var_init_false tv_9[8];
(i:8: e_6.v[i] = tv_9[i].v; e_6.v[i]=rtv_9[i].v;)
s_9.r.r = e_5.go_r;
(i:8: s_9.r.r = rtv_9[i].go.r;)
syn_ctree<8> ct_9;
(i:8: ct_9.in[i]=rtv_9[i].go.a;)
s_9.r.a = ct_9.out;
(i:8: e_5.out[i].t = rtv_9[i].in.t; e_5.out[i].f = rtv_9[i].in.f;)
s_9.go.a = e_6.go_r;
syn_recv s_8[8];
(i:8: s_8[i].go.r = c_8.r;)
syn_ctree<8> ct_8;
(i:8: ct_8.in[i]=s_8[i].go.a;)
ct_8.out=c_8.a;
(i:8: s_8[i].in.t = e_6.out[i].t;
s_8[i].in.f = e_6.out[i].f;
s_8[i].v = var_exec_data[i].v; )
syn_seq s_10(c_7);
s_10.s1 = c_8;
a1of1 c_9;
s_10.s2 = c_9;
/*--- emit individual gc (#1) [selection] ---*/
r1of2 gc_1;
bundled_is_branch_1 e_7;
(i:4: e_7.v0[i] = var_exec_op[i].v;)
syn_var_init_false const_0;
syn_expr_var e_8(,const_0.v);
e_8.go_r = e_7.go_r;
syn_expr_eq e_9(e_7.out, e_8.out);
/* HOUSTON WE HAD AN E_EQ W/ RET 9 */
syn_fullseq s_11;
gc_1.r = s_11.go.r;
syn_recv rtv_11;
syn_expr_var e_10;
syn_var_init_false tv_11(rtv_11.v);
e_10.v = tv_11.v;
s_11.r.r = e_7.go_r;
s_11.r = rtv_11.go;
e_9.out.t = rtv_11.in.t;
e_9.out.f = rtv_11.in.f;
s_11.go.a = e_10.go_r;
/* assign */
bundled_pcincrement_12 e_11;
(i:12: e_11.v0[i] = var_pc_index[i].v;)
a1of1 c_10;
syn_fullseq s_13;
c_10.r = s_13.go.r;
syn_recv rtv_13[12];
syn_expr_vararray<12> e_12;
syn_var_init_false tv_13[12];
(i:12: e_12.v[i] = tv_13[i].v; e_12.v[i]=rtv_13[i].v;)
s_13.r.r = e_11.go_r;
(i:12: s_13.r.r = rtv_13[i].go.r;)
syn_ctree<12> ct_13;
(i:12: ct_13.in[i]=rtv_13[i].go.a;)
s_13.r.a = ct_13.out;
(i:12: e_11.out[i].t = rtv_13[i].in.t; e_11.out[i].f = rtv_13[i].in.f;)
s_13.go.a = e_12.go_r;
syn_recv s_12[12];
(i:12: s_12[i].go.r = c_10.r;)
syn_ctree<12> ct_12;
(i:12: ct_12.in[i]=s_12[i].go.a;)
ct_12.out=c_10.a;
(i:12: s_12[i].in.t = e_12.out[i].t;
s_12[i].in.f = e_12.out[i].f;
s_12[i].v = var_pc_index[i].v; )
a1of1 c_11;
syn_fullseq fs_14(c_11, c_10);
e_10.out.t = c_11.r;
gc_1.t = c_11.a;
gc_1.f = e_10.out.f;
r1of2 gc_2;
/* skip */ a1of1 c_12;
syn_skip s_15(c_12);
a1of1 c_13;
syn_fullseq fs_16(c_13, c_12);
gc_2.r = c_13.r;
gc_2.t = c_13.a;
gc_2.f = GND;
a1of1 c_14;
/* gc cascade, start=1, end=2 */
gc_1.f = gc_2.r;
gc_1.r = c_14.r;
syn_or2 or_17(gc_1.t,gc_2.t);
or_17.out = c_14.a;
/* ----- end of gc (#1) ----- */
syn_seq s_18(c_9);
s_18.s1 = c_14;
a1of1 c_15;
s_18.s2 = c_15;
/*--- emit individual gc (#2) [selection] ---*/
r1of2 gc_3;
syn_var_init_true const_1;
syn_expr_var e_13(,const_1.v);
syn_fullseq s_19;
gc_3.r = s_19.go.r;
syn_recv rtv_19;
syn_expr_var e_14;
syn_var_init_false tv_19(rtv_19.v);
e_14.v = tv_19.v;
s_19.r.r = e_13.go_r;
s_19.r = rtv_19.go;
e_13.out.t = rtv_19.in.t;
e_13.out.f = rtv_19.in.f;
s_19.go.a = e_14.go_r;
/* assign */
syn_expr_var e_15(,const_1.v);
a1of1 c_16;
syn_fullseq s_21;
c_16.r = s_21.go.r;
syn_recv rtv_21;
syn_expr_var e_16;
syn_var_init_false tv_21(rtv_21.v);
e_16.v = tv_21.v;
s_21.r.r = e_15.go_r;
s_21.r = rtv_21.go;
e_15.out.t = rtv_21.in.t;
e_15.out.f = rtv_21.in.f;
s_21.go.a = e_16.go_r;
syn_recv s_20(c_16);
s_20.in.t = e_16.out.t;
s_20.in.f = e_16.out.f;
s_20.v = var_stack_should_perform.v;
a1of1 c_17;
syn_fullseq fs_22(c_17, c_16);
e_14.out.t = c_17.r;
gc_3.t = c_17.a;
gc_3.f = e_14.out.f;
a1of1 c_18;
/* gc cascade, start=3, end=3 */
gc_3.r = c_18.r;
gc_3.t = c_18.a;
/* ----- end of gc (#2) ----- */
syn_seq s_23(c_15);
s_23.s1 = c_18;
a1of1 c_19;
s_23.s2 = c_19;
/*--- emit individual gc (#3) [selection] ---*/
r1of2 gc_4;
bundled_is_pushc_1 e_17;
(i:4: e_17.v0[i] = var_exec_op[i].v;)
syn_expr_var e_18(,const_1.v);
e_18.go_r = e_17.go_r;
syn_expr_eq e_19(e_17.out, e_18.out);
/* HOUSTON WE HAD AN E_EQ W/ RET 19 */
syn_fullseq s_24;
gc_4.r = s_24.go.r;
syn_recv rtv_24;
syn_expr_var e_20;
syn_var_init_false tv_24(rtv_24.v);
e_20.v = tv_24.v;
s_24.r.r = e_17.go_r;
s_24.r = rtv_24.go;
e_19.out.t = rtv_24.in.t;
e_19.out.f = rtv_24.in.f;
s_24.go.a = e_20.go_r;
/* semicolon */
a1of1 c_20;
/* assign */
syn_expr_var e_21(,const_1.v);
a1of1 c_21;
syn_fullseq s_26;
c_21.r = s_26.go.r;
syn_recv rtv_26;
syn_expr_var e_22;
syn_var_init_false tv_26(rtv_26.v);
e_22.v = tv_26.v;
s_26.r.r = e_21.go_r;
s_26.r = rtv_26.go;
e_21.out.t = rtv_26.in.t;
e_21.out.f = rtv_26.in.f;
s_26.go.a = e_22.go_r;
syn_recv s_25(c_21);
s_25.in.t = e_22.out.t;
s_25.in.f = e_22.out.f;
s_25.v = var_stack_op.v;
syn_seq s_27(c_20);
s_27.s1 = c_21;
/* assign */
syn_expr_vararray<8> e_23;
(i:8: e_23.v[i] = var_exec_data[i].v;)
a1of1 c_22;
syn_fullseq s_29;
c_22.r = s_29.go.r;
syn_recv rtv_29[8];
syn_expr_vararray<8> e_24;
syn_var_init_false tv_29[8];
(i:8: e_24.v[i] = tv_29[i].v; e_24.v[i]=rtv_29[i].v;)
s_29.r.r = e_23.go_r;
(i:8: s_29.r.r = rtv_29[i].go.r;)
syn_ctree<8> ct_29;
(i:8: ct_29.in[i]=rtv_29[i].go.a;)
s_29.r.a = ct_29.out;
(i:8: e_23.out[i].t = rtv_29[i].in.t; e_23.out[i].f = rtv_29[i].in.f;)
s_29.go.a = e_24.go_r;
syn_recv s_28[8];
(i:8: s_28[i].go.r = c_22.r;)
syn_ctree<8> ct_28;
(i:8: ct_28.in[i]=s_28[i].go.a;)
ct_28.out=c_22.a;
(i:8: s_28[i].in.t = e_24.out[i].t;
s_28[i].in.f = e_24.out[i].f;
s_28[i].v = var_stack_data[i].v; )
s_27.s2 = c_22;
a1of1 c_23;
syn_fullseq fs_30(c_23, c_20);
e_20.out.t = c_23.r;
gc_4.t = c_23.a;
gc_4.f = e_20.out.f;
r1of2 gc_5;
/* skip */ a1of1 c_24;
syn_skip s_31(c_24);
a1of1 c_25;
syn_fullseq fs_32(c_25, c_24);
gc_5.r = c_25.r;
gc_5.t = c_25.a;
gc_5.f = GND;
a1of1 c_26;
/* gc cascade, start=4, end=5 */
gc_4.f = gc_5.r;
gc_4.r = c_26.r;
syn_or2 or_33(gc_4.t,gc_5.t);
or_33.out = c_26.a;
/* ----- end of gc (#3) ----- */
syn_seq s_34(c_19);
s_34.s1 = c_26;
a1of1 c_27;
s_34.s2 = c_27;
/*--- emit individual gc (#4) [selection] ---*/
r1of2 gc_6;
bundled_is_pop_1 e_25;
(i:4: e_25.v0[i] = var_exec_op[i].v;)
syn_expr_var e_26(,const_1.v);
e_26.go_r = e_25.go_r;
syn_expr_eq e_27(e_25.out, e_26.out);
/* HOUSTON WE HAD AN E_EQ W/ RET 27 */
syn_fullseq s_35;
gc_6.r = s_35.go.r;
syn_recv rtv_35;
syn_expr_var e_28;
syn_var_init_false tv_35(rtv_35.v);
e_28.v = tv_35.v;
s_35.r.r = e_25.go_r;
s_35.r = rtv_35.go;
e_27.out.t = rtv_35.in.t;
e_27.out.f = rtv_35.in.f;
s_35.go.a = e_28.go_r;
/* assign */
syn_expr_var e_29(,const_0.v);
a1of1 c_28;
syn_fullseq s_37;
c_28.r = s_37.go.r;
syn_recv rtv_37;
syn_expr_var e_30;
syn_var_init_false tv_37(rtv_37.v);
e_30.v = tv_37.v;
s_37.r.r = e_29.go_r;
s_37.r = rtv_37.go;
e_29.out.t = rtv_37.in.t;
e_29.out.f = rtv_37.in.f;
s_37.go.a = e_30.go_r;
syn_recv s_36(c_28);
s_36.in.t = e_30.out.t;
s_36.in.f = e_30.out.f;
s_36.v = var_stack_op.v;
a1of1 c_29;
syn_fullseq fs_38(c_29, c_28);
e_28.out.t = c_29.r;
gc_6.t = c_29.a;
gc_6.f = e_28.out.f;
r1of2 gc_7;
/* skip */ a1of1 c_30;
syn_skip s_39(c_30);
a1of1 c_31;
syn_fullseq fs_40(c_31, c_30);
gc_7.r = c_31.r;
gc_7.t = c_31.a;
gc_7.f = GND;
a1of1 c_32;
/* gc cascade, start=6, end=7 */
gc_6.f = gc_7.r;
gc_6.r = c_32.r;
syn_or2 or_41(gc_6.t,gc_7.t);
or_41.out = c_32.a;
/* ----- end of gc (#4) ----- */
syn_seq s_42(c_27);
s_42.s1 = c_32;
a1of1 c_33;
s_42.s2 = c_33;
/*--- emit individual gc (#5) [selection] ---*/
r1of2 gc_8;
bundled_is_popout_1 e_31;
(i:4: e_31.v0[i] = var_exec_op[i].v;)
syn_expr_var e_32(,const_1.v);
e_32.go_r = e_31.go_r;
syn_expr_eq e_33(e_31.out, e_32.out);
/* HOUSTON WE HAD AN E_EQ W/ RET 33 */
syn_fullseq s_43;
gc_8.r = s_43.go.r;
syn_recv rtv_43;
syn_expr_var e_34;
syn_var_init_false tv_43(rtv_43.v);
e_34.v = tv_43.v;
s_43.r.r = e_31.go_r;
s_43.r = rtv_43.go;
e_33.out.t = rtv_43.in.t;
e_33.out.f = rtv_43.in.f;
s_43.go.a = e_34.go_r;
/* assign */
syn_expr_var e_35(,const_0.v);
a1of1 c_34;
syn_fullseq s_45;
c_34.r = s_45.go.r;
syn_recv rtv_45;
syn_expr_var e_36;
syn_var_init_false tv_45(rtv_45.v);
e_36.v = tv_45.v;
s_45.r.r = e_35.go_r;
s_45.r = rtv_45.go;
e_35.out.t = rtv_45.in.t;
e_35.out.f = rtv_45.in.f;
s_45.go.a = e_36.go_r;
syn_recv s_44(c_34);
s_44.in.t = e_36.out.t;
s_44.in.f = e_36.out.f;
s_44.v = var_stack_op.v;
a1of1 c_35;
syn_fullseq fs_46(c_35, c_34);
e_34.out.t = c_35.r;
gc_8.t = c_35.a;
gc_8.f = e_34.out.f;
r1of2 gc_9;
/* skip */ a1of1 c_36;
syn_skip s_47(c_36);
a1of1 c_37;
syn_fullseq fs_48(c_37, c_36);
gc_9.r = c_37.r;
gc_9.t = c_37.a;
gc_9.f = GND;
a1of1 c_38;
/* gc cascade, start=8, end=9 */
gc_8.f = gc_9.r;
gc_8.r = c_38.r;
syn_or2 or_49(gc_8.t,gc_9.t);
or_49.out = c_38.a;
/* ----- end of gc (#5) ----- */
syn_seq s_50(c_33);
s_50.s1 = c_38;
a1of1 c_39;
s_50.s2 = c_39;
/*--- emit individual gc (#6) [selection] ---*/
r1of2 gc_10;
bundled_is_pushreg0_1 e_37;
(i:4: e_37.v0[i] = var_exec_op[i].v;)
(i:8: e_37.v1[i] = var_exec_data[i].v;)
syn_expr_var e_38(,const_1.v);
e_38.go_r = e_37.go_r;
syn_expr_eq e_39(e_37.out, e_38.out);
/* HOUSTON WE HAD AN E_EQ W/ RET 39 */
syn_fullseq s_51;
gc_10.r = s_51.go.r;
syn_recv rtv_51;
syn_expr_var e_40;
syn_var_init_false tv_51(rtv_51.v);
e_40.v = tv_51.v;
s_51.r.r = e_37.go_r;
s_51.r = rtv_51.go;
e_39.out.t = rtv_51.in.t;
e_39.out.f = rtv_51.in.f;
s_51.go.a = e_40.go_r;
/* comma */
a1of1 c_40;
/* assign */
syn_expr_var e_41(,const_1.v);
a1of1 c_41;
syn_fullseq s_53;
c_41.r = s_53.go.r;
syn_recv rtv_53;
syn_expr_var e_42;
syn_var_init_false tv_53(rtv_53.v);
e_42.v = tv_53.v;
s_53.r.r = e_41.go_r;
s_53.r = rtv_53.go;
e_41.out.t = rtv_53.in.t;
e_41.out.f = rtv_53.in.f;
s_53.go.a = e_42.go_r;
syn_recv s_52(c_41);
s_52.in.t = e_42.out.t;
s_52.in.f = e_42.out.f;
s_52.v = var_stack_op.v;
syn_par s_54(c_40);
s_54.s1 = c_41;
/* assign */
syn_expr_vararray<8> e_43;
(i:8: e_43.v[i] = var_reg0[i].v;)
a1of1 c_42;
syn_fullseq s_56;
c_42.r = s_56.go.r;
syn_recv rtv_56[8];
syn_expr_vararray<8> e_44;
syn_var_init_false tv_56[8];
(i:8: e_44.v[i] = tv_56[i].v; e_44.v[i]=rtv_56[i].v;)
s_56.r.r = e_43.go_r;
(i:8: s_56.r.r = rtv_56[i].go.r;)
syn_ctree<8> ct_56;
(i:8: ct_56.in[i]=rtv_56[i].go.a;)
s_56.r.a = ct_56.out;
(i:8: e_43.out[i].t = rtv_56[i].in.t; e_43.out[i].f = rtv_56[i].in.f;)
s_56.go.a = e_44.go_r;
syn_recv s_55[8];
(i:8: s_55[i].go.r = c_42.r;)
syn_ctree<8> ct_55;
(i:8: ct_55.in[i]=s_55[i].go.a;)
ct_55.out=c_42.a;
(i:8: s_55[i].in.t = e_44.out[i].t;
s_55[i].in.f = e_44.out[i].f;
s_55[i].v = var_stack_data[i].v; )
s_54.s2 = c_42;
a1of1 c_43;
syn_fullseq fs_57(c_43, c_40);
e_40.out.t = c_43.r;
gc_10.t = c_43.a;
gc_10.f = e_40.out.f;
r1of2 gc_11;
/* skip */ a1of1 c_44;
syn_skip s_58(c_44);
a1of1 c_45;
syn_fullseq fs_59(c_45, c_44);
gc_11.r = c_45.r;
gc_11.t = c_45.a;
gc_11.f = GND;
a1of1 c_46;
/* gc cascade, start=10, end=11 */
gc_10.f = gc_11.r;
gc_10.r = c_46.r;
syn_or2 or_60(gc_10.t,gc_11.t);
or_60.out = c_46.a;
/* ----- end of gc (#6) ----- */
syn_seq s_61(c_39);
s_61.s1 = c_46;
a1of1 c_47;
s_61.s2 = c_47;
/*--- emit individual gc (#7) [selection] ---*/
r1of2 gc_12;
bundled_is_pushreg1_1 e_45;
(i:4: e_45.v0[i] = var_exec_op[i].v;)
(i:8: e_45.v1[i] = var_exec_data[i].v;)
syn_expr_var e_46(,const_1.v);
e_46.go_r = e_45.go_r;
syn_expr_eq e_47(e_45.out, e_46.out);
/* HOUSTON WE HAD AN E_EQ W/ RET 47 */
syn_fullseq s_62;
gc_12.r = s_62.go.r;
syn_recv rtv_62;
syn_expr_var e_48;
syn_var_init_false tv_62(rtv_62.v);
e_48.v = tv_62.v;
s_62.r.r = e_45.go_r;
s_62.r = rtv_62.go;
e_47.out.t = rtv_62.in.t;
e_47.out.f = rtv_62.in.f;
s_62.go.a = e_48.go_r;
/* comma */
a1of1 c_48;
/* assign */
syn_expr_var e_49(,const_1.v);
a1of1 c_49;
syn_fullseq s_64;
c_49.r = s_64.go.r;
syn_recv rtv_64;
syn_expr_var e_50;
syn_var_init_false tv_64(rtv_64.v);
e_50.v = tv_64.v;
s_64.r.r = e_49.go_r;
s_64.r = rtv_64.go;
e_49.out.t = rtv_64.in.t;
e_49.out.f = rtv_64.in.f;
s_64.go.a = e_50.go_r;
syn_recv s_63(c_49);
s_63.in.t = e_50.out.t;
s_63.in.f = e_50.out.f;
s_63.v = var_stack_op.v;
syn_par s_65(c_48);
s_65.s1 = c_49;
/* assign */
syn_expr_vararray<8> e_51;
(i:8: e_51.v[i] = var_reg1[i].v;)
a1of1 c_50;
syn_fullseq s_67;
c_50.r = s_67.go.r;
syn_recv rtv_67[8];
syn_expr_vararray<8> e_52;
syn_var_init_false tv_67[8];
(i:8: e_52.v[i] = tv_67[i].v; e_52.v[i]=rtv_67[i].v;)
s_67.r.r = e_51.go_r;
(i:8: s_67.r.r = rtv_67[i].go.r;)
syn_ctree<8> ct_67;
(i:8: ct_67.in[i]=rtv_67[i].go.a;)
s_67.r.a = ct_67.out;
(i:8: e_51.out[i].t = rtv_67[i].in.t; e_51.out[i].f = rtv_67[i].in.f;)
s_67.go.a = e_52.go_r;
syn_recv s_66[8];
(i:8: s_66[i].go.r = c_50.r;)
syn_ctree<8> ct_66;
(i:8: ct_66.in[i]=s_66[i].go.a;)
ct_66.out=c_50.a;
(i:8: s_66[i].in.t = e_52.out[i].t;
s_66[i].in.f = e_52.out[i].f;
s_66[i].v = var_stack_data[i].v; )
s_65.s2 = c_50;
a1of1 c_51;
syn_fullseq fs_68(c_51, c_48);
e_48.out.t = c_51.r;
gc_12.t = c_51.a;
gc_12.f = e_48.out.f;
r1of2 gc_13;
/* skip */ a1of1 c_52;
syn_skip s_69(c_52);
a1of1 c_53;
syn_fullseq fs_70(c_53, c_52);
gc_13.r = c_53.r;
gc_13.t = c_53.a;
gc_13.f = GND;
a1of1 c_54;
/* gc cascade, start=12, end=13 */
gc_12.f = gc_13.r;
gc_12.r = c_54.r;
syn_or2 or_71(gc_12.t,gc_13.t);
or_71.out = c_54.a;
/* ----- end of gc (#7) ----- */
syn_seq s_72(c_47);
s_72.s1 = c_54;
a1of1 c_55;
s_72.s2 = c_55;
/*--- emit individual gc (#8) [selection] ---*/
r1of2 gc_14;
bundled_is_pushreg2_1 e_53;
(i:4: e_53.v0[i] = var_exec_op[i].v;)
(i:8: e_53.v1[i] = var_exec_data[i].v;)
syn_expr_var e_54(,const_1.v);
e_54.go_r = e_53.go_r;
syn_expr_eq e_55(e_53.out, e_54.out);
/* HOUSTON WE HAD AN E_EQ W/ RET 55 */
syn_fullseq s_73;
gc_14.r = s_73.go.r;
syn_recv rtv_73;
syn_expr_var e_56;
syn_var_init_false tv_73(rtv_73.v);
e_56.v = tv_73.v;
s_73.r.r = e_53.go_r;
s_73.r = rtv_73.go;
e_55.out.t = rtv_73.in.t;
e_55.out.f = rtv_73.in.f;
s_73.go.a = e_56.go_r;
/* comma */
a1of1 c_56;
/* assign */
syn_expr_var e_57(,const_1.v);
a1of1 c_57;
syn_fullseq s_75;
c_57.r = s_75.go.r;
syn_recv rtv_75;
syn_expr_var e_58;
syn_var_init_false tv_75(rtv_75.v);
e_58.v = tv_75.v;
s_75.r.r = e_57.go_r;
s_75.r = rtv_75.go;
e_57.out.t = rtv_75.in.t;
e_57.out.f = rtv_75.in.f;
s_75.go.a = e_58.go_r;
syn_recv s_74(c_57);
s_74.in.t = e_58.out.t;
s_74.in.f = e_58.out.f;
s_74.v = var_stack_op.v;
syn_par s_76(c_56);
s_76.s1 = c_57;
/* assign */
syn_expr_vararray<8> e_59;
(i:8: e_59.v[i] = var_reg2[i].v;)
a1of1 c_58;
syn_fullseq s_78;
c_58.r = s_78.go.r;
syn_recv rtv_78[8];
syn_expr_vararray<8> e_60;
syn_var_init_false tv_78[8];
(i:8: e_60.v[i] = tv_78[i].v; e_60.v[i]=rtv_78[i].v;)
s_78.r.r = e_59.go_r;
(i:8: s_78.r.r = rtv_78[i].go.r;)
syn_ctree<8> ct_78;
(i:8: ct_78.in[i]=rtv_78[i].go.a;)
s_78.r.a = ct_78.out;
(i:8: e_59.out[i].t = rtv_78[i].in.t; e_59.out[i].f = rtv_78[i].in.f;)
s_78.go.a = e_60.go_r;
syn_recv s_77[8];
(i:8: s_77[i].go.r = c_58.r;)
syn_ctree<8> ct_77;
(i:8: ct_77.in[i]=s_77[i].go.a;)
ct_77.out=c_58.a;
(i:8: s_77[i].in.t = e_60.out[i].t;
s_77[i].in.f = e_60.out[i].f;
s_77[i].v = var_stack_data[i].v; )
s_76.s2 = c_58;
a1of1 c_59;
syn_fullseq fs_79(c_59, c_56);
e_56.out.t = c_59.r;
gc_14.t = c_59.a;
gc_14.f = e_56.out.f;
r1of2 gc_15;
/* skip */ a1of1 c_60;
syn_skip s_80(c_60);
a1of1 c_61;
syn_fullseq fs_81(c_61, c_60);
gc_15.r = c_61.r;
gc_15.t = c_61.a;
gc_15.f = GND;
a1of1 c_62;
/* gc cascade, start=14, end=15 */
gc_14.f = gc_15.r;
gc_14.r = c_62.r;
syn_or2 or_82(gc_14.t,gc_15.t);
or_82.out = c_62.a;
/* ----- end of gc (#8) ----- */
syn_seq s_83(c_55);
s_83.s1 = c_62;
a1of1 c_63;
s_83.s2 = c_63;
/*--- emit individual gc (#9) [selection] ---*/
r1of2 gc_16;
bundled_is_pushreg3_1 e_61;
(i:4: e_61.v0[i] = var_exec_op[i].v;)
(i:8: e_61.v1[i] = var_exec_data[i].v;)
syn_expr_var e_62(,const_1.v);
e_62.go_r = e_61.go_r;
syn_expr_eq e_63(e_61.out, e_62.out);
/* HOUSTON WE HAD AN E_EQ W/ RET 63 */
syn_fullseq s_84;
gc_16.r = s_84.go.r;
syn_recv rtv_84;
syn_expr_var e_64;
syn_var_init_false tv_84(rtv_84.v);
e_64.v = tv_84.v;
s_84.r.r = e_61.go_r;
s_84.r = rtv_84.go;
e_63.out.t = rtv_84.in.t;
e_63.out.f = rtv_84.in.f;
s_84.go.a = e_64.go_r;
/* comma */
a1of1 c_64;
/* assign */
syn_expr_var e_65(,const_1.v);
a1of1 c_65;
syn_fullseq s_86;
c_65.r = s_86.go.r;
syn_recv rtv_86;
syn_expr_var e_66;
syn_var_init_false tv_86(rtv_86.v);
e_66.v = tv_86.v;
s_86.r.r = e_65.go_r;
s_86.r = rtv_86.go;
e_65.out.t = rtv_86.in.t;
e_65.out.f = rtv_86.in.f;
s_86.go.a = e_66.go_r;
syn_recv s_85(c_65);
s_85.in.t = e_66.out.t;
s_85.in.f = e_66.out.f;
s_85.v = var_stack_op.v;
syn_par s_87(c_64);
s_87.s1 = c_65;
/* assign */
syn_expr_vararray<8> e_67;
(i:8: e_67.v[i] = var_reg3[i].v;)
a1of1 c_66;
syn_fullseq s_89;
c_66.r = s_89.go.r;
syn_recv rtv_89[8];
syn_expr_vararray<8> e_68;
syn_var_init_false tv_89[8];
(i:8: e_68.v[i] = tv_89[i].v; e_68.v[i]=rtv_89[i].v;)
s_89.r.r = e_67.go_r;
(i:8: s_89.r.r = rtv_89[i].go.r;)
syn_ctree<8> ct_89;
(i:8: ct_89.in[i]=rtv_89[i].go.a;)
s_89.r.a = ct_89.out;
(i:8: e_67.out[i].t = rtv_89[i].in.t; e_67.out[i].f = rtv_89[i].in.f;)
s_89.go.a = e_68.go_r;
syn_recv s_88[8];
(i:8: s_88[i].go.r = c_66.r;)
syn_ctree<8> ct_88;
(i:8: ct_88.in[i]=s_88[i].go.a;)
ct_88.out=c_66.a;
(i:8: s_88[i].in.t = e_68.out[i].t;
s_88[i].in.f = e_68.out[i].f;
s_88[i].v = var_stack_data[i].v; )
s_87.s2 = c_66;
a1of1 c_67;
syn_fullseq fs_90(c_67, c_64);
e_64.out.t = c_67.r;
gc_16.t = c_67.a;
gc_16.f = e_64.out.f;
r1of2 gc_17;
/* skip */ a1of1 c_68;
syn_skip s_91(c_68);
a1of1 c_69;
syn_fullseq fs_92(c_69, c_68);
gc_17.r = c_69.r;
gc_17.t = c_69.a;
gc_17.f = GND;
a1of1 c_70;
/* gc cascade, start=16, end=17 */
gc_16.f = gc_17.r;
gc_16.r = c_70.r;
syn_or2 or_93(gc_16.t,gc_17.t);
or_93.out = c_70.a;
/* ----- end of gc (#9) ----- */
syn_seq s_94(c_63);
s_94.s1 = c_70;
a1of1 c_71;
s_94.s2 = c_71;
/*--- emit individual gc (#10) [selection] ---*/
r1of2 gc_18;
bundled_is_popreg_1 e_69;
(i:4: e_69.v0[i] = var_exec_op[i].v;)
syn_expr_var e_70(,const_1.v);
e_70.go_r = e_69.go_r;
syn_expr_eq e_71(e_69.out, e_70.out);
/* HOUSTON WE HAD AN E_EQ W/ RET 71 */
syn_fullseq s_95;
gc_18.r = s_95.go.r;
syn_recv rtv_95;
syn_expr_var e_72;
syn_var_init_false tv_95(rtv_95.v);
e_72.v = tv_95.v;
s_95.r.r = e_69.go_r;
s_95.r = rtv_95.go;
e_71.out.t = rtv_95.in.t;
e_71.out.f = rtv_95.in.f;
s_95.go.a = e_72.go_r;
/* assign */
syn_expr_var e_73(,const_0.v);
a1of1 c_72;
syn_fullseq s_97;
c_72.r = s_97.go.r;
syn_recv rtv_97;
syn_expr_var e_74;
syn_var_init_false tv_97(rtv_97.v);
e_74.v = tv_97.v;
s_97.r.r = e_73.go_r;
s_97.r = rtv_97.go;
e_73.out.t = rtv_97.in.t;
e_73.out.f = rtv_97.in.f;
s_97.go.a = e_74.go_r;
syn_recv s_96(c_72);
s_96.in.t = e_74.out.t;
s_96.in.f = e_74.out.f;
s_96.v = var_stack_op.v;
a1of1 c_73;
syn_fullseq fs_98(c_73, c_72);
e_72.out.t = c_73.r;
gc_18.t = c_73.a;
gc_18.f = e_72.out.f;
r1of2 gc_19;
/* skip */ a1of1 c_74;
syn_skip s_99(c_74);
a1of1 c_75;
syn_fullseq fs_100(c_75, c_74);
gc_19.r = c_75.r;
gc_19.t = c_75.a;
gc_19.f = GND;
a1of1 c_76;
/* gc cascade, start=18, end=19 */
gc_18.f = gc_19.r;
gc_18.r = c_76.r;
syn_or2 or_101(gc_18.t,gc_19.t);
or_101.out = c_76.a;
/* ----- end of gc (#10) ----- */
syn_seq s_102(c_71);
s_102.s1 = c_76;
a1of1 c_77;
s_102.s2 = c_77;
/*--- emit individual gc (#11) [selection] ---*/
r1of2 gc_20;
bundled_is_add_1 e_75;
(i:4: e_75.v0[i] = var_exec_op[i].v;)
syn_expr_var e_76(,const_1.v);
e_76.go_r = e_75.go_r;
syn_expr_eq e_77(e_75.out, e_76.out);
/* HOUSTON WE HAD AN E_EQ W/ RET 77 */
syn_fullseq s_103;
gc_20.r = s_103.go.r;
syn_recv rtv_103;
syn_expr_var e_78;
syn_var_init_false tv_103(rtv_103.v);
e_78.v = tv_103.v;
s_103.r.r = e_75.go_r;
s_103.r = rtv_103.go;
e_77.out.t = rtv_103.in.t;
e_77.out.f = rtv_103.in.f;
s_103.go.a = e_78.go_r;
/* semicolon */
a1of1 c_78;
/* assign */
bundled_stackadd_8 e_79;
(i:8: e_79.v0[i] = var_stack0_data[i].v;)
(i:8: e_79.v1[i] = var_stack1_data[i].v;)
a1of1 c_79;
syn_fullseq s_105;
c_79.r = s_105.go.r;
syn_recv rtv_105[8];
syn_expr_vararray<8> e_80;
syn_var_init_false tv_105[8];
(i:8: e_80.v[i] = tv_105[i].v; e_80.v[i]=rtv_105[i].v;)
s_105.r.r = e_79.go_r;
(i:8: s_105.r.r = rtv_105[i].go.r;)
syn_ctree<8> ct_105;
(i:8: ct_105.in[i]=rtv_105[i].go.a;)
s_105.r.a = ct_105.out;
(i:8: e_79.out[i].t = rtv_105[i].in.t; e_79.out[i].f = rtv_105[i].in.f;)
s_105.go.a = e_80.go_r;
syn_recv s_104[8];
(i:8: s_104[i].go.r = c_79.r;)
syn_ctree<8> ct_104;
(i:8: ct_104.in[i]=s_104[i].go.a;)
ct_104.out=c_79.a;
(i:8: s_104[i].in.t = e_80.out[i].t;
s_104[i].in.f = e_80.out[i].f;