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/tmpenNWwW/der-fb.pl
}
{loaded in 3412.214 msec.}
{preprocessed for plai in 0.0 msec.}
{analyzed by plai using det with local-control off in 7020.436 msec.}
{written file /tmp/tmpenNWwW/der-fb_det_co.pl}
:- module(_1,[p/2],[assertions]).
:- entry p(A,B)
: ground(B).
:- true pred p(A,B)
: ( native_props:mshare([[A]]), ground([B]), term(A), gnd(B) )
=> ( native_props:mshare([[A]]), ground([B]), rt762(A), rt864(B) )
+ ( is_det, mut_exclusive ).
:- true pred p(d(e(_1)),B)
: ( native_props:mshare([[_1]]), ground([B]), term(B), rt493(_1) )
=> ( native_props:mshare([[_1]]), ground([B]), rt702(B), rt717(_1) )
+ ( is_det, mut_exclusive ).
:- true pred p(d(e(_1)),B)
: ( native_props:mshare([[_1]]), ground([B]), term(B), term(_1) )
=> ( native_props:mshare([[_1]]), ground([B]), rt691(B), rt686(_1) )
+ ( is_det, mut_exclusive ).
:- true pred p(d(e(_1)),B)
: ( ground([B,_1]), term(B), term(_1) )
=> ( ground([B,_1]), rt673(B), rt668(_1) )
+ ( is_det, mut_exclusive ).
:- true pred p(d(_1),B)
: ( native_props:mshare([[B],[_1]]), var(B), term(B), term(_1) )
=> ( native_props:mshare([[B,_1],[_1]]), rt427(B), rt470(_1) )
+ ( is_det, mut_exclusive ).
:- true pred p(d(e(_1)),B)
: ( native_props:mshare([[B]]), var(B), ground([_1]), term(B), rt329(_1) )
=> ( ground([B,_1]), rt466(B), rt467(_1) )
+ ( is_det, mut_exclusive ).
:- true pred p(d(e(_1)),B)
: ( native_props:mshare([[B],[_1]]), var(B), term(B), term(_1) )
=> ( native_props:mshare([[B,_1],[_1]]), rt359(B), rt354(_1) )
+ ( is_det, mut_exclusive ).
:- true pred p(d(e(_1)),B)
: ( ground([B,_1]), gnd(B), gnd(_1) )
=> ( ground([B,_1]), rt54(B), rt49(_1) )
+ ( is_det, mut_exclusive ).
:- true pred p(d(e(_1)),B)
: ( native_props:mshare([[_1]]), ground([B]), gnd(B), term(_1) )
=> ( native_props:mshare([[_1]]), ground([B]), rt80(B), rt67(_1) )
+ ( is_det, mut_exclusive ).
p(d(e(t)),const(1)).
p(d(e(const(A))),const(0)).
p(d(e(X+Y)),DX+DY) :-
p(d(e(X)),DX),
p(d(e(Y)),DY).
p(d(e(X*Y)),X*DY+Y*DX) :-
p(d(e(X)),DX),
p(d(e(Y)),DY).
p(d(d(X)),DDX) :-
p(d(X),DX),
p(d(e(DX)),DDX).
:- regtype rt765/1.
rt765(d(A)) :-
rt765(A).
rt765(e(A)) :-
rt766(A).
:- regtype rt778/1.
rt778(t).
rt778(const(A)) :-
term(A).
rt778(A*B) :-
rt778(A),
rt777(B).
rt778(A+B) :-
rt782(A),
rt779(B).
:- regtype rt777/1.
rt777(t).
rt777(const(A)) :-
term(A).
rt777(A*B) :-
rt778(A),
rt777(B).
rt777(A+B) :-
rt782(A),
rt779(B).
:- regtype rt784/1.
rt784(t).
rt784(const(A)) :-
term(A).
rt784(A*B) :-
rt778(A),
rt777(B).
rt784(A+B) :-
rt782(A),
rt779(B).
:- regtype rt783/1.
rt783(t).
rt783(const(A)) :-
term(A).
rt783(A*B) :-
rt778(A),
rt777(B).
rt783(A+B) :-
rt782(A),
rt779(B).
:- regtype rt782/1.
rt782(t).
rt782(const(A)) :-
term(A).
rt782(A*B) :-
rt784(A),
rt783(B).
rt782(A+B) :-
rt782(A),
rt779(B).
:- regtype rt781/1.
rt781(t).
rt781(const(A)) :-
term(A).
rt781(A*B) :-
rt778(A),
rt777(B).
rt781(A+B) :-
rt782(A),
rt779(B).
:- regtype rt780/1.
rt780(t).
rt780(const(A)) :-
term(A).
rt780(A*B) :-
rt778(A),
rt777(B).
rt780(A+B) :-
rt782(A),
rt779(B).
:- regtype rt779/1.
rt779(t).
rt779(const(A)) :-
term(A).
rt779(A*B) :-
rt781(A),
rt780(B).
rt779(A+B) :-
rt782(A),
rt779(B).
:- regtype rt776/1.
rt776(t).
rt776(const(A)) :-
term(A).
rt776(A*B) :-
rt778(A),
rt777(B).
rt776(A+B) :-
rt782(A),
rt779(B).
:- regtype rt769/1.
rt769(t).
rt769(const(A)) :-
term(A).
rt769(A*B) :-
rt769(A),
rt768(B).
rt769(A+B) :-
rt773(A),
rt770(B).
:- regtype rt768/1.
rt768(t).
rt768(const(A)) :-
term(A).
rt768(A*B) :-
rt769(A),
rt768(B).
rt768(A+B) :-
rt773(A),
rt770(B).
:- regtype rt775/1.
rt775(t).
rt775(const(A)) :-
term(A).
rt775(A*B) :-
rt769(A),
rt768(B).
rt775(A+B) :-
rt773(A),
rt770(B).
:- regtype rt774/1.
rt774(t).
rt774(const(A)) :-
term(A).
rt774(A*B) :-
rt769(A),
rt768(B).
rt774(A+B) :-
rt773(A),
rt770(B).
:- regtype rt773/1.
rt773(t).
rt773(const(A)) :-
term(A).
rt773(A*B) :-
rt775(A),
rt774(B).
rt773(A+B) :-
rt773(A),
rt770(B).
:- regtype rt772/1.
rt772(t).
rt772(const(A)) :-
term(A).
rt772(A*B) :-
rt769(A),
rt768(B).
rt772(A+B) :-
rt773(A),
rt770(B).
:- regtype rt771/1.
rt771(t).
rt771(const(A)) :-
term(A).
rt771(A*B) :-
rt769(A),
rt768(B).
rt771(A+B) :-
rt773(A),
rt770(B).
:- regtype rt770/1.
rt770(t).
rt770(const(A)) :-
term(A).
rt770(A*B) :-
rt772(A),
rt771(B).
rt770(A+B) :-
rt773(A),
rt770(B).
:- regtype rt767/1.
rt767(t).
rt767(const(A)) :-
term(A).
rt767(A*B) :-
rt769(A),
rt768(B).
rt767(A+B) :-
rt773(A),
rt770(B).
:- regtype rt796/1.
rt796(t).
rt796(const(A)) :-
term(A).
rt796(A*B) :-
rt796(A),
rt795(B).
rt796(A+B) :-
rt800(A),
rt797(B).
:- regtype rt795/1.
rt795(t).
rt795(const(A)) :-
term(A).
rt795(A*B) :-
rt796(A),
rt795(B).
rt795(A+B) :-
rt800(A),
rt797(B).
:- regtype rt802/1.
rt802(t).
rt802(const(A)) :-
term(A).
rt802(A*B) :-
rt796(A),
rt795(B).
rt802(A+B) :-
rt800(A),
rt797(B).
:- regtype rt801/1.
rt801(t).
rt801(const(A)) :-
term(A).
rt801(A*B) :-
rt796(A),
rt795(B).
rt801(A+B) :-
rt800(A),
rt797(B).
:- regtype rt800/1.
rt800(t).
rt800(const(A)) :-
term(A).
rt800(A*B) :-
rt802(A),
rt801(B).
rt800(A+B) :-
rt800(A),
rt797(B).
:- regtype rt799/1.
rt799(t).
rt799(const(A)) :-
term(A).
rt799(A*B) :-
rt796(A),
rt795(B).
rt799(A+B) :-
rt800(A),
rt797(B).
:- regtype rt798/1.
rt798(t).
rt798(const(A)) :-
term(A).
rt798(A*B) :-
rt796(A),
rt795(B).
rt798(A+B) :-
rt800(A),
rt797(B).
:- regtype rt797/1.
rt797(t).
rt797(const(A)) :-
term(A).
rt797(A*B) :-
rt799(A),
rt798(B).
rt797(A+B) :-
rt800(A),
rt797(B).
:- regtype rt794/1.
rt794(t).
rt794(const(A)) :-
term(A).
rt794(A*B) :-
rt796(A),
rt795(B).
rt794(A+B) :-
rt800(A),
rt797(B).
:- regtype rt787/1.
rt787(t).
rt787(const(A)) :-
term(A).
rt787(A*B) :-
rt787(A),
rt786(B).
rt787(A+B) :-
rt791(A),
rt788(B).
:- regtype rt786/1.
rt786(t).
rt786(const(A)) :-
term(A).
rt786(A*B) :-
rt787(A),
rt786(B).
rt786(A+B) :-
rt791(A),
rt788(B).
:- regtype rt793/1.
rt793(t).
rt793(const(A)) :-
term(A).
rt793(A*B) :-
rt787(A),
rt786(B).
rt793(A+B) :-
rt791(A),
rt788(B).
:- regtype rt792/1.
rt792(t).
rt792(const(A)) :-
term(A).
rt792(A*B) :-
rt787(A),
rt786(B).
rt792(A+B) :-
rt791(A),
rt788(B).
:- regtype rt791/1.
rt791(t).
rt791(const(A)) :-
term(A).
rt791(A*B) :-
rt793(A),
rt792(B).
rt791(A+B) :-
rt791(A),
rt788(B).
:- regtype rt790/1.
rt790(t).
rt790(const(A)) :-
term(A).
rt790(A*B) :-
rt787(A),
rt786(B).
rt790(A+B) :-
rt791(A),
rt788(B).
:- regtype rt789/1.
rt789(t).
rt789(const(A)) :-
term(A).
rt789(A*B) :-
rt787(A),
rt786(B).
rt789(A+B) :-
rt791(A),
rt788(B).
:- regtype rt788/1.
rt788(t).
rt788(const(A)) :-
term(A).
rt788(A*B) :-
rt790(A),
rt789(B).
rt788(A+B) :-
rt791(A),
rt788(B).
:- regtype rt785/1.
rt785(t).
rt785(const(A)) :-
term(A).
rt785(A*B) :-
rt787(A),
rt786(B).
rt785(A+B) :-
rt791(A),
rt788(B).
:- regtype rt766/1.
rt766(t).
rt766(const(A)) :-
term(A).
rt766(A*B) :-
rt776(A),
rt767(B).
rt766(A+B) :-
rt794(A),
rt785(B).
:- regtype rt764/1.
rt764(d(A)) :-
rt765(A).
rt764(e(A)) :-
rt766(A).
:- regtype rt815/1.
rt815(t).
rt815(const(A)) :-
gnd(A).
rt815(A*B) :-
rt815(A),
rt814(B).
rt815(A+B) :-
rt819(A),
rt816(B).
:- regtype rt814/1.
rt814(t).
rt814(const(A)) :-
gnd(A).
rt814(A*B) :-
rt815(A),
rt814(B).
rt814(A+B) :-
rt819(A),
rt816(B).
:- regtype rt821/1.
rt821(t).
rt821(const(A)) :-
gnd(A).
rt821(A*B) :-
rt815(A),
rt814(B).
rt821(A+B) :-
rt819(A),
rt816(B).
:- regtype rt820/1.
rt820(t).
rt820(const(A)) :-
gnd(A).
rt820(A*B) :-
rt815(A),
rt814(B).
rt820(A+B) :-
rt819(A),
rt816(B).
:- regtype rt819/1.
rt819(t).
rt819(const(A)) :-
gnd(A).
rt819(A*B) :-
rt821(A),
rt820(B).
rt819(A+B) :-
rt819(A),
rt816(B).
:- regtype rt818/1.
rt818(t).
rt818(const(A)) :-
gnd(A).
rt818(A*B) :-
rt815(A),
rt814(B).
rt818(A+B) :-
rt819(A),
rt816(B).
:- regtype rt817/1.
rt817(t).
rt817(const(A)) :-
gnd(A).
rt817(A*B) :-
rt815(A),
rt814(B).
rt817(A+B) :-
rt819(A),
rt816(B).
:- regtype rt816/1.
rt816(t).
rt816(const(A)) :-
gnd(A).
rt816(A*B) :-
rt818(A),
rt817(B).
rt816(A+B) :-
rt819(A),
rt816(B).
:- regtype rt813/1.
rt813(t).
rt813(const(A)) :-
gnd(A).
rt813(A*B) :-
rt815(A),
rt814(B).
rt813(A+B) :-
rt819(A),
rt816(B).
:- regtype rt806/1.
rt806(t).
rt806(const(A)) :-
gnd(A).
rt806(A*B) :-
rt806(A),
rt805(B).
rt806(A+B) :-
rt810(A),
rt807(B).
:- regtype rt805/1.
rt805(t).
rt805(const(A)) :-
gnd(A).
rt805(A*B) :-
rt806(A),
rt805(B).
rt805(A+B) :-
rt810(A),
rt807(B).
:- regtype rt812/1.
rt812(t).
rt812(const(A)) :-
gnd(A).
rt812(A*B) :-
rt806(A),
rt805(B).
rt812(A+B) :-
rt810(A),
rt807(B).
:- regtype rt811/1.
rt811(t).
rt811(const(A)) :-
gnd(A).
rt811(A*B) :-
rt806(A),
rt805(B).
rt811(A+B) :-
rt810(A),
rt807(B).
:- regtype rt810/1.
rt810(t).
rt810(const(A)) :-
gnd(A).
rt810(A*B) :-
rt812(A),
rt811(B).
rt810(A+B) :-
rt810(A),
rt807(B).
:- regtype rt809/1.
rt809(t).
rt809(const(A)) :-
gnd(A).
rt809(A*B) :-
rt806(A),
rt805(B).
rt809(A+B) :-
rt810(A),
rt807(B).
:- regtype rt808/1.
rt808(t).
rt808(const(A)) :-
gnd(A).
rt808(A*B) :-
rt806(A),
rt805(B).
rt808(A+B) :-
rt810(A),
rt807(B).
:- regtype rt807/1.
rt807(t).
rt807(const(A)) :-
gnd(A).
rt807(A*B) :-
rt809(A),
rt808(B).
rt807(A+B) :-
rt810(A),
rt807(B).
:- regtype rt804/1.
rt804(t).
rt804(const(A)) :-
gnd(A).
rt804(A*B) :-
rt806(A),
rt805(B).
rt804(A+B) :-
rt810(A),
rt807(B).
:- regtype rt855/1.
rt855(t).
rt855(const(A)) :-
gnd(A).
rt855(A*B) :-
rt855(A),
rt854(B).
rt855(A+B) :-
rt859(A),
rt856(B).
:- regtype rt854/1.
rt854(t).
rt854(const(A)) :-
gnd(A).
rt854(A*B) :-
rt855(A),
rt854(B).
rt854(A+B) :-
rt859(A),
rt856(B).
:- regtype rt861/1.
rt861(t).
rt861(const(A)) :-
gnd(A).
rt861(A*B) :-
rt855(A),
rt854(B).
rt861(A+B) :-
rt859(A),
rt856(B).
:- regtype rt860/1.
rt860(t).
rt860(const(A)) :-
gnd(A).
rt860(A*B) :-
rt855(A),
rt854(B).
rt860(A+B) :-
rt859(A),
rt856(B).
:- regtype rt859/1.
rt859(t).
rt859(const(A)) :-
gnd(A).
rt859(A*B) :-
rt861(A),
rt860(B).
rt859(A+B) :-
rt859(A),
rt856(B).
:- regtype rt858/1.
rt858(t).
rt858(const(A)) :-
gnd(A).
rt858(A*B) :-
rt855(A),
rt854(B).
rt858(A+B) :-
rt859(A),
rt856(B).
:- regtype rt857/1.
rt857(t).
rt857(const(A)) :-
gnd(A).
rt857(A*B) :-
rt855(A),
rt854(B).
rt857(A+B) :-
rt859(A),
rt856(B).
:- regtype rt856/1.
rt856(t).
rt856(const(A)) :-
gnd(A).
rt856(A*B) :-
rt858(A),
rt857(B).
rt856(A+B) :-
rt859(A),
rt856(B).
:- regtype rt853/1.
rt853(t).
rt853(const(A)) :-
gnd(A).
rt853(A*B) :-
rt855(A),
rt854(B).
rt853(A+B) :-
rt859(A),
rt856(B).
:- regtype rt846/1.
rt846(t).
rt846(const(A)) :-
gnd(A).
rt846(A*B) :-
rt846(A),
rt845(B).
rt846(A+B) :-
rt850(A),
rt847(B).
:- regtype rt845/1.
rt845(t).
rt845(const(A)) :-
gnd(A).
rt845(A*B) :-
rt846(A),
rt845(B).
rt845(A+B) :-
rt850(A),
rt847(B).
:- regtype rt852/1.
rt852(t).
rt852(const(A)) :-
gnd(A).
rt852(A*B) :-
rt846(A),
rt845(B).
rt852(A+B) :-
rt850(A),
rt847(B).
:- regtype rt851/1.
rt851(t).
rt851(const(A)) :-
gnd(A).
rt851(A*B) :-
rt846(A),
rt845(B).
rt851(A+B) :-
rt850(A),
rt847(B).
:- regtype rt850/1.
rt850(t).
rt850(const(A)) :-
gnd(A).
rt850(A*B) :-
rt852(A),
rt851(B).
rt850(A+B) :-
rt850(A),
rt847(B).
:- regtype rt849/1.
rt849(t).
rt849(const(A)) :-
gnd(A).
rt849(A*B) :-
rt846(A),
rt845(B).
rt849(A+B) :-
rt850(A),
rt847(B).
:- regtype rt848/1.
rt848(t).
rt848(const(A)) :-
gnd(A).
rt848(A*B) :-
rt846(A),
rt845(B).
rt848(A+B) :-
rt850(A),
rt847(B).
:- regtype rt847/1.
rt847(t).
rt847(const(A)) :-
gnd(A).
rt847(A*B) :-
rt849(A),
rt848(B).
rt847(A+B) :-
rt850(A),
rt847(B).
:- regtype rt844/1.
rt844(t).
rt844(const(A)) :-
gnd(A).
rt844(A*B) :-
rt846(A),
rt845(B).
rt844(A+B) :-
rt850(A),
rt847(B).
:- regtype rt863/1.
rt863(t).
rt863(const(A)) :-
term(A).
rt863(A*B) :-
rt853(A),
rt844(B).
rt863(A+B) :-
rt863(A),
rt862(B).
:- regtype rt862/1.
rt862(t).
rt862(const(A)) :-
term(A).
rt862(A*B) :-
rt853(A),
rt844(B).
rt862(A+B) :-
rt863(A),
rt862(B).
:- regtype rt843/1.
rt843(t).
rt843(const(A)) :-
term(A).
rt843(A*B) :-
rt853(A),
rt844(B).
rt843(A+B) :-
rt863(A),
rt862(B).
:- regtype rt834/1.
rt834(t).
rt834(const(A)) :-
gnd(A).
rt834(A*B) :-
rt834(A),
rt833(B).
rt834(A+B) :-
rt838(A),
rt835(B).
:- regtype rt833/1.
rt833(t).
rt833(const(A)) :-
gnd(A).
rt833(A*B) :-
rt834(A),
rt833(B).
rt833(A+B) :-
rt838(A),
rt835(B).
:- regtype rt840/1.
rt840(t).
rt840(const(A)) :-
gnd(A).
rt840(A*B) :-
rt834(A),
rt833(B).
rt840(A+B) :-
rt838(A),
rt835(B).
:- regtype rt839/1.
rt839(t).
rt839(const(A)) :-
gnd(A).
rt839(A*B) :-
rt834(A),
rt833(B).
rt839(A+B) :-
rt838(A),
rt835(B).
:- regtype rt838/1.
rt838(t).
rt838(const(A)) :-
gnd(A).
rt838(A*B) :-
rt840(A),
rt839(B).
rt838(A+B) :-
rt838(A),
rt835(B).
:- regtype rt837/1.
rt837(t).
rt837(const(A)) :-
gnd(A).
rt837(A*B) :-
rt834(A),
rt833(B).
rt837(A+B) :-
rt838(A),
rt835(B).
:- regtype rt836/1.
rt836(t).
rt836(const(A)) :-
gnd(A).
rt836(A*B) :-
rt834(A),
rt833(B).
rt836(A+B) :-
rt838(A),
rt835(B).
:- regtype rt835/1.
rt835(t).
rt835(const(A)) :-
gnd(A).
rt835(A*B) :-
rt837(A),
rt836(B).
rt835(A+B) :-
rt838(A),
rt835(B).
:- regtype rt832/1.
rt832(t).
rt832(const(A)) :-
gnd(A).
rt832(A*B) :-
rt834(A),
rt833(B).
rt832(A+B) :-
rt838(A),
rt835(B).
:- regtype rt825/1.
rt825(t).
rt825(const(A)) :-
gnd(A).
rt825(A*B) :-
rt825(A),
rt824(B).
rt825(A+B) :-
rt829(A),
rt826(B).
:- regtype rt824/1.
rt824(t).
rt824(const(A)) :-
gnd(A).
rt824(A*B) :-
rt825(A),
rt824(B).
rt824(A+B) :-
rt829(A),
rt826(B).
:- regtype rt831/1.
rt831(t).
rt831(const(A)) :-
gnd(A).
rt831(A*B) :-
rt825(A),
rt824(B).
rt831(A+B) :-
rt829(A),
rt826(B).
:- regtype rt830/1.
rt830(t).
rt830(const(A)) :-
gnd(A).
rt830(A*B) :-
rt825(A),
rt824(B).
rt830(A+B) :-
rt829(A),
rt826(B).
:- regtype rt829/1.
rt829(t).
rt829(const(A)) :-
gnd(A).
rt829(A*B) :-
rt831(A),
rt830(B).
rt829(A+B) :-
rt829(A),
rt826(B).
:- regtype rt828/1.
rt828(t).
rt828(const(A)) :-
gnd(A).
rt828(A*B) :-
rt825(A),
rt824(B).
rt828(A+B) :-
rt829(A),
rt826(B).
:- regtype rt827/1.
rt827(t).
rt827(const(A)) :-
gnd(A).
rt827(A*B) :-
rt825(A),
rt824(B).
rt827(A+B) :-
rt829(A),
rt826(B).
:- regtype rt826/1.
rt826(t).
rt826(const(A)) :-
gnd(A).
rt826(A*B) :-
rt828(A),
rt827(B).
rt826(A+B) :-
rt829(A),
rt826(B).
:- regtype rt823/1.
rt823(t).
rt823(const(A)) :-
gnd(A).
rt823(A*B) :-
rt825(A),
rt824(B).
rt823(A+B) :-
rt829(A),
rt826(B).
:- regtype rt842/1.
rt842(t).
rt842(const(A)) :-
term(A).
rt842(A*B) :-
rt832(A),
rt823(B).
rt842(A+B) :-
rt842(A),
rt841(B).
:- regtype rt841/1.
rt841(t).
rt841(const(A)) :-
term(A).
rt841(A*B) :-
rt832(A),
rt823(B).
rt841(A+B) :-
rt842(A),
rt841(B).
:- regtype rt822/1.
rt822(t).
rt822(const(A)) :-
term(A).
rt822(A*B) :-
rt832(A),
rt823(B).
rt822(A+B) :-
rt842(A),
rt841(B).
:- regtype rt803/1.
rt803(t).
rt803(const(A)) :-
term(A).
rt803(A*B) :-
rt813(A),
rt804(B).
rt803(A+B) :-
rt843(A),
rt822(B).
:- regtype rt763/1.
rt763(d(A)) :-
rt764(A).
rt763(e(A)) :-
rt803(A).
:- regtype rt762/1.
rt762(d(A)) :-
rt763(A).
:- regtype rt8/1.
rt8(0).
rt8(1).
:- regtype rt898/1.
rt898(t).
rt898(const(A)) :-
gnd(A).
rt898(A*B) :-
rt898(A),
rt932(B).
rt898(A+B) :-
rt947(A),
rt945(B).
:- regtype rt897/1.
rt897(t).
rt897(const(A)) :-
gnd(A).
rt897(A*B) :-
rt898(A),
rt932(B).
rt897(A+B) :-
rt947(A),
rt945(B).
:- regtype rt903/1.
rt903(t).
rt903(const(A)) :-
gnd(A).
rt903(A*B) :-
rt898(A),
rt932(B).
rt903(A+B) :-
rt947(A),
rt945(B).
:- regtype rt947/1.
rt947(t).
rt947(const(A)) :-
gnd(A).
rt947(A*B) :-
rt910(A),
rt903(B).
rt947(A+B) :-
rt951(A),
rt950(B).
:- regtype rt900/1.
rt900(t).
rt900(const(A)) :-
gnd(A).
rt900(A*B) :-
rt898(A),
rt932(B).
rt900(A+B) :-
rt947(A),
rt945(B).
:- regtype rt951/1.
rt951(t).
rt951(const(A)) :-
gnd(A).
rt951(A*B) :-
rt910(A),
rt942(B).
rt951(A+B) :-
rt951(A),
rt950(B).
:- regtype rt944/1.
rt944(t).
rt944(const(A)) :-
gnd(A).
rt944(A*B) :-
rt910(A),
rt932(B).
rt944(A+B) :-
rt943(A),
rt938(B).
:- regtype rt943/1.
rt943(t).
rt943(const(A)) :-
gnd(A).
rt943(A*B) :-
rt910(A),
rt942(B).
rt943(A+B) :-
rt941(A),
rt940(B).
:- regtype rt938/1.
rt938(t).
rt938(const(A)) :-
gnd(A).
rt938(A*B) :-
rt907(A),
rt939(B).
rt938(A+B) :-
rt941(A),
rt940(B).
:- regtype rt933/1.
rt933(t).
rt933(const(A)) :-
gnd(A).
rt933(A*B) :-
rt907(A),
rt932(B).
rt933(A+B) :-
rt943(A),
rt938(B).
:- regtype rt932/1.
rt932(t).
rt932(const(A)) :-
gnd(A).
rt932(A*B) :-
rt896(A),
rt932(B).
rt932(A+B) :-
rt944(A),
rt933(B).
:- regtype rt942/1.
rt942(t).
rt942(const(A)) :-
gnd(A).
rt942(A*B) :-
rt896(A),
rt932(B).
rt942(A+B) :-
rt941(A),
rt940(B).
:- regtype rt941/1.
rt941(t).
rt941(const(A)) :-
gnd(A).
rt941(A*B) :-
rt910(A),
rt942(B).
rt941(A+B) :-
rt941(A),
rt940(B).
:- regtype rt940/1.
rt940(t).
rt940(const(A)) :-
gnd(A).
rt940(A*B) :-
rt907(A),
rt939(B).
rt940(A+B) :-
rt941(A),
rt940(B).
:- regtype rt939/1.
rt939(t).
rt939(const(A)) :-
gnd(A).
rt939(A*B) :-
rt896(A),
rt932(B).
rt939(A+B) :-
rt941(A),
rt940(B).
:- regtype rt950/1.
rt950(t).
rt950(const(A)) :-
gnd(A).
rt950(A*B) :-
rt907(A),
rt939(B).
rt950(A+B) :-
rt951(A),
rt950(B).
:- regtype rt945/1.
rt945(t).
rt945(const(A)) :-
gnd(A).
rt945(A*B) :-
rt907(A),
rt900(B).
rt945(A+B) :-
rt951(A),
rt950(B).
:- regtype rt896/1.
rt896(t).
rt896(const(A)) :-
gnd(A).
rt896(A*B) :-
rt898(A),
rt897(B).
rt896(A+B) :-
rt947(A),
rt945(B).
:- regtype rt889/1.
rt889(const(A)) :-
rt634(A).
rt889(A*B) :-
rt896(A),
rt889(B).
rt889(A+B) :-
rt908(A),
rt905(B).
:- regtype rt910/1.
rt910(t).
rt910(const(A)) :-
term(A).
rt910(A*B) :-
rt670(A),
rt669(B).
rt910(A+B) :-
rt672(A),
rt671(B).
:- regtype rt909/1.
rt909(const(A)) :-
rt651(A).
rt909(A*B) :-
rt896(A),
rt889(B).
rt909(A+B) :-
rt908(A),
rt905(B).
:- regtype rt908/1.
rt908(const(A)) :-
rt634(A).
rt908(A*B) :-
rt910(A),
rt909(B).
rt908(A+B) :-
rt908(A),
rt905(B).
:- regtype rt907/1.
rt907(t).
rt907(const(A)) :-
term(A).
rt907(A*B) :-
rt670(A),
rt669(B).
rt907(A+B) :-
rt672(A),
rt671(B).
:- regtype rt906/1.
rt906(const(A)) :-
rt651(A).
rt906(A*B) :-
rt896(A),
rt889(B).
rt906(A+B) :-
rt908(A),
rt905(B).
:- regtype rt905/1.
rt905(const(A)) :-
rt634(A).
rt905(A*B) :-
rt907(A),
rt906(B).
rt905(A+B) :-
rt908(A),
rt905(B).
:- regtype rt888/1.
rt888(const(A)) :-
rt634(A).
rt888(A*B) :-
rt896(A),
rt889(B).
rt888(A+B) :-
rt908(A),
rt905(B).
:- regtype rt875/1.
rt875(t).
rt875(const(A)) :-
gnd(A).
rt875(A*B) :-
rt875(A),
rt911(B).
rt875(A+B) :-
rt926(A),
rt924(B).
:- regtype rt874/1.
rt874(t).
rt874(const(A)) :-
gnd(A).
rt874(A*B) :-
rt875(A),
rt911(B).
rt874(A+B) :-
rt926(A),
rt924(B).
:- regtype rt880/1.
rt880(t).
rt880(const(A)) :-
gnd(A).
rt880(A*B) :-
rt875(A),
rt911(B).
rt880(A+B) :-
rt926(A),
rt924(B).
:- regtype rt926/1.
rt926(t).
rt926(const(A)) :-
gnd(A).
rt926(A*B) :-
rt887(A),
rt880(B).
rt926(A+B) :-
rt930(A),
rt929(B).
:- regtype rt877/1.
rt877(t).
rt877(const(A)) :-
gnd(A).
rt877(A*B) :-
rt875(A),
rt911(B).
rt877(A+B) :-
rt926(A),
rt924(B).
:- regtype rt930/1.
rt930(t).
rt930(const(A)) :-
gnd(A).
rt930(A*B) :-
rt887(A),
rt921(B).
rt930(A+B) :-
rt930(A),
rt929(B).
:- regtype rt923/1.
rt923(t).
rt923(const(A)) :-
gnd(A).
rt923(A*B) :-
rt887(A),
rt911(B).
rt923(A+B) :-
rt922(A),
rt917(B).
:- regtype rt922/1.
rt922(t).
rt922(const(A)) :-
gnd(A).
rt922(A*B) :-
rt887(A),
rt921(B).
rt922(A+B) :-
rt920(A),
rt919(B).
:- regtype rt917/1.
rt917(t).
rt917(const(A)) :-
gnd(A).
rt917(A*B) :-
rt884(A),
rt918(B).
rt917(A+B) :-
rt920(A),
rt919(B).
:- regtype rt912/1.
rt912(t).
rt912(const(A)) :-
gnd(A).
rt912(A*B) :-
rt884(A),
rt911(B).
rt912(A+B) :-
rt922(A),
rt917(B).
:- regtype rt911/1.
rt911(t).
rt911(const(A)) :-
gnd(A).
rt911(A*B) :-
rt873(A),
rt911(B).
rt911(A+B) :-
rt923(A),
rt912(B).
:- regtype rt921/1.
rt921(t).
rt921(const(A)) :-
gnd(A).
rt921(A*B) :-
rt873(A),
rt911(B).
rt921(A+B) :-
rt920(A),
rt919(B).
:- regtype rt920/1.
rt920(t).
rt920(const(A)) :-
gnd(A).
rt920(A*B) :-
rt887(A),
rt921(B).
rt920(A+B) :-
rt920(A),
rt919(B).
:- regtype rt919/1.
rt919(t).
rt919(const(A)) :-
gnd(A).
rt919(A*B) :-
rt884(A),
rt918(B).
rt919(A+B) :-
rt920(A),
rt919(B).
:- regtype rt918/1.
rt918(t).
rt918(const(A)) :-
gnd(A).
rt918(A*B) :-
rt873(A),
rt911(B).
rt918(A+B) :-
rt920(A),
rt919(B).
:- regtype rt929/1.
rt929(t).
rt929(const(A)) :-
gnd(A).
rt929(A*B) :-
rt884(A),
rt918(B).
rt929(A+B) :-
rt930(A),
rt929(B).
:- regtype rt924/1.
rt924(t).
rt924(const(A)) :-
gnd(A).
rt924(A*B) :-
rt884(A),
rt877(B).
rt924(A+B) :-
rt930(A),
rt929(B).
:- regtype rt873/1.
rt873(t).
rt873(const(A)) :-
gnd(A).
rt873(A*B) :-
rt875(A),
rt874(B).
rt873(A+B) :-
rt926(A),
rt924(B).
:- regtype rt866/1.
rt866(const(A)) :-
rt634(A).
rt866(A*B) :-
rt873(A),
rt866(B).
rt866(A+B) :-
rt885(A),
rt882(B).
:- regtype rt887/1.
rt887(t).
rt887(const(A)) :-
term(A).
rt887(A*B) :-
rt670(A),
rt669(B).
rt887(A+B) :-
rt672(A),
rt671(B).
:- regtype rt886/1.
rt886(const(A)) :-
rt651(A).
rt886(A*B) :-
rt873(A),
rt866(B).
rt886(A+B) :-
rt885(A),
rt882(B).
:- regtype rt885/1.
rt885(const(A)) :-
rt634(A).
rt885(A*B) :-
rt887(A),
rt886(B).
rt885(A+B) :-
rt885(A),
rt882(B).
:- regtype rt884/1.
rt884(t).
rt884(const(A)) :-
term(A).
rt884(A*B) :-
rt670(A),
rt669(B).
rt884(A+B) :-
rt672(A),
rt671(B).
:- regtype rt883/1.
rt883(const(A)) :-
rt651(A).
rt883(A*B) :-
rt873(A),
rt866(B).
rt883(A+B) :-
rt885(A),
rt882(B).
:- regtype rt882/1.
rt882(const(A)) :-
rt634(A).
rt882(A*B) :-
rt884(A),
rt883(B).
rt882(A+B) :-
rt885(A),
rt882(B).
:- regtype rt865/1.
rt865(const(A)) :-
rt634(A).
rt865(A*B) :-
rt873(A),
rt866(B).
rt865(A+B) :-
rt885(A),
rt882(B).
:- regtype rt864/1.
rt864(const(A)) :-
rt8(A).
rt864(A+B) :-
rt888(A),
rt865(B).
:- regtype rt583/1.
rt583(t).
rt583(const(A)) :-
term(A).
rt583(A*B) :-
rt583(A),
rt582(B).
rt583(A+B) :-
rt585(A),
rt584(B).
:- regtype rt582/1.
rt582(t).
rt582(const(A)) :-
term(A).
rt582(A*B) :-
rt583(A),
rt582(B).
rt582(A+B) :-
rt585(A),
rt584(B).
:- regtype rt585/1.
rt585(t).
rt585(const(A)) :-
term(A).
rt585(A*B) :-
rt583(A),
rt582(B).
rt585(A+B) :-
rt585(A),
rt584(B).
:- regtype rt584/1.
rt584(t).
rt584(const(A)) :-
term(A).
rt584(A*B) :-
rt583(A),
rt582(B).
rt584(A+B) :-
rt585(A),
rt584(B).
:- regtype rt581/1.
rt581(t).
rt581(const(A)) :-
term(A).
rt581(A*B) :-
rt583(A),
rt582(B).
rt581(A+B) :-
rt585(A),
rt584(B).
:- regtype rt561/1.
rt561(const(A)) :-
rt337(A).
rt561(A*B) :-
rt581(A),
rt561(B).
rt561(A+B) :-
rt606(A),
rt586(B).
:- regtype rt623/1.
rt623(t).
rt623(const(A)) :-
term(A).
rt623(A*B) :-
rt623(A),
rt622(B).
rt623(A+B) :-
rt625(A),
rt624(B).
:- regtype rt622/1.
rt622(t).
rt622(const(A)) :-
term(A).
rt622(A*B) :-
rt623(A),
rt622(B).
rt622(A+B) :-
rt625(A),
rt624(B).
:- regtype rt625/1.
rt625(t).
rt625(const(A)) :-
term(A).
rt625(A*B) :-
rt623(A),
rt622(B).
rt625(A+B) :-
rt625(A),
rt624(B).
:- regtype rt624/1.
rt624(t).
rt624(const(A)) :-
term(A).
rt624(A*B) :-
rt623(A),
rt622(B).
rt624(A+B) :-
rt625(A),
rt624(B).
:- regtype rt621/1.
rt621(t).
rt621(const(A)) :-
term(A).
rt621(A*B) :-
rt623(A),
rt622(B).
rt621(A+B) :-
rt625(A),
rt624(B).
:- regtype rt611/1.
rt611(t).
rt611(const(A)) :-
term(A).
rt611(A*B) :-
rt611(A),
rt610(B).
rt611(A+B) :-
rt613(A),
rt612(B).
:- regtype rt610/1.
rt610(t).
rt610(const(A)) :-
term(A).
rt610(A*B) :-
rt611(A),
rt610(B).
rt610(A+B) :-
rt613(A),
rt612(B).
:- regtype rt613/1.
rt613(t).
rt613(const(A)) :-
term(A).
rt613(A*B) :-
rt611(A),
rt610(B).
rt613(A+B) :-
rt613(A),
rt612(B).
:- regtype rt612/1.
rt612(t).
rt612(const(A)) :-
term(A).
rt612(A*B) :-
rt611(A),
rt610(B).
rt612(A+B) :-
rt613(A),
rt612(B).
:- regtype rt609/1.
rt609(t).
rt609(const(A)) :-
term(A).
rt609(A*B) :-
rt611(A),
rt610(B).
rt609(A+B) :-
rt613(A),
rt612(B).
:- regtype rt608/1.
rt608(const(A)) :-
rt337(A).
rt608(A*B) :-
rt609(A),
rt608(B).
rt608(A+B) :-
rt606(A),
rt614(B).
:- regtype rt618/1.
rt618(t).
rt618(const(A)) :-
term(A).
rt618(A*B) :-
rt618(A),
rt617(B).
rt618(A+B) :-
rt620(A),
rt619(B).
:- regtype rt617/1.
rt617(t).
rt617(const(A)) :-
term(A).
rt617(A*B) :-
rt618(A),
rt617(B).
rt617(A+B) :-
rt620(A),
rt619(B).
:- regtype rt620/1.
rt620(t).
rt620(const(A)) :-
term(A).
rt620(A*B) :-
rt618(A),
rt617(B).
rt620(A+B) :-
rt620(A),
rt619(B).
:- regtype rt619/1.
rt619(t).
rt619(const(A)) :-
term(A).
rt619(A*B) :-
rt618(A),
rt617(B).
rt619(A+B) :-
rt620(A),
rt619(B).
:- regtype rt616/1.
rt616(t).
rt616(const(A)) :-
term(A).
rt616(A*B) :-
rt618(A),
rt617(B).
rt616(A+B) :-
rt620(A),
rt619(B).
:- regtype rt615/1.
rt615(const(A)) :-
rt337(A).
rt615(A*B) :-
rt609(A),
rt608(B).
rt615(A+B) :-
rt606(A),
rt614(B).
:- regtype rt614/1.
rt614(const(A)) :-
rt337(A).
rt614(A*B) :-
rt616(A),
rt615(B).
rt614(A+B) :-
rt606(A),
rt614(B).
:- regtype rt607/1.
rt607(const(A)) :-
rt337(A).
rt607(A*B) :-
rt609(A),
rt608(B).
rt607(A+B) :-
rt606(A),
rt614(B).
:- regtype rt606/1.
rt606(const(A)) :-
rt337(A).
rt606(A*B) :-
rt621(A),
rt607(B).
rt606(A+B) :-
rt606(A),
rt586(B).
:- regtype rt603/1.
rt603(t).
rt603(const(A)) :-
term(A).
rt603(A*B) :-
rt603(A),
rt602(B).
rt603(A+B) :-
rt605(A),
rt604(B).
:- regtype rt602/1.
rt602(t).
rt602(const(A)) :-
term(A).
rt602(A*B) :-
rt603(A),
rt602(B).
rt602(A+B) :-
rt605(A),
rt604(B).
:- regtype rt605/1.
rt605(t).
rt605(const(A)) :-
term(A).
rt605(A*B) :-
rt603(A),
rt602(B).
rt605(A+B) :-
rt605(A),
rt604(B).
:- regtype rt604/1.
rt604(t).
rt604(const(A)) :-
term(A).
rt604(A*B) :-
rt603(A),
rt602(B).
rt604(A+B) :-
rt605(A),
rt604(B).
:- regtype rt601/1.
rt601(t).
rt601(const(A)) :-
term(A).
rt601(A*B) :-
rt603(A),
rt602(B).
rt601(A+B) :-
rt605(A),
rt604(B).
:- regtype rt591/1.
rt591(t).
rt591(const(A)) :-
term(A).
rt591(A*B) :-
rt591(A),
rt590(B).
rt591(A+B) :-
rt593(A),
rt592(B).
:- regtype rt590/1.
rt590(t).
rt590(const(A)) :-
term(A).
rt590(A*B) :-
rt591(A),
rt590(B).
rt590(A+B) :-
rt593(A),
rt592(B).
:- regtype rt593/1.
rt593(t).
rt593(const(A)) :-
term(A).
rt593(A*B) :-
rt591(A),
rt590(B).
rt593(A+B) :-
rt593(A),
rt592(B).
:- regtype rt592/1.
rt592(t).
rt592(const(A)) :-
term(A).
rt592(A*B) :-
rt591(A),
rt590(B).
rt592(A+B) :-
rt593(A),
rt592(B).
:- regtype rt589/1.
rt589(t).
rt589(const(A)) :-
term(A).
rt589(A*B) :-
rt591(A),
rt590(B).
rt589(A+B) :-
rt593(A),
rt592(B).
:- regtype rt588/1.
rt588(const(A)) :-
rt337(A).
rt588(A*B) :-
rt589(A),
rt588(B).
rt588(A+B) :-
rt606(A),
rt586(B).
:- regtype rt587/1.
rt587(const(A)) :-
rt337(A).
rt587(A*B) :-
rt589(A),
rt588(B).
rt587(A+B) :-
rt606(A),
rt586(B).
:- regtype rt586/1.
rt586(const(A)) :-
rt337(A).
rt586(A*B) :-
rt601(A),
rt587(B).
rt586(A+B) :-
rt606(A),
rt586(B).
:- regtype rt560/1.
rt560(const(A)) :-
rt337(A).
rt560(A*B) :-
rt581(A),
rt561(B).
rt560(A+B) :-
rt606(A),
rt586(B).
:- regtype rt517/1.
rt517(t).
rt517(const(A)) :-
term(A).
rt517(A*B) :-
rt517(A),
rt516(B).
rt517(A+B) :-
rt519(A),
rt518(B).
:- regtype rt516/1.
rt516(t).
rt516(const(A)) :-
term(A).
rt516(A*B) :-
rt517(A),
rt516(B).
rt516(A+B) :-
rt519(A),
rt518(B).
:- regtype rt519/1.
rt519(t).
rt519(const(A)) :-
term(A).
rt519(A*B) :-
rt517(A),
rt516(B).
rt519(A+B) :-
rt519(A),
rt518(B).
:- regtype rt518/1.
rt518(t).
rt518(const(A)) :-
term(A).
rt518(A*B) :-
rt517(A),
rt516(B).
rt518(A+B) :-
rt519(A),
rt518(B).
:- regtype rt515/1.
rt515(t).
rt515(const(A)) :-
term(A).
rt515(A*B) :-
rt517(A),
rt516(B).
rt515(A+B) :-
rt519(A),
rt518(B).
:- regtype rt495/1.
rt495(const(A)) :-
rt337(A).
rt495(A*B) :-
rt515(A),
rt495(B).
rt495(A+B) :-
rt540(A),
rt520(B).
:- regtype rt557/1.
rt557(t).
rt557(const(A)) :-
term(A).
rt557(A*B) :-
rt557(A),
rt556(B).
rt557(A+B) :-
rt559(A),
rt558(B).
:- regtype rt556/1.
rt556(t).
rt556(const(A)) :-
term(A).
rt556(A*B) :-
rt557(A),
rt556(B).
rt556(A+B) :-
rt559(A),
rt558(B).
:- regtype rt559/1.
rt559(t).
rt559(const(A)) :-
term(A).
rt559(A*B) :-
rt557(A),
rt556(B).
rt559(A+B) :-
rt559(A),
rt558(B).
:- regtype rt558/1.
rt558(t).
rt558(const(A)) :-
term(A).
rt558(A*B) :-
rt557(A),
rt556(B).
rt558(A+B) :-
rt559(A),
rt558(B).
:- regtype rt555/1.
rt555(t).
rt555(const(A)) :-
term(A).
rt555(A*B) :-
rt557(A),
rt556(B).
rt555(A+B) :-
rt559(A),
rt558(B).
:- regtype rt545/1.
rt545(t).
rt545(const(A)) :-
term(A).
rt545(A*B) :-
rt545(A),
rt544(B).
rt545(A+B) :-
rt547(A),
rt546(B).
:- regtype rt544/1.
rt544(t).
rt544(const(A)) :-
term(A).
rt544(A*B) :-
rt545(A),
rt544(B).
rt544(A+B) :-
rt547(A),
rt546(B).
:- regtype rt547/1.
rt547(t).
rt547(const(A)) :-
term(A).
rt547(A*B) :-
rt545(A),
rt544(B).
rt547(A+B) :-
rt547(A),
rt546(B).
:- regtype rt546/1.
rt546(t).
rt546(const(A)) :-
term(A).
rt546(A*B) :-
rt545(A),
rt544(B).
rt546(A+B) :-
rt547(A),
rt546(B).
:- regtype rt543/1.
rt543(t).
rt543(const(A)) :-
term(A).
rt543(A*B) :-
rt545(A),
rt544(B).
rt543(A+B) :-
rt547(A),
rt546(B).
:- regtype rt542/1.
rt542(const(A)) :-
rt337(A).
rt542(A*B) :-
rt543(A),
rt542(B).
rt542(A+B) :-
rt540(A),
rt548(B).
:- regtype rt552/1.
rt552(t).
rt552(const(A)) :-
term(A).
rt552(A*B) :-
rt552(A),
rt551(B).
rt552(A+B) :-
rt554(A),
rt553(B).
:- regtype rt551/1.
rt551(t).
rt551(const(A)) :-
term(A).
rt551(A*B) :-
rt552(A),
rt551(B).
rt551(A+B) :-
rt554(A),
rt553(B).
:- regtype rt554/1.
rt554(t).
rt554(const(A)) :-
term(A).
rt554(A*B) :-
rt552(A),
rt551(B).
rt554(A+B) :-
rt554(A),
rt553(B).
:- regtype rt553/1.
rt553(t).
rt553(const(A)) :-
term(A).
rt553(A*B) :-
rt552(A),
rt551(B).
rt553(A+B) :-
rt554(A),
rt553(B).
:- regtype rt550/1.
rt550(t).
rt550(const(A)) :-
term(A).
rt550(A*B) :-
rt552(A),
rt551(B).
rt550(A+B) :-
rt554(A),
rt553(B).
:- regtype rt549/1.
rt549(const(A)) :-
rt337(A).
rt549(A*B) :-
rt543(A),
rt542(B).
rt549(A+B) :-
rt540(A),
rt548(B).
:- regtype rt548/1.
rt548(const(A)) :-
rt337(A).
rt548(A*B) :-
rt550(A),
rt549(B).
rt548(A+B) :-
rt540(A),
rt548(B).
:- regtype rt541/1.
rt541(const(A)) :-
rt337(A).
rt541(A*B) :-
rt543(A),
rt542(B).
rt541(A+B) :-
rt540(A),
rt548(B).
:- regtype rt540/1.
rt540(const(A)) :-
rt337(A).
rt540(A*B) :-
rt555(A),
rt541(B).
rt540(A+B) :-
rt540(A),
rt520(B).
:- regtype rt537/1.
rt537(t).
rt537(const(A)) :-
term(A).
rt537(A*B) :-
rt537(A),
rt536(B).
rt537(A+B) :-
rt539(A),
rt538(B).
:- regtype rt536/1.
rt536(t).
rt536(const(A)) :-
term(A).
rt536(A*B) :-
rt537(A),
rt536(B).
rt536(A+B) :-
rt539(A),
rt538(B).
:- regtype rt539/1.
rt539(t).
rt539(const(A)) :-
term(A).
rt539(A*B) :-
rt537(A),
rt536(B).
rt539(A+B) :-
rt539(A),
rt538(B).
:- regtype rt538/1.
rt538(t).
rt538(const(A)) :-
term(A).
rt538(A*B) :-
rt537(A),
rt536(B).
rt538(A+B) :-
rt539(A),
rt538(B).
:- regtype rt535/1.
rt535(t).
rt535(const(A)) :-
term(A).
rt535(A*B) :-
rt537(A),
rt536(B).
rt535(A+B) :-
rt539(A),
rt538(B).
:- regtype rt525/1.
rt525(t).
rt525(const(A)) :-
term(A).
rt525(A*B) :-
rt525(A),
rt524(B).
rt525(A+B) :-
rt527(A),
rt526(B).
:- regtype rt524/1.
rt524(t).
rt524(const(A)) :-
term(A).
rt524(A*B) :-
rt525(A),
rt524(B).
rt524(A+B) :-
rt527(A),
rt526(B).
:- regtype rt527/1.
rt527(t).
rt527(const(A)) :-
term(A).
rt527(A*B) :-
rt525(A),
rt524(B).
rt527(A+B) :-
rt527(A),
rt526(B).
:- regtype rt526/1.
rt526(t).
rt526(const(A)) :-
term(A).
rt526(A*B) :-
rt525(A),
rt524(B).
rt526(A+B) :-
rt527(A),
rt526(B).
:- regtype rt523/1.
rt523(t).
rt523(const(A)) :-
term(A).
rt523(A*B) :-
rt525(A),
rt524(B).
rt523(A+B) :-
rt527(A),
rt526(B).
:- regtype rt522/1.
rt522(const(A)) :-
rt337(A).
rt522(A*B) :-
rt523(A),
rt522(B).
rt522(A+B) :-
rt540(A),
rt520(B).
:- regtype rt521/1.
rt521(const(A)) :-
rt337(A).
rt521(A*B) :-
rt523(A),
rt522(B).
rt521(A+B) :-
rt540(A),
rt520(B).
:- regtype rt520/1.
rt520(const(A)) :-
rt337(A).
rt520(A*B) :-
rt535(A),
rt521(B).
rt520(A+B) :-
rt540(A),
rt520(B).
:- regtype rt494/1.
rt494(const(A)) :-
rt337(A).
rt494(A*B) :-
rt515(A),
rt495(B).
rt494(A+B) :-
rt540(A),
rt520(B).
:- regtype rt493/1.
rt493(const(A)) :-
rt330(A).
rt493(A+B) :-
rt560(A),
rt494(B).
:- regtype rt716/1.
rt716(t).
rt716(const(A)) :-
term(A).
rt716(A*B) :-
rt670(A),
rt669(B).
rt716(A+B) :-
rt672(A),
rt671(B).
:- regtype rt715/1.
rt715(const(A)) :-
rt651(A).
rt715(A+B) :-
rt714(A),
rt711(B).
:- regtype rt714/1.
rt714(const(A)) :-
rt634(A).
rt714(A*B) :-
rt716(A),
rt715(B).
rt714(A+B) :-
rt714(A),
rt711(B).
:- regtype rt713/1.
rt713(t).
rt713(const(A)) :-
term(A).
rt713(A*B) :-
rt670(A),
rt669(B).
rt713(A+B) :-
rt672(A),
rt671(B).
:- regtype rt712/1.
rt712(const(A)) :-
rt651(A).
rt712(A+B) :-
rt714(A),
rt711(B).
:- regtype rt711/1.
rt711(const(A)) :-
rt634(A).
rt711(A*B) :-
rt713(A),
rt712(B).
rt711(A+B) :-
rt714(A),
rt711(B).
:- regtype rt710/1.
rt710(const(A)) :-
rt634(A).
rt710(A+B) :-
rt714(A),
rt711(B).
:- regtype rt709/1.
rt709(t).
rt709(const(A)) :-
term(A).
rt709(A*B) :-
rt670(A),
rt669(B).
rt709(A+B) :-
rt672(A),
rt671(B).
:- regtype rt708/1.
rt708(const(A)) :-
rt651(A).
rt708(A+B) :-
rt707(A),
rt704(B).
:- regtype rt707/1.
rt707(const(A)) :-
rt634(A).
rt707(A*B) :-
rt709(A),
rt708(B).
rt707(A+B) :-
rt707(A),
rt704(B).
:- regtype rt706/1.
rt706(t).
rt706(const(A)) :-
term(A).
rt706(A*B) :-
rt670(A),
rt669(B).
rt706(A+B) :-
rt672(A),
rt671(B).
:- regtype rt705/1.
rt705(const(A)) :-
rt651(A).
rt705(A+B) :-
rt707(A),
rt704(B).
:- regtype rt704/1.
rt704(const(A)) :-
rt634(A).
rt704(A*B) :-
rt706(A),
rt705(B).
rt704(A+B) :-
rt707(A),
rt704(B).
:- regtype rt703/1.
rt703(const(A)) :-
rt634(A).
rt703(A+B) :-
rt707(A),
rt704(B).
:- regtype rt702/1.
rt702(const(0)).
rt702(A+B) :-
rt710(A),
rt703(B).
:- regtype rt745/1.
rt745(t).
rt745(const(A)) :-
term(A).
rt745(A*B) :-
rt744(A),
rt745(B).
rt745(A+B) :-
rt753(A),
rt750(B).
:- regtype rt744/1.
rt744(t).
rt744(const(A)) :-
term(A).
rt744(A*B) :-
rt744(A),
rt745(B).
rt744(A+B) :-
rt753(A),
rt750(B).
:- regtype rt738/1.
rt738(t).
rt738(const(A)) :-
term(A).
rt738(A*B) :-
rt744(A),
rt738(B).
rt738(A+B) :-
rt753(A),
rt750(B).
:- regtype rt755/1.
rt755(t).
rt755(const(A)) :-
term(A).
rt755(A*B) :-
rt744(A),
rt738(B).
rt755(A+B) :-
rt753(A),
rt750(B).
:- regtype rt754/1.
rt754(t).
rt754(const(A)) :-
term(A).
rt754(A*B) :-
rt744(A),
rt738(B).
rt754(A+B) :-
rt753(A),
rt750(B).
:- regtype rt753/1.
rt753(t).
rt753(const(A)) :-
term(A).
rt753(A*B) :-
rt755(A),
rt754(B).
rt753(A+B) :-
rt753(A),
rt750(B).
:- regtype rt752/1.
rt752(t).
rt752(const(A)) :-
term(A).
rt752(A*B) :-
rt744(A),
rt738(B).
rt752(A+B) :-
rt753(A),
rt750(B).
:- regtype rt751/1.
rt751(t).
rt751(const(A)) :-
term(A).
rt751(A*B) :-
rt744(A),
rt738(B).
rt751(A+B) :-
rt753(A),
rt750(B).
:- regtype rt750/1.
rt750(t).
rt750(const(A)) :-
term(A).
rt750(A*B) :-
rt752(A),
rt751(B).
rt750(A+B) :-
rt753(A),
rt750(B).
:- regtype rt737/1.
rt737(t).
rt737(const(A)) :-
term(A).
rt737(A*B) :-
rt744(A),
rt738(B).
rt737(A+B) :-
rt753(A),
rt750(B).
:- regtype rt726/1.
rt726(t).
rt726(const(A)) :-
term(A).
rt726(A*B) :-
rt725(A),
rt726(B).
rt726(A+B) :-
rt734(A),
rt731(B).
:- regtype rt725/1.
rt725(t).
rt725(const(A)) :-
term(A).
rt725(A*B) :-
rt725(A),
rt726(B).
rt725(A+B) :-
rt734(A),
rt731(B).
:- regtype rt719/1.
rt719(t).
rt719(const(A)) :-
term(A).
rt719(A*B) :-
rt725(A),
rt719(B).
rt719(A+B) :-
rt734(A),
rt731(B).
:- regtype rt736/1.
rt736(t).
rt736(const(A)) :-
term(A).
rt736(A*B) :-
rt725(A),
rt719(B).
rt736(A+B) :-
rt734(A),
rt731(B).
:- regtype rt735/1.
rt735(t).
rt735(const(A)) :-
term(A).
rt735(A*B) :-
rt725(A),
rt719(B).
rt735(A+B) :-
rt734(A),
rt731(B).
:- regtype rt734/1.
rt734(t).
rt734(const(A)) :-
term(A).
rt734(A*B) :-
rt736(A),
rt735(B).
rt734(A+B) :-
rt734(A),
rt731(B).
:- regtype rt733/1.
rt733(t).
rt733(const(A)) :-
term(A).
rt733(A*B) :-
rt725(A),
rt719(B).
rt733(A+B) :-
rt734(A),
rt731(B).
:- regtype rt732/1.
rt732(t).
rt732(const(A)) :-
term(A).
rt732(A*B) :-
rt725(A),
rt719(B).
rt732(A+B) :-
rt734(A),
rt731(B).
:- regtype rt731/1.
rt731(t).
rt731(const(A)) :-
term(A).
rt731(A*B) :-
rt733(A),
rt732(B).
rt731(A+B) :-
rt734(A),
rt731(B).
:- regtype rt718/1.
rt718(t).
rt718(const(A)) :-
term(A).
rt718(A*B) :-
rt725(A),
rt719(B).
rt718(A+B) :-
rt734(A),
rt731(B).
:- regtype rt717/1.
rt717(const(A)) :-
rt330(A).
rt717(A+B) :-
rt737(A),
rt718(B).
:- regtype rt634/1.
rt634(0).
rt634(1).
:- regtype rt697/1.
rt697(t).
rt697(const(A)) :-
term(A).
rt697(A*B) :-
rt670(A),
rt669(B).
rt697(A+B) :-
rt672(A),
rt671(B).
:- regtype rt696/1.
rt696(const(A)) :-
rt651(A).
rt696(A+B) :-
rt695(A),
rt692(B).
:- regtype rt695/1.
rt695(const(A)) :-
rt634(A).
rt695(A*B) :-
rt697(A),
rt696(B).
rt695(A+B) :-
rt695(A),
rt692(B).
:- regtype rt694/1.
rt694(t).
rt694(const(A)) :-
term(A).
rt694(A*B) :-
rt670(A),
rt669(B).
rt694(A+B) :-
rt672(A),
rt671(B).
:- regtype rt693/1.
rt693(const(A)) :-
rt651(A).
rt693(A+B) :-
rt695(A),
rt692(B).
:- regtype rt692/1.
rt692(const(A)) :-
rt634(A).
rt692(A*B) :-
rt694(A),
rt693(B).
rt692(A+B) :-
rt695(A),
rt692(B).
:- regtype rt691/1.
rt691(const(A)) :-
rt634(A).
rt691(A+B) :-
rt695(A),
rt692(B).
:- regtype rt688/1.
rt688(t).
rt688(const(A)) :-
term(A).
rt688(A*B) :-
rt688(A),
rt687(B).
rt688(A+B) :-
rt690(A),
rt689(B).
:- regtype rt687/1.
rt687(t).
rt687(const(A)) :-
term(A).
rt687(A*B) :-
rt688(A),
rt687(B).
rt687(A+B) :-
rt690(A),
rt689(B).
:- regtype rt690/1.
rt690(t).
rt690(const(A)) :-
term(A).
rt690(A*B) :-
rt688(A),
rt687(B).
rt690(A+B) :-
rt690(A),
rt689(B).
:- regtype rt689/1.
rt689(t).
rt689(const(A)) :-
term(A).
rt689(A*B) :-
rt688(A),
rt687(B).
rt689(A+B) :-
rt690(A),
rt689(B).
:- regtype rt686/1.
rt686(t).
rt686(const(A)) :-
term(A).
rt686(A*B) :-
rt688(A),
rt687(B).
rt686(A+B) :-
rt690(A),
rt689(B).
:- regtype rt651/1.
rt651(0).
rt651(1).
:- regtype rt679/1.
rt679(t).
rt679(const(A)) :-
term(A).
rt679(A+B) :-
rt677(A),
rt674(B).
:- regtype rt678/1.
rt678(const(A)) :-
rt651(A).
rt678(A+B) :-
rt677(A),
rt674(B).
:- regtype rt677/1.
rt677(const(A)) :-
rt651(A).
rt677(A*B) :-
rt679(A),
rt678(B).
rt677(A+B) :-
rt677(A),
rt674(B).
:- regtype rt676/1.
rt676(t).
rt676(const(A)) :-
term(A).
rt676(A+B) :-
rt677(A),
rt674(B).
:- regtype rt675/1.
rt675(const(A)) :-
rt651(A).
rt675(A+B) :-
rt677(A),
rt674(B).
:- regtype rt674/1.
rt674(const(A)) :-
rt651(A).
rt674(A*B) :-
rt676(A),
rt675(B).
rt674(A+B) :-
rt677(A),
rt674(B).
:- regtype rt673/1.
rt673(const(A)) :-
rt651(A).
rt673(A+B) :-
rt677(A),
rt674(B).
:- regtype rt670/1.
rt670(t).
rt670(const(A)) :-
term(A).
rt670(A*B) :-
rt670(A),
rt669(B).
rt670(A+B) :-
rt672(A),
rt671(B).
:- regtype rt669/1.
rt669(t).
rt669(const(A)) :-
term(A).
rt669(A*B) :-
rt670(A),
rt669(B).
rt669(A+B) :-
rt672(A),
rt671(B).
:- regtype rt672/1.
rt672(t).
rt672(const(A)) :-
term(A).
rt672(A*B) :-
rt670(A),
rt669(B).
rt672(A+B) :-
rt672(A),
rt671(B).
:- regtype rt671/1.
rt671(t).
rt671(const(A)) :-
term(A).
rt671(A*B) :-
rt670(A),
rt669(B).
rt671(A+B) :-
rt672(A),
rt671(B).
:- regtype rt668/1.
rt668(t).
rt668(const(A)) :-
term(A).
rt668(A*B) :-
rt670(A),
rt669(B).
rt668(A+B) :-
rt672(A),
rt671(B).
:- regtype rt457/1.
rt457(t).
rt457(const(A)) :-
term(A).
rt457(A*B) :-
rt457(A),
rt456(B).
rt457(A+B) :-
rt459(A),
rt458(B).
:- regtype rt456/1.
rt456(t).
rt456(const(A)) :-
term(A).
rt456(A*B) :-
rt457(A),
rt456(B).
rt456(A+B) :-
rt459(A),
rt458(B).
:- regtype rt459/1.
rt459(t).
rt459(const(A)) :-
term(A).
rt459(A*B) :-
rt457(A),
rt456(B).
rt459(A+B) :-
rt459(A),
rt458(B).
:- regtype rt458/1.
rt458(t).
rt458(const(A)) :-
term(A).
rt458(A*B) :-
rt457(A),
rt456(B).
rt458(A+B) :-
rt459(A),
rt458(B).
:- regtype rt455/1.
rt455(t).
rt455(const(A)) :-
term(A).
rt455(A*B) :-
rt457(A),
rt456(B).
rt455(A+B) :-
rt459(A),
rt458(B).
:- regtype rt448/1.
rt448(const(A)) :-
rt337(A).
rt448(A*B) :-
rt455(A),
rt448(B).
rt448(A+B) :-
rt463(A),
rt460(B).
:- regtype rt464/1.
rt464(const(A)) :-
rt337(A).
rt464(A*B) :-
rt455(A),
rt448(B).
rt464(A+B) :-
rt463(A),
rt460(B).
:- regtype rt463/1.
rt463(const(A)) :-
rt337(A).
rt463(A*B) :-
rt455(A),
rt464(B).
rt463(A+B) :-
rt463(A),
rt460(B).
:- regtype rt461/1.
rt461(const(A)) :-
rt337(A).
rt461(A*B) :-
rt455(A),
rt448(B).
rt461(A+B) :-
rt463(A),
rt460(B).
:- regtype rt460/1.
rt460(const(A)) :-
rt337(A).
rt460(A*B) :-
rt455(A),
rt461(B).
rt460(A+B) :-
rt463(A),
rt460(B).
:- regtype rt447/1.
rt447(const(A)) :-
rt337(A).
rt447(A*B) :-
rt455(A),
rt448(B).
rt447(A+B) :-
rt463(A),
rt460(B).
:- regtype rt438/1.
rt438(t).
rt438(const(A)) :-
term(A).
rt438(A*B) :-
rt438(A),
rt437(B).
rt438(A+B) :-
rt440(A),
rt439(B).
:- regtype rt437/1.
rt437(t).
rt437(const(A)) :-
term(A).
rt437(A*B) :-
rt438(A),
rt437(B).
rt437(A+B) :-
rt440(A),
rt439(B).
:- regtype rt440/1.
rt440(t).
rt440(const(A)) :-
term(A).
rt440(A*B) :-
rt438(A),
rt437(B).
rt440(A+B) :-
rt440(A),
rt439(B).
:- regtype rt439/1.
rt439(t).
rt439(const(A)) :-
term(A).
rt439(A*B) :-
rt438(A),
rt437(B).
rt439(A+B) :-
rt440(A),
rt439(B).
:- regtype rt436/1.
rt436(t).
rt436(const(A)) :-
term(A).
rt436(A*B) :-
rt438(A),
rt437(B).
rt436(A+B) :-
rt440(A),
rt439(B).
:- regtype rt429/1.
rt429(const(A)) :-
rt337(A).
rt429(A*B) :-
rt436(A),
rt429(B).
rt429(A+B) :-
rt444(A),
rt441(B).
:- regtype rt445/1.
rt445(const(A)) :-
rt337(A).
rt445(A*B) :-
rt436(A),
rt429(B).
rt445(A+B) :-
rt444(A),
rt441(B).
:- regtype rt444/1.
rt444(const(A)) :-
rt337(A).
rt444(A*B) :-
rt436(A),
rt445(B).
rt444(A+B) :-
rt444(A),
rt441(B).
:- regtype rt442/1.
rt442(const(A)) :-
rt337(A).
rt442(A*B) :-
rt436(A),
rt429(B).
rt442(A+B) :-
rt444(A),
rt441(B).
:- regtype rt441/1.
rt441(const(A)) :-
rt337(A).
rt441(A*B) :-
rt436(A),
rt442(B).
rt441(A+B) :-
rt444(A),
rt441(B).
:- regtype rt428/1.
rt428(const(A)) :-
rt337(A).
rt428(A*B) :-
rt436(A),
rt429(B).
rt428(A+B) :-
rt444(A),
rt441(B).
:- regtype rt427/1.
rt427(const(A)) :-
rt330(A).
rt427(A+B) :-
rt447(A),
rt428(B).
:- regtype rt471/1.
rt471(d(A)) :-
rt471(A).
rt471(e(A)) :-
rt472(A).
:- regtype rt480/1.
rt480(t).
rt480(const(A)) :-
term(A).
rt480(A*B) :-
rt480(A),
rt479(B).
rt480(A+B) :-
rt482(A),
rt481(B).
:- regtype rt479/1.
rt479(t).
rt479(const(A)) :-
term(A).
rt479(A*B) :-
rt480(A),
rt479(B).
rt479(A+B) :-
rt482(A),
rt481(B).
:- regtype rt482/1.
rt482(t).
rt482(const(A)) :-
term(A).
rt482(A*B) :-
rt480(A),
rt479(B).
rt482(A+B) :-
rt482(A),
rt481(B).
:- regtype rt481/1.
rt481(t).
rt481(const(A)) :-
term(A).
rt481(A*B) :-
rt480(A),
rt479(B).
rt481(A+B) :-
rt482(A),
rt481(B).
:- regtype rt478/1.
rt478(t).
rt478(const(A)) :-
term(A).
rt478(A*B) :-
rt480(A),
rt479(B).
rt478(A+B) :-
rt482(A),
rt481(B).
:- regtype rt475/1.
rt475(t).
rt475(const(A)) :-
term(A).
rt475(A*B) :-
rt475(A),
rt474(B).
rt475(A+B) :-
rt477(A),
rt476(B).
:- regtype rt474/1.
rt474(t).
rt474(const(A)) :-
term(A).
rt474(A*B) :-
rt475(A),
rt474(B).
rt474(A+B) :-
rt477(A),
rt476(B).
:- regtype rt477/1.
rt477(t).
rt477(const(A)) :-
term(A).
rt477(A*B) :-
rt475(A),
rt474(B).
rt477(A+B) :-
rt477(A),
rt476(B).
:- regtype rt476/1.
rt476(t).
rt476(const(A)) :-
term(A).
rt476(A*B) :-
rt475(A),
rt474(B).
rt476(A+B) :-
rt477(A),
rt476(B).
:- regtype rt473/1.
rt473(t).
rt473(const(A)) :-
term(A).
rt473(A*B) :-
rt475(A),
rt474(B).
rt473(A+B) :-
rt477(A),
rt476(B).
:- regtype rt490/1.
rt490(t).
rt490(const(A)) :-
term(A).
rt490(A*B) :-
rt490(A),
rt489(B).
rt490(A+B) :-
rt492(A),
rt491(B).
:- regtype rt489/1.
rt489(t).
rt489(const(A)) :-
term(A).
rt489(A*B) :-
rt490(A),
rt489(B).
rt489(A+B) :-
rt492(A),
rt491(B).
:- regtype rt492/1.
rt492(t).
rt492(const(A)) :-
term(A).
rt492(A*B) :-
rt490(A),
rt489(B).
rt492(A+B) :-
rt492(A),
rt491(B).
:- regtype rt491/1.
rt491(t).
rt491(const(A)) :-
term(A).
rt491(A*B) :-
rt490(A),
rt489(B).
rt491(A+B) :-
rt492(A),
rt491(B).
:- regtype rt488/1.
rt488(t).
rt488(const(A)) :-
term(A).
rt488(A*B) :-
rt490(A),
rt489(B).
rt488(A+B) :-
rt492(A),
rt491(B).
:- regtype rt485/1.
rt485(t).
rt485(const(A)) :-
term(A).
rt485(A*B) :-
rt485(A),
rt484(B).
rt485(A+B) :-
rt487(A),
rt486(B).
:- regtype rt484/1.
rt484(t).
rt484(const(A)) :-
term(A).
rt484(A*B) :-
rt485(A),
rt484(B).
rt484(A+B) :-
rt487(A),
rt486(B).
:- regtype rt487/1.
rt487(t).
rt487(const(A)) :-
term(A).
rt487(A*B) :-
rt485(A),
rt484(B).
rt487(A+B) :-
rt487(A),
rt486(B).
:- regtype rt486/1.
rt486(t).
rt486(const(A)) :-
term(A).
rt486(A*B) :-
rt485(A),
rt484(B).
rt486(A+B) :-
rt487(A),
rt486(B).
:- regtype rt483/1.
rt483(t).
rt483(const(A)) :-
term(A).
rt483(A*B) :-
rt485(A),
rt484(B).
rt483(A+B) :-
rt487(A),
rt486(B).
:- regtype rt472/1.
rt472(t).
rt472(const(A)) :-
term(A).
rt472(A*B) :-
rt478(A),
rt473(B).
rt472(A+B) :-
rt488(A),
rt483(B).
:- regtype rt470/1.
rt470(d(A)) :-
rt471(A).
rt470(e(A)) :-
rt472(A).
:- regtype rt329/1.
rt329(const(A)) :-
rt330(A).
:- regtype rt466/1.
rt466(const(0)).
:- regtype rt330/1.
rt330(0).
rt330(1).
:- regtype rt467/1.
rt467(const(A)) :-
rt330(A).
:- regtype rt337/1.
rt337(0).
rt337(1).
:- regtype rt365/1.
rt365(t).
rt365(const(A)) :-
term(A).
:- regtype rt364/1.
rt364(const(A)) :-
rt337(A).
rt364(A+B) :-
rt363(A),
rt360(B).
:- regtype rt363/1.
rt363(const(A)) :-
rt337(A).
rt363(A*B) :-
rt365(A),
rt364(B).
rt363(A+B) :-
rt363(A),
rt360(B).
:- regtype rt362/1.
rt362(t).
rt362(const(A)) :-
term(A).
:- regtype rt361/1.
rt361(const(A)) :-
rt337(A).
rt361(A+B) :-
rt363(A),
rt360(B).
:- regtype rt360/1.
rt360(const(A)) :-
rt337(A).
rt360(A*B) :-
rt362(A),
rt361(B).
rt360(A+B) :-
rt363(A),
rt360(B).
:- regtype rt359/1.
rt359(const(A)) :-
rt337(A).
rt359(A+B) :-
rt363(A),
rt360(B).
:- regtype rt356/1.
rt356(t).
rt356(const(A)) :-
term(A).
rt356(A*B) :-
rt356(A),
rt355(B).
rt356(A+B) :-
rt358(A),
rt357(B).
:- regtype rt355/1.
rt355(t).
rt355(const(A)) :-
term(A).
rt355(A*B) :-
rt356(A),
rt355(B).
rt355(A+B) :-
rt358(A),
rt357(B).
:- regtype rt358/1.
rt358(t).
rt358(const(A)) :-
term(A).
rt358(A*B) :-
rt356(A),
rt355(B).
rt358(A+B) :-
rt358(A),
rt357(B).
:- regtype rt357/1.
rt357(t).
rt357(const(A)) :-
term(A).
rt357(A*B) :-
rt356(A),
rt355(B).
rt357(A+B) :-
rt358(A),
rt357(B).
:- regtype rt354/1.
rt354(t).
rt354(const(A)) :-
term(A).
rt354(A*B) :-
rt356(A),
rt355(B).
rt354(A+B) :-
rt358(A),
rt357(B).
:- regtype rt60/1.
rt60(t).
rt60(const(A)) :-
gnd(A).
:- regtype rt59/1.
rt59(const(A)) :-
rt32(A).
rt59(A+B) :-
rt58(A),
rt55(B).
:- regtype rt58/1.
rt58(const(A)) :-
rt32(A).
rt58(A*B) :-
rt60(A),
rt59(B).
rt58(A+B) :-
rt58(A),
rt55(B).
:- regtype rt57/1.
rt57(t).
rt57(const(A)) :-
gnd(A).
:- regtype rt56/1.
rt56(const(A)) :-
rt32(A).
rt56(A+B) :-
rt58(A),
rt55(B).
:- regtype rt55/1.
rt55(const(A)) :-
rt32(A).
rt55(A*B) :-
rt57(A),
rt56(B).
rt55(A+B) :-
rt58(A),
rt55(B).
:- regtype rt54/1.
rt54(const(A)) :-
rt32(A).
rt54(A+B) :-
rt58(A),
rt55(B).
:- regtype rt49/1.
rt49(t).
rt49(const(A)) :-
gnd(A).
rt49(A*B) :-
rt51(A),
rt50(B).
rt49(A+B) :-
rt53(A),
rt52(B).
:- regtype rt15/1.
rt15(0).
rt15(1).
:- regtype rt104/1.
rt104(t).
rt104(const(A)) :-
gnd(A).
rt104(A*B) :-
rt51(A),
rt50(B).
rt104(A+B) :-
rt53(A),
rt52(B).
:- regtype rt103/1.
rt103(t).
rt103(const(A)) :-
gnd(A).
rt103(A*B) :-
rt51(A),
rt50(B).
rt103(A+B) :-
rt53(A),
rt52(B).
:- regtype rt106/1.
rt106(t).
rt106(const(A)) :-
gnd(A).
rt106(A*B) :-
rt51(A),
rt50(B).
rt106(A+B) :-
rt53(A),
rt52(B).
:- regtype rt51/1.
rt51(t).
rt51(const(A)) :-
gnd(A).
rt51(A*B) :-
rt51(A),
rt50(B).
rt51(A+B) :-
rt53(A),
rt52(B).
:- regtype rt50/1.
rt50(t).
rt50(const(A)) :-
gnd(A).
rt50(A*B) :-
rt51(A),
rt50(B).
rt50(A+B) :-
rt53(A),
rt52(B).
:- regtype rt53/1.
rt53(t).
rt53(const(A)) :-
gnd(A).
rt53(A*B) :-
rt51(A),
rt50(B).
rt53(A+B) :-
rt53(A),
rt52(B).
:- regtype rt52/1.
rt52(t).
rt52(const(A)) :-
gnd(A).
rt52(A*B) :-
rt51(A),
rt50(B).
rt52(A+B) :-
rt53(A),
rt52(B).
:- regtype rt105/1.
rt105(t).
rt105(const(A)) :-
gnd(A).
rt105(A*B) :-
rt51(A),
rt50(B).
rt105(A+B) :-
rt53(A),
rt52(B).
:- regtype rt102/1.
rt102(t).
rt102(const(A)) :-
gnd(A).
rt102(A*B) :-
rt104(A),
rt103(B).
rt102(A+B) :-
rt106(A),
rt105(B).
:- regtype rt101/1.
rt101(t).
rt101(const(A)) :-
gnd(A).
:- regtype rt100/1.
rt100(const(A)) :-
rt32(A).
rt100(A+B) :-
rt99(A),
rt96(B).
:- regtype rt99/1.
rt99(const(A)) :-
rt32(A).
rt99(A*B) :-
rt101(A),
rt100(B).
rt99(A+B) :-
rt99(A),
rt96(B).
:- regtype rt98/1.
rt98(t).
rt98(const(A)) :-
gnd(A).
:- regtype rt97/1.
rt97(const(A)) :-
rt32(A).
rt97(A+B) :-
rt99(A),
rt96(B).
:- regtype rt96/1.
rt96(const(A)) :-
rt32(A).
rt96(A*B) :-
rt98(A),
rt97(B).
rt96(A+B) :-
rt99(A),
rt96(B).
:- regtype rt95/1.
rt95(const(A)) :-
rt32(A).
rt95(A+B) :-
rt99(A),
rt96(B).
:- regtype rt94/1.
rt94(const(A)) :-
rt15(A).
rt94(A*B) :-
rt102(A),
rt95(B).
rt94(A+B) :-
rt94(A),
rt81(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 rt93/1.
rt93(t).
rt93(const(A)) :-
gnd(A).
rt93(A*B) :-
rt91(A),
rt90(B).
rt93(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 rt89/1.
rt89(t).
rt89(const(A)) :-
gnd(A).
rt89(A*B) :-
rt91(A),
rt90(B).
rt89(A+B) :-
rt93(A),
rt92(B).
:- regtype rt32/1.
rt32(0).
rt32(1).
:- regtype rt88/1.
rt88(t).
rt88(const(A)) :-
gnd(A).
:- regtype rt87/1.
rt87(const(A)) :-
rt32(A).
rt87(A+B) :-
rt86(A),
rt83(B).
:- regtype rt86/1.
rt86(const(A)) :-
rt32(A).
rt86(A*B) :-
rt88(A),
rt87(B).
rt86(A+B) :-
rt86(A),
rt83(B).
:- regtype rt85/1.
rt85(t).
rt85(const(A)) :-
gnd(A).
:- regtype rt84/1.
rt84(const(A)) :-
rt32(A).
rt84(A+B) :-
rt86(A),
rt83(B).
:- regtype rt83/1.
rt83(const(A)) :-
rt32(A).
rt83(A*B) :-
rt85(A),
rt84(B).
rt83(A+B) :-
rt86(A),
rt83(B).
:- regtype rt82/1.
rt82(const(A)) :-
rt32(A).
rt82(A+B) :-
rt86(A),
rt83(B).
:- regtype rt81/1.
rt81(const(A)) :-
rt15(A).
rt81(A*B) :-
rt89(A),
rt82(B).
rt81(A+B) :-
rt94(A),
rt81(B).
:- regtype rt80/1.
rt80(const(A)) :-
rt15(A).
rt80(A+B) :-
rt94(A),
rt81(B).
:- regtype rt75/1.
rt75(t).
rt75(const(A)) :-
gnd(A).
rt75(A*B) :-
rt75(A),
rt74(B).
rt75(A+B) :-
rt77(A),
rt76(B).
:- regtype rt74/1.
rt74(t).
rt74(const(A)) :-
gnd(A).
rt74(A*B) :-
rt75(A),
rt74(B).
rt74(A+B) :-
rt77(A),
rt76(B).
:- regtype rt77/1.
rt77(t).
rt77(const(A)) :-
gnd(A).
rt77(A*B) :-
rt75(A),
rt74(B).
rt77(A+B) :-
rt77(A),
rt76(B).
:- regtype rt76/1.
rt76(t).
rt76(const(A)) :-
gnd(A).
rt76(A*B) :-
rt75(A),
rt74(B).
rt76(A+B) :-
rt77(A),
rt76(B).
:- regtype rt73/1.
rt73(t).
rt73(const(A)) :-
gnd(A).
rt73(A*B) :-
rt75(A),
rt74(B).
rt73(A+B) :-
rt77(A),
rt76(B).
:- regtype rt70/1.
rt70(t).
rt70(const(A)) :-
gnd(A).
rt70(A*B) :-
rt70(A),
rt69(B).
rt70(A+B) :-
rt72(A),
rt71(B).
:- regtype rt69/1.
rt69(t).
rt69(const(A)) :-
gnd(A).
rt69(A*B) :-
rt70(A),
rt69(B).
rt69(A+B) :-
rt72(A),
rt71(B).
:- regtype rt72/1.
rt72(t).
rt72(const(A)) :-
gnd(A).
rt72(A*B) :-
rt70(A),
rt69(B).
rt72(A+B) :-
rt72(A),
rt71(B).
:- regtype rt71/1.
rt71(t).
rt71(const(A)) :-
gnd(A).
rt71(A*B) :-
rt70(A),
rt69(B).
rt71(A+B) :-
rt72(A),
rt71(B).
:- regtype rt68/1.
rt68(t).
rt68(const(A)) :-
gnd(A).
rt68(A*B) :-
rt70(A),
rt69(B).
rt68(A+B) :-
rt72(A),
rt71(B).
:- regtype rt79/1.
rt79(t).
rt79(const(A)) :-
term(A).
rt79(A*B) :-
rt73(A),
rt68(B).
rt79(A+B) :-
rt79(A),
rt78(B).
:- regtype rt78/1.
rt78(t).
rt78(const(A)) :-
term(A).
rt78(A*B) :-
rt73(A),
rt68(B).
rt78(A+B) :-
rt79(A),
rt78(B).
:- regtype rt67/1.
rt67(t).
rt67(const(A)) :-
term(A).
rt67(A*B) :-
rt73(A),
rt68(B).
rt67(A+B) :-
rt79(A),
rt78(B).