Ciao Preprocessor (integrated Alpha version)
| This is an alpha distribution, meant only for testing. Please do let us
| know at ciaopp-bugclip.dia.fi.upm.es any problems you may have.
{Reading /tmp/tmp9XsZR4/der.pl
}
{loaded in 3400.213 msec.}
{preprocessed for plai in 0.0 msec.}
{analyzed by plai using det with local-control off in 1252.079 msec.}
{written file /tmp/tmp9XsZR4/der_det_co.pl}
:- module(_1,[der/2],[assertions]).
:- entry der(A,B)
: ground(A).
:- true pred der(A,B)
: ( native_props:mshare([[B]]), ground([A]), gnd(A), term(B) )
=> ( ground([A,B]), rt484(A), rt109(B) )
+ ( is_det, mut_exclusive ).
:- true pred der(d(e(_1)),B)
: ( native_props:mshare([[B]]), ground([_1]), term(B), rt319(_1) )
=> ( ground([B,_1]), rt427(B), rt442(_1) )
+ ( is_det, mut_exclusive ).
:- true pred der(d(e(_1)),B)
: ( native_props:mshare([[B]]), ground([_1]), term(B), gnd(_1) )
=> ( ground([B,_1]), rt37(B), rt32(_1) )
+ ( is_det, mut_exclusive ).
:- true pred der(d(_1),B)
: ( native_props:mshare([[B]]), var(B), ground([_1]), term(B), gnd(_1) )
=> ( ground([B,_1]), rt253(B), rt296(_1) )
+ ( is_det, mut_exclusive ).
:- true pred der(d(e(_1)),B)
: ( native_props:mshare([[B]]), var(B), ground([_1]), term(B), rt154(_1) )
=> ( ground([B,_1]), rt292(B), rt293(_1) )
+ ( is_det, mut_exclusive ).
:- true pred der(d(e(_1)),B)
: ( native_props:mshare([[B]]), var(B), ground([_1]), term(B), rt156(_1) )
=> ( ground([B,_1]), rt185(B), rt180(_1) )
+ ( is_det, mut_exclusive ).
der(d(e(t)),const(1)).
der(d(e(const(A))),const(0)).
der(d(e(X+Y)),DX+DY) :-
der(d(e(X)),DX),
der(d(e(Y)),DY).
der(d(e(X*Y)),X*DY+Y*DX) :-
der(d(e(X)),DX),
der(d(e(Y)),DY).
der(d(d(X)),DDX) :-
der(d(X),DX),
der(d(e(DX)),DDX).
:- regtype rt487/1.
rt487(d(A)) :-
rt487(A).
rt487(e(A)) :-
rt488(A).
:- regtype rt500/1.
rt500(t).
rt500(const(A)) :-
gnd(A).
rt500(A*B) :-
rt500(A),
rt499(B).
rt500(A+B) :-
rt504(A),
rt501(B).
:- regtype rt499/1.
rt499(t).
rt499(const(A)) :-
gnd(A).
rt499(A*B) :-
rt500(A),
rt499(B).
rt499(A+B) :-
rt504(A),
rt501(B).
:- regtype rt506/1.
rt506(t).
rt506(const(A)) :-
gnd(A).
rt506(A*B) :-
rt500(A),
rt499(B).
rt506(A+B) :-
rt504(A),
rt501(B).
:- regtype rt505/1.
rt505(t).
rt505(const(A)) :-
gnd(A).
rt505(A*B) :-
rt500(A),
rt499(B).
rt505(A+B) :-
rt504(A),
rt501(B).
:- regtype rt504/1.
rt504(t).
rt504(const(A)) :-
gnd(A).
rt504(A*B) :-
rt506(A),
rt505(B).
rt504(A+B) :-
rt504(A),
rt501(B).
:- regtype rt503/1.
rt503(t).
rt503(const(A)) :-
gnd(A).
rt503(A*B) :-
rt500(A),
rt499(B).
rt503(A+B) :-
rt504(A),
rt501(B).
:- regtype rt502/1.
rt502(t).
rt502(const(A)) :-
gnd(A).
rt502(A*B) :-
rt500(A),
rt499(B).
rt502(A+B) :-
rt504(A),
rt501(B).
:- regtype rt501/1.
rt501(t).
rt501(const(A)) :-
gnd(A).
rt501(A*B) :-
rt503(A),
rt502(B).
rt501(A+B) :-
rt504(A),
rt501(B).
:- regtype rt498/1.
rt498(t).
rt498(const(A)) :-
gnd(A).
rt498(A*B) :-
rt500(A),
rt499(B).
rt498(A+B) :-
rt504(A),
rt501(B).
:- regtype rt491/1.
rt491(t).
rt491(const(A)) :-
gnd(A).
rt491(A*B) :-
rt491(A),
rt490(B).
rt491(A+B) :-
rt495(A),
rt492(B).
:- regtype rt490/1.
rt490(t).
rt490(const(A)) :-
gnd(A).
rt490(A*B) :-
rt491(A),
rt490(B).
rt490(A+B) :-
rt495(A),
rt492(B).
:- regtype rt497/1.
rt497(t).
rt497(const(A)) :-
gnd(A).
rt497(A*B) :-
rt491(A),
rt490(B).
rt497(A+B) :-
rt495(A),
rt492(B).
:- regtype rt496/1.
rt496(t).
rt496(const(A)) :-
gnd(A).
rt496(A*B) :-
rt491(A),
rt490(B).
rt496(A+B) :-
rt495(A),
rt492(B).
:- regtype rt495/1.
rt495(t).
rt495(const(A)) :-
gnd(A).
rt495(A*B) :-
rt497(A),
rt496(B).
rt495(A+B) :-
rt495(A),
rt492(B).
:- regtype rt494/1.
rt494(t).
rt494(const(A)) :-
gnd(A).
rt494(A*B) :-
rt491(A),
rt490(B).
rt494(A+B) :-
rt495(A),
rt492(B).
:- regtype rt493/1.
rt493(t).
rt493(const(A)) :-
gnd(A).
rt493(A*B) :-
rt491(A),
rt490(B).
rt493(A+B) :-
rt495(A),
rt492(B).
:- regtype rt492/1.
rt492(t).
rt492(const(A)) :-
gnd(A).
rt492(A*B) :-
rt494(A),
rt493(B).
rt492(A+B) :-
rt495(A),
rt492(B).
:- regtype rt489/1.
rt489(t).
rt489(const(A)) :-
gnd(A).
rt489(A*B) :-
rt491(A),
rt490(B).
rt489(A+B) :-
rt495(A),
rt492(B).
:- regtype rt518/1.
rt518(t).
rt518(const(A)) :-
gnd(A).
rt518(A*B) :-
rt518(A),
rt517(B).
rt518(A+B) :-
rt522(A),
rt519(B).
:- regtype rt517/1.
rt517(t).
rt517(const(A)) :-
gnd(A).
rt517(A*B) :-
rt518(A),
rt517(B).
rt517(A+B) :-
rt522(A),
rt519(B).
:- regtype rt524/1.
rt524(t).
rt524(const(A)) :-
gnd(A).
rt524(A*B) :-
rt518(A),
rt517(B).
rt524(A+B) :-
rt522(A),
rt519(B).
:- regtype rt523/1.
rt523(t).
rt523(const(A)) :-
gnd(A).
rt523(A*B) :-
rt518(A),
rt517(B).
rt523(A+B) :-
rt522(A),
rt519(B).
:- regtype rt522/1.
rt522(t).
rt522(const(A)) :-
gnd(A).
rt522(A*B) :-
rt524(A),
rt523(B).
rt522(A+B) :-
rt522(A),
rt519(B).
:- regtype rt521/1.
rt521(t).
rt521(const(A)) :-
gnd(A).
rt521(A*B) :-
rt518(A),
rt517(B).
rt521(A+B) :-
rt522(A),
rt519(B).
:- regtype rt520/1.
rt520(t).
rt520(const(A)) :-
gnd(A).
rt520(A*B) :-
rt518(A),
rt517(B).
rt520(A+B) :-
rt522(A),
rt519(B).
:- regtype rt519/1.
rt519(t).
rt519(const(A)) :-
gnd(A).
rt519(A*B) :-
rt521(A),
rt520(B).
rt519(A+B) :-
rt522(A),
rt519(B).
:- regtype rt516/1.
rt516(t).
rt516(const(A)) :-
gnd(A).
rt516(A*B) :-
rt518(A),
rt517(B).
rt516(A+B) :-
rt522(A),
rt519(B).
:- regtype rt509/1.
rt509(t).
rt509(const(A)) :-
gnd(A).
rt509(A*B) :-
rt509(A),
rt508(B).
rt509(A+B) :-
rt513(A),
rt510(B).
:- regtype rt508/1.
rt508(t).
rt508(const(A)) :-
gnd(A).
rt508(A*B) :-
rt509(A),
rt508(B).
rt508(A+B) :-
rt513(A),
rt510(B).
:- regtype rt515/1.
rt515(t).
rt515(const(A)) :-
gnd(A).
rt515(A*B) :-
rt509(A),
rt508(B).
rt515(A+B) :-
rt513(A),
rt510(B).
:- regtype rt514/1.
rt514(t).
rt514(const(A)) :-
gnd(A).
rt514(A*B) :-
rt509(A),
rt508(B).
rt514(A+B) :-
rt513(A),
rt510(B).
:- regtype rt513/1.
rt513(t).
rt513(const(A)) :-
gnd(A).
rt513(A*B) :-
rt515(A),
rt514(B).
rt513(A+B) :-
rt513(A),
rt510(B).
:- regtype rt512/1.
rt512(t).
rt512(const(A)) :-
gnd(A).
rt512(A*B) :-
rt509(A),
rt508(B).
rt512(A+B) :-
rt513(A),
rt510(B).
:- regtype rt511/1.
rt511(t).
rt511(const(A)) :-
gnd(A).
rt511(A*B) :-
rt509(A),
rt508(B).
rt511(A+B) :-
rt513(A),
rt510(B).
:- regtype rt510/1.
rt510(t).
rt510(const(A)) :-
gnd(A).
rt510(A*B) :-
rt512(A),
rt511(B).
rt510(A+B) :-
rt513(A),
rt510(B).
:- regtype rt507/1.
rt507(t).
rt507(const(A)) :-
gnd(A).
rt507(A*B) :-
rt509(A),
rt508(B).
rt507(A+B) :-
rt513(A),
rt510(B).
:- regtype rt488/1.
rt488(t).
rt488(const(A)) :-
gnd(A).
rt488(A*B) :-
rt498(A),
rt489(B).
rt488(A+B) :-
rt516(A),
rt507(B).
:- regtype rt486/1.
rt486(d(A)) :-
rt487(A).
rt486(e(A)) :-
rt488(A).
:- regtype rt537/1.
rt537(t).
rt537(const(A)) :-
gnd(A).
rt537(A*B) :-
rt96(A),
rt95(B).
rt537(A+B) :-
rt98(A),
rt97(B).
:- regtype rt536/1.
rt536(t).
rt536(const(A)) :-
gnd(A).
rt536(A*B) :-
rt96(A),
rt95(B).
rt536(A+B) :-
rt98(A),
rt97(B).
:- regtype rt543/1.
rt543(t).
rt543(const(A)) :-
gnd(A).
rt543(A*B) :-
rt96(A),
rt95(B).
rt543(A+B) :-
rt98(A),
rt97(B).
:- regtype rt542/1.
rt542(t).
rt542(const(A)) :-
gnd(A).
rt542(A*B) :-
rt96(A),
rt95(B).
rt542(A+B) :-
rt98(A),
rt97(B).
:- regtype rt541/1.
rt541(t).
rt541(const(A)) :-
gnd(A).
rt541(A*B) :-
rt543(A),
rt542(B).
rt541(A+B) :-
rt98(A),
rt97(B).
:- regtype rt540/1.
rt540(t).
rt540(const(A)) :-
gnd(A).
rt540(A*B) :-
rt96(A),
rt95(B).
rt540(A+B) :-
rt98(A),
rt97(B).
:- regtype rt539/1.
rt539(t).
rt539(const(A)) :-
gnd(A).
rt539(A*B) :-
rt96(A),
rt95(B).
rt539(A+B) :-
rt98(A),
rt97(B).
:- regtype rt98/1.
rt98(t).
rt98(const(A)) :-
gnd(A).
rt98(A*B) :-
rt96(A),
rt95(B).
rt98(A+B) :-
rt98(A),
rt97(B).
:- regtype rt96/1.
rt96(t).
rt96(const(A)) :-
gnd(A).
rt96(A*B) :-
rt96(A),
rt95(B).
rt96(A+B) :-
rt98(A),
rt97(B).
:- regtype rt95/1.
rt95(t).
rt95(const(A)) :-
gnd(A).
rt95(A*B) :-
rt96(A),
rt95(B).
rt95(A+B) :-
rt98(A),
rt97(B).
:- regtype rt97/1.
rt97(t).
rt97(const(A)) :-
gnd(A).
rt97(A*B) :-
rt96(A),
rt95(B).
rt97(A+B) :-
rt98(A),
rt97(B).
:- regtype rt538/1.
rt538(t).
rt538(const(A)) :-
gnd(A).
rt538(A*B) :-
rt540(A),
rt539(B).
rt538(A+B) :-
rt98(A),
rt97(B).
:- regtype rt535/1.
rt535(t).
rt535(const(A)) :-
gnd(A).
rt535(A*B) :-
rt537(A),
rt536(B).
rt535(A+B) :-
rt541(A),
rt538(B).
:- regtype rt528/1.
rt528(t).
rt528(const(A)) :-
gnd(A).
rt528(A*B) :-
rt91(A),
rt90(B).
rt528(A+B) :-
rt93(A),
rt92(B).
:- regtype rt527/1.
rt527(t).
rt527(const(A)) :-
gnd(A).
rt527(A*B) :-
rt91(A),
rt90(B).
rt527(A+B) :-
rt93(A),
rt92(B).
:- regtype rt534/1.
rt534(t).
rt534(const(A)) :-
gnd(A).
rt534(A*B) :-
rt91(A),
rt90(B).
rt534(A+B) :-
rt93(A),
rt92(B).
:- regtype rt533/1.
rt533(t).
rt533(const(A)) :-
gnd(A).
rt533(A*B) :-
rt91(A),
rt90(B).
rt533(A+B) :-
rt93(A),
rt92(B).
:- regtype rt532/1.
rt532(t).
rt532(const(A)) :-
gnd(A).
rt532(A*B) :-
rt534(A),
rt533(B).
rt532(A+B) :-
rt93(A),
rt92(B).
:- regtype rt531/1.
rt531(t).
rt531(const(A)) :-
gnd(A).
rt531(A*B) :-
rt91(A),
rt90(B).
rt531(A+B) :-
rt93(A),
rt92(B).
:- regtype rt530/1.
rt530(t).
rt530(const(A)) :-
gnd(A).
rt530(A*B) :-
rt91(A),
rt90(B).
rt530(A+B) :-
rt93(A),
rt92(B).
:- regtype rt93/1.
rt93(t).
rt93(const(A)) :-
gnd(A).
rt93(A*B) :-
rt91(A),
rt90(B).
rt93(A+B) :-
rt93(A),
rt92(B).
:- regtype rt91/1.
rt91(t).
rt91(const(A)) :-
gnd(A).
rt91(A*B) :-
rt91(A),
rt90(B).
rt91(A+B) :-
rt93(A),
rt92(B).
:- regtype rt90/1.
rt90(t).
rt90(const(A)) :-
gnd(A).
rt90(A*B) :-
rt91(A),
rt90(B).
rt90(A+B) :-
rt93(A),
rt92(B).
:- regtype rt92/1.
rt92(t).
rt92(const(A)) :-
gnd(A).
rt92(A*B) :-
rt91(A),
rt90(B).
rt92(A+B) :-
rt93(A),
rt92(B).
:- regtype rt529/1.
rt529(t).
rt529(const(A)) :-
gnd(A).
rt529(A*B) :-
rt531(A),
rt530(B).
rt529(A+B) :-
rt93(A),
rt92(B).
:- regtype rt526/1.
rt526(t).
rt526(const(A)) :-
gnd(A).
rt526(A*B) :-
rt528(A),
rt527(B).
rt526(A+B) :-
rt532(A),
rt529(B).
:- regtype rt555/1.
rt555(t).
rt555(const(A)) :-
gnd(A).
rt555(A*B) :-
rt60(A),
rt59(B).
rt555(A+B) :-
rt62(A),
rt61(B).
:- regtype rt554/1.
rt554(t).
rt554(const(A)) :-
gnd(A).
rt554(A*B) :-
rt60(A),
rt59(B).
rt554(A+B) :-
rt62(A),
rt61(B).
:- regtype rt561/1.
rt561(t).
rt561(const(A)) :-
gnd(A).
rt561(A*B) :-
rt60(A),
rt59(B).
rt561(A+B) :-
rt62(A),
rt61(B).
:- regtype rt560/1.
rt560(t).
rt560(const(A)) :-
gnd(A).
rt560(A*B) :-
rt60(A),
rt59(B).
rt560(A+B) :-
rt62(A),
rt61(B).
:- regtype rt559/1.
rt559(t).
rt559(const(A)) :-
gnd(A).
rt559(A*B) :-
rt561(A),
rt560(B).
rt559(A+B) :-
rt62(A),
rt61(B).
:- regtype rt558/1.
rt558(t).
rt558(const(A)) :-
gnd(A).
rt558(A*B) :-
rt60(A),
rt59(B).
rt558(A+B) :-
rt62(A),
rt61(B).
:- regtype rt557/1.
rt557(t).
rt557(const(A)) :-
gnd(A).
rt557(A*B) :-
rt60(A),
rt59(B).
rt557(A+B) :-
rt62(A),
rt61(B).
:- regtype rt62/1.
rt62(t).
rt62(const(A)) :-
gnd(A).
rt62(A*B) :-
rt60(A),
rt59(B).
rt62(A+B) :-
rt62(A),
rt61(B).
:- regtype rt60/1.
rt60(t).
rt60(const(A)) :-
gnd(A).
rt60(A*B) :-
rt60(A),
rt59(B).
rt60(A+B) :-
rt62(A),
rt61(B).
:- regtype rt59/1.
rt59(t).
rt59(const(A)) :-
gnd(A).
rt59(A*B) :-
rt60(A),
rt59(B).
rt59(A+B) :-
rt62(A),
rt61(B).
:- regtype rt61/1.
rt61(t).
rt61(const(A)) :-
gnd(A).
rt61(A*B) :-
rt60(A),
rt59(B).
rt61(A+B) :-
rt62(A),
rt61(B).
:- regtype rt556/1.
rt556(t).
rt556(const(A)) :-
gnd(A).
rt556(A*B) :-
rt558(A),
rt557(B).
rt556(A+B) :-
rt62(A),
rt61(B).
:- regtype rt553/1.
rt553(t).
rt553(const(A)) :-
gnd(A).
rt553(A*B) :-
rt555(A),
rt554(B).
rt553(A+B) :-
rt559(A),
rt556(B).
:- regtype rt546/1.
rt546(t).
rt546(const(A)) :-
gnd(A).
rt546(A*B) :-
rt55(A),
rt54(B).
rt546(A+B) :-
rt57(A),
rt56(B).
:- regtype rt545/1.
rt545(t).
rt545(const(A)) :-
gnd(A).
rt545(A*B) :-
rt55(A),
rt54(B).
rt545(A+B) :-
rt57(A),
rt56(B).
:- regtype rt552/1.
rt552(t).
rt552(const(A)) :-
gnd(A).
rt552(A*B) :-
rt55(A),
rt54(B).
rt552(A+B) :-
rt57(A),
rt56(B).
:- regtype rt551/1.
rt551(t).
rt551(const(A)) :-
gnd(A).
rt551(A*B) :-
rt55(A),
rt54(B).
rt551(A+B) :-
rt57(A),
rt56(B).
:- regtype rt550/1.
rt550(t).
rt550(const(A)) :-
gnd(A).
rt550(A*B) :-
rt552(A),
rt551(B).
rt550(A+B) :-
rt57(A),
rt56(B).
:- regtype rt549/1.
rt549(t).
rt549(const(A)) :-
gnd(A).
rt549(A*B) :-
rt55(A),
rt54(B).
rt549(A+B) :-
rt57(A),
rt56(B).
:- regtype rt548/1.
rt548(t).
rt548(const(A)) :-
gnd(A).
rt548(A*B) :-
rt55(A),
rt54(B).
rt548(A+B) :-
rt57(A),
rt56(B).
:- regtype rt57/1.
rt57(t).
rt57(const(A)) :-
gnd(A).
rt57(A*B) :-
rt55(A),
rt54(B).
rt57(A+B) :-
rt57(A),
rt56(B).
:- regtype rt55/1.
rt55(t).
rt55(const(A)) :-
gnd(A).
rt55(A*B) :-
rt55(A),
rt54(B).
rt55(A+B) :-
rt57(A),
rt56(B).
:- regtype rt54/1.
rt54(t).
rt54(const(A)) :-
gnd(A).
rt54(A*B) :-
rt55(A),
rt54(B).
rt54(A+B) :-
rt57(A),
rt56(B).
:- regtype rt56/1.
rt56(t).
rt56(const(A)) :-
gnd(A).
rt56(A*B) :-
rt55(A),
rt54(B).
rt56(A+B) :-
rt57(A),
rt56(B).
:- regtype rt547/1.
rt547(t).
rt547(const(A)) :-
gnd(A).
rt547(A*B) :-
rt549(A),
rt548(B).
rt547(A+B) :-
rt57(A),
rt56(B).
:- regtype rt544/1.
rt544(t).
rt544(const(A)) :-
gnd(A).
rt544(A*B) :-
rt546(A),
rt545(B).
rt544(A+B) :-
rt550(A),
rt547(B).
:- regtype rt525/1.
rt525(t).
rt525(const(A)) :-
gnd(A).
rt525(A*B) :-
rt535(A),
rt526(B).
rt525(A+B) :-
rt553(A),
rt544(B).
:- regtype rt485/1.
rt485(d(A)) :-
rt486(A).
rt485(e(A)) :-
rt525(A).
:- regtype rt484/1.
rt484(d(A)) :-
rt485(A).
:- regtype rt8/1.
rt8(0).
rt8(1).
:- regtype rt139/1.
rt139(t).
rt139(const(A)) :-
gnd(A).
rt139(A*B) :-
rt34(A),
rt33(B).
rt139(A+B) :-
rt36(A),
rt35(B).
:- regtype rt138/1.
rt138(t).
rt138(const(A)) :-
gnd(A).
rt138(A*B) :-
rt34(A),
rt33(B).
rt138(A+B) :-
rt36(A),
rt35(B).
:- regtype rt141/1.
rt141(t).
rt141(const(A)) :-
gnd(A).
rt141(A*B) :-
rt34(A),
rt33(B).
rt141(A+B) :-
rt36(A),
rt35(B).
:- regtype rt140/1.
rt140(t).
rt140(const(A)) :-
gnd(A).
rt140(A*B) :-
rt34(A),
rt33(B).
rt140(A+B) :-
rt36(A),
rt35(B).
:- regtype rt137/1.
rt137(t).
rt137(const(A)) :-
gnd(A).
rt137(A*B) :-
rt139(A),
rt138(B).
rt137(A+B) :-
rt141(A),
rt140(B).
:- regtype rt135/1.
rt135(const(A)) :-
rt15(A).
rt135(A*B) :-
rt137(A),
rt130(B).
rt135(A+B) :-
rt145(A),
rt142(B).
:- regtype rt134/1.
rt134(const(A)) :-
rt15(A).
rt134(A*B) :-
rt137(A),
rt135(B).
rt134(A+B) :-
rt145(A),
rt142(B).
:- regtype rt132/1.
rt132(const(A)) :-
rt15(A).
rt132(A*B) :-
rt137(A),
rt130(B).
rt132(A+B) :-
rt145(A),
rt142(B).
:- regtype rt131/1.
rt131(const(A)) :-
rt15(A).
rt131(A*B) :-
rt137(A),
rt132(B).
rt131(A+B) :-
rt145(A),
rt142(B).
:- regtype rt130/1.
rt130(const(A)) :-
rt15(A).
rt130(A+B) :-
rt134(A),
rt131(B).
:- regtype rt146/1.
rt146(const(A)) :-
rt15(A).
rt146(A*B) :-
rt137(A),
rt130(B).
rt146(A+B) :-
rt145(A),
rt142(B).
:- regtype rt145/1.
rt145(const(A)) :-
rt15(A).
rt145(A*B) :-
rt137(A),
rt146(B).
rt145(A+B) :-
rt145(A),
rt142(B).
:- regtype rt143/1.
rt143(const(A)) :-
rt15(A).
rt143(A*B) :-
rt137(A),
rt130(B).
rt143(A+B) :-
rt145(A),
rt142(B).
:- regtype rt142/1.
rt142(const(A)) :-
rt15(A).
rt142(A*B) :-
rt137(A),
rt143(B).
rt142(A+B) :-
rt145(A),
rt142(B).
:- regtype rt129/1.
rt129(const(A)) :-
rt15(A).
rt129(A*B) :-
rt137(A),
rt130(B).
rt129(A+B) :-
rt145(A),
rt142(B).
:- regtype rt120/1.
rt120(t).
rt120(const(A)) :-
gnd(A).
rt120(A*B) :-
rt34(A),
rt33(B).
rt120(A+B) :-
rt36(A),
rt35(B).
:- regtype rt119/1.
rt119(t).
rt119(const(A)) :-
gnd(A).
rt119(A*B) :-
rt34(A),
rt33(B).
rt119(A+B) :-
rt36(A),
rt35(B).
:- regtype rt122/1.
rt122(t).
rt122(const(A)) :-
gnd(A).
rt122(A*B) :-
rt34(A),
rt33(B).
rt122(A+B) :-
rt36(A),
rt35(B).
:- regtype rt121/1.
rt121(t).
rt121(const(A)) :-
gnd(A).
rt121(A*B) :-
rt34(A),
rt33(B).
rt121(A+B) :-
rt36(A),
rt35(B).
:- regtype rt118/1.
rt118(t).
rt118(const(A)) :-
gnd(A).
rt118(A*B) :-
rt120(A),
rt119(B).
rt118(A+B) :-
rt122(A),
rt121(B).
:- regtype rt116/1.
rt116(const(A)) :-
rt15(A).
rt116(A*B) :-
rt118(A),
rt111(B).
rt116(A+B) :-
rt126(A),
rt123(B).
:- regtype rt115/1.
rt115(const(A)) :-
rt15(A).
rt115(A*B) :-
rt118(A),
rt116(B).
rt115(A+B) :-
rt126(A),
rt123(B).
:- regtype rt113/1.
rt113(const(A)) :-
rt15(A).
rt113(A*B) :-
rt118(A),
rt111(B).
rt113(A+B) :-
rt126(A),
rt123(B).
:- regtype rt112/1.
rt112(const(A)) :-
rt15(A).
rt112(A*B) :-
rt118(A),
rt113(B).
rt112(A+B) :-
rt126(A),
rt123(B).
:- regtype rt111/1.
rt111(const(A)) :-
rt15(A).
rt111(A+B) :-
rt115(A),
rt112(B).
:- regtype rt127/1.
rt127(const(A)) :-
rt15(A).
rt127(A*B) :-
rt118(A),
rt111(B).
rt127(A+B) :-
rt126(A),
rt123(B).
:- regtype rt126/1.
rt126(const(A)) :-
rt15(A).
rt126(A*B) :-
rt118(A),
rt127(B).
rt126(A+B) :-
rt126(A),
rt123(B).
:- regtype rt124/1.
rt124(const(A)) :-
rt15(A).
rt124(A*B) :-
rt118(A),
rt111(B).
rt124(A+B) :-
rt126(A),
rt123(B).
:- regtype rt123/1.
rt123(const(A)) :-
rt15(A).
rt123(A*B) :-
rt118(A),
rt124(B).
rt123(A+B) :-
rt126(A),
rt123(B).
:- regtype rt110/1.
rt110(const(A)) :-
rt15(A).
rt110(A*B) :-
rt118(A),
rt111(B).
rt110(A+B) :-
rt126(A),
rt123(B).
:- regtype rt109/1.
rt109(const(A)) :-
rt8(A).
rt109(A+B) :-
rt129(A),
rt110(B).
:- regtype rt383/1.
rt383(t).
rt383(const(A)) :-
gnd(A).
rt383(A*B) :-
rt383(A),
rt382(B).
rt383(A+B) :-
rt385(A),
rt384(B).
:- regtype rt382/1.
rt382(t).
rt382(const(A)) :-
gnd(A).
rt382(A*B) :-
rt383(A),
rt382(B).
rt382(A+B) :-
rt385(A),
rt384(B).
:- regtype rt385/1.
rt385(t).
rt385(const(A)) :-
gnd(A).
rt385(A*B) :-
rt383(A),
rt382(B).
rt385(A+B) :-
rt385(A),
rt384(B).
:- regtype rt384/1.
rt384(t).
rt384(const(A)) :-
gnd(A).
rt384(A*B) :-
rt383(A),
rt382(B).
rt384(A+B) :-
rt385(A),
rt384(B).
:- regtype rt381/1.
rt381(t).
rt381(const(A)) :-
gnd(A).
rt381(A*B) :-
rt383(A),
rt382(B).
rt381(A+B) :-
rt385(A),
rt384(B).
:- regtype rt361/1.
rt361(const(A)) :-
rt163(A).
rt361(A*B) :-
rt381(A),
rt361(B).
rt361(A+B) :-
rt393(A),
rt386(B).
:- regtype rt397/1.
rt397(t).
rt397(const(A)) :-
gnd(A).
rt397(A*B) :-
rt397(A),
rt396(B).
rt397(A+B) :-
rt399(A),
rt398(B).
:- regtype rt396/1.
rt396(t).
rt396(const(A)) :-
gnd(A).
rt396(A*B) :-
rt397(A),
rt396(B).
rt396(A+B) :-
rt399(A),
rt398(B).
:- regtype rt399/1.
rt399(t).
rt399(const(A)) :-
gnd(A).
rt399(A*B) :-
rt397(A),
rt396(B).
rt399(A+B) :-
rt399(A),
rt398(B).
:- regtype rt398/1.
rt398(t).
rt398(const(A)) :-
gnd(A).
rt398(A*B) :-
rt397(A),
rt396(B).
rt398(A+B) :-
rt399(A),
rt398(B).
:- regtype rt395/1.
rt395(t).
rt395(const(A)) :-
gnd(A).
rt395(A*B) :-
rt397(A),
rt396(B).
rt395(A+B) :-
rt399(A),
rt398(B).
:- regtype rt394/1.
rt394(const(A)) :-
rt163(A).
rt394(A*B) :-
rt381(A),
rt361(B).
rt394(A+B) :-
rt393(A),
rt386(B).
:- regtype rt393/1.
rt393(const(A)) :-
rt163(A).
rt393(A*B) :-
rt395(A),
rt394(B).
rt393(A+B) :-
rt393(A),
rt386(B).
:- regtype rt390/1.
rt390(t).
rt390(const(A)) :-
gnd(A).
rt390(A*B) :-
rt390(A),
rt389(B).
rt390(A+B) :-
rt392(A),
rt391(B).
:- regtype rt389/1.
rt389(t).
rt389(const(A)) :-
gnd(A).
rt389(A*B) :-
rt390(A),
rt389(B).
rt389(A+B) :-
rt392(A),
rt391(B).
:- regtype rt392/1.
rt392(t).
rt392(const(A)) :-
gnd(A).
rt392(A*B) :-
rt390(A),
rt389(B).
rt392(A+B) :-
rt392(A),
rt391(B).
:- regtype rt391/1.
rt391(t).
rt391(const(A)) :-
gnd(A).
rt391(A*B) :-
rt390(A),
rt389(B).
rt391(A+B) :-
rt392(A),
rt391(B).
:- regtype rt388/1.
rt388(t).
rt388(const(A)) :-
gnd(A).
rt388(A*B) :-
rt390(A),
rt389(B).
rt388(A+B) :-
rt392(A),
rt391(B).
:- regtype rt387/1.
rt387(const(A)) :-
rt163(A).
rt387(A*B) :-
rt381(A),
rt361(B).
rt387(A+B) :-
rt393(A),
rt386(B).
:- regtype rt386/1.
rt386(const(A)) :-
rt163(A).
rt386(A*B) :-
rt388(A),
rt387(B).
rt386(A+B) :-
rt393(A),
rt386(B).
:- regtype rt360/1.
rt360(const(A)) :-
rt163(A).
rt360(A*B) :-
rt381(A),
rt361(B).
rt360(A+B) :-
rt393(A),
rt386(B).
:- regtype rt343/1.
rt343(t).
rt343(const(A)) :-
gnd(A).
rt343(A*B) :-
rt343(A),
rt342(B).
rt343(A+B) :-
rt345(A),
rt344(B).
:- regtype rt342/1.
rt342(t).
rt342(const(A)) :-
gnd(A).
rt342(A*B) :-
rt343(A),
rt342(B).
rt342(A+B) :-
rt345(A),
rt344(B).
:- regtype rt345/1.
rt345(t).
rt345(const(A)) :-
gnd(A).
rt345(A*B) :-
rt343(A),
rt342(B).
rt345(A+B) :-
rt345(A),
rt344(B).
:- regtype rt344/1.
rt344(t).
rt344(const(A)) :-
gnd(A).
rt344(A*B) :-
rt343(A),
rt342(B).
rt344(A+B) :-
rt345(A),
rt344(B).
:- regtype rt341/1.
rt341(t).
rt341(const(A)) :-
gnd(A).
rt341(A*B) :-
rt343(A),
rt342(B).
rt341(A+B) :-
rt345(A),
rt344(B).
:- regtype rt321/1.
rt321(const(A)) :-
rt163(A).
rt321(A*B) :-
rt341(A),
rt321(B).
rt321(A+B) :-
rt353(A),
rt346(B).
:- regtype rt357/1.
rt357(t).
rt357(const(A)) :-
gnd(A).
rt357(A*B) :-
rt357(A),
rt356(B).
rt357(A+B) :-
rt359(A),
rt358(B).
:- regtype rt356/1.
rt356(t).
rt356(const(A)) :-
gnd(A).
rt356(A*B) :-
rt357(A),
rt356(B).
rt356(A+B) :-
rt359(A),
rt358(B).
:- regtype rt359/1.
rt359(t).
rt359(const(A)) :-
gnd(A).
rt359(A*B) :-
rt357(A),
rt356(B).
rt359(A+B) :-
rt359(A),
rt358(B).
:- regtype rt358/1.
rt358(t).
rt358(const(A)) :-
gnd(A).
rt358(A*B) :-
rt357(A),
rt356(B).
rt358(A+B) :-
rt359(A),
rt358(B).
:- regtype rt355/1.
rt355(t).
rt355(const(A)) :-
gnd(A).
rt355(A*B) :-
rt357(A),
rt356(B).
rt355(A+B) :-
rt359(A),
rt358(B).
:- regtype rt354/1.
rt354(const(A)) :-
rt163(A).
rt354(A*B) :-
rt341(A),
rt321(B).
rt354(A+B) :-
rt353(A),
rt346(B).
:- regtype rt353/1.
rt353(const(A)) :-
rt163(A).
rt353(A*B) :-
rt355(A),
rt354(B).
rt353(A+B) :-
rt353(A),
rt346(B).
:- regtype rt350/1.
rt350(t).
rt350(const(A)) :-
gnd(A).
rt350(A*B) :-
rt350(A),
rt349(B).
rt350(A+B) :-
rt352(A),
rt351(B).
:- regtype rt349/1.
rt349(t).
rt349(const(A)) :-
gnd(A).
rt349(A*B) :-
rt350(A),
rt349(B).
rt349(A+B) :-
rt352(A),
rt351(B).
:- regtype rt352/1.
rt352(t).
rt352(const(A)) :-
gnd(A).
rt352(A*B) :-
rt350(A),
rt349(B).
rt352(A+B) :-
rt352(A),
rt351(B).
:- regtype rt351/1.
rt351(t).
rt351(const(A)) :-
gnd(A).
rt351(A*B) :-
rt350(A),
rt349(B).
rt351(A+B) :-
rt352(A),
rt351(B).
:- regtype rt348/1.
rt348(t).
rt348(const(A)) :-
gnd(A).
rt348(A*B) :-
rt350(A),
rt349(B).
rt348(A+B) :-
rt352(A),
rt351(B).
:- regtype rt347/1.
rt347(const(A)) :-
rt163(A).
rt347(A*B) :-
rt341(A),
rt321(B).
rt347(A+B) :-
rt353(A),
rt346(B).
:- regtype rt346/1.
rt346(const(A)) :-
rt163(A).
rt346(A*B) :-
rt348(A),
rt347(B).
rt346(A+B) :-
rt353(A),
rt346(B).
:- regtype rt320/1.
rt320(const(A)) :-
rt163(A).
rt320(A*B) :-
rt341(A),
rt321(B).
rt320(A+B) :-
rt353(A),
rt346(B).
:- regtype rt319/1.
rt319(const(A)) :-
rt155(A).
rt319(A+B) :-
rt360(A),
rt320(B).
:- regtype rt441/1.
rt441(t).
rt441(const(A)) :-
gnd(A).
rt441(A+B) :-
rt439(A),
rt436(B).
:- regtype rt440/1.
rt440(const(A)) :-
rt15(A).
rt440(A+B) :-
rt439(A),
rt436(B).
:- regtype rt439/1.
rt439(const(A)) :-
rt15(A).
rt439(A*B) :-
rt441(A),
rt440(B).
rt439(A+B) :-
rt439(A),
rt436(B).
:- regtype rt438/1.
rt438(t).
rt438(const(A)) :-
gnd(A).
rt438(A+B) :-
rt439(A),
rt436(B).
:- regtype rt437/1.
rt437(const(A)) :-
rt15(A).
rt437(A+B) :-
rt439(A),
rt436(B).
:- regtype rt436/1.
rt436(const(A)) :-
rt15(A).
rt436(A*B) :-
rt438(A),
rt437(B).
rt436(A+B) :-
rt439(A),
rt436(B).
:- regtype rt435/1.
rt435(const(A)) :-
rt15(A).
rt435(A+B) :-
rt439(A),
rt436(B).
:- regtype rt434/1.
rt434(t).
rt434(const(A)) :-
gnd(A).
rt434(A+B) :-
rt432(A),
rt429(B).
:- regtype rt433/1.
rt433(const(A)) :-
rt15(A).
rt433(A+B) :-
rt432(A),
rt429(B).
:- regtype rt432/1.
rt432(const(A)) :-
rt15(A).
rt432(A*B) :-
rt434(A),
rt433(B).
rt432(A+B) :-
rt432(A),
rt429(B).
:- regtype rt431/1.
rt431(t).
rt431(const(A)) :-
gnd(A).
rt431(A+B) :-
rt432(A),
rt429(B).
:- regtype rt430/1.
rt430(const(A)) :-
rt15(A).
rt430(A+B) :-
rt432(A),
rt429(B).
:- regtype rt429/1.
rt429(const(A)) :-
rt15(A).
rt429(A*B) :-
rt431(A),
rt430(B).
rt429(A+B) :-
rt432(A),
rt429(B).
:- regtype rt428/1.
rt428(const(A)) :-
rt15(A).
rt428(A+B) :-
rt432(A),
rt429(B).
:- regtype rt427/1.
rt427(const(0)).
rt427(A+B) :-
rt435(A),
rt428(B).
:- regtype rt470/1.
rt470(t).
rt470(const(A)) :-
gnd(A).
rt470(A*B) :-
rt469(A),
rt470(B).
rt470(A+B) :-
rt478(A),
rt475(B).
:- regtype rt469/1.
rt469(t).
rt469(const(A)) :-
gnd(A).
rt469(A*B) :-
rt469(A),
rt470(B).
rt469(A+B) :-
rt478(A),
rt475(B).
:- regtype rt463/1.
rt463(t).
rt463(const(A)) :-
gnd(A).
rt463(A*B) :-
rt469(A),
rt463(B).
rt463(A+B) :-
rt478(A),
rt475(B).
:- regtype rt480/1.
rt480(t).
rt480(const(A)) :-
gnd(A).
rt480(A*B) :-
rt469(A),
rt463(B).
rt480(A+B) :-
rt478(A),
rt475(B).
:- regtype rt479/1.
rt479(t).
rt479(const(A)) :-
gnd(A).
rt479(A*B) :-
rt469(A),
rt463(B).
rt479(A+B) :-
rt478(A),
rt475(B).
:- regtype rt478/1.
rt478(t).
rt478(const(A)) :-
gnd(A).
rt478(A*B) :-
rt480(A),
rt479(B).
rt478(A+B) :-
rt478(A),
rt475(B).
:- regtype rt477/1.
rt477(t).
rt477(const(A)) :-
gnd(A).
rt477(A*B) :-
rt469(A),
rt463(B).
rt477(A+B) :-
rt478(A),
rt475(B).
:- regtype rt476/1.
rt476(t).
rt476(const(A)) :-
gnd(A).
rt476(A*B) :-
rt469(A),
rt463(B).
rt476(A+B) :-
rt478(A),
rt475(B).
:- regtype rt475/1.
rt475(t).
rt475(const(A)) :-
gnd(A).
rt475(A*B) :-
rt477(A),
rt476(B).
rt475(A+B) :-
rt478(A),
rt475(B).
:- regtype rt462/1.
rt462(t).
rt462(const(A)) :-
gnd(A).
rt462(A*B) :-
rt469(A),
rt463(B).
rt462(A+B) :-
rt478(A),
rt475(B).
:- regtype rt451/1.
rt451(t).
rt451(const(A)) :-
gnd(A).
rt451(A*B) :-
rt450(A),
rt451(B).
rt451(A+B) :-
rt459(A),
rt456(B).
:- regtype rt450/1.
rt450(t).
rt450(const(A)) :-
gnd(A).
rt450(A*B) :-
rt450(A),
rt451(B).
rt450(A+B) :-
rt459(A),
rt456(B).
:- regtype rt444/1.
rt444(t).
rt444(const(A)) :-
gnd(A).
rt444(A*B) :-
rt450(A),
rt444(B).
rt444(A+B) :-
rt459(A),
rt456(B).
:- regtype rt461/1.
rt461(t).
rt461(const(A)) :-
gnd(A).
rt461(A*B) :-
rt450(A),
rt444(B).
rt461(A+B) :-
rt459(A),
rt456(B).
:- regtype rt460/1.
rt460(t).
rt460(const(A)) :-
gnd(A).
rt460(A*B) :-
rt450(A),
rt444(B).
rt460(A+B) :-
rt459(A),
rt456(B).
:- regtype rt459/1.
rt459(t).
rt459(const(A)) :-
gnd(A).
rt459(A*B) :-
rt461(A),
rt460(B).
rt459(A+B) :-
rt459(A),
rt456(B).
:- regtype rt458/1.
rt458(t).
rt458(const(A)) :-
gnd(A).
rt458(A*B) :-
rt450(A),
rt444(B).
rt458(A+B) :-
rt459(A),
rt456(B).
:- regtype rt457/1.
rt457(t).
rt457(const(A)) :-
gnd(A).
rt457(A*B) :-
rt450(A),
rt444(B).
rt457(A+B) :-
rt459(A),
rt456(B).
:- regtype rt456/1.
rt456(t).
rt456(const(A)) :-
gnd(A).
rt456(A*B) :-
rt458(A),
rt457(B).
rt456(A+B) :-
rt459(A),
rt456(B).
:- regtype rt443/1.
rt443(t).
rt443(const(A)) :-
gnd(A).
rt443(A*B) :-
rt450(A),
rt444(B).
rt443(A+B) :-
rt459(A),
rt456(B).
:- regtype rt442/1.
rt442(const(A)) :-
rt155(A).
rt442(A+B) :-
rt462(A),
rt443(B).
:- regtype rt15/1.
rt15(0).
rt15(1).
:- regtype rt43/1.
rt43(t).
rt43(const(A)) :-
gnd(A).
:- regtype rt42/1.
rt42(const(A)) :-
rt15(A).
rt42(A+B) :-
rt41(A),
rt38(B).
:- regtype rt41/1.
rt41(const(A)) :-
rt15(A).
rt41(A*B) :-
rt43(A),
rt42(B).
rt41(A+B) :-
rt41(A),
rt38(B).
:- regtype rt40/1.
rt40(t).
rt40(const(A)) :-
gnd(A).
:- regtype rt39/1.
rt39(const(A)) :-
rt15(A).
rt39(A+B) :-
rt41(A),
rt38(B).
:- regtype rt38/1.
rt38(const(A)) :-
rt15(A).
rt38(A*B) :-
rt40(A),
rt39(B).
rt38(A+B) :-
rt41(A),
rt38(B).
:- regtype rt37/1.
rt37(const(A)) :-
rt15(A).
rt37(A+B) :-
rt41(A),
rt38(B).
:- regtype rt34/1.
rt34(t).
rt34(const(A)) :-
gnd(A).
rt34(A*B) :-
rt34(A),
rt33(B).
rt34(A+B) :-
rt36(A),
rt35(B).
:- regtype rt33/1.
rt33(t).
rt33(const(A)) :-
gnd(A).
rt33(A*B) :-
rt34(A),
rt33(B).
rt33(A+B) :-
rt36(A),
rt35(B).
:- regtype rt36/1.
rt36(t).
rt36(const(A)) :-
gnd(A).
rt36(A*B) :-
rt34(A),
rt33(B).
rt36(A+B) :-
rt36(A),
rt35(B).
:- regtype rt35/1.
rt35(t).
rt35(const(A)) :-
gnd(A).
rt35(A*B) :-
rt34(A),
rt33(B).
rt35(A+B) :-
rt36(A),
rt35(B).
:- regtype rt32/1.
rt32(t).
rt32(const(A)) :-
gnd(A).
rt32(A*B) :-
rt34(A),
rt33(B).
rt32(A+B) :-
rt36(A),
rt35(B).
:- regtype rt283/1.
rt283(t).
rt283(const(A)) :-
gnd(A).
rt283(A*B) :-
rt283(A),
rt282(B).
rt283(A+B) :-
rt285(A),
rt284(B).
:- regtype rt282/1.
rt282(t).
rt282(const(A)) :-
gnd(A).
rt282(A*B) :-
rt283(A),
rt282(B).
rt282(A+B) :-
rt285(A),
rt284(B).
:- regtype rt285/1.
rt285(t).
rt285(const(A)) :-
gnd(A).
rt285(A*B) :-
rt283(A),
rt282(B).
rt285(A+B) :-
rt285(A),
rt284(B).
:- regtype rt284/1.
rt284(t).
rt284(const(A)) :-
gnd(A).
rt284(A*B) :-
rt283(A),
rt282(B).
rt284(A+B) :-
rt285(A),
rt284(B).
:- regtype rt281/1.
rt281(t).
rt281(const(A)) :-
gnd(A).
rt281(A*B) :-
rt283(A),
rt282(B).
rt281(A+B) :-
rt285(A),
rt284(B).
:- regtype rt274/1.
rt274(const(A)) :-
rt163(A).
rt274(A*B) :-
rt281(A),
rt274(B).
rt274(A+B) :-
rt289(A),
rt286(B).
:- regtype rt290/1.
rt290(const(A)) :-
rt163(A).
rt290(A*B) :-
rt281(A),
rt274(B).
rt290(A+B) :-
rt289(A),
rt286(B).
:- regtype rt289/1.
rt289(const(A)) :-
rt163(A).
rt289(A*B) :-
rt281(A),
rt290(B).
rt289(A+B) :-
rt289(A),
rt286(B).
:- regtype rt287/1.
rt287(const(A)) :-
rt163(A).
rt287(A*B) :-
rt281(A),
rt274(B).
rt287(A+B) :-
rt289(A),
rt286(B).
:- regtype rt286/1.
rt286(const(A)) :-
rt163(A).
rt286(A*B) :-
rt281(A),
rt287(B).
rt286(A+B) :-
rt289(A),
rt286(B).
:- regtype rt273/1.
rt273(const(A)) :-
rt163(A).
rt273(A*B) :-
rt281(A),
rt274(B).
rt273(A+B) :-
rt289(A),
rt286(B).
:- regtype rt264/1.
rt264(t).
rt264(const(A)) :-
gnd(A).
rt264(A*B) :-
rt264(A),
rt263(B).
rt264(A+B) :-
rt266(A),
rt265(B).
:- regtype rt263/1.
rt263(t).
rt263(const(A)) :-
gnd(A).
rt263(A*B) :-
rt264(A),
rt263(B).
rt263(A+B) :-
rt266(A),
rt265(B).
:- regtype rt266/1.
rt266(t).
rt266(const(A)) :-
gnd(A).
rt266(A*B) :-
rt264(A),
rt263(B).
rt266(A+B) :-
rt266(A),
rt265(B).
:- regtype rt265/1.
rt265(t).
rt265(const(A)) :-
gnd(A).
rt265(A*B) :-
rt264(A),
rt263(B).
rt265(A+B) :-
rt266(A),
rt265(B).
:- regtype rt262/1.
rt262(t).
rt262(const(A)) :-
gnd(A).
rt262(A*B) :-
rt264(A),
rt263(B).
rt262(A+B) :-
rt266(A),
rt265(B).
:- regtype rt255/1.
rt255(const(A)) :-
rt163(A).
rt255(A*B) :-
rt262(A),
rt255(B).
rt255(A+B) :-
rt270(A),
rt267(B).
:- regtype rt271/1.
rt271(const(A)) :-
rt163(A).
rt271(A*B) :-
rt262(A),
rt255(B).
rt271(A+B) :-
rt270(A),
rt267(B).
:- regtype rt270/1.
rt270(const(A)) :-
rt163(A).
rt270(A*B) :-
rt262(A),
rt271(B).
rt270(A+B) :-
rt270(A),
rt267(B).
:- regtype rt268/1.
rt268(const(A)) :-
rt163(A).
rt268(A*B) :-
rt262(A),
rt255(B).
rt268(A+B) :-
rt270(A),
rt267(B).
:- regtype rt267/1.
rt267(const(A)) :-
rt163(A).
rt267(A*B) :-
rt262(A),
rt268(B).
rt267(A+B) :-
rt270(A),
rt267(B).
:- regtype rt254/1.
rt254(const(A)) :-
rt163(A).
rt254(A*B) :-
rt262(A),
rt255(B).
rt254(A+B) :-
rt270(A),
rt267(B).
:- regtype rt253/1.
rt253(const(A)) :-
rt155(A).
rt253(A+B) :-
rt273(A),
rt254(B).
:- regtype rt297/1.
rt297(d(A)) :-
rt297(A).
rt297(e(A)) :-
rt298(A).
:- regtype rt306/1.
rt306(t).
rt306(const(A)) :-
gnd(A).
rt306(A*B) :-
rt306(A),
rt305(B).
rt306(A+B) :-
rt308(A),
rt307(B).
:- regtype rt305/1.
rt305(t).
rt305(const(A)) :-
gnd(A).
rt305(A*B) :-
rt306(A),
rt305(B).
rt305(A+B) :-
rt308(A),
rt307(B).
:- regtype rt308/1.
rt308(t).
rt308(const(A)) :-
gnd(A).
rt308(A*B) :-
rt306(A),
rt305(B).
rt308(A+B) :-
rt308(A),
rt307(B).
:- regtype rt307/1.
rt307(t).
rt307(const(A)) :-
gnd(A).
rt307(A*B) :-
rt306(A),
rt305(B).
rt307(A+B) :-
rt308(A),
rt307(B).
:- regtype rt304/1.
rt304(t).
rt304(const(A)) :-
gnd(A).
rt304(A*B) :-
rt306(A),
rt305(B).
rt304(A+B) :-
rt308(A),
rt307(B).
:- regtype rt301/1.
rt301(t).
rt301(const(A)) :-
gnd(A).
rt301(A*B) :-
rt301(A),
rt300(B).
rt301(A+B) :-
rt303(A),
rt302(B).
:- regtype rt300/1.
rt300(t).
rt300(const(A)) :-
gnd(A).
rt300(A*B) :-
rt301(A),
rt300(B).
rt300(A+B) :-
rt303(A),
rt302(B).
:- regtype rt303/1.
rt303(t).
rt303(const(A)) :-
gnd(A).
rt303(A*B) :-
rt301(A),
rt300(B).
rt303(A+B) :-
rt303(A),
rt302(B).
:- regtype rt302/1.
rt302(t).
rt302(const(A)) :-
gnd(A).
rt302(A*B) :-
rt301(A),
rt300(B).
rt302(A+B) :-
rt303(A),
rt302(B).
:- regtype rt299/1.
rt299(t).
rt299(const(A)) :-
gnd(A).
rt299(A*B) :-
rt301(A),
rt300(B).
rt299(A+B) :-
rt303(A),
rt302(B).
:- regtype rt316/1.
rt316(t).
rt316(const(A)) :-
gnd(A).
rt316(A*B) :-
rt316(A),
rt315(B).
rt316(A+B) :-
rt318(A),
rt317(B).
:- regtype rt315/1.
rt315(t).
rt315(const(A)) :-
gnd(A).
rt315(A*B) :-
rt316(A),
rt315(B).
rt315(A+B) :-
rt318(A),
rt317(B).
:- regtype rt318/1.
rt318(t).
rt318(const(A)) :-
gnd(A).
rt318(A*B) :-
rt316(A),
rt315(B).
rt318(A+B) :-
rt318(A),
rt317(B).
:- regtype rt317/1.
rt317(t).
rt317(const(A)) :-
gnd(A).
rt317(A*B) :-
rt316(A),
rt315(B).
rt317(A+B) :-
rt318(A),
rt317(B).
:- regtype rt314/1.
rt314(t).
rt314(const(A)) :-
gnd(A).
rt314(A*B) :-
rt316(A),
rt315(B).
rt314(A+B) :-
rt318(A),
rt317(B).
:- regtype rt311/1.
rt311(t).
rt311(const(A)) :-
gnd(A).
rt311(A*B) :-
rt311(A),
rt310(B).
rt311(A+B) :-
rt313(A),
rt312(B).
:- regtype rt310/1.
rt310(t).
rt310(const(A)) :-
gnd(A).
rt310(A*B) :-
rt311(A),
rt310(B).
rt310(A+B) :-
rt313(A),
rt312(B).
:- regtype rt313/1.
rt313(t).
rt313(const(A)) :-
gnd(A).
rt313(A*B) :-
rt311(A),
rt310(B).
rt313(A+B) :-
rt313(A),
rt312(B).
:- regtype rt312/1.
rt312(t).
rt312(const(A)) :-
gnd(A).
rt312(A*B) :-
rt311(A),
rt310(B).
rt312(A+B) :-
rt313(A),
rt312(B).
:- regtype rt309/1.
rt309(t).
rt309(const(A)) :-
gnd(A).
rt309(A*B) :-
rt311(A),
rt310(B).
rt309(A+B) :-
rt313(A),
rt312(B).
:- regtype rt298/1.
rt298(t).
rt298(const(A)) :-
gnd(A).
rt298(A*B) :-
rt304(A),
rt299(B).
rt298(A+B) :-
rt314(A),
rt309(B).
:- regtype rt296/1.
rt296(d(A)) :-
rt297(A).
rt296(e(A)) :-
rt298(A).
:- regtype rt154/1.
rt154(const(A)) :-
rt155(A).
:- regtype rt292/1.
rt292(const(0)).
:- regtype rt155/1.
rt155(0).
rt155(1).
:- regtype rt293/1.
rt293(const(A)) :-
rt155(A).
:- regtype rt156/1.
rt156(A) :-
gnd(A).
:- regtype rt163/1.
rt163(0).
rt163(1).
:- regtype rt191/1.
rt191(t).
rt191(const(A)) :-
gnd(A).
:- regtype rt190/1.
rt190(const(A)) :-
rt163(A).
rt190(A+B) :-
rt189(A),
rt186(B).
:- regtype rt189/1.
rt189(const(A)) :-
rt163(A).
rt189(A*B) :-
rt191(A),
rt190(B).
rt189(A+B) :-
rt189(A),
rt186(B).
:- regtype rt188/1.
rt188(t).
rt188(const(A)) :-
gnd(A).
:- regtype rt187/1.
rt187(const(A)) :-
rt163(A).
rt187(A+B) :-
rt189(A),
rt186(B).
:- regtype rt186/1.
rt186(const(A)) :-
rt163(A).
rt186(A*B) :-
rt188(A),
rt187(B).
rt186(A+B) :-
rt189(A),
rt186(B).
:- regtype rt185/1.
rt185(const(A)) :-
rt163(A).
rt185(A+B) :-
rt189(A),
rt186(B).
:- regtype rt182/1.
rt182(t).
rt182(const(A)) :-
gnd(A).
rt182(A*B) :-
rt182(A),
rt181(B).
rt182(A+B) :-
rt184(A),
rt183(B).
:- regtype rt181/1.
rt181(t).
rt181(const(A)) :-
gnd(A).
rt181(A*B) :-
rt182(A),
rt181(B).
rt181(A+B) :-
rt184(A),
rt183(B).
:- regtype rt184/1.
rt184(t).
rt184(const(A)) :-
gnd(A).
rt184(A*B) :-
rt182(A),
rt181(B).
rt184(A+B) :-
rt184(A),
rt183(B).
:- regtype rt183/1.
rt183(t).
rt183(const(A)) :-
gnd(A).
rt183(A*B) :-
rt182(A),
rt181(B).
rt183(A+B) :-
rt184(A),
rt183(B).
:- regtype rt180/1.
rt180(t).
rt180(const(A)) :-
gnd(A).
rt180(A*B) :-
rt182(A),
rt181(B).
rt180(A+B) :-
rt184(A),
rt183(B).