7 op_numbers op = Yap_op_from_opcode(cl->opc);
17 case _alloc_for_logical_pred:
24 cl = NEXTOP(cl,Osbpa);
30 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(1))) {
31 if (IsApplTerm(cl->y_u.cc.c1)) {
32 CELL *pt = RepAppl(cl->y_u.cc.c1);
33 clause->Tag = AbsAppl((CELL *)pt[0]);
34 clause->ucd.t_ptr = cl->y_u.cc.c1;
36 clause->Tag = cl->y_u.cc.c1;
39 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(2))) {
40 if (IsApplTerm(cl->y_u.cc.c2)) {
41 CELL *pt = RepAppl(cl->y_u.cc.c2);
42 clause->Tag = AbsAppl((CELL *)pt[0]);
43 clause->ucd.t_ptr = cl->y_u.cc.c2;
45 clause->Tag = cl->y_u.cc.c2;
51 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(1))) {
52 if (IsApplTerm(cl->y_u.ccc.c1)) {
53 CELL *pt = RepAppl(cl->y_u.ccc.c1);
54 clause->Tag = AbsAppl((CELL *)pt[0]);
55 clause->ucd.t_ptr = cl->y_u.ccc.c1;
57 clause->Tag = cl->y_u.ccc.c1;
60 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(2))) {
61 if (IsApplTerm(cl->y_u.ccc.c2)) {
62 CELL *pt = RepAppl(cl->y_u.ccc.c2);
63 clause->Tag = AbsAppl((CELL *)pt[0]);
64 clause->ucd.t_ptr = cl->y_u.ccc.c2;
66 clause->Tag = cl->y_u.ccc.c2;
69 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(3))) {
70 if (IsApplTerm(cl->y_u.ccc.c3)) {
71 CELL *pt = RepAppl(cl->y_u.ccc.c3);
72 clause->Tag = AbsAppl((CELL *)pt[0]);
73 clause->ucd.t_ptr = cl->y_u.ccc.c3;
75 clause->Tag = cl->y_u.ccc.c3;
81 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(1))) {
82 if (IsApplTerm(cl->y_u.cccc.c1)) {
83 CELL *pt = RepAppl(cl->y_u.cccc.c1);
84 clause->Tag = AbsAppl((CELL *)pt[0]);
85 clause->ucd.t_ptr = cl->y_u.cccc.c1;
87 clause->Tag = cl->y_u.cccc.c1;
90 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(2))) {
91 if (IsApplTerm(cl->y_u.cccc.c2)) {
92 CELL *pt = RepAppl(cl->y_u.cccc.c2);
93 clause->Tag = AbsAppl((CELL *)pt[0]);
94 clause->ucd.t_ptr = cl->y_u.cccc.c2;
96 clause->Tag = cl->y_u.cccc.c2;
99 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(3))) {
100 if (IsApplTerm(cl->y_u.cccc.c3)) {
101 CELL *pt = RepAppl(cl->y_u.cccc.c3);
102 clause->Tag = AbsAppl((CELL *)pt[0]);
103 clause->ucd.t_ptr = cl->y_u.cccc.c3;
105 clause->Tag = cl->y_u.cccc.c3;
108 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(4))) {
109 if (IsApplTerm(cl->y_u.cccc.c4)) {
110 CELL *pt = RepAppl(cl->y_u.cccc.c4);
111 clause->Tag = AbsAppl((CELL *)pt[0]);
112 clause->ucd.t_ptr = cl->y_u.cccc.c4;
114 clause->Tag = cl->y_u.cccc.c4;
117 cl = NEXTOP(cl,cccc);
120 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(1))) {
121 if (IsApplTerm(cl->y_u.ccccc.c1)) {
122 CELL *pt = RepAppl(cl->y_u.ccccc.c1);
123 clause->Tag = AbsAppl((CELL *)pt[0]);
124 clause->ucd.t_ptr = cl->y_u.ccccc.c1;
126 clause->Tag = cl->y_u.ccccc.c1;
129 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(2))) {
130 if (IsApplTerm(cl->y_u.ccccc.c2)) {
131 CELL *pt = RepAppl(cl->y_u.ccccc.c2);
132 clause->Tag = AbsAppl((CELL *)pt[0]);
133 clause->ucd.t_ptr = cl->y_u.ccccc.c2;
135 clause->Tag = cl->y_u.ccccc.c2;
138 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(3))) {
139 if (IsApplTerm(cl->y_u.ccccc.c3)) {
140 CELL *pt = RepAppl(cl->y_u.ccccc.c3);
141 clause->Tag = AbsAppl((CELL *)pt[0]);
142 clause->ucd.t_ptr = cl->y_u.ccccc.c3;
144 clause->Tag = cl->y_u.ccccc.c3;
147 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(4))) {
148 if (IsApplTerm(cl->y_u.ccccc.c4)) {
149 CELL *pt = RepAppl(cl->y_u.ccccc.c4);
150 clause->Tag = AbsAppl((CELL *)pt[0]);
151 clause->ucd.t_ptr = cl->y_u.ccccc.c4;
153 clause->Tag = cl->y_u.ccccc.c4;
156 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(5))) {
157 if (IsApplTerm(cl->y_u.ccccc.c5)) {
158 CELL *pt = RepAppl(cl->y_u.ccccc.c5);
159 clause->Tag = AbsAppl((CELL *)pt[0]);
160 clause->ucd.t_ptr = cl->y_u.ccccc.c5;
162 clause->Tag = cl->y_u.ccccc.c5;
165 cl = NEXTOP(cl,ccccc);
168 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(1))) {
169 if (IsApplTerm(cl->y_u.cccccc.c1)) {
170 CELL *pt = RepAppl(cl->y_u.cccccc.c1);
171 clause->Tag = AbsAppl((CELL *)pt[0]);
172 clause->ucd.t_ptr = cl->y_u.cccccc.c1;
174 clause->Tag = cl->y_u.cccccc.c1;
177 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(2))) {
178 if (IsApplTerm(cl->y_u.cccccc.c2)) {
179 CELL *pt = RepAppl(cl->y_u.cccccc.c2);
180 clause->Tag = AbsAppl((CELL *)pt[0]);
181 clause->ucd.t_ptr = cl->y_u.cccccc.c2;
183 clause->Tag = cl->y_u.cccccc.c2;
186 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(3))) {
187 if (IsApplTerm(cl->y_u.cccccc.c3)) {
188 CELL *pt = RepAppl(cl->y_u.cccccc.c3);
189 clause->Tag = AbsAppl((CELL *)pt[0]);
190 clause->ucd.t_ptr = cl->y_u.cccccc.c3;
192 clause->Tag = cl->y_u.cccccc.c3;
195 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(4))) {
196 if (IsApplTerm(cl->y_u.cccccc.c4)) {
197 CELL *pt = RepAppl(cl->y_u.cccccc.c4);
198 clause->Tag = AbsAppl((CELL *)pt[0]);
199 clause->ucd.t_ptr = cl->y_u.cccccc.c4;
201 clause->Tag = cl->y_u.cccccc.c4;
204 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(5))) {
205 if (IsApplTerm(cl->y_u.cccccc.c5)) {
206 CELL *pt = RepAppl(cl->y_u.cccccc.c5);
207 clause->Tag = AbsAppl((CELL *)pt[0]);
208 clause->ucd.t_ptr = cl->y_u.cccccc.c5;
210 clause->Tag = cl->y_u.cccccc.c5;
213 if (is_regcopy(myregs, nofregs, Yap_regnotoreg(6))) {
214 if (IsApplTerm(cl->y_u.cccccc.c6)) {
215 CELL *pt = RepAppl(cl->y_u.cccccc.c6);
216 clause->Tag = AbsAppl((CELL *)pt[0]);
217 clause->ucd.t_ptr = cl->y_u.cccccc.c6;
219 clause->Tag = cl->y_u.cccccc.c6;
222 cl = NEXTOP(cl,cccccc);
233 Term t = lcl->lusl.ClSource->Entry;
234 if (!(lcl->ClFlags & FactMask)) {
236 clause->Tag = (CELL)NULL;
237 }
else if (IsApplTerm(t)) {
238 CELL *pt = RepAppl(t);
240 clause->Tag = AbsAppl((CELL *)pt[0]);
241 clause->ucd.c_sreg = pt;
242 }
else if (IsPairTerm(t)) {
243 CELL *pt = RepPair(t);
245 clause->Tag = AbsPair(NULL);
246 clause->ucd.c_sreg = pt-1;
252 clause->Tag = (CELL)NULL;
265 case _unify_idb_term:
268 Term t = lcl->lusl.ClSource->Entry;
269 if (!(lcl->ClFlags & FactMask)) {
271 clause->Tag = (CELL)NULL;
272 }
else if (IsApplTerm(t)) {
273 CELL *pt = RepAppl(t);
275 clause->Tag = AbsAppl((CELL *)pt[0]);
276 clause->ucd.c_sreg = pt;
277 }
else if (IsPairTerm(t)) {
278 CELL *pt = RepPair(t);
280 clause->Tag = AbsPair(NULL);
281 clause->ucd.c_sreg = pt-1;
287 clause->Tag = (CELL)NULL;
313 case _unify_l_list_write:
319 case _unify_l_void_write:
325 case _unify_list_write:
331 case _unify_void_write:
337 case _unify_l_dbterm:
343 case _unify_l_bigint:
349 case _unify_atom_write:
355 case _unify_l_atom_write:
361 case _unify_float_write:
367 case _unify_l_float_write:
373 case _unify_l_struc_write:
379 case _unify_struct_write:
382 case _unify_l_longint:
385 case _unify_l_longint_write:
391 case _unify_longint_write:
399 case _unify_l_n_voids:
402 case _unify_l_n_voids_write:
408 case _unify_n_voids_write:
414 case _unify_n_atoms_write:
417 case _unify_l_string:
424 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) {
425 clause->Tag = (CELL)NULL;
430 case _save_appl_x_write:
431 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) {
432 clause->Tag = (CELL)NULL;
438 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) {
439 clause->Tag = (CELL)NULL;
444 case _save_pair_x_write:
445 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) {
446 clause->Tag = (CELL)NULL;
454 case _unify_l_x_loc_write:
460 case _unify_l_x_val_write:
464 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) {
465 clause->Tag = (CELL)NULL;
470 case _unify_l_x_var_write:
471 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) {
472 clause->Tag = (CELL)NULL;
480 case _unify_x_loc_write:
486 case _unify_x_val_write:
490 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) {
491 clause->Tag = (CELL)NULL;
496 case _unify_x_var_write:
497 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.ox.x))) {
498 clause->Tag = (CELL)NULL;
503 case _unify_l_x_var2:
504 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xl))) {
505 clause->Tag = (CELL)NULL;
508 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xr))) {
509 clause->Tag = (CELL)NULL;
514 case _unify_l_x_var2_write:
515 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xl))) {
516 clause->Tag = (CELL)NULL;
519 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xr))) {
520 clause->Tag = (CELL)NULL;
526 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xl))) {
527 clause->Tag = (CELL)NULL;
530 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xr))) {
531 clause->Tag = (CELL)NULL;
536 case _unify_x_var2_write:
537 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xl))) {
538 clause->Tag = (CELL)NULL;
541 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oxx.xr))) {
542 clause->Tag = (CELL)NULL;
548 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) {
549 clause->Tag = (CELL)NULL;
554 case _save_appl_y_write:
555 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) {
556 clause->Tag = (CELL)NULL;
562 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) {
563 clause->Tag = (CELL)NULL;
568 case _save_pair_y_write:
569 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) {
570 clause->Tag = (CELL)NULL;
578 case _unify_l_y_loc_write:
584 case _unify_l_y_val_write:
588 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) {
589 clause->Tag = (CELL)NULL;
594 case _unify_l_y_var_write:
595 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) {
596 clause->Tag = (CELL)NULL;
604 case _unify_y_loc_write:
610 case _unify_y_val_write:
614 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) {
615 clause->Tag = (CELL)NULL;
620 case _unify_y_var_write:
621 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.oy.y))) {
622 clause->Tag = (CELL)NULL;
634 cl = NEXTOP(cl,plxxs);
637 cl = NEXTOP(cl,plxys);
640 cl = NEXTOP(cl,plxys);
643 cl = NEXTOP(cl,plyys);
655 if (is_regcopy(myregs, nofregs, cl->y_u.x.x)) {
656 clause->Tag = AbsPair(NULL);
657 clause->ucd.WorkPC = NEXTOP(cl,x);
663 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.x.x))) {
664 clause->Tag = (CELL)NULL;
670 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.x.x))) {
671 clause->Tag = (CELL)NULL;
680 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.x.x))) {
681 clause->Tag = (CELL)NULL;
687 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xD.x))) {
688 clause->Tag = (CELL)NULL;
694 if (is_regcopy(myregs, nofregs, cl->y_u.xN.x)) {
695 clause->Tag = AbsAppl((CELL *)FunctorBigInt);
696 clause->ucd.t_ptr = (CELL)NULL;
702 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xN.x))) {
703 clause->Tag = (CELL)NULL;
709 if (is_regcopy(myregs, nofregs, cl->y_u.xc.x)) {
710 if (IsApplTerm(cl->y_u.xc.c)) {
711 CELL *pt = RepAppl(cl->y_u.xc.c);
712 clause->Tag = AbsAppl((CELL *)pt[0]);
713 clause->ucd.t_ptr = cl->y_u.xc.c;
715 clause->Tag = cl->y_u.xc.c;
721 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xc.x))) {
722 clause->Tag = (CELL)NULL;
728 if (is_regcopy(myregs, nofregs, cl->y_u.xd.x)) {
729 clause->Tag = AbsAppl((CELL *)FunctorDouble);
730 clause->ucd.t_ptr = AbsAppl(cl->y_u.xd.d);
736 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xd.x))) {
737 clause->Tag = (CELL)NULL;
743 if (is_regcopy(myregs, nofregs, cl->y_u.xfa.x)) {
744 clause->Tag = AbsAppl((CELL *)cl->y_u.xfa.f);
745 clause->ucd.WorkPC = NEXTOP(cl,xfa);
751 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xfa.x))) {
752 clause->Tag = (CELL)NULL;
758 if (is_regcopy(myregs, nofregs, cl->y_u.xi.x)) {
759 clause->Tag = AbsAppl((CELL *)FunctorLongInt);
760 clause->ucd.t_ptr = AbsAppl(cl->y_u.xi.i);
766 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xi.x))) {
767 clause->Tag = (CELL)NULL;
773 if (cl->y_u.xl.F != FAILCODE) {
774 clause->Tag = (CELL)NULL;
777 if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) {
778 clause->Tag = (_atom+1)*
sizeof(CELL);
779 clause->ucd.t_ptr = (CELL)NULL;
785 if (cl->y_u.xl.F != FAILCODE) {
786 clause->Tag = (CELL)NULL;
789 if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) {
790 clause->Tag = (_atomic+1)*
sizeof(CELL);
791 clause->ucd.t_ptr = (CELL)NULL;
797 if (cl->y_u.xl.F != FAILCODE) {
798 clause->Tag = (CELL)NULL;
801 if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) {
802 clause->Tag = (_compound+1)*
sizeof(CELL);
803 clause->ucd.t_ptr = (CELL)NULL;
809 if (cl->y_u.xl.F != FAILCODE) {
810 clause->Tag = (CELL)NULL;
813 if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) {
814 clause->Tag = AbsAppl((CELL *)FunctorDBRef);
815 clause->ucd.t_ptr = (CELL)NULL;
821 if (cl->y_u.xl.F != FAILCODE) {
822 clause->Tag = (CELL)NULL;
825 if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) {
826 clause->Tag = AbsAppl((CELL *)FunctorDouble);
827 clause->ucd.t_ptr = (CELL)NULL;
833 if (cl->y_u.xl.F != FAILCODE) {
834 clause->Tag = (CELL)NULL;
837 if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) {
838 clause->Tag = (_integer+1)*
sizeof(CELL);
839 clause->ucd.t_ptr = (CELL)NULL;
845 if (cl->y_u.xl.F != FAILCODE) {
846 clause->Tag = (CELL)NULL;
852 if (cl->y_u.xl.F != FAILCODE) {
853 clause->Tag = (CELL)NULL;
856 if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) {
857 clause->Tag = (_number+1)*
sizeof(CELL);
858 clause->ucd.t_ptr = (CELL)NULL;
864 if (cl->y_u.xl.F != FAILCODE) {
865 clause->Tag = (CELL)NULL;
868 if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) {
869 clause->Tag = (_primitive+1)*
sizeof(CELL);
870 clause->ucd.t_ptr = (CELL)NULL;
876 if (cl->y_u.xl.F != FAILCODE) {
877 clause->Tag = (CELL)NULL;
880 if (is_regcopy(myregs, nofregs, cl->y_u.xl.x)) {
881 clause->Tag = (_var+1)*
sizeof(CELL);
882 clause->ucd.t_ptr = (CELL)NULL;
888 if (is_regcopy(myregs, nofregs, cl->y_u.xu.x)) {
889 clause->Tag = AbsAppl((CELL *)FunctorString);
890 clause->ucd.t_ptr = (CELL)NULL;
896 if (!(nofregs = link_regcopies(myregs, nofregs, cl->y_u.xx.xl, cl->y_u.xx.xr))) {
897 clause->Tag = (CELL)NULL;
903 if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.xx.xr, cl->y_u.xx.xl))) {
904 clause->Tag = (CELL)NULL;
910 if (is_regcopy(myregs, nofregs, cl->y_u.xx.xl)) {
911 clause->Tag = AbsPair(NULL);
912 clause->ucd.WorkPC = cl;
918 if (is_regcopy(myregs, nofregs, cl->y_u.xx.xl)) {
919 clause->Tag = AbsPair(NULL);
920 clause->ucd.WorkPC = cl;
923 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xx.xr))) {
924 clause->Tag = (CELL)NULL;
930 if (is_regcopy(myregs, nofregs, cl->y_u.xx.xl)) {
931 clause->Tag = AbsPair(NULL);
932 clause->ucd.WorkPC = cl;
938 if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.xx.xl, cl->y_u.xx.xr))) {
939 clause->Tag = (CELL)NULL;
945 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xx.xl))) {
946 clause->Tag = (CELL)NULL;
949 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xx.xr))) {
950 clause->Tag = (CELL)NULL;
956 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxc.x))) {
957 clause->Tag = (CELL)NULL;
963 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
964 clause->Tag = (CELL)NULL;
970 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
971 clause->Tag = (CELL)NULL;
977 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
978 clause->Tag = (CELL)NULL;
984 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
985 clause->Tag = (CELL)NULL;
991 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
992 clause->Tag = (CELL)NULL;
998 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
999 clause->Tag = (CELL)NULL;
1002 cl = NEXTOP(cl,xxn);
1005 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
1006 clause->Tag = (CELL)NULL;
1009 cl = NEXTOP(cl,xxn);
1012 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
1013 clause->Tag = (CELL)NULL;
1016 cl = NEXTOP(cl,xxn);
1019 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
1020 clause->Tag = (CELL)NULL;
1023 cl = NEXTOP(cl,xxn);
1026 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
1027 clause->Tag = (CELL)NULL;
1030 cl = NEXTOP(cl,xxn);
1033 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
1034 clause->Tag = (CELL)NULL;
1037 cl = NEXTOP(cl,xxn);
1040 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxn.x))) {
1041 clause->Tag = (CELL)NULL;
1044 cl = NEXTOP(cl,xxn);
1047 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1048 clause->Tag = (CELL)NULL;
1051 cl = NEXTOP(cl,xxx);
1054 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1055 clause->Tag = (CELL)NULL;
1058 cl = NEXTOP(cl,xxx);
1061 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1062 clause->Tag = (CELL)NULL;
1065 cl = NEXTOP(cl,xxx);
1068 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1069 clause->Tag = (CELL)NULL;
1072 cl = NEXTOP(cl,xxx);
1075 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1076 clause->Tag = (CELL)NULL;
1079 cl = NEXTOP(cl,xxx);
1082 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1083 clause->Tag = (CELL)NULL;
1086 cl = NEXTOP(cl,xxx);
1089 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1090 clause->Tag = (CELL)NULL;
1093 cl = NEXTOP(cl,xxx);
1096 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1097 clause->Tag = (CELL)NULL;
1100 cl = NEXTOP(cl,xxx);
1103 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1104 clause->Tag = (CELL)NULL;
1107 cl = NEXTOP(cl,xxx);
1110 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1111 clause->Tag = (CELL)NULL;
1114 cl = NEXTOP(cl,xxx);
1117 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxx.x))) {
1118 clause->Tag = (CELL)NULL;
1121 cl = NEXTOP(cl,xxx);
1124 if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.xxxx.xl1, cl->y_u.xxxx.xr1))) {
1125 clause->Tag = (CELL)NULL;
1128 if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.xxxx.xl2, cl->y_u.xxxx.xr2))) {
1129 clause->Tag = (CELL)NULL;
1132 cl = NEXTOP(cl,xxxx);
1135 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.xxy.x))) {
1136 clause->Tag = (CELL)NULL;
1139 cl = NEXTOP(cl,xxy);
1142 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.y.y))) {
1143 clause->Tag = (CELL)NULL;
1155 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.y.y))) {
1156 clause->Tag = (CELL)NULL;
1162 if (cl->y_u.yl.F != FAILCODE) {
1163 clause->Tag = (CELL)NULL;
1166 if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) {
1167 clause->Tag = (_atom+1)*
sizeof(CELL);
1168 clause->ucd.t_ptr = (CELL)NULL;
1174 if (cl->y_u.yl.F != FAILCODE) {
1175 clause->Tag = (CELL)NULL;
1178 if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) {
1179 clause->Tag = (_atomic+1)*
sizeof(CELL);
1180 clause->ucd.t_ptr = (CELL)NULL;
1186 if (cl->y_u.yl.F != FAILCODE) {
1187 clause->Tag = (CELL)NULL;
1190 if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) {
1191 clause->Tag = (_compound+1)*
sizeof(CELL);
1192 clause->ucd.t_ptr = (CELL)NULL;
1198 if (cl->y_u.yl.F != FAILCODE) {
1199 clause->Tag = (CELL)NULL;
1202 if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) {
1203 clause->Tag = AbsAppl((CELL *)FunctorDBRef);
1204 clause->ucd.t_ptr = (CELL)NULL;
1210 if (cl->y_u.yl.F != FAILCODE) {
1211 clause->Tag = (CELL)NULL;
1214 if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) {
1215 clause->Tag = AbsAppl((CELL *)FunctorDouble);
1216 clause->ucd.t_ptr = (CELL)NULL;
1222 if (cl->y_u.yl.F != FAILCODE) {
1223 clause->Tag = (CELL)NULL;
1226 if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) {
1227 clause->Tag = (_integer+1)*
sizeof(CELL);
1228 clause->ucd.t_ptr = (CELL)NULL;
1234 if (cl->y_u.yl.F != FAILCODE) {
1235 clause->Tag = (CELL)NULL;
1241 if (cl->y_u.yl.F != FAILCODE) {
1242 clause->Tag = (CELL)NULL;
1245 if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) {
1246 clause->Tag = (_number+1)*
sizeof(CELL);
1247 clause->ucd.t_ptr = (CELL)NULL;
1252 case _p_primitive_y:
1253 if (cl->y_u.yl.F != FAILCODE) {
1254 clause->Tag = (CELL)NULL;
1257 if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) {
1258 clause->Tag = (_primitive+1)*
sizeof(CELL);
1259 clause->ucd.t_ptr = (CELL)NULL;
1265 if (cl->y_u.yl.F != FAILCODE) {
1266 clause->Tag = (CELL)NULL;
1269 if (is_regcopy(myregs, nofregs, cl->y_u.yl.y)) {
1270 clause->Tag = (_var+1)*
sizeof(CELL);
1271 clause->ucd.t_ptr = (CELL)NULL;
1277 if (!(nofregs = link_regcopies(myregs, nofregs, cl->y_u.yx.x, cl->y_u.yx.y))) {
1278 clause->Tag = (CELL)NULL;
1284 if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.yx.x, cl->y_u.yx.y))) {
1285 clause->Tag = (CELL)NULL;
1291 if (is_regcopy(myregs, nofregs, cl->y_u.yx.y)) {
1292 clause->Tag = AbsPair(NULL);
1293 clause->ucd.WorkPC = cl;
1299 if (is_regcopy(myregs, nofregs, cl->y_u.yx.y)) {
1300 clause->Tag = AbsPair(NULL);
1301 clause->ucd.WorkPC = cl;
1304 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yx.y))) {
1305 clause->Tag = (CELL)NULL;
1311 if (is_regcopy(myregs, nofregs, cl->y_u.yx.x)) {
1312 clause->Tag = AbsPair(NULL);
1313 clause->ucd.WorkPC = cl;
1319 if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.yx.y, cl->y_u.yx.x))) {
1320 clause->Tag = (CELL)NULL;
1326 if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.yx.y, cl->y_u.yx.x))) {
1327 clause->Tag = (CELL)NULL;
1333 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yx.x))) {
1334 clause->Tag = (CELL)NULL;
1337 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yx.y))) {
1338 clause->Tag = (CELL)NULL;
1343 case _p_func2s_y_cv:
1344 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxc.y))) {
1345 clause->Tag = (CELL)NULL;
1348 cl = NEXTOP(cl,yxc);
1351 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1352 clause->Tag = (CELL)NULL;
1355 cl = NEXTOP(cl,yxn);
1358 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1359 clause->Tag = (CELL)NULL;
1362 cl = NEXTOP(cl,yxn);
1365 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1366 clause->Tag = (CELL)NULL;
1369 cl = NEXTOP(cl,yxn);
1372 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1373 clause->Tag = (CELL)NULL;
1376 cl = NEXTOP(cl,yxn);
1378 case _p_func2s_y_vc:
1379 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1380 clause->Tag = (CELL)NULL;
1383 cl = NEXTOP(cl,yxn);
1386 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1387 clause->Tag = (CELL)NULL;
1390 cl = NEXTOP(cl,yxn);
1393 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1394 clause->Tag = (CELL)NULL;
1397 cl = NEXTOP(cl,yxn);
1400 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1401 clause->Tag = (CELL)NULL;
1404 cl = NEXTOP(cl,yxn);
1407 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1408 clause->Tag = (CELL)NULL;
1411 cl = NEXTOP(cl,yxn);
1414 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1415 clause->Tag = (CELL)NULL;
1418 cl = NEXTOP(cl,yxn);
1421 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1422 clause->Tag = (CELL)NULL;
1425 cl = NEXTOP(cl,yxn);
1428 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxn.y))) {
1429 clause->Tag = (CELL)NULL;
1432 cl = NEXTOP(cl,yxn);
1435 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1436 clause->Tag = (CELL)NULL;
1439 cl = NEXTOP(cl,yxx);
1442 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1443 clause->Tag = (CELL)NULL;
1446 cl = NEXTOP(cl,yxx);
1449 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1450 clause->Tag = (CELL)NULL;
1453 cl = NEXTOP(cl,yxx);
1456 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1457 clause->Tag = (CELL)NULL;
1460 cl = NEXTOP(cl,yxx);
1462 case _p_func2s_y_vv:
1463 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1464 clause->Tag = (CELL)NULL;
1467 cl = NEXTOP(cl,yxx);
1470 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1471 clause->Tag = (CELL)NULL;
1474 cl = NEXTOP(cl,yxx);
1477 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1478 clause->Tag = (CELL)NULL;
1481 cl = NEXTOP(cl,yxx);
1484 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1485 clause->Tag = (CELL)NULL;
1488 cl = NEXTOP(cl,yxx);
1491 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1492 clause->Tag = (CELL)NULL;
1495 cl = NEXTOP(cl,yxx);
1498 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1499 clause->Tag = (CELL)NULL;
1502 cl = NEXTOP(cl,yxx);
1505 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yxx.y))) {
1506 clause->Tag = (CELL)NULL;
1509 cl = NEXTOP(cl,yxx);
1512 if (!(nofregs = delete_regcopy(myregs, nofregs, cl->y_u.yyx.x))) {
1513 clause->Tag = (CELL)NULL;
1516 cl = NEXTOP(cl,yyx);
1519 if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.yyxx.x1, cl->y_u.yyxx.y1))) {
1520 clause->Tag = (CELL)NULL;
1523 if (!(nofregs = add_regcopy(myregs, nofregs, cl->y_u.yyxx.x2, cl->y_u.yyxx.y2))) {
1524 clause->Tag = (CELL)NULL;
1527 cl = NEXTOP(cl,yyxx);
1532 case _table_try_single:
1533 cl = NEXTOP(cl,Otapl);
1537 clause->Tag = (CELL)NULL;