N_NIMCALL(NIM_BOOL, levalue_299213_2984716966)(Tnode292802* a0, Tnode292802* b0) { NIM_BOOL result0; result0 = (NIM_BOOL)0; result0 = NIM_FALSE; switch ((*a0).kind) { case ((Tnodekind292020) 5) ... ((Tnodekind292020) 14): { { if (!((*b0).kind >= ((Tnodekind292020) 5) && (*b0).kind <= ((Tnodekind292020) 14))) goto LA4; result0 = ((*a0).kindU.S1.intval <= (*b0).kindU.S1.intval); } LA4: ; } break; case ((Tnodekind292020) 16) ... ((Tnodekind292020) 18): { { if (!((*b0).kind >= ((Tnodekind292020) 16) && (*b0).kind <= ((Tnodekind292020) 18))) goto LA9; result0 = ((*a0).kindU.S2.floatval <= (*b0).kindU.S2.floatval); } LA9: ; } break; case ((Tnodekind292020) 20) ... ((Tnodekind292020) 22): { { if (!((*b0).kind >= ((Tnodekind292020) 20) && (*b0).kind <= ((Tnodekind292020) 22))) goto LA14; result0 = (cmpStrings((*a0).kindU.S3.strval, (*b0).kindU.S3.strval) <= 0); } LA14: ; } break; default: { } break; } return result0; }
N_NIMCALL(NIM_BOOL, levalue_222233)(Tnode215790* a, Tnode215790* b) { NIM_BOOL result; result = 0; result = NIM_FALSE; switch ((*a).kind) { case ((NU8) 5) ... ((NU8) 14): { { if (!((*b).kind >= ((NU8) 5) && (*b).kind <= ((NU8) 14))) goto LA4; result = ((*a).kindU.S1.intval <= (*b).kindU.S1.intval); } LA4: ; } break; case ((NU8) 16) ... ((NU8) 18): { { if (!((*b).kind >= ((NU8) 16) && (*b).kind <= ((NU8) 18))) goto LA9; result = ((*a).kindU.S2.floatval <= (*b).kindU.S2.floatval); } LA9: ; } break; case ((NU8) 20) ... ((NU8) 22): { { if (!((*b).kind >= ((NU8) 20) && (*b).kind <= ((NU8) 22))) goto LA14; result = (cmpStrings((*a).kindU.S3.strval, (*b).kindU.S3.strval) <= 0); } LA14: ; } break; default: { } break; } return result; }
N_NIMCALL(TY47008*, Splay_47136)(NimStringDesc* S_47138, TY47008* Tree_47139, NI* Cmpres_47141) { TY47008* Result_47142; NI C_47143; TY47008* T_47144; TY47008* Le_47145; TY47008* R_47146; NIM_BOOL LOC6; TY47008* Y_47162; NIM_BOOL LOC16; TY47008* Y_47189; Result_47142 = 0; C_47143 = 0; T_47144 = 0; T_47144 = Tree_47139; asgnRefNoCycle((void**) &(*N_47126).Left, NIM_NIL); asgnRefNoCycle((void**) &(*N_47126).Right, NIM_NIL); Le_47145 = 0; Le_47145 = N_47126; R_47146 = 0; R_47146 = N_47126; while (1) { C_47143 = Cmp_1327(S_47138, (*T_47144).Data); if (!(C_47143 < 0)) goto LA3; LOC6 = !(((*T_47144).Left == NIM_NIL)); if (!(LOC6)) goto LA7; LOC6 = (cmpStrings(S_47138, (*(*T_47144).Left).Data) < 0); LA7: ; if (!LOC6) goto LA8; Y_47162 = 0; Y_47162 = (*T_47144).Left; asgnRefNoCycle((void**) &(*T_47144).Left, (*Y_47162).Right); asgnRefNoCycle((void**) &(*Y_47162).Right, T_47144); T_47144 = Y_47162; LA8: ; if (!((*T_47144).Left == NIM_NIL)) goto LA11; goto LA1; LA11: ; asgnRefNoCycle((void**) &(*R_47146).Left, T_47144); R_47146 = T_47144; T_47144 = (*T_47144).Left; goto LA2; LA3: ; if (!(0 < C_47143)) goto LA13; LOC16 = !(((*T_47144).Right == NIM_NIL)); if (!(LOC16)) goto LA17; LOC16 = (cmpStrings((*(*T_47144).Right).Data, S_47138) < 0); LA17: ; if (!LOC16) goto LA18; Y_47189 = 0; Y_47189 = (*T_47144).Right; asgnRefNoCycle((void**) &(*T_47144).Right, (*Y_47189).Left); asgnRefNoCycle((void**) &(*Y_47189).Left, T_47144); T_47144 = Y_47189; LA18: ; if (!((*T_47144).Right == NIM_NIL)) goto LA21; goto LA1; LA21: ; asgnRefNoCycle((void**) &(*Le_47145).Right, T_47144); Le_47145 = T_47144; T_47144 = (*T_47144).Right; goto LA2; LA13: ; goto LA1; LA2: ; } LA1: ; (*Cmpres_47141) = C_47143; asgnRefNoCycle((void**) &(*Le_47145).Right, (*T_47144).Left); asgnRefNoCycle((void**) &(*R_47146).Left, (*T_47144).Right); asgnRefNoCycle((void**) &(*T_47144).Left, (*N_47126).Right); asgnRefNoCycle((void**) &(*T_47144).Right, (*N_47126).Left); Result_47142 = T_47144; return Result_47142; }