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).