/* Generated by Nim Compiler v2.2.10 */
#define NIM_INTBITS 32

#include "nimbase.h"
#include <string.h>
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
typedef struct tyTuple__c0qUCL3KxsVjGYwcv7lQbg tyTuple__c0qUCL3KxsVjGYwcv7lQbg;
typedef struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ;
typedef struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A;
typedef struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg;
typedef struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA;
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg;
typedef struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q tySequence__9ahcSjIErJohSBBFLwuF56Q;
typedef struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content tySequence__9ahcSjIErJohSBBFLwuF56Q_Content;
typedef struct tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw;
typedef struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA;
typedef struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw;
typedef struct tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig;
typedef struct tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw;
typedef struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ;
typedef struct tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg;
typedef struct tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg;
typedef struct tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg tySequence__d8ZV4IMgHt9biik9cS9a0hrmg;
typedef struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content;
typedef struct tySequence__TfHJycarvNts8E4mVG4Mfg tySequence__TfHJycarvNts8E4mVG4Mfg;
typedef struct tySequence__TfHJycarvNts8E4mVG4Mfg_Content tySequence__TfHJycarvNts8E4mVG4Mfg_Content;
typedef struct tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg;
typedef struct tySequence__5reviU45axUMPQgL9aoENrg tySequence__5reviU45axUMPQgL9aoENrg;
typedef struct tySequence__5reviU45axUMPQgL9aoENrg_Content tySequence__5reviU45axUMPQgL9aoENrg_Content;
typedef struct tySequence__dtr79aXjHrgHuH79ac55I2aw tySequence__dtr79aXjHrgHuH79ac55I2aw;
typedef struct tySequence__dtr79aXjHrgHuH79ac55I2aw_Content tySequence__dtr79aXjHrgHuH79ac55I2aw_Content;
typedef struct tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg;
typedef struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw tySequence__8y0Gi4GwtXi2wk2mK1IOzw;
typedef struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content;
typedef struct tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w;
typedef struct tySequence__C2ivDnhTZ6IxAdui1rfuqw tySequence__C2ivDnhTZ6IxAdui1rfuqw;
typedef struct tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content;
typedef struct tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA;
typedef struct tySequence__3vEEVfBECLN6NIRA3FIp5g tySequence__3vEEVfBECLN6NIRA3FIp5g;
typedef struct tySequence__3vEEVfBECLN6NIRA3FIp5g_Content tySequence__3vEEVfBECLN6NIRA3FIp5g_Content;
typedef struct tyObject_Table__tEqt8LkShErhjQ9acvGyE7g tyObject_Table__tEqt8LkShErhjQ9acvGyE7g;
typedef struct tySequence__9aSa87aKMiolq9a7z3kC0jTw tySequence__9aSa87aKMiolq9a7z3kC0jTw;
typedef struct tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content;
typedef struct tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw;
typedef struct tySequence__N589c2UsUgqqOITU2JfIuAQ tySequence__N589c2UsUgqqOITU2JfIuAQ;
typedef struct tySequence__N589c2UsUgqqOITU2JfIuAQ_Content tySequence__N589c2UsUgqqOITU2JfIuAQ_Content;
typedef struct tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw;
typedef struct tySequence__GYDW6wGgERshoSd16jJ3eQ tySequence__GYDW6wGgERshoSd16jJ3eQ;
typedef struct tySequence__GYDW6wGgERshoSd16jJ3eQ_Content tySequence__GYDW6wGgERshoSd16jJ3eQ_Content;
typedef struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw tySequence__7lEisrXlQEzwtUKW5pzRCw;
typedef struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content tySequence__7lEisrXlQEzwtUKW5pzRCw_Content;
typedef struct tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ;
typedef struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA tySequence__ZCZaCk14bTmSb6LMW9aWPVA;
typedef struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content;
typedef struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA;
typedef struct tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA tySequence__ZeWVlH6DqG79b1pTDhrrUYA;
typedef struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content;
typedef struct tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg tySequence__fdmz6VkIf1ewwrssKYqRFg;
typedef struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content tySequence__fdmz6VkIf1ewwrssKYqRFg_Content;
typedef struct tyObject_Table__AC9bec2JdoOuC3xQePGWgmA tyObject_Table__AC9bec2JdoOuC3xQePGWgmA;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg tySequence__kxu4GK0onha2t9bo86mdVAg;
typedef struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content tySequence__kxu4GK0onha2t9bo86mdVAg_Content;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA tySequence__48JTohSgTy339bRxHzUD8KA;
typedef struct tySequence__48JTohSgTy339bRxHzUD8KA_Content tySequence__48JTohSgTy339bRxHzUD8KA_Content;
typedef struct RootObj RootObj;
typedef struct tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA;
typedef struct tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg tySequence__fz0REU1l0nYmKHXgMLRrIg;
typedef struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content tySequence__fz0REU1l0nYmKHXgMLRrIg_Content;
typedef struct tyObject_Table__w2vCG1OPnHmNolvQVT168g tyObject_Table__w2vCG1OPnHmNolvQVT168g;
typedef struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ tySequence__Ip9aV1IKO2gVdheNOM31DCQ;
typedef struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content;
typedef struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg tySequence__kHjIdgrpmuSn9cUIIKpSiDg;
typedef struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content;
typedef struct tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA;
typedef struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA tySequence__Wd0Vle6gxRCPPoSlNEvfTA;
typedef struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content;
typedef struct tyObject_Table__fZyCWkMwhdvr3pauCNDaag tyObject_Table__fZyCWkMwhdvr3pauCNDaag;
typedef struct tySequence__T7nNEWoEbKBa0G5Htr45Xw tySequence__T7nNEWoEbKBa0G5Htr45Xw;
typedef struct tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content;
typedef struct tyObject_Table__5vmBY49areSIlgIs4A1LLKQ tyObject_Table__5vmBY49areSIlgIs4A1LLKQ;
typedef struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA tySequence__q9cHvMDDxYU1hSCdG4YwIhA;
typedef struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content;
typedef struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA tySequence__olFOFaYzOJN9aV5BWqK4b9bA;
typedef struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content;
typedef struct tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw;
typedef struct tySequence__vJcM7B74R2U5db9cxyXT9coA tySequence__vJcM7B74R2U5db9cxyXT9coA;
typedef struct tySequence__vJcM7B74R2U5db9cxyXT9coA_Content tySequence__vJcM7B74R2U5db9cxyXT9coA_Content;
typedef struct tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg;
typedef struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg;
typedef struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content;
typedef struct tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ;
typedef struct tySequence__R9c39btP6BwOBBPnbaNUtMQg tySequence__R9c39btP6BwOBBPnbaNUtMQg;
typedef struct tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content;
typedef struct tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA tySequence__squ9b9bUH4OLHf6cEMrt6hVA;
typedef struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content;
typedef struct tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ;
typedef struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw tySequence__3nALyQgqjnfK2Qjc6ny2Uw;
typedef struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content;
typedef struct tySequence__WbW5Q8QVks0bQpUJSGmuVg tySequence__WbW5Q8QVks0bQpUJSGmuVg;
typedef struct tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content;
typedef struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug;
typedef struct tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg;
typedef struct tySequence__cLt1WK9c8DYlNqjYIVmv5sQ tySequence__cLt1WK9c8DYlNqjYIVmv5sQ;
typedef struct tySequence__cLt1WK9c8DYlNqjYIVmv5sQ_Content tySequence__cLt1WK9c8DYlNqjYIVmv5sQ_Content;
typedef struct tyTuple__kN8up2W6YKc5YA9avn5mV5w tyTuple__kN8up2W6YKc5YA9avn5mV5w;
typedef struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw tySequence__hRbbzIynOoxrYjHTIKZ3Gw;
typedef struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content;
typedef struct tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow;
typedef struct tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA;
typedef struct tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA tySequence__PXIzfWocnrafGz5p3CP5LA;
typedef struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content tySequence__PXIzfWocnrafGz5p3CP5LA_Content;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA tySequence__9bAGqSvkAaFL9bWjsEPslrFA;
typedef struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content;
typedef struct tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w;
typedef struct tySequence__OxRbUT0qZaZN5UjnqQjGPA tySequence__OxRbUT0qZaZN5UjnqQjGPA;
typedef struct tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content;
typedef struct tySequence__ezS5mGPcRfBURJyMgqYVzA tySequence__ezS5mGPcRfBURJyMgqYVzA;
typedef struct tySequence__ezS5mGPcRfBURJyMgqYVzA_Content tySequence__ezS5mGPcRfBURJyMgqYVzA_Content;
typedef struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA tySequence__wW7xkohjuUKO9aMaB0nt9cqA;
typedef struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg tySequence__b89aLriiJnVTD186H6zNIgg;
typedef struct tySequence__b89aLriiJnVTD186H6zNIgg_Content tySequence__b89aLriiJnVTD186H6zNIgg_Content;
typedef struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg tySequence__hIPTk9aFdaMMVAOzEbnPyqg;
typedef struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content;
typedef struct tySequence__YYy1721YAuPF0ajBYHd8Wg tySequence__YYy1721YAuPF0ajBYHd8Wg;
typedef struct tySequence__YYy1721YAuPF0ajBYHd8Wg_Content tySequence__YYy1721YAuPF0ajBYHd8Wg_Content;
typedef struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ tySequence__UODJbvzmu39c3Ho9cqhSk9agQ;
typedef struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content;
typedef struct tySequence__F1qNdU7m0Czu7Y2q0eksXw tySequence__F1qNdU7m0Czu7Y2q0eksXw;
typedef struct tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content;
typedef struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q tySequence__r3Kz9breImOXyFFoJ29aBM8Q;
typedef struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content;
typedef struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw tySequence__qBes3XzcQQ9cyia9bRwnmbJw;
typedef struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ tySequence__sM4lkSb7zS6F7OVMvW9cffQ;
typedef struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content;
typedef struct tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw;
typedef struct tySequence__Vl1abU3gfp0RqCb1KKfmDA tySequence__Vl1abU3gfp0RqCb1KKfmDA;
typedef struct tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content;
typedef struct tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw;
typedef struct tySequence__qyyNkmlc4fzOzelC8spUkQ tySequence__qyyNkmlc4fzOzelC8spUkQ;
typedef struct tySequence__qyyNkmlc4fzOzelC8spUkQ_Content tySequence__qyyNkmlc4fzOzelC8spUkQ_Content;
typedef struct tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA;
typedef struct tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ tySequence__IHUFRsFxZNv7YydiUO2esQ;
typedef struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content tySequence__IHUFRsFxZNv7YydiUO2esQ_Content;
typedef struct tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ;
typedef struct tySequence__orxtl6CusdjXleqrxi67gw tySequence__orxtl6CusdjXleqrxi67gw;
typedef struct tySequence__orxtl6CusdjXleqrxi67gw_Content tySequence__orxtl6CusdjXleqrxi67gw_Content;
typedef struct tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ;
typedef struct tySequence__K0j67V58u5FW0dCC534FQw tySequence__K0j67V58u5FW0dCC534FQw;
typedef struct tySequence__K0j67V58u5FW0dCC534FQw_Content tySequence__K0j67V58u5FW0dCC534FQw_Content;
typedef struct tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ;
typedef struct tySequence__UE4b6iUkm1b3zTPamTTkDw tySequence__UE4b6iUkm1b3zTPamTTkDw;
typedef struct tySequence__UE4b6iUkm1b3zTPamTTkDw_Content tySequence__UE4b6iUkm1b3zTPamTTkDw_Content;
typedef struct tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg;
typedef struct tySequence__FmsTQiIcS9arxHxs3QY48vA tySequence__FmsTQiIcS9arxHxs3QY48vA;
typedef struct tySequence__FmsTQiIcS9arxHxs3QY48vA_Content tySequence__FmsTQiIcS9arxHxs3QY48vA_Content;
typedef struct tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ;
typedef struct tyObject_Table__uaQEKxLZNO5fpFluyxnhTg tyObject_Table__uaQEKxLZNO5fpFluyxnhTg;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ tySequence__9cnx3zXnWzeclW8Ko4oUgAQ;
typedef struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content;
typedef struct tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q;
typedef struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ tySequence__vb3AGHvMJTxdOSSwMmBmTQ;
typedef struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content;
typedef struct tyTuple__F1mMODXmKFMNQ5rLCtcv0Q tyTuple__F1mMODXmKFMNQ5rLCtcv0Q;
typedef struct tySequence__apM9bRAO19cVjhWlxqd1PGeA tySequence__apM9bRAO19cVjhWlxqd1PGeA;
typedef struct tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content;
typedef struct tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw;
typedef struct tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA;
typedef struct tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ;
typedef struct tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig;
typedef struct tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ;
typedef struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw tySequence__9bW2eTK9b7vXE70Sx5VPH1mw;
typedef struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content;
typedef struct tyTuple__bnJwOH0eJlAwCAMbr1inhw tyTuple__bnJwOH0eJlAwCAMbr1inhw;
typedef struct tyTuple__YG7h1OUHzgfgTeH9cl0U0dw tyTuple__YG7h1OUHzgfgTeH9cl0U0dw;
typedef struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw tyTuple__xYhUhS7X82rKTqbT9bRfCnw;
typedef struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q;
typedef struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ tyTuple__xDU9bZmv1ZbZkJDaATBekIQ;
typedef struct tyTuple__tG5yYi8DnD7bl00aT9cgctQ tyTuple__tG5yYi8DnD7bl00aT9cgctQ;
typedef struct tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ;
typedef struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg;
typedef struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content;
typedef struct tySequence__yUWoZehF86MIc40opFgacw tySequence__yUWoZehF86MIc40opFgacw;
typedef struct tySequence__yUWoZehF86MIc40opFgacw_Content tySequence__yUWoZehF86MIc40opFgacw_Content;
typedef struct tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw;
typedef struct tyTuple__gnRkA1L4XiR4uByriyHW8Q tyTuple__gnRkA1L4XiR4uByriyHW8Q;
typedef struct tySequence__nSO1ltijM4vhc0UrrXKEqA tySequence__nSO1ltijM4vhc0UrrXKEqA;
typedef struct tySequence__nSO1ltijM4vhc0UrrXKEqA_Content tySequence__nSO1ltijM4vhc0UrrXKEqA_Content;
typedef struct tyTuple__CvjVmQeIfivirDme2r5MRw tyTuple__CvjVmQeIfivirDme2r5MRw;
typedef struct tyTuple__2QDyOgS51ZMPO0W1pWCY6g tyTuple__2QDyOgS51ZMPO0W1pWCY6g;
typedef struct tyTuple__UbCNQED4XJUgxOgPHJUcAQ tyTuple__UbCNQED4XJUgxOgPHJUcAQ;
typedef struct tySequence__juxPMVNF1FoR2ltzeQu8NQ tySequence__juxPMVNF1FoR2ltzeQu8NQ;
typedef struct tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content;
typedef struct tyTuple__zExIg9bDTcVf2FHROUpzoow tyTuple__zExIg9bDTcVf2FHROUpzoow;
typedef struct tyTuple__XrHNJHOzS3O7uwF9bvCySiA tyTuple__XrHNJHOzS3O7uwF9bvCySiA;
typedef struct tyTuple__EdLY4EJQ37VFgbAn5g5rXQ tyTuple__EdLY4EJQ37VFgbAn5g5rXQ;
typedef struct tyTuple__OtlgAx3kBps9cOSMNDZSzBA tyTuple__OtlgAx3kBps9cOSMNDZSzBA;
typedef struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg tyTuple__F3gkSrMB1qp2Tvf9bixVXwg;
typedef struct tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ;
typedef struct tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw;
typedef struct tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q;
typedef struct tyTuple__O3g9a8zTXSX36ljWponcAoA tyTuple__O3g9a8zTXSX36ljWponcAoA;
typedef struct tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ;
typedef struct tyTuple__Oubp8LPEu86EPyDuc56AXg tyTuple__Oubp8LPEu86EPyDuc56AXg;
typedef struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q tyTuple__0q9cmhneJEKnQERTpXXdz6Q;
typedef struct tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w;
typedef struct tyTuple__48iPM3yLBKU5nyEuYwJvuQ tyTuple__48iPM3yLBKU5nyEuYwJvuQ;
typedef struct tyTuple__R3ddFrA0G9buJY57Qhf9cTpg tyTuple__R3ddFrA0G9buJY57Qhf9cTpg;
typedef struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ;
typedef struct tyTuple__7rmdAMLZ8fDd79brQn2ixZA tyTuple__7rmdAMLZ8fDd79brQn2ixZA;
typedef struct tyTuple__qPXRCRNQuZLLKto7CIIEzw tyTuple__qPXRCRNQuZLLKto7CIIEzw;
typedef struct tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg;
typedef struct tyTuple__6kG8KAxm9aXPdLdlxcxqJJw tyTuple__6kG8KAxm9aXPdLdlxcxqJJw;
typedef struct tyTuple__TRK7rrwoha9bbDAdPWsqJMw tyTuple__TRK7rrwoha9bbDAdPWsqJMw;
typedef struct tyTuple__V1VWX9bHapuzCjpMfFfys5Q tyTuple__V1VWX9bHapuzCjpMfFfys5Q;
typedef struct tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw;
typedef struct tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg;
typedef struct tyTuple__anemVmHCFglLFt6LiEhFvg tyTuple__anemVmHCFglLFt6LiEhFvg;
typedef struct tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ;
typedef struct tyTuple__MaWaKZwaGUqCXKsSK12rVg tyTuple__MaWaKZwaGUqCXKsSK12rVg;
typedef struct tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA;
typedef struct tyTuple__1xWeGeoNoZxaLhTUDDWYyA tyTuple__1xWeGeoNoZxaLhTUDDWYyA;
typedef struct tyTuple__MZVSn3SE3XUBJOaMu7ofRQ tyTuple__MZVSn3SE3XUBJOaMu7ofRQ;
typedef struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA tyTuple__UvldbCB6B9ayi9bGYW7vJNLA;
typedef struct tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA;
typedef struct tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA;
typedef struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ tySequence__YxH9cgSorHRI8ZPzHf47NNQ;
typedef struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content;
typedef struct tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ;
typedef struct tyTuple__lGHLhAAUpxgfrnQkIzNrMw tyTuple__lGHLhAAUpxgfrnQkIzNrMw;
typedef struct tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA;
typedef struct tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA;
typedef struct tyTuple__V6P73hvHy70PBBwharKjig tyTuple__V6P73hvHy70PBBwharKjig;
struct tyTuple__c0qUCL3KxsVjGYwcv7lQbg {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field0;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field1;
};
struct tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A {
	NI rc;
	NI rootIdx;
};
struct tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA {
	NU16 line;
	NI16 col;
	NI32 fileIndex;
};
typedef NU32 tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw;
typedef NU8 tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw;
struct NimStrPayload {
	NI cap;
	NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
	NI len;
	NimStrPayload* p;
};
struct tySequence__9ahcSjIErJohSBBFLwuF56Q {
  NI len; tySequence__9ahcSjIErJohSBBFLwuF56Q_Content* p;
};
struct tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typField;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw flags;
	tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind;
union{
	struct {
	NI64 intVal;
} _kind_1;
	struct {
	NF floatVal;
} _kind_2;
	struct {
	NimStringV2 strVal;
} _kind_3;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
} _kind_4;
	struct {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* ident;
} _kind_5;
	struct {
	tySequence__9ahcSjIErJohSBBFLwuF56Q sons;
} _kind_6;
};
};
struct tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA {
	NI32 module;
	NI32 item;
};
typedef NU8 tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q;
typedef NU16 tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg;
typedef NU64 tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg;
typedef NU32 tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ;
typedef NU8 tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ;
typedef NU8 tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg;
typedef NU16 tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg;
struct tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw {
	tyEnum_TLocKind__4f5UmCRM8alrCgj32FqIRQ k;
	tyEnum_TStorageLoc__f19b6ZkRyh7BNPxlyjRbEGg storage;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* lode;
	NimStringV2 snippet;
};
struct tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
union{
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* gcUnsafetyReason;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* transformedBody;
} _kind_1;
	struct {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* guard;
	NI bitsize;
	NI alignment;
} _kind_2;
};
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* name;
	tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ast;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TLib__sVuuRvQkiYNOUiPRZhmZig* annex;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* constraint;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* instantiatedFrom;
};
typedef NU8 tySet_tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg[35];
struct tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA {
	NI id;
	NimStringV2 s;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* next;
	NI h;
};
struct tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw {
	tySequence__9ahcSjIErJohSBBFLwuF56Q s;
	tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* g;
	NIM_BOOL beSmart;
};
typedef NU8 tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw;
struct tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ {
	NI Field0;
	NI Field1;
};
typedef NU32 tyArray__PPSU5X9aizf5OJq0lL4Og7A[4];
struct tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg {
	tyArray__PPSU5X9aizf5OJq0lL4Og7A udata;
};
struct tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opNot;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opContains;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLe;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLt;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opAnd;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opOr;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opIsNil;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opEq;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opAdd;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opSub;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opMul;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opDiv;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* opLen;
};
typedef NU8 tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg;
typedef NU8 tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ;
typedef NU64 tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A;
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg {
  NI len; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content* p;
};
struct tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA itemId;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg sons;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* ownerField;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_TLoc__KvQVlvKb6mbV567NQ0hMOw loc;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typeInst;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA uniqueId;
};
typedef NU8 tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg[9];
struct tySequence__TfHJycarvNts8E4mVG4Mfg {
  NI len; tySequence__TfHJycarvNts8E4mVG4Mfg_Content* p;
};
struct tySequence__5reviU45axUMPQgL9aoENrg {
  NI len; tySequence__5reviU45axUMPQgL9aoENrg_Content* p;
};
struct tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg {
	tySequence__5reviU45axUMPQgL9aoENrg pm;
};
struct tySequence__dtr79aXjHrgHuH79ac55I2aw {
  NI len; tySequence__dtr79aXjHrgHuH79ac55I2aw_Content* p;
};
struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw {
  NI len; tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content* p;
};
struct tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg {
	tySequence__8y0Gi4GwtXi2wk2mK1IOzw data;
	NI counter;
};
struct tySequence__C2ivDnhTZ6IxAdui1rfuqw {
  NI len; tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content* p;
};
struct tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w {
	tySequence__C2ivDnhTZ6IxAdui1rfuqw data;
	NI counter;
};
struct tySequence__3vEEVfBECLN6NIRA3FIp5g {
  NI len; tySequence__3vEEVfBECLN6NIRA3FIp5g_Content* p;
};
struct tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA {
	tySequence__3vEEVfBECLN6NIRA3FIp5g data;
	NI counter;
};
typedef tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA tyArray__HTPiakF26bUQGH9bgtmrtkA[7];
struct tySequence__9aSa87aKMiolq9a7z3kC0jTw {
  NI len; tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content* p;
};
struct tyObject_Table__tEqt8LkShErhjQ9acvGyE7g {
	tySequence__9aSa87aKMiolq9a7z3kC0jTw data;
	NI counter;
};
struct tySequence__N589c2UsUgqqOITU2JfIuAQ {
  NI len; tySequence__N589c2UsUgqqOITU2JfIuAQ_Content* p;
};
struct tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw {
	tySequence__N589c2UsUgqqOITU2JfIuAQ data;
	NI counter;
};
struct tySequence__GYDW6wGgERshoSd16jJ3eQ {
  NI len; tySequence__GYDW6wGgERshoSd16jJ3eQ_Content* p;
};
struct tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw {
	tySequence__GYDW6wGgERshoSd16jJ3eQ data;
	NI counter;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw {
  NI len; tySequence__7lEisrXlQEzwtUKW5pzRCw_Content* p;
};
struct tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A {
	tySequence__7lEisrXlQEzwtUKW5pzRCw data;
	NI counter;
};
typedef NU8 tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw;
typedef NU8 tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg;
typedef NU8 tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA;
typedef NU64 tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A;
struct tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ {
	tyEnum_TBackend__CGWF9bdzxEysXyGIUwpK8cw backend;
	tyEnum_TGCMode__WW4nMw6ktfZDxJ6q84Mivg selectedGC;
	tyEnum_TSystemCC__A5wZwpTXF1SiKGvwgH1wrA cCompiler;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	tySet_tyEnum_TGlobalOption__bV0ebQD3RnR6keJ3pWsG8A globalOptions;
};
struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA {
  NI len; tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content* p;
};
struct tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg {
	NI counter;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA data;
};
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA {
  NI len; tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content* p;
};
typedef NI tyArray__k7D0lwfLmYccbQxUd49bbcQ[34];
struct tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA {
	NI elems;
	NI counter;
	NI max;
	tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* head;
	tySequence__ZeWVlH6DqG79b1pTDhrrUYA data;
	tyArray__k7D0lwfLmYccbQxUd49bbcQ a;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg {
  NI len; tySequence__fdmz6VkIf1ewwrssKYqRFg_Content* p;
};
struct tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw {
	tySequence__fdmz6VkIf1ewwrssKYqRFg data;
	NI counter;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg {
  NI len; tySequence__kxu4GK0onha2t9bo86mdVAg_Content* p;
};
struct tyObject_Table__AC9bec2JdoOuC3xQePGWgmA {
	tySequence__kxu4GK0onha2t9bo86mdVAg data;
	NI counter;
};
struct tySequence__48JTohSgTy339bRxHzUD8KA {
  NI len; tySequence__48JTohSgTy339bRxHzUD8KA_Content* p;
};
typedef struct {
N_NIMCALL_PTR(NIM_BOOL, ClP_0) (void* ClE_0);
void* ClE_0;
} tyProc__In3g79a0qTcRmbTbJp9ba9ctg;
struct tySequence__fz0REU1l0nYmKHXgMLRrIg {
  NI len; tySequence__fz0REU1l0nYmKHXgMLRrIg_Content* p;
};
struct tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ {
	tySequence__fz0REU1l0nYmKHXgMLRrIg data;
	NI counter;
};
struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ {
  NI len; tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content* p;
};
struct tyObject_Table__w2vCG1OPnHmNolvQVT168g {
	tySequence__Ip9aV1IKO2gVdheNOM31DCQ data;
	NI counter;
};
struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg {
  NI len; tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content* p;
};
struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA {
  NI len; tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content* p;
};
struct tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA {
	tySequence__Wd0Vle6gxRCPPoSlNEvfTA data;
	NI counter;
	NIM_BOOL isSorted;
};
struct tySequence__T7nNEWoEbKBa0G5Htr45Xw {
  NI len; tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content* p;
};
struct tyObject_Table__fZyCWkMwhdvr3pauCNDaag {
	tySequence__T7nNEWoEbKBa0G5Htr45Xw data;
	NI counter;
};
struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA {
  NI len; tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content* p;
};
struct tyObject_Table__5vmBY49areSIlgIs4A1LLKQ {
	tySequence__q9cHvMDDxYU1hSCdG4YwIhA data;
	NI counter;
};
struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA {
  NI len; tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content* p;
};
typedef tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* tyArray__EOkbZZXacNOZHC8p7xc7hw[65];
struct tySequence__vJcM7B74R2U5db9cxyXT9coA {
  NI len; tySequence__vJcM7B74R2U5db9cxyXT9coA_Content* p;
};
struct tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw {
	tySequence__vJcM7B74R2U5db9cxyXT9coA data;
	NI counter;
};
struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg {
  NI len; tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content* p;
};
struct tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg {
	tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg data;
	NI counter;
};
typedef N_NIMCALL_PTR(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, tyProc__QieBhPPkGvcmpFg89a4ftcA) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, NI32 fileIdx_p2);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__F2ahyGAjs3aNLJYEXzu07g) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* m_p1, NI32 fileIdx_p2);
struct tySequence__R9c39btP6BwOBBPnbaNUtMQg {
  NI len; tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content* p;
};
struct tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ {
	tySequence__R9c39btP6BwOBBPnbaNUtMQg data;
	NI counter;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA {
  NI len; tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content* p;
};
struct tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw {
	tySequence__squ9b9bUH4OLHf6cEMrt6hVA data;
	NI counter;
};
struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw {
  NI len; tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content* p;
};
struct tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ {
	tySequence__3nALyQgqjnfK2Qjc6ny2Uw data;
	NI counter;
};
struct tySequence__WbW5Q8QVks0bQpUJSGmuVg {
  NI len; tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content* p;
};
typedef NU8 tyEnum_PipelinePass__kO50VlNfBJZtrNuD4VL9aTg;
typedef N_NIMCALL_PTR(void, tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p1, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p2);
typedef N_NIMCALL_PTR(void, tyProc__kj3TYePLaHBuXxhRznQQNQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* body_p2);
typedef N_NIMCALL_PTR(NIM_BOOL, tyProc__D3Q9bYoPIpHZVLfEIxpBssA) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* formal_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* actual_p2);
struct tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw {
	tySequence__TfHJycarvNts8E4mVG4Mfg ifaces;
	tyObject_PackedModuleGraph__vzv9a6xTiz616FotDgUeo9bg packed_0;
	tySequence__dtr79aXjHrgHuH79ac55I2aw encoders;
	tyObject_Table__EBJpp1hXwvFl9cyekUv4qHg typeInstCache;
	tyObject_Table__nn0jq9adRZXGGj9assM9c9bR0w procInstCache;
	tyArray__HTPiakF26bUQGH9bgtmrtkA attachedOps;
	tyObject_Table__tEqt8LkShErhjQ9acvGyE7g methodsPerGenericType;
	tyObject_Table__QS2Z9cQjmvkp1aaFGq4ippw memberProcsPerType;
	tyObject_Table__bnfVX2VJ9aUicVujDM0GIhw initializersPerType;
	tyObject_Table__ChMwcRY3QzpOEBWbGAfvcA enumToStringProcs;
	tyObject_Table__PBlYIBD9bHKBu5FQE5lPn7A emittedTypeInfo;
	tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ startupPackedConfig;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg packageSyms;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA deps;
	tyObject_Table__79b4rr6WWQqgRr9b4NH4UF9cw importDeps;
	NIM_BOOL suggestMode;
	NIM_BOOL invalidTransitiveClosure;
	NIM_BOOL interactive;
	NIM_BOOL withinSystem;
	tyObject_Table__AC9bec2JdoOuC3xQePGWgmA inclToMod;
	tySequence__48JTohSgTy339bRxHzUD8KA importStack;
	RootObj* backend;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
	tyObject_IdentCachecolonObjectType___ieLwK4T49bbUIZTTVH9cycZA* cache;
	RootObj* vm;
	RootObj* repl;
	tyProc__In3g79a0qTcRmbTbJp9ba9ctg doStopCompile;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* usageSym;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA owners;
	tyObject_Table__bHTcQUCehDW9clHfFZXI7lQ suggestSymbols;
	tyObject_Table__w2vCG1OPnHmNolvQVT168g suggestErrors;
	tySequence__kHjIdgrpmuSn9cUIIKpSiDg methods;
	tyObject_CountTable__qvMelb9coODdwoghoAPc9c9aA bucketTable;
	tyObject_Table__fZyCWkMwhdvr3pauCNDaag objectTree;
	tyObject_Table__5vmBY49areSIlgIs4A1LLKQ methodsPerType;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA dispatchers;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* systemModule;
	tyArray__EOkbZZXacNOZHC8p7xc7hw sysTypes;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg compilerprocs;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg exposed;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg packageTypes;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* emptyNode;
	tyObject_Table__9bmd0cvHWe1s4FTDn5BPmfw canonTypes;
	tyObject_Table__GhjCMuklnRqwdX9bZo9bCoNg symBodyHashes;
	tyProc__QieBhPPkGvcmpFg89a4ftcA importModuleCallback;
	tyProc__F2ahyGAjs3aNLJYEXzu07g includeFileCallback;
	tyObject_Table__pI3mJh4Ap2XujSCfcSeUvQ cacheSeqs;
	tyObject_Table__MsPmCuYz1KcEw6lr7P9cGkw cacheCounters;
	tyObject_Table__1HJsK7ponJ4Vb1lJgVFVTQ cacheTables;
	tySequence__WbW5Q8QVks0bQpUJSGmuVg passes;
	tyEnum_PipelinePass__kO50VlNfBJZtrNuD4VL9aTg pipelinePass;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onDefinition;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onDefinitionResolveForward;
	tyProc__c9a5q9aZQWYYOu1vHoRoq9bVQ onUsage;
	tySequence__9ahcSjIErJohSBBFLwuF56Q globalDestructors;
	tyProc__kj3TYePLaHBuXxhRznQQNQ strongSemCheck;
	tyProc__D3Q9bYoPIpHZVLfEIxpBssA compatibleProps;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen;
	tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ operators;
	tyObject_StringTableObj__eKsdjq89aDBcvVY68b206Qg* cachedFiles;
	tySequence__9ahcSjIErJohSBBFLwuF56Q procGlobals;
};
struct tySequence__cLt1WK9c8DYlNqjYIVmv5sQ {
  NI len; tySequence__cLt1WK9c8DYlNqjYIVmv5sQ_Content* p;
};
typedef NU8 tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA;
typedef NU8 tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w;
struct tyTuple__kN8up2W6YKc5YA9avn5mV5w {
	NimStringV2 Field0;
	NI Field1;
	NI Field2;
};
typedef NU16 tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg;
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw {
  NI len; tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content* p;
};
struct tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ {
	tySequence__hRbbzIynOoxrYjHTIKZ3Gw data;
	NI counter;
	NIM_BOOL isSorted;
};
struct tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug {
	NI32 module;
	NI32 symId;
	NI32 typeId_0;
	NIM_BOOL sealed;
	tyObject_CountTable__5N9carAoH8U5E301UN9ccEmQ disambTable;
};
struct tySequence__9ahcSjIErJohSBBFLwuF56Q_Content { NI cap; tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* data[SEQ_DECL_SIZE]; };
struct tySequence__d8ZV4IMgHt9biik9cS9a0hrmg_Content { NI cap; tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* data[SEQ_DECL_SIZE]; };
struct tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA converters;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA patterns;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA pureEnums;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg interf;
	tyObject_TStrTable__Ry5QUbfaMzlI1Jpe9bUTBDg interfHidden;
	NimStringV2 uniqueName;
};
struct tySequence__TfHJycarvNts8E4mVG4Mfg_Content { NI cap; tyObject_Iface__j1FkQxwEAKMJy1o9bap1xow data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_ModuleStatus__uT4B39a2dNaG9a9aunVdyhQtQ;
struct tySequence__PXIzfWocnrafGz5p3CP5LA {
  NI len; tySequence__PXIzfWocnrafGz5p3CP5LA_Content* p;
};
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA {
  NI len; tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content* p;
};
struct tySequence__OxRbUT0qZaZN5UjnqQjGPA {
  NI len; tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content* p;
};
struct tySequence__ezS5mGPcRfBURJyMgqYVzA {
  NI len; tySequence__ezS5mGPcRfBURJyMgqYVzA_Content* p;
};
struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA {
  NI len; tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content* p;
};
struct tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w {
	tySequence__OxRbUT0qZaZN5UjnqQjGPA nodes;
	tySequence__ezS5mGPcRfBURJyMgqYVzA withFlags;
	tySequence__wW7xkohjuUKO9aMaB0nt9cqA withTypes;
};
struct tySequence__b89aLriiJnVTD186H6zNIgg {
  NI len; tySequence__b89aLriiJnVTD186H6zNIgg_Content* p;
};
struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg {
  NI len; tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content* p;
};
struct tySequence__YYy1721YAuPF0ajBYHd8Wg {
  NI len; tySequence__YYy1721YAuPF0ajBYHd8Wg_Content* p;
};
struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ {
  NI len; tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content* p;
};
struct tySequence__F1qNdU7m0Czu7Y2q0eksXw {
  NI len; tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content* p;
};
struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q {
  NI len; tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content* p;
};
struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw {
  NI len; tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content* p;
};
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ {
  NI len; tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content* p;
};
typedef NU8 tySet_tyEnum_ModuleBackendFlag__5FvIlwIIbpcHU0ZRU9a5hrQ;
struct tySequence__Vl1abU3gfp0RqCb1KKfmDA {
  NI len; tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content* p;
};
struct tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw {
	tySequence__Vl1abU3gfp0RqCb1KKfmDA data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__qyyNkmlc4fzOzelC8spUkQ {
  NI len; tySequence__qyyNkmlc4fzOzelC8spUkQ_Content* p;
};
struct tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw {
	tySequence__qyyNkmlc4fzOzelC8spUkQ data;
	NI counter;
	NI first;
	NI last;
};
struct tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA {
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ vals;
	tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys;
};
struct tySequence__IHUFRsFxZNv7YydiUO2esQ {
  NI len; tySequence__IHUFRsFxZNv7YydiUO2esQ_Content* p;
};
struct tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg {
	tySequence__IHUFRsFxZNv7YydiUO2esQ vals;
	tySequence__9bAGqSvkAaFL9bWjsEPslrFA keys;
};
struct tySequence__orxtl6CusdjXleqrxi67gw {
  NI len; tySequence__orxtl6CusdjXleqrxi67gw_Content* p;
};
struct tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ {
	tySequence__orxtl6CusdjXleqrxi67gw aside;
};
struct tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ {
	NimStringV2 definedSymbols;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg moduleFlags;
	tySequence__PXIzfWocnrafGz5p3CP5LA includes;
	tySequence__9bAGqSvkAaFL9bWjsEPslrFA imports;
	tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w toReplay;
	tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w topLevel;
	tyObject_PackedTree__YtSUB9b7CaIoOyHxDty9bm6w bodies;
	tySequence__b89aLriiJnVTD186H6zNIgg exports;
	tySequence__b89aLriiJnVTD186H6zNIgg hidden;
	tySequence__hIPTk9aFdaMMVAOzEbnPyqg reexports;
	tySequence__b89aLriiJnVTD186H6zNIgg compilerProcs;
	tySequence__48JTohSgTy339bRxHzUD8KA converters;
	tySequence__48JTohSgTy339bRxHzUD8KA methods;
	tySequence__48JTohSgTy339bRxHzUD8KA trmacros;
	tySequence__48JTohSgTy339bRxHzUD8KA pureEnums;
	tySequence__YYy1721YAuPF0ajBYHd8Wg typeInstCache;
	tySequence__UODJbvzmu39c3Ho9cqhSk9agQ procInstCache;
	tySequence__F1qNdU7m0Czu7Y2q0eksXw attachedOps;
	tySequence__r3Kz9breImOXyFFoJ29aBM8Q methodsPerGenericType;
	tySequence__YYy1721YAuPF0ajBYHd8Wg enumToStringProcs;
	tySequence__YYy1721YAuPF0ajBYHd8Wg methodsPerType;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw dispatchers;
	tySequence__sM4lkSb7zS6F7OVMvW9cffQ emittedTypeInfo;
	tySet_tyEnum_ModuleBackendFlag__5FvIlwIIbpcHU0ZRU9a5hrQ backendFlags;
	tyObject_OrderedTable__vodBW9bS41CI2hVVsJJ8qiw syms;
	tyObject_OrderedTable__y5tq9cRly5CxS2mQPchEHcw types;
	tyObject_BiTable__KR9c7QZguPO3OKZOIcphgcA strings;
	tyObject_BiTable__9aUXwPoJbNPqj9a249c0iSmlg numbers;
	tyObject_LineInfoManager__TTy646Kfh1cVyXU9aSMasUQ man;
	tyObject_PackedConfig__Hpn673wkKPDorr1HY9bOaDQ cfg;
};
struct tySequence__K0j67V58u5FW0dCC534FQw {
  NI len; tySequence__K0j67V58u5FW0dCC534FQw_Content* p;
};
struct tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ {
	tySequence__K0j67V58u5FW0dCC534FQw data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__UE4b6iUkm1b3zTPamTTkDw {
  NI len; tySequence__UE4b6iUkm1b3zTPamTTkDw_Content* p;
};
struct tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ {
	tySequence__UE4b6iUkm1b3zTPamTTkDw data;
	NI counter;
	NI first;
	NI last;
};
struct tySequence__FmsTQiIcS9arxHxs3QY48vA {
  NI len; tySequence__FmsTQiIcS9arxHxs3QY48vA_Content* p;
};
struct tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg {
	tySequence__FmsTQiIcS9arxHxs3QY48vA data;
	NI counter;
};
struct tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA {
	tyEnum_ModuleStatus__uT4B39a2dNaG9a9aunVdyhQtQ status;
	NIM_BOOL symsInit;
	NIM_BOOL typesInit;
	NIM_BOOL loadedButAliveSetChanged;
	tyObject_PackedModule__sRHd9aQ2ZMII76xRsfAbE9aQ fromDisk;
	tyObject_OrderedTable__h8mIUVGY8LJXF9cakgvB9bqQ syms;
	tyObject_OrderedTable__DED9c7j9bI3Lh5w4GQakK8yQ types;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module;
	tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg iface;
	tyObject_Table__BH9cy1hZ1rZZoGkNCEN1uvg ifaceHidden;
};
struct tySequence__5reviU45axUMPQgL9aoENrg_Content { NI cap; tyObject_LoadedModule__7NEKRkz5hkiOxQy5guqIHA data[SEQ_DECL_SIZE]; };
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ {
  NI len; tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content* p;
};
struct tyObject_Table__uaQEKxLZNO5fpFluyxnhTg {
	tySequence__9cnx3zXnWzeclW8Ko4oUgAQ data;
	NI counter;
};
struct tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ {
	NI32 thisModule;
	NI32 lastFile;
	NU32 lastLit;
	tyObject_Table__uaQEKxLZNO5fpFluyxnhTg filenames;
	tySequence__d8ZV4IMgHt9biik9cS9a0hrmg pendingTypes;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA pendingSyms;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA typeMarker;
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA symMarker;
	tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* config;
};
struct tySequence__dtr79aXjHrgHuH79ac55I2aw_Content { NI cap; tyObject_PackedEncoder__FGa18gE2dyYyuq9ckHprjTQ data[SEQ_DECL_SIZE]; };
struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ {
  NI len; tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content* p;
};
struct tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__vb3AGHvMJTxdOSSwMmBmTQ Field2;
};
struct tySequence__8y0Gi4GwtXi2wk2mK1IOzw_Content { NI cap; tyTuple__7TXOq9czx9cn1FWKG5gXNK8Q data[SEQ_DECL_SIZE]; };
struct tySequence__apM9bRAO19cVjhWlxqd1PGeA {
  NI len; tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content* p;
};
struct tyTuple__F1mMODXmKFMNQ5rLCtcv0Q {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__apM9bRAO19cVjhWlxqd1PGeA Field2;
};
struct tySequence__C2ivDnhTZ6IxAdui1rfuqw_Content { NI cap; tyTuple__F1mMODXmKFMNQ5rLCtcv0Q data[SEQ_DECL_SIZE]; };
struct tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig {
	NU32 module;
	NI32 item;
};
struct tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ {
	NI module;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig packed_0;
};
struct tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA {
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ id;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym;
};
struct tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA Field2;
};
struct tySequence__3vEEVfBECLN6NIRA3FIp5g_Content { NI cap; tyTuple__vHfXSpEC1R9b9cKgfFB9a58gw data[SEQ_DECL_SIZE]; };
struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw {
  NI len; tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content* p;
};
struct tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__9bW2eTK9b7vXE70Sx5VPH1mw Field2;
};
struct tySequence__9aSa87aKMiolq9a7z3kC0jTw_Content { NI cap; tyTuple__4iq9bD09amB7Ah0r9cBB0nSPQ data[SEQ_DECL_SIZE]; };
struct tyTuple__bnJwOH0eJlAwCAMbr1inhw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA Field2;
};
struct tySequence__N589c2UsUgqqOITU2JfIuAQ_Content { NI cap; tyTuple__bnJwOH0eJlAwCAMbr1inhw data[SEQ_DECL_SIZE]; };
struct tyTuple__YG7h1OUHzgfgTeH9cl0U0dw {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__GYDW6wGgERshoSd16jJ3eQ_Content { NI cap; tyTuple__YG7h1OUHzgfgTeH9cl0U0dw data[SEQ_DECL_SIZE]; };
struct tyTuple__xYhUhS7X82rKTqbT9bRfCnw {
	NI Field0;
	NimStringV2 Field1;
	NI32 Field2;
};
struct tySequence__7lEisrXlQEzwtUKW5pzRCw_Content { NI cap; tyTuple__xYhUhS7X82rKTqbT9bRfCnw data[SEQ_DECL_SIZE]; };
struct tySequence__ZCZaCk14bTmSb6LMW9aWPVA_Content { NI cap; tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* data[SEQ_DECL_SIZE]; };
struct tySequence__ZeWVlH6DqG79b1pTDhrrUYA_Content { NI cap; tyObject_TrunkcolonObjectType___lmbdIZwAo9agPlTE1wBREkA* data[SEQ_DECL_SIZE]; };
struct tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q {
	NI Field0;
	NI32 Field1;
	tySequence__48JTohSgTy339bRxHzUD8KA Field2;
};
struct tySequence__fdmz6VkIf1ewwrssKYqRFg_Content { NI cap; tyTuple__1mtQ8sCEE7DbfIuQciv9b5Q data[SEQ_DECL_SIZE]; };
struct tyTuple__xDU9bZmv1ZbZkJDaATBekIQ {
	NI Field0;
	NI32 Field1;
	NI32 Field2;
};
struct tySequence__kxu4GK0onha2t9bo86mdVAg_Content { NI cap; tyTuple__xDU9bZmv1ZbZkJDaATBekIQ data[SEQ_DECL_SIZE]; };
struct tySequence__48JTohSgTy339bRxHzUD8KA_Content { NI cap; NI32 data[SEQ_DECL_SIZE]; };
struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg {
  NI len; tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content* p;
};
struct tySequence__yUWoZehF86MIc40opFgacw {
  NI len; tySequence__yUWoZehF86MIc40opFgacw_Content* p;
};
struct tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw {
	tyObject_PackedSet__uMCH0vzAEgrsmOKwCWxFrA s;
	NI len;
};
struct tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ {
	tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg lineInfo;
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA sym;
	tySequence__yUWoZehF86MIc40opFgacw caughtExceptions;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw caughtExceptionsSet;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw isDecl;
	tyObject_PackedBoolArray__1pk9boftqWMNDE1oh5HcIhw isGenericInstance;
	NI32 fileIndex;
	NIM_BOOL trackCaughtExceptions;
	NIM_BOOL isSorted;
};
struct tyTuple__tG5yYi8DnD7bl00aT9cgctQ {
	NI Field0;
	NI32 Field1;
	tyObject_SuggestFileSymbolDatabase__o0ahEzaLn5a7TdNqH4OVqQ Field2;
};
struct tySequence__fz0REU1l0nYmKHXgMLRrIg_Content { NI cap; tyTuple__tG5yYi8DnD7bl00aT9cgctQ data[SEQ_DECL_SIZE]; };
struct tySequence__nSO1ltijM4vhc0UrrXKEqA {
  NI len; tySequence__nSO1ltijM4vhc0UrrXKEqA_Content* p;
};
struct tyTuple__gnRkA1L4XiR4uByriyHW8Q {
	NI Field0;
	NI32 Field1;
	tySequence__nSO1ltijM4vhc0UrrXKEqA Field2;
};
struct tySequence__Ip9aV1IKO2gVdheNOM31DCQ_Content { NI cap; tyTuple__gnRkA1L4XiR4uByriyHW8Q data[SEQ_DECL_SIZE]; };
struct tyTuple__CvjVmQeIfivirDme2r5MRw {
	tySequence__ZCZaCk14bTmSb6LMW9aWPVA Field0;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field1;
};
struct tySequence__kHjIdgrpmuSn9cUIIKpSiDg_Content { NI cap; tyTuple__CvjVmQeIfivirDme2r5MRw data[SEQ_DECL_SIZE]; };
struct tyTuple__2QDyOgS51ZMPO0W1pWCY6g {
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field0;
	NI Field1;
};
struct tySequence__Wd0Vle6gxRCPPoSlNEvfTA_Content { NI cap; tyTuple__2QDyOgS51ZMPO0W1pWCY6g data[SEQ_DECL_SIZE]; };
struct tySequence__juxPMVNF1FoR2ltzeQu8NQ {
  NI len; tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content* p;
};
struct tyTuple__UbCNQED4XJUgxOgPHJUcAQ {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__juxPMVNF1FoR2ltzeQu8NQ Field2;
};
struct tySequence__T7nNEWoEbKBa0G5Htr45Xw_Content { NI cap; tyTuple__UbCNQED4XJUgxOgPHJUcAQ data[SEQ_DECL_SIZE]; };
struct tyTuple__zExIg9bDTcVf2FHROUpzoow {
	NI Field0;
	tyObject_ItemId__N3z7uIvKCrk0S9cej5ew0nA Field1;
	tySequence__olFOFaYzOJN9aV5BWqK4b9bA Field2;
};
struct tySequence__q9cHvMDDxYU1hSCdG4YwIhA_Content { NI cap; tyTuple__zExIg9bDTcVf2FHROUpzoow data[SEQ_DECL_SIZE]; };
struct tySequence__olFOFaYzOJN9aV5BWqK4b9bA_Content { NI cap; tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA data[SEQ_DECL_SIZE]; };
typedef NU8 tyArray__dnD8kjh6rJ1Yy5jHvid0Ow[16];
struct tyTuple__XrHNJHOzS3O7uwF9bvCySiA {
	NI Field0;
	tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Field1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field2;
};
struct tySequence__vJcM7B74R2U5db9cxyXT9coA_Content { NI cap; tyTuple__XrHNJHOzS3O7uwF9bvCySiA data[SEQ_DECL_SIZE]; };
struct tyTuple__EdLY4EJQ37VFgbAn5g5rXQ {
	NI Field0;
	NI Field1;
	tyArray__dnD8kjh6rJ1Yy5jHvid0Ow Field2;
};
struct tySequence__Mt5NbgJ9cKUrhjgdsnfKvXg_Content { NI cap; tyTuple__EdLY4EJQ37VFgbAn5g5rXQ data[SEQ_DECL_SIZE]; };
struct tyTuple__OtlgAx3kBps9cOSMNDZSzBA {
	NI Field0;
	NimStringV2 Field1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* Field2;
};
struct tySequence__R9c39btP6BwOBBPnbaNUtMQg_Content { NI cap; tyTuple__OtlgAx3kBps9cOSMNDZSzBA data[SEQ_DECL_SIZE]; };
struct tyTuple__F3gkSrMB1qp2Tvf9bixVXwg {
	NI Field0;
	NimStringV2 Field1;
	NI64 Field2;
};
struct tySequence__squ9b9bUH4OLHf6cEMrt6hVA_Content { NI cap; tyTuple__F3gkSrMB1qp2Tvf9bixVXwg data[SEQ_DECL_SIZE]; };
struct tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw {
	tyObject_NodecolonObjectType___U4ON6JZL9cIHezBQjmQzJ8Q* root;
	NI entries;
};
struct tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ {
	NI Field0;
	NimStringV2 Field1;
	tyObject_BTree__gZru4m5AxLV1lYyWPNBQBw Field2;
};
struct tySequence__3nALyQgqjnfK2Qjc6ny2Uw_Content { NI cap; tyTuple__RFOJ4fF7D9bpvmh9birH1JhQ data[SEQ_DECL_SIZE]; };
typedef N_NIMCALL_PTR(tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ*, tyProc__TVHQTM3bKm4Mi6Ul6zgzuQ) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* module_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p2);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__74nHWc2UIRu3iSR9akqDDBg) (tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ* p_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* topLevelStmt_p1);
typedef N_NIMCALL_PTR(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, tyProc__S9bLWKf8jgjzoiotAmEyFSw) (tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* graph_p0, tyObject_TPassContext__QQOybmyOwFn29csyFzTSLNQ* p_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p2);
struct tyTuple__O3g9a8zTXSX36ljWponcAoA {
	tyProc__TVHQTM3bKm4Mi6Ul6zgzuQ Field0;
	tyProc__74nHWc2UIRu3iSR9akqDDBg Field1;
	tyProc__S9bLWKf8jgjzoiotAmEyFSw Field2;
	NIM_BOOL Field3;
};
struct tySequence__WbW5Q8QVks0bQpUJSGmuVg_Content { NI cap; tyTuple__O3g9a8zTXSX36ljWponcAoA data[SEQ_DECL_SIZE]; };
struct tySequence__cLt1WK9c8DYlNqjYIVmv5sQ_Content { NI cap; tyTuple__c0qUCL3KxsVjGYwcv7lQbg data[SEQ_DECL_SIZE]; };
struct tyTuple__Oubp8LPEu86EPyDuc56AXg {
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* Field0;
	NI Field1;
};
struct tySequence__hRbbzIynOoxrYjHTIKZ3Gw_Content { NI cap; tyTuple__Oubp8LPEu86EPyDuc56AXg data[SEQ_DECL_SIZE]; };
struct tyTuple__0q9cmhneJEKnQERTpXXdz6Q {
	NU32 Field0;
	NimStringV2 Field1;
};
struct tySequence__PXIzfWocnrafGz5p3CP5LA_Content { NI cap; tyTuple__0q9cmhneJEKnQERTpXXdz6Q data[SEQ_DECL_SIZE]; };
struct tySequence__9bAGqSvkAaFL9bWjsEPslrFA_Content { NI cap; NU32 data[SEQ_DECL_SIZE]; };
struct tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w {
	NU32 x;
	NU32 info;
};
struct tySequence__OxRbUT0qZaZN5UjnqQjGPA_Content { NI cap; tyObject_PackedNode__YxKk4C732K04CNgtMhmc0w data[SEQ_DECL_SIZE]; };
struct tyTuple__48iPM3yLBKU5nyEuYwJvuQ {
	NI32 Field0;
	tySet_tyEnum_TNodeFlag__3UjGgL9bLM4RXBnoZJs9cviw Field1;
};
struct tySequence__ezS5mGPcRfBURJyMgqYVzA_Content { NI cap; tyTuple__48iPM3yLBKU5nyEuYwJvuQ data[SEQ_DECL_SIZE]; };
struct tyTuple__R3ddFrA0G9buJY57Qhf9cTpg {
	NI32 Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__wW7xkohjuUKO9aMaB0nt9cqA_Content { NI cap; tyTuple__R3ddFrA0G9buJY57Qhf9cTpg data[SEQ_DECL_SIZE]; };
struct tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ {
	NU32 Field0;
	NI32 Field1;
};
struct tySequence__b89aLriiJnVTD186H6zNIgg_Content { NI cap; tyTuple__Izx9aRSX9a0diDXD84jOS9aMQ data[SEQ_DECL_SIZE]; };
struct tyTuple__7rmdAMLZ8fDd79brQn2ixZA {
	NU32 Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__hIPTk9aFdaMMVAOzEbnPyqg_Content { NI cap; tyTuple__7rmdAMLZ8fDd79brQn2ixZA data[SEQ_DECL_SIZE]; };
struct tyTuple__qPXRCRNQuZLLKto7CIIEzw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field1;
};
struct tySequence__YYy1721YAuPF0ajBYHd8Wg_Content { NI cap; tyTuple__qPXRCRNQuZLLKto7CIIEzw data[SEQ_DECL_SIZE]; };
struct tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig key;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig sym;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw concreteTypes;
};
struct tySequence__UODJbvzmu39c3Ho9cqhSk9agQ_Content { NI cap; tyObject_PackedInstantiation__C3FSePJFY8gUIMObsjT2dg data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q;
struct tyTuple__6kG8KAxm9aXPdLdlxcxqJJw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	tyEnum_TTypeAttachedOp__RefHoBI5deIfxIZqo3dS5Q Field1;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field2;
};
struct tySequence__F1qNdU7m0Czu7Y2q0eksXw_Content { NI cap; tyTuple__6kG8KAxm9aXPdLdlxcxqJJw data[SEQ_DECL_SIZE]; };
struct tyTuple__TRK7rrwoha9bbDAdPWsqJMw {
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field0;
	NI Field1;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig Field2;
};
struct tySequence__r3Kz9breImOXyFFoJ29aBM8Q_Content { NI cap; tyTuple__TRK7rrwoha9bbDAdPWsqJMw data[SEQ_DECL_SIZE]; };
struct tySequence__qBes3XzcQQ9cyia9bRwnmbJw_Content { NI cap; tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig data[SEQ_DECL_SIZE]; };
struct tySequence__sM4lkSb7zS6F7OVMvW9cffQ_Content { NI cap; NimStringV2 data[SEQ_DECL_SIZE]; };
typedef NU8 tyEnum_TLibKind__BkKL8ReLoyYDI7of9aQPV0A;
struct tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg {
	tyEnum_TLibKind__BkKL8ReLoyYDI7of9aQPV0A kind;
	NIM_BOOL generated;
	NIM_BOOL isOverridden;
	NU32 name;
	NI32 path;
};
struct tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw {
	NI32 id;
	tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q kind;
	NU32 name;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig typ;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg flags;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg magic;
	NU32 info;
	NI32 ast;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig owner;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig guard;
	NI bitsize;
	NI alignment;
	tySet_tyEnum_TOption__LEwWf0yAgZkZx5Got2wGSQ options;
	NI position;
	NI32 offset;
	NI32 disamb;
	NU32 externalName;
	tySet_tyEnum_TLocFlag__Df76pxukl21zlyRFq9aa0Bg locFlags;
	tyObject_PackedLib__EpwVLk0Fuc5Q9agKLMWedbg annex;
	NI32 constraint;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig instantiatedFrom;
};
struct tyTuple__V1VWX9bHapuzCjpMfFfys5Q {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_PackedSym__KKnx6w8Cc9aaVsaPOpaqxbw Field3;
};
struct tySequence__Vl1abU3gfp0RqCb1KKfmDA_Content { NI cap; tyTuple__V1VWX9bHapuzCjpMfFfys5Q data[SEQ_DECL_SIZE]; };
struct tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ {
	NI32 id;
	tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind;
	tyEnum_TCallingConvention__MvGn9cvx9bNYQKo7Hhd5GM9cQ callConv;
	tySet_tyEnum_TTypeFlag__HJaExo9c84N85e9br9anJmV1A flags;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw types;
	NI32 n;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig sym;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig owner;
	NI64 size;
	NI16 align;
	NI16 paddingAtEnd;
	tyObject_PackedItemId__WqAMZCDwoZiUuOt3ohcDig typeInst;
	NI32 nonUniqueId;
};
struct tyTuple__anemVmHCFglLFt6LiEhFvg {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_PackedType__8M8VlYfwJ6AtpxG1HNn4bQ Field3;
};
struct tySequence__qyyNkmlc4fzOzelC8spUkQ_Content { NI cap; tyTuple__anemVmHCFglLFt6LiEhFvg data[SEQ_DECL_SIZE]; };
struct tySequence__IHUFRsFxZNv7YydiUO2esQ_Content { NI cap; NI64 data[SEQ_DECL_SIZE]; };
struct tyTuple__MaWaKZwaGUqCXKsSK12rVg {
	NU32 Field0;
	NI32 Field1;
	NI32 Field2;
};
struct tySequence__orxtl6CusdjXleqrxi67gw_Content { NI cap; tyTuple__MaWaKZwaGUqCXKsSK12rVg data[SEQ_DECL_SIZE]; };
struct tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* Field3;
};
struct tySequence__K0j67V58u5FW0dCC534FQw_Content { NI cap; tyTuple__nL9cBxaIV4ZA9b9ceY79coA5eA data[SEQ_DECL_SIZE]; };
struct tyTuple__1xWeGeoNoZxaLhTUDDWYyA {
	NI Field0;
	NI Field1;
	NI32 Field2;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field3;
};
struct tySequence__UE4b6iUkm1b3zTPamTTkDw_Content { NI cap; tyTuple__1xWeGeoNoZxaLhTUDDWYyA data[SEQ_DECL_SIZE]; };
struct tyTuple__MZVSn3SE3XUBJOaMu7ofRQ {
	NI Field0;
	tyObject_TIdent__LG4CHFyohryWo9bzZeyjDjA* Field1;
	tySequence__qBes3XzcQQ9cyia9bRwnmbJw Field2;
};
struct tySequence__FmsTQiIcS9arxHxs3QY48vA_Content { NI cap; tyTuple__MZVSn3SE3XUBJOaMu7ofRQ data[SEQ_DECL_SIZE]; };
struct tyTuple__UvldbCB6B9ayi9bGYW7vJNLA {
	NI Field0;
	NI32 Field1;
	NU32 Field2;
};
struct tySequence__9cnx3zXnWzeclW8Ko4oUgAQ_Content { NI cap; tyTuple__UvldbCB6B9ayi9bGYW7vJNLA data[SEQ_DECL_SIZE]; };
struct tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA {
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ id;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ;
};
struct tySequence__vb3AGHvMJTxdOSSwMmBmTQ_Content { NI cap; tyObject_LazyType__dsEGDq9cOhnzsRvTUTwwwuA data[SEQ_DECL_SIZE]; };
struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ {
  NI len; tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content* p;
};
struct tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA {
	NI module;
	tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ sym;
	tySequence__YxH9cgSorHRI8ZPzHf47NNQ concreteTypes;
	tyObject_TInstantiation__jr8MibvPn2sQBnO7XCoZRQ* inst;
};
struct tySequence__apM9bRAO19cVjhWlxqd1PGeA_Content { NI cap; tyObject_LazyInstantiation__n72c7MnOoHWBy9c9akgwGqEA data[SEQ_DECL_SIZE]; };
struct tyTuple__lGHLhAAUpxgfrnQkIzNrMw {
	NI Field0;
	tyObject_LazySym__yw1M8ZE9be6l5XOjcw0euIA Field1;
};
struct tySequence__9bW2eTK9b7vXE70Sx5VPH1mw_Content { NI cap; tyTuple__lGHLhAAUpxgfrnQkIzNrMw data[SEQ_DECL_SIZE]; };
struct tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA {
	NU16 line;
	NI16 col;
};
struct tySequence__9aCujOg9b8Xgx9aYJJEMRHVwg_Content { NI cap; tyObject_TinyLineInfo__qW2GTIPjeOQ42q9c2MPWLLA data[SEQ_DECL_SIZE]; };
struct tySequence__yUWoZehF86MIc40opFgacw_Content { NI cap; tySequence__d8ZV4IMgHt9biik9cS9a0hrmg data[SEQ_DECL_SIZE]; };
struct tySequence__nSO1ltijM4vhc0UrrXKEqA_Content { NI cap; tyObject_SuggestcolonObjectType___UyASNXAqAMRY5zJmcRD9ccA* data[SEQ_DECL_SIZE]; };
struct tyTuple__V6P73hvHy70PBBwharKjig {
	NI Field0;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* Field1;
};
struct tySequence__juxPMVNF1FoR2ltzeQu8NQ_Content { NI cap; tyTuple__V6P73hvHy70PBBwharKjig data[SEQ_DECL_SIZE]; };
struct tySequence__YxH9cgSorHRI8ZPzHf47NNQ_Content { NI cap; tyObject_FullId__tYrGdGRoone9bMsQwSCYR9bQ data[SEQ_DECL_SIZE]; };
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0);
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, unregisterCycle__system_u3127)(tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3270)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, nimRawDispose)(void* p_p0, NI alignment_p1);
N_LIB_PRIVATE N_NIMCALL(void, invalidateFacts__guards_u595)(tySequence__9ahcSjIErJohSBBFLwuF56Q* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSubTree__guards_u586)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTree__guards_u545)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameOpr__guards_u505)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* b_p1);
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1);
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2);
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3261)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, doesImply__guards_u780)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw facts_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* prop_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, factImplies__guards_u764)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* prop_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg, getMagic__trees_u122)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* op_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3255)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, tilde___guards_u761)(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw x_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3252)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesIsNil__guards_u720)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* eq_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, valueIsNil__guards_u709)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, skipConv__types_u3715)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesEq__guards_u617)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* eq_p1);
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1);
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocation__guards_u54)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValue__guards_u47)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, valuesUnequal__guards_u613)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameValue__astalgo_u63)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, inSet__nimsets_u8)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* elem_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesLe__guards_u738)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, leValue__astalgo_u79)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesGe__guards_u727)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, pred__guards_u268)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyNode__ast_u6736)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesLt__guards_u746)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesIn__guards_u701)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* loc_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aSet_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, compareSets__guards_u697)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, equalSets__nimsets_u166)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, intersectSets__nimsets_u145)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, leImpliesIn__guards_u627)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aSet_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntNode__ast_u5204)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg intVal_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, firstOrd__types_u1182)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, geImpliesIn__guards_u660)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aSet_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newIntNode__ast_u5200)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, NI64 intVal_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, lastOrd__types_u1298)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lt___int128_u404)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, minus___int128_u641)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, getInt__ast_u7046)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg, toInt128__types_u1207)(NI arg_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int128_u973)(NI64 a_p0, tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, neg__guards_u121)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, swapArgs__guards_u117)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* newOp_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeI__ast_u4095)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, NI children_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newSymNode__ast_u5168)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* sym_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3378)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, skipTypes__ast_u5379)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kinds_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, newNodeIT__ast_u4112)(tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw kind_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_p2);
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3215)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* father_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* son_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqwasMoved___ast_u3249)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildCall__guards_u159)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, canon__guards_u289)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, shallowCopy__ast_u6876)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, astdef__ast_u4596)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* s_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, copyTree__ast_u6891)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* src_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildCall__guards_u163)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, minusOne__guards_u228)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, negate__guards_u200)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* res_p2, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p3);
N_LIB_PRIVATE N_NIMCALL(NI64, barplusbar___saturate_u1)(NI64 a_p0, NI64 b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, reassociation__guards_u256)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, barplusbar___guards_u168)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, barstarbar___guards_u184)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NI64, barstarbar___saturate_u52)(NI64 a_p0, NI64 b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, zero__guards_u224)(void);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLetLocation__guards_u95)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_p0, NIM_BOOL isApprox_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isConstExpr__trees_u129)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLet__guards_u57)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isVar__guards_u76)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, barminusbar___guards_u176)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NI64, barminusbar___saturate_u13)(NI64 a_p0, NI64 b_p1);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, ple__guards_u861)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isOrdinalType__types_u283)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_p0, NIM_BOOL allowEnumWithHoles_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, lteq___int128_u966)(tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg a_p0, NI64 b_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, one__guards_u226)(void);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, bardivbar___guards_u192)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMinusOne__guards_u850)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, pleViaModel__guards_u857)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw model_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aa_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bb_p2);
N_LIB_PRIVATE N_NIMCALL(void*, newSeqPayload)(NI cap_p0, NI elemSize_p1, NI elemAlign_p2);
N_LIB_PRIVATE N_NIMCALL(void, add__guards_u1415)(tySequence__cLt1WK9c8DYlNqjYIVmv5sQ* x_p0, tyTuple__c0qUCL3KxsVjGYwcv7lQbg y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3705)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___modulegraphs_u14756)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw** dest_p0, tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, add__ast_u3225)(tySequence__9ahcSjIErJohSBBFLwuF56Q* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, applyReplacements__guards_u1127)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySequence__cLt1WK9c8DYlNqjYIVmv5sQ rep_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, replaceSubTree__guards_u1117)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* by_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___guards_u1520)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* dest_p0, tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw src_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3699)(tySequence__9ahcSjIErJohSBBFLwuF56Q* dest_p0, tySequence__9ahcSjIErJohSBBFLwuF56Q src_p1);
static N_INLINE(void, nimIncRef)(void* p_p0);
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___modulegraphs_u13532)(tyObject_ModuleGraphcolonObjectType___TuJBn0NOJllZfOUYECIyKw* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, pleViaModelRec__guards_u1335)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___guards_u1517)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3696)(tySequence__9ahcSjIErJohSBBFLwuF56Q dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___guards_u1174)(tySequence__cLt1WK9c8DYlNqjYIVmv5sQ dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, alignedDealloc)(void* p_p0, NI align_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildProperFieldCheck__guards_u1655)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* access_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* check_p1, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u3381)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NOINLINE(void, liMessage__msgs_u1227)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TLineInfo__cGj50BJ9bj3Zx09a9bMvKs8HA info_p1, tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA msg_p2, NimStringV2 arg_p3, tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w eh_p4, tyTuple__kN8up2W6YKc5YA9avn5mV5w info2_p5, NIM_BOOL isRaw_p6, NIM_BOOL ignoreError_p7);
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1);
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2);
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, renderTree__renderer_u59)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg renderFlags_p1);
N_LIB_PRIVATE N_NIMCALL(NimStringV2, rawNewString)(NI space_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___system_u2691)(NimStringV2 dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildOf__guards_u1573)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* loc_p1, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqsink___ast_u3387)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg** dest_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* src_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, settype__guards_u1566)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug*, idGeneratorForPackage__ast_u3122)(NI32 nextIdWillBe_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, newType__ast_u5900)(tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg kind_p0, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_p1, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* owner_p2, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p3);
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6246)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___ast_u4577)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg** dest_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* src_p1);
N_LIB_PRIVATE N_NIMCALL(void, addSonSkipIntLit__magicsys_u135)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* father_p0, tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* son_p1, tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* id_p2);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u4574)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* dest_p0);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___ast_u3100)(tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* dest_p0);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildElse__guards_u1584)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p1);
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, usefulFact__guards_u395)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p1);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0);
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1);
N_LIB_PRIVATE N_NIMCALL(void, addFact__guards_u476)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nn_p1);
N_LIB_PRIVATE N_NIMCALL(void, addFactLe__guards_u1553)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2);
static NIM_CONST tySet_tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg TM__6PEpSVg5zYQiUPcMieikwQ_2 = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x40, 0x42, 0x92, 0x18, 0x00, 0x00, 0x12, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00}
;
static NIM_CONST tySet_tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg TM__6PEpSVg5zYQiUPcMieikwQ_5 = {
0x10, 0xa9, 0x00, 0x00, 0x00, 0x60, 0x80, 0x00,
0x00}
;
static NIM_CONST tySet_tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg TM__6PEpSVg5zYQiUPcMieikwQ_6 = {
0x00, 0x02, 0x00, 0x00, 0xf0, 0xc0, 0xfb, 0x81,
0x41, 0x42, 0x92, 0x18, 0x00, 0x00, 0x12, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00}
;
static const struct {
  NI cap; NIM_CHAR data[43+1];
} TM__6PEpSVg5zYQiUPcMieikwQ_7 = { 43 | NIM_STRLIT_FLAG, "field access outside of valid case branch: " };
static const NimStringV2 TM__6PEpSVg5zYQiUPcMieikwQ_8 = {43, (NimStrPayload*)&TM__6PEpSVg5zYQiUPcMieikwQ_7};
static const struct {
  NI cap; NIM_CHAR data[61+1];
} TM__6PEpSVg5zYQiUPcMieikwQ_10 = { 61 | NIM_STRLIT_FLAG, "/home/runner/work/nightlies/nightlies/nim/compiler/guards.nim" };
static NIM_CONST tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ TM__6PEpSVg5zYQiUPcMieikwQ_3 = {((NI)1),
((NI)2)}
;
static NIM_CONST tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ TM__6PEpSVg5zYQiUPcMieikwQ_4 = {((NI)2),
((NI)1)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__6PEpSVg5zYQiUPcMieikwQ_9 = {{61, (NimStrPayload*)&TM__6PEpSVg5zYQiUPcMieikwQ_10},
((NI)1187),
((NI)18)}
;
static NIM_CONST tyTuple__kN8up2W6YKc5YA9avn5mV5w TM__6PEpSVg5zYQiUPcMieikwQ_11 = {{61, (NimStrPayload*)&TM__6PEpSVg5zYQiUPcMieikwQ_10},
((NI)1189),
((NI)15)}
;
extern NIM_BOOL nimInErrorMode__system_u4143;
static N_INLINE(NI, minuspercent___system_u805)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) - (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(NIM_BOOL, nimDecRefIsLastDyn)(void* p_p0) {
	NIM_BOOL result;
	result = NIM_FALSE;
	{
		tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A* cell_1;
		NI T5_;
		if (!!((p_p0 == NIM_NIL))) goto LA3_;
		T5_ = (NI)0;
		T5_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
		cell_1 = ((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T5_));
		{
			if (!((NI)((*cell_1).rc & ((NI)-16)) == ((NI)0))) goto LA8_;
			result = NIM_TRUE;
		}
		goto LA6_;
LA8_: ;
		{
			(*cell_1).rc = minuspercent___system_u805((*cell_1).rc, ((NI)16));
		}
LA6_: ;
		{
			if (!result) goto LA13_;
			{
				if (!(((NI)0) < (*cell_1).rootIdx)) goto LA17_;
				unregisterCycle__system_u3127(cell_1);
			}
LA17_: ;
		}
LA13_: ;
	}
LA3_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___guards_u1241)(tyTuple__c0qUCL3KxsVjGYwcv7lQbg dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0.Field0);
		if (!T3_) goto LA4_;
		eqdestroy___ast_u3270((&(*dest_p0.Field0)));
		nimRawDispose(dest_p0.Field0, ((NI)4));
	}
LA4_: ;
	{
		NIM_BOOL T8_;
		T8_ = (NIM_BOOL)0;
		T8_ = nimDecRefIsLastDyn(dest_p0.Field1);
		if (!T8_) goto LA9_;
		eqdestroy___ast_u3270((&(*dest_p0.Field1)));
		nimRawDispose(dest_p0.Field1, ((NI)4));
	}
LA9_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameOpr__guards_u505)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* a_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* b_p1) {
	NIM_BOOL result;
	switch ((*a_p0).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)70):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)73):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)78):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)81):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)84):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)91) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)92):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)113):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)116):
	{
		result = ((TM__6PEpSVg5zYQiUPcMieikwQ_2[(NU)(((*b_p1).magic))>>3] &(1U<<((NU)(((*b_p1).magic))&7U)))!=0);
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)71):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)74):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)76):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)79):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)82):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)85):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)88):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)114):
	{
		result = ((*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)71) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)74) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)76) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)79) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)82) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)85) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)88) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)114));
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)72):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)75):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)77):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)80):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)83):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)86):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)89):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)115):
	{
		result = ((*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)72) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)75) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)77) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)80) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)83) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)86) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)89) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)115));
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)36) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)39):
	{
		result = ((*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)36) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)37) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)38) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)39));
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53):
	{
		result = ((*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51));
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)47):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)52):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)54):
	{
		result = ((*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)47) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)54) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)52));
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55):
	{
		result = ((*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55));
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)49):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)56):
	{
		result = ((*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)49) || (*b_p1).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)56));
	}
	break;
	default:
	{
		result = (a_p0 == b_p1);
	}
	break;
	}
	return result;
}
static N_INLINE(int, nimCmpMem)(void* a_p0, void* b_p1, NI size_p2) {
	int result;
	result = memcmp(a_p0, b_p1, ((size_t) (size_p2)));
	return result;
}
static N_INLINE(NIM_BOOL, equalMem__system_u1750)(void* a_p0, void* b_p1, NI size_p2) {
	NIM_BOOL result;
	int T1_;
	T1_ = (int)0;
	T1_ = nimCmpMem(a_p0, b_p1, size_p2);
	result = (T1_ == ((NI32)0));
	return result;
}
static N_INLINE(NIM_BOOL, eqStrings)(NimStringV2 a_p0, NimStringV2 b_p1) {
	NIM_BOOL result;
	NI alen_1;
	NI blen_1;
{	result = NIM_FALSE;
	alen_1 = a_p0.len;
	blen_1 = b_p1.len;
	{
		if (!(alen_1 == blen_1)) goto LA3_;
		{
			if (!(alen_1 == ((NI)0))) goto LA7_;
			result = NIM_TRUE;
			goto BeforeRet_;
		}
LA7_: ;
		result = equalMem__system_u1750(((void*) ((&a_p0.p->data[((NI)0)]))), ((void*) ((&b_p1.p->data[((NI)0)]))), (alen_1));
		goto BeforeRet_;
	}
LA3_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, len__ast_u3190)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
	NI T1_;
	T1_ = (*n_p0)._kind_6.sons.len;
	result = T1_;
	return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
	NIM_BOOL* result;
	result = (&nimInErrorMode__system_u4143);
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, sameTree__guards_u545)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_FALSE;
	{
		if (!(a_p0 == b_p1)) goto LA3_;
		result = NIM_TRUE;
	}
	goto LA1_;
LA3_: ;
	{
		NIM_BOOL T6_;
		NIM_BOOL T7_;
		T6_ = (NIM_BOOL)0;
		T7_ = (NIM_BOOL)0;
		T7_ = !((a_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
		if (!(T7_)) goto LA8_;
		T7_ = !((b_p1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA8_: ;
		T6_ = T7_;
		if (!(T6_)) goto LA9_;
		T6_ = ((*a_p0).kind == (*b_p1).kind);
LA9_: ;
		if (!T6_) goto LA10_;
		switch ((*a_p0).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3):
		{
			result = ((*a_p0)._kind_4.sym == (*b_p1)._kind_4.sym);
			{
				NIM_BOOL T15_;
				NIM_BOOL T19_;
				T15_ = (NIM_BOOL)0;
				T15_ = !(result);
				if (!(T15_)) goto LA16_;
				T15_ = !(((*(*a_p0)._kind_4.sym).magic == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0)));
LA16_: ;
				if (!T15_) goto LA17_;
				T19_ = (NIM_BOOL)0;
				T19_ = ((*(*a_p0)._kind_4.sym).magic == (*(*b_p1)._kind_4.sym).magic);
				if (T19_) goto LA20_;
				T19_ = sameOpr__guards_u505((*a_p0)._kind_4.sym, (*b_p1)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA20_: ;
				result = T19_;
			}
LA17_: ;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)2):
		{
			result = ((*(*a_p0)._kind_5.ident).id == (*(*b_p1)._kind_5.ident).id);
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15):
		{
			result = ((*a_p0)._kind_1.intVal == (*b_p1)._kind_1.intVal);
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18):
		{
			result = ((*a_p0)._kind_2.floatVal == (*b_p1)._kind_2.floatVal);
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22):
		{
			result = eqStrings((*a_p0)._kind_3.strVal, (*b_p1)._kind_3.strVal);
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)4):
		{
			result = ((*a_p0).typField == (*b_p1).typField);
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1):
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
		{
			result = NIM_TRUE;
		}
		break;
		default:
		{
			{
				NI T30_;
				NI T31_;
				T30_ = (NI)0;
				T30_ = len__ast_u3190(a_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T31_ = (NI)0;
				T31_ = len__ast_u3190(b_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T30_ == T31_)) goto LA32_;
				{
					NI i_1;
					NI colontmp_;
					NI i_2;
					i_1 = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = len__ast_u3190(a_p0);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					i_2 = ((NI)0);
					{
						while (1) {
							if (!(i_2 < colontmp_)) goto LA36;
							i_1 = i_2;
							{
								NIM_BOOL T39_;
								T39_ = (NIM_BOOL)0;
								T39_ = sameTree__guards_u545((*a_p0)._kind_6.sons.p->data[i_1], (*b_p1)._kind_6.sons.p->data[i_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								if (!!(T39_)) goto LA40_;
								goto BeforeRet_;
							}
LA40_: ;
							i_2 += ((NI)1);
						} LA36: ;
					}
				}
				result = NIM_TRUE;
			}
LA32_: ;
		}
		break;
		}
	}
	goto LA1_;
LA10_: ;
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, hasSubTree__guards_u586)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameTree__guards_u545(n_p0, x_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		result = NIM_TRUE;
	}
	goto LA1_;
LA4_: ;
	{
		switch ((*n_p0).kind) {
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)1) ... ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23):
		{
			result = sameTree__guards_u545(n_p0, x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		break;
		case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)76):
		{
			result = NIM_FALSE;
		}
		break;
		default:
		{
			result = NIM_FALSE;
			{
				NI i_1;
				NI colontmp_;
				NI i_2;
				i_1 = (NI)0;
				colontmp_ = (NI)0;
				colontmp_ = len__ast_u3190(n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 = ((NI)0);
				{
					while (1) {
						if (!(i_2 < colontmp_)) goto LA12;
						i_1 = i_2;
						{
							NIM_BOOL T15_;
							T15_ = (NIM_BOOL)0;
							T15_ = hasSubTree__guards_u586((*n_p0)._kind_6.sons.p->data[i_1], x_p1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							if (!T15_) goto LA16_;
							result = NIM_TRUE;
							goto BeforeRet_;
						}
LA16_: ;
						i_2 += ((NI)1);
					} LA12: ;
				}
			}
		}
		break;
		}
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, invalidateFacts__guards_u595)(tySequence__9ahcSjIErJohSBBFLwuF56Q* s_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = ((*s_p0).len-1);
		colontmp_ = T2_;
		res_1 = ((NI)0);
		{
			while (1) {
				if (!(res_1 <= colontmp_)) goto LA4;
				i_1 = ((NI) (res_1));
				{
					NIM_BOOL T7_;
					T7_ = (NIM_BOOL)0;
					T7_ = !(((*s_p0).p->data[i_1] == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
					if (!(T7_)) goto LA8_;
					T7_ = hasSubTree__guards_u586((*s_p0).p->data[i_1], n_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA8_: ;
					if (!T7_) goto LA9_;
					eqsink___ast_u3261(&(*s_p0).p->data[i_1], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				}
LA9_: ;
				res_1 += ((NI)1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, invalidateFacts__guards_u610)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	invalidateFacts__guards_u595((&(*m_p0).s), n_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, tilde___guards_u761)(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw x_p0) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T1_;
	T1_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	switch (x_p0) {
	case ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0):
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	case ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1):
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
	}
	break;
	case ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2):
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
	}
	break;
	default: __builtin_unreachable();
	}
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, valueIsNil__guards_u709)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T1_;
	T1_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	{
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA4_;
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
	}
	goto LA2_;
LA4_: ;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)20) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)22) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)41) || (*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)38))) goto LA7_;
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
	}
	goto LA2_;
LA7_: ;
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
LA2_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesIsNil__guards_u720)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* eq_p1) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	switch ((*(*(*fact_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)142):
	{
		{
			NIM_BOOL T4_;
			T4_ = (NIM_BOOL)0;
			T4_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], (*eq_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T4_) goto LA5_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
		}
		goto LA2_;
LA5_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA2_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)70):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)73):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)78):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)81):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)84):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)91) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)92):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)113):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)116):
	{
		{
			NIM_BOOL T11_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			T11_ = (NIM_BOOL)0;
			T11_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], (*eq_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T11_) goto LA12_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = skipConv__types_u3715((*fact_p0)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = valueIsNil__guards_u709(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA9_;
LA12_: ;
		{
			NIM_BOOL T15_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			T15_ = (NIM_BOOL)0;
			T15_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], (*eq_p1)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T15_) goto LA16_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = skipConv__types_u3715((*fact_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			result = valueIsNil__guards_u709(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA9_;
LA16_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA9_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	default:
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimSetMem__system_u2172)(void* a_p0, int v_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memset(a_p0, v_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, nimZeroMem)(void* p_p0, NI size_p1) {
	nimSetMem__system_u2172(p_p0, ((int)0), size_p1);
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isValue__guards_u47)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	result = ((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23));
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLocation__guards_u54)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	T1_ = (NIM_BOOL)0;
	T1_ = isValue__guards_u47(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = !(T1_);
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, valuesUnequal__guards_u613)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	{
		NIM_BOOL T3_;
		NIM_BOOL T7_;
		T3_ = (NIM_BOOL)0;
		T3_ = isValue__guards_u47(a_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!(T3_)) goto LA4_;
		T3_ = isValue__guards_u47(b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA4_: ;
		if (!T3_) goto LA5_;
		T7_ = (NIM_BOOL)0;
		T7_ = sameValue__astalgo_u63(a_p0, b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = !(T7_);
	}
	goto LA1_;
LA5_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesEq__guards_u617)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* eq_p1) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ colontmpD_;
	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ colontmpD__2;
	tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ tmpTuple_1;
	NI loc_1;
	NI val_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	nimZeroMem((void*)(&colontmpD_), sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ));
	nimZeroMem((void*)(&colontmpD__2), sizeof(tyTuple__1v9bKyksXWMsm0vNwmZ4EuQ));
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isLocation__guards_u54((*eq_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		colontmpD_ = TM__6PEpSVg5zYQiUPcMieikwQ_3;
		tmpTuple_1 = colontmpD_;
	}
	goto LA1_;
LA4_: ;
	{
		colontmpD__2 = TM__6PEpSVg5zYQiUPcMieikwQ_4;
		tmpTuple_1 = colontmpD__2;
	}
LA1_: ;
	loc_1 = tmpTuple_1.Field0;
	val_1 = tmpTuple_1.Field1;
	switch ((*(*(*fact_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)70):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)73):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)78):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)81):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)84):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)91) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)92):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)113):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)116):
	{
		{
			NIM_BOOL T10_;
			T10_ = (NIM_BOOL)0;
			T10_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], (*eq_p1)._kind_6.sons.p->data[loc_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T10_) goto LA11_;
			{
				NIM_BOOL T15_;
				T15_ = (NIM_BOOL)0;
				T15_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], (*eq_p1)._kind_6.sons.p->data[val_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T15_) goto LA16_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			}
			goto LA13_;
LA16_: ;
			{
				NIM_BOOL T19_;
				T19_ = (NIM_BOOL)0;
				T19_ = valuesUnequal__guards_u613((*fact_p0)._kind_6.sons.p->data[((NI)2)], (*eq_p1)._kind_6.sons.p->data[val_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T19_) goto LA20_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
			}
			goto LA13_;
LA20_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA13_: ;
		}
		goto LA8_;
LA11_: ;
		{
			NIM_BOOL T24_;
			T24_ = (NIM_BOOL)0;
			T24_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], (*eq_p1)._kind_6.sons.p->data[loc_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T24_) goto LA25_;
			{
				NIM_BOOL T29_;
				T29_ = (NIM_BOOL)0;
				T29_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], (*eq_p1)._kind_6.sons.p->data[val_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T29_) goto LA30_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			}
			goto LA27_;
LA30_: ;
			{
				NIM_BOOL T33_;
				T33_ = (NIM_BOOL)0;
				T33_ = valuesUnequal__guards_u613((*fact_p0)._kind_6.sons.p->data[((NI)1)], (*eq_p1)._kind_6.sons.p->data[val_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T33_) goto LA34_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
			}
			goto LA27_;
LA34_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA27_: ;
		}
		goto LA8_;
LA25_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA8_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)132):
	{
		{
			NIM_BOOL T41_;
			T41_ = (NIM_BOOL)0;
			T41_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], (*eq_p1)._kind_6.sons.p->data[loc_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T41_)) goto LA42_;
			T41_ = isValue__guards_u47((*eq_p1)._kind_6.sons.p->data[val_1]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA42_: ;
			if (!T41_) goto LA43_;
			{
				NIM_BOOL T47_;
				T47_ = (NIM_BOOL)0;
				T47_ = inSet__nimsets_u8((*fact_p0)._kind_6.sons.p->data[((NI)1)], (*eq_p1)._kind_6.sons.p->data[val_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T47_) goto LA48_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			}
			goto LA45_;
LA48_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
			}
LA45_: ;
		}
		goto LA39_;
LA43_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA39_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	default:
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, pred__guards_u268)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
		if (!(T3_)) goto LA4_;
		T3_ = !(((*n_p0)._kind_1.intVal == (IL64(-9223372036854775807) - IL64(1))));
LA4_: ;
		if (!T3_) goto LA5_;
		result = copyNode__ast_u6736(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result)._kind_1.intVal -= ((NI)1);
	}
	goto LA1_;
LA5_: ;
	{
		eqcopy___ast_u3255(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesGe__guards_u727)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
NIM_BOOL oldNimErrFin67_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	switch ((*(*(*fact_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)70):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)73):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)78):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)81):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)84):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)91) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)92):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)113):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)116):
	{
		{
			NIM_BOOL T4_;
			T4_ = (NIM_BOOL)0;
			T4_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T4_) goto LA5_;
			{
				NIM_BOOL T9_;
				T9_ = (NIM_BOOL)0;
				T9_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T9_)) goto LA10_;
				T9_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA10_: ;
				if (!T9_) goto LA11_;
				{
					NIM_BOOL T15_;
					T15_ = (NIM_BOOL)0;
					T15_ = leValue__astalgo_u79(c_p2, (*fact_p0)._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T15_) goto LA16_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				}
				goto LA13_;
LA16_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
				}
LA13_: ;
			}
			goto LA7_;
LA11_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA7_: ;
		}
		goto LA2_;
LA5_: ;
		{
			NIM_BOOL T21_;
			T21_ = (NIM_BOOL)0;
			T21_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T21_) goto LA22_;
			{
				NIM_BOOL T26_;
				T26_ = (NIM_BOOL)0;
				T26_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T26_)) goto LA27_;
				T26_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA27_: ;
				if (!T26_) goto LA28_;
				{
					NIM_BOOL T32_;
					T32_ = (NIM_BOOL)0;
					T32_ = leValue__astalgo_u79(c_p2, (*fact_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T32_) goto LA33_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				}
				goto LA30_;
LA33_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
				}
LA30_: ;
			}
			goto LA24_;
LA28_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA24_: ;
		}
		goto LA2_;
LA22_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA2_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)72):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)75):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)77):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)80):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)83):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)86):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)89):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)115):
	{
		{
			NIM_BOOL T41_;
			T41_ = (NIM_BOOL)0;
			T41_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T41_) goto LA42_;
			{
				NIM_BOOL T46_;
				T46_ = (NIM_BOOL)0;
				T46_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T46_)) goto LA47_;
				T46_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA47_: ;
				if (!T46_) goto LA48_;
				{
					NIM_BOOL T52_;
					T52_ = (NIM_BOOL)0;
					T52_ = leValue__astalgo_u79((*fact_p0)._kind_6.sons.p->data[((NI)2)], c_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T52_) goto LA53_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
				}
				goto LA50_;
LA53_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
				}
LA50_: ;
			}
			goto LA44_;
LA48_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA44_: ;
		}
		goto LA39_;
LA42_: ;
		{
			NIM_BOOL T58_;
			T58_ = (NIM_BOOL)0;
			T58_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T58_) goto LA59_;
			{
				NIM_BOOL T63_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				T63_ = (NIM_BOOL)0;
				T63_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T63_)) goto LA64_;
				T63_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA64_: ;
				if (!T63_) goto LA65_;
				colontmpD_ = NIM_NIL;
				{
					NIM_BOOL T70_;
					colontmpD_ = pred__guards_u268(c_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
					T70_ = (NIM_BOOL)0;
					T70_ = leValue__astalgo_u79(colontmpD_, (*fact_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA67_;
					if (!T70_) goto LA71_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				}
				goto LA68_;
LA71_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
				}
LA68_: ;
				{
					LA67_:;
				}
				{
					oldNimErrFin67_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin67_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA61_;
LA65_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA61_: ;
		}
		goto LA39_;
LA59_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA39_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)71):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)74):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)76):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)79):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)82):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)85):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)88):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)114):
	{
		{
			NIM_BOOL T81_;
			T81_ = (NIM_BOOL)0;
			T81_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T81_) goto LA82_;
			{
				NIM_BOOL T86_;
				T86_ = (NIM_BOOL)0;
				T86_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T86_)) goto LA87_;
				T86_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA87_: ;
				if (!T86_) goto LA88_;
				{
					NIM_BOOL T92_;
					T92_ = (NIM_BOOL)0;
					T92_ = leValue__astalgo_u79((*fact_p0)._kind_6.sons.p->data[((NI)2)], c_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T92_) goto LA93_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
				}
				goto LA90_;
LA93_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
				}
LA90_: ;
			}
			goto LA84_;
LA88_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA84_: ;
		}
		goto LA79_;
LA82_: ;
		{
			NIM_BOOL T98_;
			T98_ = (NIM_BOOL)0;
			T98_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T98_) goto LA99_;
			{
				NIM_BOOL T103_;
				T103_ = (NIM_BOOL)0;
				T103_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T103_)) goto LA104_;
				T103_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA104_: ;
				if (!T103_) goto LA105_;
				{
					NIM_BOOL T109_;
					T109_ = (NIM_BOOL)0;
					T109_ = leValue__astalgo_u79(c_p2, (*fact_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T109_) goto LA110_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				}
				goto LA107_;
LA110_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
				}
LA107_: ;
			}
			goto LA101_;
LA105_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA101_: ;
		}
		goto LA79_;
LA99_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA79_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	default:
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesLe__guards_u738)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
NIM_BOOL oldNimErrFin66_;
NIM_BOOL oldNimErrFin123_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = isLocation__guards_u54(x_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!!(T3_)) goto LA4_;
		{
			NIM_BOOL T8_;
			T8_ = (NIM_BOOL)0;
			T8_ = isValue__guards_u47(c_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T8_) goto LA9_;
			{
				NIM_BOOL T13_;
				T13_ = (NIM_BOOL)0;
				T13_ = leValue__astalgo_u79(x_p1, x_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T13_) goto LA14_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				goto BeforeRet_;
			}
			goto LA11_;
LA14_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
				goto BeforeRet_;
			}
LA11_: ;
		}
LA9_: ;
		result = impliesGe__guards_u727(fact_p0, c_p2, x_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA4_: ;
	switch ((*(*(*fact_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)70):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)73):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)78):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)81):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)84):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)91) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)92):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)113):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)116):
	{
		{
			NIM_BOOL T20_;
			T20_ = (NIM_BOOL)0;
			T20_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T20_) goto LA21_;
			{
				NIM_BOOL T25_;
				T25_ = (NIM_BOOL)0;
				T25_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T25_)) goto LA26_;
				T25_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA26_: ;
				if (!T25_) goto LA27_;
				{
					NIM_BOOL T31_;
					T31_ = (NIM_BOOL)0;
					T31_ = leValue__astalgo_u79((*fact_p0)._kind_6.sons.p->data[((NI)2)], c_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T31_) goto LA32_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				}
				goto LA29_;
LA32_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
				}
LA29_: ;
			}
			goto LA23_;
LA27_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA23_: ;
		}
		goto LA18_;
LA21_: ;
		{
			NIM_BOOL T37_;
			T37_ = (NIM_BOOL)0;
			T37_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T37_) goto LA38_;
			{
				NIM_BOOL T42_;
				T42_ = (NIM_BOOL)0;
				T42_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T42_)) goto LA43_;
				T42_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA43_: ;
				if (!T42_) goto LA44_;
				{
					NIM_BOOL T48_;
					T48_ = (NIM_BOOL)0;
					T48_ = leValue__astalgo_u79((*fact_p0)._kind_6.sons.p->data[((NI)1)], c_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T48_) goto LA49_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				}
				goto LA46_;
LA49_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
				}
LA46_: ;
			}
			goto LA40_;
LA44_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA40_: ;
		}
		goto LA18_;
LA38_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA18_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)72):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)75):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)77):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)80):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)83):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)86):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)89):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)115):
	{
		{
			NIM_BOOL T57_;
			T57_ = (NIM_BOOL)0;
			T57_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T57_) goto LA58_;
			{
				NIM_BOOL T62_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				T62_ = (NIM_BOOL)0;
				T62_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T62_)) goto LA63_;
				T62_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA63_: ;
				if (!T62_) goto LA64_;
				colontmpD_ = NIM_NIL;
				{
					NIM_BOOL T69_;
					colontmpD_ = pred__guards_u268(c_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
					T69_ = (NIM_BOOL)0;
					T69_ = leValue__astalgo_u79((*fact_p0)._kind_6.sons.p->data[((NI)2)], colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA66_;
					if (!T69_) goto LA70_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				}
				goto LA67_;
LA70_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
				}
LA67_: ;
				{
					LA66_:;
				}
				{
					oldNimErrFin66_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin66_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA60_;
LA64_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA60_: ;
		}
		goto LA55_;
LA58_: ;
		{
			NIM_BOOL T77_;
			T77_ = (NIM_BOOL)0;
			T77_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T77_) goto LA78_;
			{
				NIM_BOOL T82_;
				T82_ = (NIM_BOOL)0;
				T82_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T82_)) goto LA83_;
				T82_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA83_: ;
				if (!T82_) goto LA84_;
				{
					NIM_BOOL T88_;
					T88_ = (NIM_BOOL)0;
					T88_ = leValue__astalgo_u79(c_p2, (*fact_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T88_) goto LA89_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
				}
				goto LA86_;
LA89_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
				}
LA86_: ;
			}
			goto LA80_;
LA84_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA80_: ;
		}
		goto LA55_;
LA78_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA55_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)71):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)74):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)76):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)79):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)82):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)85):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)88):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)114):
	{
		{
			NIM_BOOL T97_;
			T97_ = (NIM_BOOL)0;
			T97_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T97_) goto LA98_;
			{
				NIM_BOOL T102_;
				T102_ = (NIM_BOOL)0;
				T102_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T102_)) goto LA103_;
				T102_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA103_: ;
				if (!T102_) goto LA104_;
				{
					NIM_BOOL T108_;
					T108_ = (NIM_BOOL)0;
					T108_ = leValue__astalgo_u79((*fact_p0)._kind_6.sons.p->data[((NI)2)], c_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					if (!T108_) goto LA109_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				}
				goto LA106_;
LA109_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
				}
LA106_: ;
			}
			goto LA100_;
LA104_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA100_: ;
		}
		goto LA95_;
LA98_: ;
		{
			NIM_BOOL T114_;
			T114_ = (NIM_BOOL)0;
			T114_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], x_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T114_) goto LA115_;
			{
				NIM_BOOL T119_;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
				T119_ = (NIM_BOOL)0;
				T119_ = isValue__guards_u47((*fact_p0)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!(T119_)) goto LA120_;
				T119_ = isValue__guards_u47(c_p2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA120_: ;
				if (!T119_) goto LA121_;
				colontmpD__2 = NIM_NIL;
				{
					NIM_BOOL T126_;
					colontmpD__2 = pred__guards_u268((*fact_p0)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
					T126_ = (NIM_BOOL)0;
					T126_ = leValue__astalgo_u79(c_p2, colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA123_;
					if (!T126_) goto LA127_;
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
				}
				goto LA124_;
LA127_: ;
				{
					result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
				}
LA124_: ;
				{
					LA123_:;
				}
				{
					oldNimErrFin123_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__2);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin123_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA117_;
LA121_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA117_: ;
		}
		goto LA95_;
LA115_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA95_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	default:
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesLt__guards_u746)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	p_1 = NIM_NIL;
	p_1 = pred__guards_u268(c_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((p_1 == c_p2))) goto LA4_;
		result = impliesLe__guards_u738(fact_p0, x_p1, p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA4_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* q_1;
		q_1 = NIM_NIL;
		q_1 = pred__guards_u268(x_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		{
			if (!!((q_1 == x_p1))) goto LA10_;
			result = impliesLe__guards_u738(fact_p0, q_1, c_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA8_;
LA10_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA8_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(q_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(p_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, compareSets__guards_u697)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	colontmpD_ = NIM_NIL;
	{
		NIM_BOOL T4_;
		T4_ = (NIM_BOOL)0;
		T4_ = equalSets__nimsets_u166(((tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*) NIM_NIL), a_p0, b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T4_) goto LA5_;
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
	}
	goto LA2_;
LA5_: ;
	{
		NI T8_;
		colontmpD_ = intersectSets__nimsets_u145(((tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*) NIM_NIL), a_p0, b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T8_ = (NI)0;
		T8_ = len__ast_u3190(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T8_ == ((NI)0))) goto LA9_;
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
	}
	goto LA2_;
LA9_: ;
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
LA2_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, leImpliesIn__guards_u627)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aSet_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_1;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T6_;
		if (!((*c_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*c_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA3_;
		value_1 = NIM_NIL;
		T6_ = firstOrd__types_u1182(((tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*) NIM_NIL), (*x_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		value_1 = newIntNode__ast_u5204((*c_p1).kind, T6_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			NI i_1;
			NI pos_1;
			NI neg_1;
			if (!((NI64)((*c_p1)._kind_1.intVal - (*value_1)._kind_1.intVal) < IL64(1000))) goto LA9_;
			i_1 = ((NI)0);
			pos_1 = ((NI)0);
			neg_1 = ((NI)0);
			{
				while (1) {
					if (!((*value_1)._kind_1.intVal <= (*c_p1)._kind_1.intVal)) goto LA12;
					{
						NIM_BOOL T15_;
						T15_ = (NIM_BOOL)0;
						T15_ = inSet__nimsets_u8(aSet_p2, value_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						if (!T15_) goto LA16_;
						pos_1 += ((NI)1);
					}
					goto LA13_;
LA16_: ;
					{
						neg_1 += ((NI)1);
					}
LA13_: ;
					i_1 += ((NI)1);
					(*value_1)._kind_1.intVal += ((NI)1);
				} LA12: ;
			}
			{
				if (!(pos_1 == i_1)) goto LA21_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			}
			goto LA19_;
LA21_: ;
			{
				if (!(neg_1 == i_1)) goto LA24_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
			}
			goto LA19_;
LA24_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA19_: ;
		}
		goto LA7_;
LA9_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA7_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(value_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, geImpliesIn__guards_u660)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aSet_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_1;
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg max_1;
		if (!((*c_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*c_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA3_;
		value_1 = NIM_NIL;
		value_1 = newIntNode__ast_u5200((*c_p1).kind, (*c_p1)._kind_1.intVal);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		max_1 = lastOrd__types_u1298(((tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*) NIM_NIL), (*x_p0).typField);
		if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
		{
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T8_;
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T9_;
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T10_;
			NIM_BOOL T11_;
			NI i_1;
			NI pos_1;
			NI neg_1;
			T8_ = getInt__ast_u7046(value_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			T9_ = minus___int128_u641(max_1, T8_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			T10_ = toInt128__types_u1207(((NI)1000));
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			T11_ = (NIM_BOOL)0;
			T11_ = lt___int128_u404(T9_, T10_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
			if (!T11_) goto LA12_;
			i_1 = ((NI)0);
			pos_1 = ((NI)0);
			neg_1 = ((NI)0);
			{
				while (1) {
					NIM_BOOL T16_;
					T16_ = (NIM_BOOL)0;
					T16_ = lteq___int128_u973((*value_1)._kind_1.intVal, max_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					if (!T16_) goto LA15;
					{
						NIM_BOOL T19_;
						T19_ = (NIM_BOOL)0;
						T19_ = inSet__nimsets_u8(aSet_p2, value_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						if (!T19_) goto LA20_;
						pos_1 += ((NI)1);
					}
					goto LA17_;
LA20_: ;
					{
						neg_1 += ((NI)1);
					}
LA17_: ;
					i_1 += ((NI)1);
					(*value_1)._kind_1.intVal += ((NI)1);
				} LA15: ;
			}
			{
				if (!(pos_1 == i_1)) goto LA25_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			}
			goto LA23_;
LA25_: ;
			{
				if (!(neg_1 == i_1)) goto LA28_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
			}
			goto LA23_;
LA28_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			}
LA23_: ;
		}
		goto LA6_;
LA12_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA6_: ;
		{
			LA5_:;
		}
		{
			oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(value_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin5_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesIn__guards_u701)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* loc_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aSet_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
NIM_BOOL oldNimErrFin48_;
NIM_BOOL oldNimErrFin55_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	switch ((*(*(*fact_p0)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)70):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)73):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)78):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)81):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)84):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)91) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)92):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)113):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)116):
	{
		{
			NIM_BOOL T4_;
			T4_ = (NIM_BOOL)0;
			T4_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], loc_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T4_) goto LA5_;
			{
				NIM_BOOL T9_;
				T9_ = (NIM_BOOL)0;
				T9_ = inSet__nimsets_u8(aSet_p2, (*fact_p0)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T9_) goto LA10_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			}
			goto LA7_;
LA10_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
			}
LA7_: ;
		}
		goto LA2_;
LA5_: ;
		{
			NIM_BOOL T14_;
			T14_ = (NIM_BOOL)0;
			T14_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], loc_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T14_) goto LA15_;
			{
				NIM_BOOL T19_;
				T19_ = (NIM_BOOL)0;
				T19_ = inSet__nimsets_u8(aSet_p2, (*fact_p0)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (!T19_) goto LA20_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			}
			goto LA17_;
LA20_: ;
			{
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
			}
LA17_: ;
		}
		goto LA2_;
LA15_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA2_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)132):
	{
		{
			NIM_BOOL T27_;
			T27_ = (NIM_BOOL)0;
			T27_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], loc_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T27_) goto LA28_;
			result = compareSets__guards_u697((*fact_p0)._kind_6.sons.p->data[((NI)1)], aSet_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA25_;
LA28_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA25_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)71):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)74):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)76):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)79):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)82):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)85):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)88):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)114):
	{
		{
			NIM_BOOL T34_;
			T34_ = (NIM_BOOL)0;
			T34_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], loc_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T34_) goto LA35_;
			result = leImpliesIn__guards_u627((*fact_p0)._kind_6.sons.p->data[((NI)1)], (*fact_p0)._kind_6.sons.p->data[((NI)2)], aSet_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA32_;
LA35_: ;
		{
			NIM_BOOL T38_;
			T38_ = (NIM_BOOL)0;
			T38_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], loc_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T38_) goto LA39_;
			result = geImpliesIn__guards_u660((*fact_p0)._kind_6.sons.p->data[((NI)2)], (*fact_p0)._kind_6.sons.p->data[((NI)1)], aSet_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA32_;
LA39_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA32_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)72):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)75):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)77):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)80):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)83):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)86):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)89):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)115):
	{
		{
			NIM_BOOL T45_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			T45_ = (NIM_BOOL)0;
			T45_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)1)], loc_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T45_) goto LA46_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = pred__guards_u268((*fact_p0)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			result = leImpliesIn__guards_u627((*fact_p0)._kind_6.sons.p->data[((NI)1)], colontmpD_, aSet_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA48_;
			{
				LA48_:;
			}
			{
				oldNimErrFin48_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin48_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA43_;
LA46_: ;
		{
			NIM_BOOL T52_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			T52_ = (NIM_BOOL)0;
			T52_ = sameTree__guards_u545((*fact_p0)._kind_6.sons.p->data[((NI)2)], loc_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T52_) goto LA53_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = pred__guards_u268((*fact_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
			result = geImpliesIn__guards_u660((*fact_p0)._kind_6.sons.p->data[((NI)2)], colontmpD__2, aSet_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA55_;
			{
				LA55_:;
			}
			{
				oldNimErrFin55_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin55_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA43_;
LA53_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
		}
LA43_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	default:
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, factImplies__guards_u764)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* prop_p1) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T1_;
NIM_BOOL oldNimErrFin3_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	T1_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
	T1_ = getMagic__trees_u122(fact_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch (T1_) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_1;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T4_;
		arg_1 = NIM_NIL;
		eqcopy___ast_u3255(&arg_1, (*fact_p0)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		T4_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T4_ = getMagic__trees_u122(arg_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
		switch (T4_) {
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)142):
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
		{
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T6_;
			T6_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T6_ = factImplies__guards_u764(arg_1, prop_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			result = tilde___guards_u761(T6_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			eqdestroy___ast_u3252(arg_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		break;
		case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
		{
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw a_1;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw b_1;
			a_1 = factImplies__guards_u764((*arg_1)._kind_6.sons.p->data[((NI)1)], prop_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			b_1 = factImplies__guards_u764((*arg_1)._kind_6.sons.p->data[((NI)2)], prop_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
			{
				if (!(a_1 == b_1)) goto LA10_;
				result = tilde___guards_u761(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA3_;
				eqdestroy___ast_u3252(arg_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA10_: ;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			eqdestroy___ast_u3252(arg_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		break;
		default:
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
			eqdestroy___ast_u3252(arg_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		break;
		}
		{
			LA3_:;
		}
		{
			oldNimErrFin3_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(arg_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin3_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
	{
		result = factImplies__guards_u764((*fact_p0)._kind_6.sons.p->data[((NI)1)], prop_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			if (!!((result == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0)))) goto LA18_;
			goto BeforeRet_;
		}
LA18_: ;
		result = factImplies__guards_u764((*fact_p0)._kind_6.sons.p->data[((NI)2)], prop_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
	break;
	default:
	{
	}
	break;
	}
	switch ((*(*(*prop_p1)._kind_6.sons.p->data[((NI)0)])._kind_4.sym).magic) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96):
	{
		tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T22_;
		T22_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
		T22_ = factImplies__guards_u764(fact_p0, (*prop_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		result = tilde___guards_u761(T22_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)142):
	{
		result = impliesIsNil__guards_u720(fact_p0, prop_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)70):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)73):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)78):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)81):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)84):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)91) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)92):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)113):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)116):
	{
		result = impliesEq__guards_u617(fact_p0, prop_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)71):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)74):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)76):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)79):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)82):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)85):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)88):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)114):
	{
		result = impliesLe__guards_u738(fact_p0, (*prop_p1)._kind_6.sons.p->data[((NI)1)], (*prop_p1)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)72):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)75):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)77):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)80):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)83):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)86):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)89):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)115):
	{
		result = impliesLt__guards_u746(fact_p0, (*prop_p1)._kind_6.sons.p->data[((NI)1)], (*prop_p1)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)132):
	{
		result = impliesIn__guards_u701(fact_p0, (*prop_p1)._kind_6.sons.p->data[((NI)2)], (*prop_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, doesImply__guards_u780)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw facts_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* prop_p1) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** f_1;
		NI i_1;
		NI L_1;
		NI T2_;
		f_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		i_1 = ((NI)0);
		T2_ = facts_p0.s.len;
		L_1 = T2_;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA4;
				f_1 = &facts_p0.s.p->data[i_1];
				{
					if (!!(((*f_1) == 0))) goto LA7_;
					result = factImplies__guards_u764((*f_1), prop_p1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					{
						if (!!((result == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0)))) goto LA11_;
						goto BeforeRet_;
					}
LA11_: ;
				}
LA7_: ;
				i_1 += ((NI)1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, swapArgs__guards_u117)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_p0, tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* newOp_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*fact_p0).info, ((NI)3));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = newSymNode__ast_u5168(newOp_p1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)1)], (*fact_p0)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)2)], (*fact_p0)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, safeLen__ast_u3197)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NI result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NI)0;
	{
		if (!((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)0) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23))) goto LA3_;
		result = ((NI)0);
	}
	goto LA1_;
LA3_: ;
	{
		result = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, neg__guards_u121)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T5_;
NIM_BOOL oldNimErrFin25_;
NIM_BOOL oldNimErrFin21_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL oldNimErrFin10_;
NIM_BOOL oldNimErrFin41_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!(n_p0 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL))) goto LA3_;
		result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		goto BeforeRet_;
	}
LA3_: ;
	T5_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
	T5_ = getMagic__trees_u122(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch (T5_) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96):
	{
		eqcopy___ast_u3255(&result, (*n_p0)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)72):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)75):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)77):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)80):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)83):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)86):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)89):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)115):
	{
		result = swapArgs__guards_u117(n_p0, (*o_p1).opLe);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)71):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)74):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)76):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)79):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)82):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)85):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)88):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)114):
	{
		result = swapArgs__guards_u117(n_p0, (*o_p1).opLt);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)132):
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* t_1;
		t_1 = NIM_NIL;
		{
			if (!!(((*(*n_p0)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39)))) goto LA13_;
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA13_: ;
		t_1 = skipTypes__ast_u5379((*(*n_p0)._kind_6.sons.p->data[((NI)2)]).typField, TM__6PEpSVg5zYQiUPcMieikwQ_5);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p0).info, ((NI)3));
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)0)], (*n_p0)._kind_6.sons.p->data[((NI)0)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)2)], (*n_p0)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_1;
			if (!((*t_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)14))) goto LA17_;
			s_1 = NIM_NIL;
			s_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39), (*n_p0).info, (*(*n_p0)._kind_6.sons.p->data[((NI)1)]).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* e_1;
				e_1 = NIM_NIL;
				{
					NI i_1;
					NI colontmp_;
					NI i_2;
					i_1 = (NI)0;
					colontmp_ = (NI)0;
					colontmp_ = safeLen__ast_u3197((*t_1).n);
					if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
					i_2 = ((NI)0);
					{
						while (1) {
							tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* eAsNode_1;
							if (!(i_2 < colontmp_)) goto LA24;
							eAsNode_1 = NIM_NIL;
							i_1 = i_2;
							eqcopy___ast_u3255(&e_1, (*(*t_1).n)._kind_6.sons.p->data[i_1]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
							eAsNode_1 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), ((NI64) ((*(*e_1)._kind_4.sym).position)));
							if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
							{
								NIM_BOOL T28_;
								T28_ = (NIM_BOOL)0;
								T28_ = inSet__nimsets_u8((*n_p0)._kind_6.sons.p->data[((NI)1)], eAsNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
								if (!!(T28_)) goto LA29_;
								add__ast_u3215(s_1, eAsNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA25_;
							}
LA29_: ;
							i_2 += ((NI)1);
							{
								LA25_:;
							}
							{
								oldNimErrFin25_ = *nimErr_; *nimErr_ = NIM_FALSE;
								eqdestroy___ast_u3252(eAsNode_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
								*nimErr_ = oldNimErrFin25_;
							}
							if (NIM_UNLIKELY(*nimErr_)) goto LA21_;
						} LA24: ;
					}
				}
				{
					LA21_:;
				}
				{
					oldNimErrFin21_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(e_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
					*nimErr_ = oldNimErrFin21_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			eqwasMoved___ast_u3249(&s_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
			{
				LA19_:;
			}
			{
				oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(s_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
				*nimErr_ = oldNimErrFin19_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
		goto LA15_;
LA17_: ;
		{
			eqsink___ast_u3261(&result, ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
			if (NIM_UNLIKELY(*nimErr_)) goto LA10_;
		}
LA15_: ;
		{
			LA10_:;
		}
		{
			oldNimErrFin10_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3378(t_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin10_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
		a_1 = NIM_NIL;
		b_1 = NIM_NIL;
		a_1 = neg__guards_u121((*n_p0)._kind_6.sons.p->data[((NI)1)], o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		b_1 = neg__guards_u121((*n_p0)._kind_6.sons.p->data[((NI)2)], o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		{
			NIM_BOOL T44_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T48_;
			T44_ = (NIM_BOOL)0;
			T44_ = !((a_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
			if (!(T44_)) goto LA45_;
			T44_ = !((b_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA45_: ;
			if (!T44_) goto LA46_;
			result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p0).info, ((NI)3));
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			T48_ = NIM_NIL;
			T48_ = newSymNode__ast_u5168((*o_p1).opAnd);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T48_); goto LA41_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T48_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			eqwasMoved___ast_u3249(&a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)2)], b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
			eqwasMoved___ast_u3249(&b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		}
		goto LA42_;
LA46_: ;
		{
			if (!!((a_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA50_;
			result = a_1;
			eqwasMoved___ast_u3249(&a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		}
		goto LA42_;
LA50_: ;
		{
			if (!!((b_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA53_;
			result = b_1;
			eqwasMoved___ast_u3249(&b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA41_;
		}
		goto LA42_;
LA53_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA42_: ;
		{
			LA41_:;
		}
		{
			oldNimErrFin41_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin41_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T59_;
		result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p0).info, ((NI)2));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		T59_ = NIM_NIL;
		T59_ = newSymNode__ast_u5168((*o_p1).opNot);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T59_); goto BeforeRet_;}
		eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T59_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)1)], n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildCall__guards_u159)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*a_p1).info, ((NI)2));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = newSymNode__ast_u5168(op_p0);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)1)], a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, impliesNotNil__guards_u802)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* arg_p1) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	colontmpD_ = buildCall__guards_u159((*m_p0.g).operators.opIsNil, arg_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	colontmpD__2 = neg__guards_u121(colontmpD_, (&(*m_p0.g).operators));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = doesImply__guards_u780(m_p0, colontmpD__2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildCall__guards_u163)(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* op_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29), (*a_p1).info, ((NI)3));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = newSymNode__ast_u5168(op_p0);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)1)], a_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)2)], b_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, minusOne__guards_u228)(void) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(-1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, negate__guards_u200)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* res_p2, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p3) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL oldNimErrFin19_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_2;
		T3_ = (NIM_BOOL)0;
		T3_ = ((*b_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*b_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
		if (!(T3_)) goto LA4_;
		T3_ = !(((*b_p1)._kind_1.intVal == (IL64(-9223372036854775807) - IL64(1))));
LA4_: ;
		if (!T3_) goto LA5_;
		b_2 = NIM_NIL;
		b_2 = copyNode__ast_u6736(b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		(*b_2)._kind_1.intVal = -((*b_2)._kind_1.intVal);
		{
			NI64 T12_;
			if (!((*a_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*a_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA10_;
			T12_ = (NI64)0;
			T12_ = barplusbar___saturate_u1((*b_2)._kind_1.intVal, (*a_p0)._kind_1.intVal);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
			(*b_2)._kind_1.intVal = T12_;
			result = b_2;
			eqwasMoved___ast_u3249(&b_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
		goto LA8_;
LA10_: ;
		{
			result = buildCall__guards_u163((*o_p3).opAdd, a_p0, b_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		}
LA8_: ;
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(b_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA5_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_3;
		if (!((*b_p1).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)16) && (*b_p1).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)18))) goto LA17_;
		b_3 = NIM_NIL;
		b_3 = copyNode__ast_u6736(b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		(*b_3)._kind_2.floatVal = -((*b_3)._kind_2.floatVal);
		result = buildCall__guards_u163((*o_p3).opAdd, a_p0, b_3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		{
			LA19_:;
		}
		{
			oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(b_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin19_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA17_: ;
	{
		eqcopy___ast_u3255(&result, res_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, barplusbar___guards_u168)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = copyNode__ast_u6736(a_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI64 T5_;
		if (!((*a_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*a_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA3_;
		T5_ = (NI64)0;
		T5_ = barplusbar___saturate_u1((*a_p0)._kind_1.intVal, (*b_p1)._kind_1.intVal);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result)._kind_1.intVal = T5_;
	}
	goto LA1_;
LA3_: ;
	{
		(*result)._kind_2.floatVal = ((NF)((*a_p0)._kind_2.floatVal) + (NF)((*b_p1)._kind_2.floatVal));
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, barstarbar___guards_u184)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = copyNode__ast_u6736(a_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI64 T5_;
		if (!((*a_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*a_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA3_;
		T5_ = (NI64)0;
		T5_ = barstarbar___saturate_u52((*a_p0)._kind_1.intVal, (*b_p1)._kind_1.intVal);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result)._kind_1.intVal = T5_;
	}
	goto LA1_;
LA3_: ;
	{
		(*result)._kind_2.floatVal = ((NF)((*a_p0)._kind_2.floatVal) * (NF)((*b_p1)._kind_2.floatVal));
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, zero__guards_u224)(void) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(0));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, reassociation__guards_u256)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T1_;
NIM_BOOL oldNimErrFin12_;
NIM_BOOL oldNimErrFin30_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
	T1_ = getMagic__trees_u122(result);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch (T1_) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53):
	{
		{
			NIM_BOOL T5_;
			NIM_BOOL T6_;
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T8_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
			T5_ = (NIM_BOOL)0;
			T6_ = (NIM_BOOL)0;
			T6_ = isValue__guards_u47((*result)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T6_)) goto LA7_;
			T8_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T8_ = getMagic__trees_u122((*result)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T6_ = (T8_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || T8_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || T8_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51));
LA7_: ;
			T5_ = T6_;
			if (!(T5_)) goto LA9_;
			T5_ = isValue__guards_u47((*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA9_: ;
			if (!T5_) goto LA10_;
			colontmpD_ = NIM_NIL;
			colontmpD_ = barplusbar___guards_u168((*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)], (*result)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			T13_ = NIM_NIL;
			T13_ = buildCall__guards_u163((*o_p1).opAdd, (*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto LA12_;}
			eqsink___ast_u3261(&result, T13_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			{
				if (!((*(*result)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal == IL64(0))) goto LA16_;
				eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
			}
LA16_: ;
			{
				LA12_:;
			}
			{
				oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin12_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA10_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55):
	{
		{
			NIM_BOOL T23_;
			NIM_BOOL T24_;
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T26_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T31_;
			T23_ = (NIM_BOOL)0;
			T24_ = (NIM_BOOL)0;
			T24_ = isValue__guards_u47((*result)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!(T24_)) goto LA25_;
			T26_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T26_ = getMagic__trees_u122((*result)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T24_ = (T26_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48) || T26_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55));
LA25_: ;
			T23_ = T24_;
			if (!(T23_)) goto LA27_;
			T23_ = isValue__guards_u47((*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA27_: ;
			if (!T23_) goto LA28_;
			colontmpD__2 = NIM_NIL;
			colontmpD__2 = barstarbar___guards_u184((*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)], (*result)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			T31_ = NIM_NIL;
			T31_ = buildCall__guards_u163((*o_p1).opMul, (*(*result)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T31_); goto LA30_;}
			eqsink___ast_u3261(&result, T31_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			{
				if (!((*(*result)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal == IL64(1))) goto LA34_;
				eqcopy___ast_u3255(&result, (*result)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			}
			goto LA32_;
LA34_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T39_;
				if (!((*(*result)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal == IL64(0))) goto LA37_;
				T39_ = NIM_NIL;
				T39_ = zero__guards_u224();
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T39_); goto LA30_;}
				eqsink___ast_u3261(&result, T39_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA30_;
			}
			goto LA32_;
LA37_: ;
LA32_: ;
			{
				LA30_:;
			}
			{
				oldNimErrFin30_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin30_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA28_: ;
	}
	break;
	default:
	{
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLet__guards_u57)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
		if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA3_;
		colontmpD_ = NIM_NIL;
		{
			if (!((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)5) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)21))) goto LA7_;
			result = NIM_TRUE;
		}
		goto LA5_;
LA7_: ;
		{
			NIM_BOOL T10_;
			T10_ = (NIM_BOOL)0;
			T10_ = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)3));
			if (!(T10_)) goto LA11_;
			colontmpD_ = skipTypes__ast_u5379((*(*n_p0)._kind_4.sym).typ, TM__6PEpSVg5zYQiUPcMieikwQ_5);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T10_ = !(((*colontmpD_).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)23)));
LA11_: ;
			if (!T10_) goto LA12_;
			result = NIM_TRUE;
		}
		goto LA5_;
LA12_: ;
		{
			result = NIM_FALSE;
		}
LA5_: ;
		eqdestroy___ast_u3378(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA3_: ;
	{
		result = NIM_FALSE;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isVar__guards_u76)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	NIM_BOOL T2_;
	tySet_tyEnum_TSymFlag__Ii9cPbwXR8ePKVRFOdTKpDg T5_;
	T1_ = (NIM_BOOL)0;
	T2_ = (NIM_BOOL)0;
	T2_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
	if (!(T2_)) goto LA3_;
	T2_ = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)11) || (*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)8));
LA3_: ;
	T1_ = T2_;
	if (!(T1_)) goto LA4_;
	T5_ = 0;
	T1_ = ((131072 & (*(*n_p0)._kind_4.sym).flags) == T5_);
LA4_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isLetLocation__guards_u95)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_p0, NIM_BOOL isApprox_p1) {
	NIM_BOOL result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
	NI derefs_1;
NIM_BOOL oldNimErrFin12_;
	NIM_BOOL T26_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	n_1 = NIM_NIL;
	eqcopy___ast_u3255(&n_1, m_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	derefs_1 = ((NI)0);
	{
		while (1) {
			switch ((*n_1).kind) {
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)46):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)67):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)66):
			{
				eqcopy___ast_u3255(&n_1, (*n_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)47):
			{
				eqcopy___ast_u3255(&n_1, (*n_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				derefs_1 += ((NI)1);
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)65):
			{
				eqcopy___ast_u3255(&n_1, (*n_1)._kind_6.sons.p->data[((NI)0)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				{
					if (!!(isApprox_p1)) goto LA9_;
					derefs_1 += ((NI)1);
				}
LA9_: ;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)42):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
				colontmpD_ = NIM_NIL;
				{
					NIM_BOOL T15_;
					NIM_BOOL T16_;
					T15_ = (NIM_BOOL)0;
					T16_ = (NIM_BOOL)0;
					T16_ = isConstExpr__trees_u129((*n_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					if (T16_) goto LA17_;
					T16_ = isLet__guards_u57((*n_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
LA17_: ;
					T15_ = T16_;
					if (T15_) goto LA18_;
					colontmpD_ = skipConv__types_u3715((*n_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
					T15_ = isConstExpr__trees_u129(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
LA18_: ;
					if (!T15_) goto LA19_;
					eqcopy___ast_u3255(&n_1, (*n_1)._kind_6.sons.p->data[((NI)0)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA12_;
				}
				goto LA13_;
LA19_: ;
				{
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqdestroy___ast_u3252(n_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto BeforeRet_;
				}
LA13_: ;
				{
					LA12_:;
				}
				{
					oldNimErrFin12_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					*nimErr_ = oldNimErrFin12_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)58):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)59):
			case ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)60):
			{
				eqcopy___ast_u3255(&n_1, (*n_1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			}
			break;
			default:
			{
				goto LA2;
			}
			break;
			}
		}
	} LA2: ;
	T26_ = (NIM_BOOL)0;
	T26_ = isLet__guards_u57(n_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	if (!(T26_)) goto LA27_;
	T26_ = (derefs_1 <= isApprox_p1);
LA27_: ;
	result = T26_;
	{
		NIM_BOOL T30_;
		T30_ = (NIM_BOOL)0;
		T30_ = !(result);
		if (!(T30_)) goto LA31_;
		T30_ = isApprox_p1;
LA31_: ;
		if (!T30_) goto LA32_;
		result = isVar__guards_u76(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA32_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, barminusbar___guards_u176)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = copyNode__ast_u6736(a_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI64 T5_;
		if (!((*a_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*a_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA3_;
		T5_ = (NI64)0;
		T5_ = barminusbar___saturate_u13((*a_p0)._kind_1.intVal, (*b_p1)._kind_1.intVal);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		(*result)._kind_1.intVal = T5_;
	}
	goto LA1_;
LA3_: ;
	{
		(*result)._kind_2.floatVal = ((NF)((*a_p0)._kind_2.floatVal) - (NF)((*b_p1)._kind_2.floatVal));
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, canon__guards_u289)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL oldNimErrFin19_;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T23_;
NIM_BOOL oldNimErrFin47_;
NIM_BOOL oldNimErrFin40_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T54_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T55_;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T56_;
NIM_BOOL oldNimErrFin72_;
NIM_BOOL oldNimErrFin77_;
NIM_BOOL oldNimErrFin98_;
NIM_BOOL oldNimErrFin103_;
NIM_BOOL oldNimErrFin58_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	{
		NI T4_;
		T4_ = (NI)0;
		T4_ = safeLen__ast_u3197(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(((NI)1) <= T4_)) goto LA5_;
		result = shallowCopy__ast_u6876(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			NI i_1;
			NI colontmp_;
			NI i_2;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			colontmp_ = len__ast_u3190(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			i_2 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T10_;
					if (!(i_2 < colontmp_)) goto LA9;
					i_1 = i_2;
					T10_ = NIM_NIL;
					T10_ = canon__guards_u289((*n_p0)._kind_6.sons.p->data[i_1], o_p1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T10_); goto LA1_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_1], T10_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					i_2 += ((NI)1);
				} LA9: ;
			}
		}
	}
	goto LA2_;
LA5_: ;
	{
		NIM_BOOL T12_;
		NIM_BOOL T13_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T16_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		T12_ = (NIM_BOOL)0;
		T13_ = (NIM_BOOL)0;
		T13_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
		if (!(T13_)) goto LA14_;
		T13_ = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
LA14_: ;
		T12_ = T13_;
		if (!(T12_)) goto LA15_;
		colontmpD_ = astdef__ast_u4596((*n_p0)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T16_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T16_ = getMagic__trees_u122(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T12_ = ((TM__6PEpSVg5zYQiUPcMieikwQ_6[(NU)((T16_))>>3] &(1U<<((NU)((T16_))&7U)))!=0);
LA15_: ;
		if (!T12_) goto LA17_;
		colontmpD__2 = NIM_NIL;
		colontmpD__2 = astdef__ast_u4596((*n_p0)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		result = copyTree__ast_u6891(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA19_;
		{
			LA19_:;
		}
		{
			oldNimErrFin19_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin19_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA2_;
LA17_: ;
	{
		eqcopy___ast_u3255(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA2_: ;
	T23_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
	T23_ = getMagic__trees_u122(result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch (T23_) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)70):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)63):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)64):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)73):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)78):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)81):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)84):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)91) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)92):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)113):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)116):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55):
	{
		{
			NIM_BOOL T27_;
			NIM_BOOL T29_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T32_;
			T27_ = (NIM_BOOL)0;
			T27_ = isValue__guards_u47((*result)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T27_)) goto LA28_;
			T29_ = (NIM_BOOL)0;
			T29_ = isValue__guards_u47((*result)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T27_ = !(T29_);
LA28_: ;
			if (!T27_) goto LA30_;
			T32_ = NIM_NIL;
			T32_ = swapArgs__guards_u117(result, (*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T32_); goto LA1_;}
			eqsink___ast_u3261(&result, T32_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA30_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)9):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T34_;
		colontmpD__3 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__3 = buildCall__guards_u159((*o_p1).opLen, (*result)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__4 = minusOne__guards_u228();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T34_ = NIM_NIL;
		T34_ = buildCall__guards_u163((*o_p1).opAdd, colontmpD__3, colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T34_); goto LA1_;}
		eqsink___ast_u3261(&result, T34_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__4);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)47):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)52):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)54):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T36_;
		T36_ = NIM_NIL;
		T36_ = negate__guards_u200((*result)._kind_6.sons.p->data[((NI)1)], (*result)._kind_6.sons.p->data[((NI)2)], result, o_p1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T36_); goto LA1_;}
		eqsink___ast_u3261(&result, T36_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)36) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)39):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
		T38_ = NIM_NIL;
		T38_ = newSymNode__ast_u5168((*o_p1).opLen);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto LA1_;}
		eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T38_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)72):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)77):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)80):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)83):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)86):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)89):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)115):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* p_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* minus_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T41_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T50_;
		y_1 = NIM_NIL;
		p_1 = NIM_NIL;
		minus_1 = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		y_1 = canon__guards_u289((*n_p0)._kind_6.sons.p->data[((NI)2)], o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		p_1 = pred__guards_u268(y_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		T41_ = NIM_NIL;
		{
			if (!!((p_1 == y_1))) goto LA44_;
			minus_1 = p_1;
			eqwasMoved___ast_u3249(&p_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		}
		goto LA42_;
LA44_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
			colontmpD__6 = NIM_NIL;
			colontmpD__7 = NIM_NIL;
			colontmpD__6 = minusOne__guards_u228();
			if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
			colontmpD__7 = buildCall__guards_u163((*o_p1).opAdd, y_1, colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
			minus_1 = canon__guards_u289(colontmpD__7, o_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA47_;
			{
				LA47_:;
			}
			{
				oldNimErrFin47_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__7);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				eqdestroy___ast_u3252(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
				*nimErr_ = oldNimErrFin47_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		}
LA42_: ;
		colontmpD__5 = canon__guards_u289((*n_p0)._kind_6.sons.p->data[((NI)1)], o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		T50_ = NIM_NIL;
		T50_ = buildCall__guards_u163((*o_p1).opLe, colontmpD__5, minus_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T50_); goto LA40_;}
		eqsink___ast_u3261(&result, T50_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA40_;
		{
			LA40_:;
		}
		{
			oldNimErrFin40_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(minus_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(p_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin40_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
	}
	break;
	}
	T54_ = NIM_NIL;
	T54_ = skipConv__types_u3715(result);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T54_); goto LA1_;}
	eqsink___ast_u3261(&result, T54_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T55_ = NIM_NIL;
	T55_ = reassociation__guards_u256(result, o_p1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T55_); goto LA1_;}
	eqsink___ast_u3261(&result, T55_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T56_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
	T56_ = getMagic__trees_u122(result);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	switch (T56_) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)71):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)74):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)76):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)79):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)82):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)85):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)88):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)114):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_2;
		x_1 = NIM_NIL;
		y_2 = NIM_NIL;
		eqcopy___ast_u3255(&x_1, (*result)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		eqcopy___ast_u3255(&y_2, (*result)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		{
			NIM_BOOL T61_;
			NIM_BOOL T62_;
			NIM_BOOL T63_;
			NI T65_;
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T70_;
			T61_ = (NIM_BOOL)0;
			T62_ = (NIM_BOOL)0;
			T63_ = (NIM_BOOL)0;
			T63_ = ((*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*x_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
			if (!(T63_)) goto LA64_;
			T65_ = (NI)0;
			T65_ = len__ast_u3190(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			T63_ = (T65_ == ((NI)3));
LA64_: ;
			T62_ = T63_;
			if (!(T62_)) goto LA66_;
			T62_ = isValue__guards_u47((*x_1)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
LA66_: ;
			T61_ = T62_;
			if (!(T61_)) goto LA67_;
			T61_ = isLetLocation__guards_u95((*x_1)._kind_6.sons.p->data[((NI)1)], NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
LA67_: ;
			if (!T61_) goto LA68_;
			T70_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T70_ = getMagic__trees_u122(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			switch (T70_) {
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)47):
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)52):
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)54):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T73_;
				colontmpD__8 = NIM_NIL;
				colontmpD__9 = NIM_NIL;
				colontmpD__8 = buildCall__guards_u163((*o_p1).opAdd, y_2, (*x_1)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
				colontmpD__9 = reassociation__guards_u256(colontmpD__8, o_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
				T73_ = NIM_NIL;
				T73_ = buildCall__guards_u163((*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, (*x_1)._kind_6.sons.p->data[((NI)1)], colontmpD__9);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T73_); goto LA72_;}
				eqsink___ast_u3261(&result, T73_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA72_;
				{
					LA72_:;
				}
				{
					oldNimErrFin72_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__9);
					if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
					eqdestroy___ast_u3252(colontmpD__8);
					if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
					*nimErr_ = oldNimErrFin72_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			}
			break;
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46):
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51):
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* plus_1;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
				plus_1 = NIM_NIL;
				colontmpD__10 = NIM_NIL;
				colontmpD__10 = negate__guards_u200(y_2, (*x_1)._kind_6.sons.p->data[((NI)2)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), o_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				plus_1 = reassociation__guards_u256(colontmpD__10, o_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				{
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T82_;
					if (!!((plus_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA80_;
					T82_ = NIM_NIL;
					T82_ = buildCall__guards_u163((*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, (*x_1)._kind_6.sons.p->data[((NI)1)], plus_1);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T82_); goto LA77_;}
					eqsink___ast_u3261(&result, T82_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA77_;
				}
LA80_: ;
				{
					LA77_:;
				}
				{
					oldNimErrFin77_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__10);
					if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
					eqdestroy___ast_u3252(plus_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
					*nimErr_ = oldNimErrFin77_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			}
			break;
			default:
			{
			}
			break;
			}
		}
		goto LA59_;
LA68_: ;
		{
			NIM_BOOL T87_;
			NIM_BOOL T88_;
			NIM_BOOL T89_;
			NI T91_;
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T96_;
			T87_ = (NIM_BOOL)0;
			T88_ = (NIM_BOOL)0;
			T89_ = (NIM_BOOL)0;
			T89_ = ((*y_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27) || (*y_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)29) || (*y_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)30) || (*y_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)31) || (*y_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)26) || (*y_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)28) || (*y_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)32));
			if (!(T89_)) goto LA90_;
			T91_ = (NI)0;
			T91_ = len__ast_u3190(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			T89_ = (T91_ == ((NI)3));
LA90_: ;
			T88_ = T89_;
			if (!(T88_)) goto LA92_;
			T88_ = isValue__guards_u47((*y_2)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
LA92_: ;
			T87_ = T88_;
			if (!(T87_)) goto LA93_;
			T87_ = isLetLocation__guards_u95((*y_2)._kind_6.sons.p->data[((NI)1)], NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
LA93_: ;
			if (!T87_) goto LA94_;
			T96_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T96_ = getMagic__trees_u122(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			switch (T96_) {
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)47):
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)52):
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)54):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T99_;
				colontmpD__11 = NIM_NIL;
				colontmpD__12 = NIM_NIL;
				colontmpD__11 = buildCall__guards_u163((*o_p1).opAdd, x_1, (*y_2)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
				colontmpD__12 = reassociation__guards_u256(colontmpD__11, o_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
				T99_ = NIM_NIL;
				T99_ = buildCall__guards_u163((*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, (*y_2)._kind_6.sons.p->data[((NI)1)], colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T99_); goto LA98_;}
				eqsink___ast_u3261(&result, T99_);
				if (NIM_UNLIKELY(*nimErr_)) goto LA98_;
				{
					LA98_:;
				}
				{
					oldNimErrFin98_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__12);
					if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
					eqdestroy___ast_u3252(colontmpD__11);
					if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
					*nimErr_ = oldNimErrFin98_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			}
			break;
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46):
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51):
			case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53):
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* plus_2;
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
				plus_2 = NIM_NIL;
				colontmpD__13 = NIM_NIL;
				colontmpD__13 = negate__guards_u200(x_1, (*y_2)._kind_6.sons.p->data[((NI)2)], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL), o_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
				plus_2 = reassociation__guards_u256(colontmpD__13, o_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
				{
					NIM_BOOL T106_;
					NIM_BOOL T108_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T111_;
					T106_ = (NIM_BOOL)0;
					T106_ = !((plus_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
					if (!(T106_)) goto LA107_;
					T108_ = (NIM_BOOL)0;
					T108_ = isLetLocation__guards_u95(x_1, NIM_TRUE);
					if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
					T106_ = !(T108_);
LA107_: ;
					if (!T106_) goto LA109_;
					T111_ = NIM_NIL;
					T111_ = buildCall__guards_u163((*(*result)._kind_6.sons.p->data[((NI)0)])._kind_4.sym, plus_2, (*y_2)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T111_); goto LA103_;}
					eqsink___ast_u3261(&result, T111_);
					if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
				}
LA109_: ;
				{
					LA103_:;
				}
				{
					oldNimErrFin103_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__13);
					if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
					eqdestroy___ast_u3252(plus_2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
					*nimErr_ = oldNimErrFin103_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			}
			break;
			default:
			{
			}
			break;
			}
		}
		goto LA59_;
LA94_: ;
		{
			NIM_BOOL T116_;
			NIM_BOOL T117_;
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T119_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T123_;
			T116_ = (NIM_BOOL)0;
			T117_ = (NIM_BOOL)0;
			T117_ = isValue__guards_u47(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			if (!(T117_)) goto LA118_;
			T119_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T119_ = getMagic__trees_u122(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			T117_ = (T119_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || T119_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || T119_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51));
LA118_: ;
			T116_ = T117_;
			if (!(T116_)) goto LA120_;
			T116_ = ((*(*y_2)._kind_6.sons.p->data[((NI)2)]).kind == (*x_1).kind);
LA120_: ;
			if (!T116_) goto LA121_;
			T123_ = NIM_NIL;
			T123_ = barminusbar___guards_u176(x_1, (*y_2)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T123_); goto LA58_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T123_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)2)], (*y_2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		}
		goto LA59_;
LA121_: ;
		{
			NIM_BOOL T125_;
			NIM_BOOL T126_;
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T128_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T132_;
			T125_ = (NIM_BOOL)0;
			T126_ = (NIM_BOOL)0;
			T126_ = isValue__guards_u47(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			if (!(T126_)) goto LA127_;
			T128_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T128_ = getMagic__trees_u122(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			T126_ = (T128_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)47) || T128_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)54) || T128_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)52));
LA127_: ;
			T125_ = T126_;
			if (!(T125_)) goto LA129_;
			T125_ = ((*(*y_2)._kind_6.sons.p->data[((NI)2)]).kind == (*x_1).kind);
LA129_: ;
			if (!T125_) goto LA130_;
			T132_ = NIM_NIL;
			T132_ = barplusbar___guards_u168(x_1, (*y_2)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T132_); goto LA58_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], T132_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
			eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)2)], (*y_2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA58_;
		}
		goto LA59_;
LA130_: ;
LA59_: ;
		{
			LA58_:;
		}
		{
			oldNimErrFin58_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin58_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	break;
	default:
	{
	}
	break;
	}
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, one__guards_u226)(void) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, bardivbar___guards_u192)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	result = copyNode__ast_u6736(a_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!((*a_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*a_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15))) goto LA3_;
		(*result)._kind_1.intVal = (NI64)((*a_p0)._kind_1.intVal / (*b_p1)._kind_1.intVal);
	}
	goto LA1_;
LA3_: ;
	{
		(*result)._kind_2.floatVal = ((NF)((*a_p0)._kind_2.floatVal) / (NF)((*b_p1)._kind_2.floatVal));
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, isMinusOne__guards_u850)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	NIM_BOOL result;
	NIM_BOOL T1_;
	T1_ = (NIM_BOOL)0;
	T1_ = ((*n_p0).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*n_p0).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
	if (!(T1_)) goto LA2_;
	T1_ = ((*n_p0)._kind_1.intVal == IL64(-1));
LA2_: ;
	result = T1_;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, replaceSubTree__guards_u1117)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* by_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameTree__guards_u545(n_p0, x_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		eqcopy___ast_u3255(&result, by_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	goto LA1_;
LA4_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = hasSubTree__guards_u586(n_p0, x_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T7_) goto LA8_;
		result = shallowCopy__ast_u6876(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			NI i_1;
			NI colontmp_;
			NI T11_;
			NI res_1;
			i_1 = (NI)0;
			colontmp_ = (NI)0;
			T11_ = (NI)0;
			T11_ = safeLen__ast_u3197(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			colontmp_ = (NI)(T11_ - ((NI)1));
			res_1 = ((NI)0);
			{
				while (1) {
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T14_;
					if (!(res_1 <= colontmp_)) goto LA13;
					i_1 = ((NI) (res_1));
					T14_ = NIM_NIL;
					T14_ = replaceSubTree__guards_u1117((*n_p0)._kind_6.sons.p->data[i_1], x_p1, by_p2);
					if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T14_); goto BeforeRet_;}
					eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[i_1], T14_);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					res_1 += ((NI)1);
				} LA13: ;
			}
		}
	}
	goto LA1_;
LA8_: ;
	{
		eqcopy___ast_u3255(&result, n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, applyReplacements__guards_u1127)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tySequence__cLt1WK9c8DYlNqjYIVmv5sQ rep_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u3255(&result, n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		tyTuple__c0qUCL3KxsVjGYwcv7lQbg* x_1;
		NI i_1;
		NI L_1;
		NI T2_;
		x_1 = (tyTuple__c0qUCL3KxsVjGYwcv7lQbg*)0;
		i_1 = ((NI)0);
		T2_ = rep_p1.len;
		L_1 = T2_;
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T5_;
				if (!(i_1 < L_1)) goto LA4;
				x_1 = (&rep_p1.p->data[i_1]);
				T5_ = NIM_NIL;
				T5_ = replaceSubTree__guards_u1117(result, (*x_1).Field0, (*x_1).Field1);
				if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T5_); goto BeforeRet_;}
				eqsink___ast_u3261(&result, T5_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_1 += ((NI)1);
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
static N_INLINE(NI, pluspercent___system_u785)(NI x_p0, NI y_p1) {
	NI result;
	result = ((NI) ((NU)((NU32)(((NU) (x_p0))) + (NU32)(((NU) (y_p1))))));
	return result;
}
static N_INLINE(void, nimIncRef)(void* p_p0) {
	NI T1_;
	NI T2_;
	T1_ = (NI)0;
	T1_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
	T2_ = (NI)0;
	T2_ = minuspercent___system_u805(((NI) (ptrdiff_t) (p_p0)), ((NI)8));
	(*((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T1_))).rc = pluspercent___system_u785((*((tyObject_RefHeader__GDnGTjNyvwISJbkIvAst3A*) (T2_))).rc, ((NI)16));
}
N_LIB_PRIVATE N_NIMCALL(void, eqcopy___guards_u1520)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* dest_p0, tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw src_p1) {
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	eqcopy___ast_u3699((&(*dest_p0).s), src_p1.s);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		if (!src_p1.g) goto LA3_;
		nimIncRef(src_p1.g);
	}
LA3_: ;
	{
		NIM_BOOL T7_;
		T7_ = (NIM_BOOL)0;
		T7_ = nimDecRefIsLastDyn((*dest_p0).g);
		if (!T7_) goto LA8_;
		eqdestroy___modulegraphs_u13532((&(*(*dest_p0).g)));
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		nimRawDispose((*dest_p0).g, ((NI)4));
	}
LA8_: ;
	(*dest_p0).g = src_p1.g;
	(*dest_p0).beSmart = src_p1.beSmart;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, pleViaModelRec__guards_u1335)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL oldNimErrFin5_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0);
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI res_1;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = ((*m_p0).s.len-1);
		colontmp_ = T2_;
		res_1 = ((NI)0);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_1;
				if (!(res_1 <= colontmp_)) goto LA4;
				fact_1 = NIM_NIL;
				i_1 = ((NI) (res_1));
				eqcopy___ast_u3255(&fact_1, (*m_p0).s.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				{
					NIM_BOOL T8_;
					tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T10_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_1;
					T8_ = (NIM_BOOL)0;
					T8_ = !((fact_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
					if (!(T8_)) goto LA9_;
					T10_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
					T10_ = getMagic__trees_u122(fact_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
					T8_ = (T10_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)71) || T10_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)74) || T10_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)76) || T10_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)79) || T10_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)82) || T10_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)85) || T10_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)88) || T10_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)114));
LA9_: ;
					if (!T8_) goto LA11_;
					x_1 = NIM_NIL;
					y_1 = NIM_NIL;
					eqsink___ast_u3261(&(*m_p0).s.p->data[i_1], ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL));
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqcopy___ast_u3255(&x_1, (*fact_1)._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					eqcopy___ast_u3255(&y_1, (*fact_1)._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					{
						NIM_BOOL T16_;
						T16_ = (NIM_BOOL)0;
						T16_ = sameTree__guards_u545(x_1, a_p1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						if (!T16_) goto LA17_;
						{
							tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T21_;
							T21_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
							T21_ = ple__guards_u861((*m_p0), y_1, b_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							if (!(T21_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2))) goto LA22_;
							result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
							eqdestroy___ast_u3252(y_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___ast_u3252(fact_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA22_: ;
						{
							NIM_BOOL T26_;
							NIM_BOOL T27_;
							tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T28_;
							tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T30_;
							T26_ = (NIM_BOOL)0;
							T27_ = (NIM_BOOL)0;
							T28_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
							T28_ = getMagic__trees_u122(y_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							T27_ = (T28_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || T28_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || T28_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51));
							if (!(T27_)) goto LA29_;
							T30_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
							T30_ = getMagic__trees_u122(b_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							T27_ = (T30_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || T30_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || T30_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51));
LA29_: ;
							T26_ = T27_;
							if (!(T26_)) goto LA31_;
							T26_ = sameTree__guards_u545((*y_1)._kind_6.sons.p->data[((NI)1)], (*b_p2)._kind_6.sons.p->data[((NI)1)]);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
LA31_: ;
							if (!T26_) goto LA32_;
							{
								tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T36_;
								T36_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
								T36_ = ple__guards_u861((*m_p0), (*b_p2)._kind_6.sons.p->data[((NI)2)], (*y_1)._kind_6.sons.p->data[((NI)2)]);
								if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
								if (!(T36_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2))) goto LA37_;
								result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
								eqdestroy___ast_u3252(y_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
								eqdestroy___ast_u3252(x_1);
								if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
								eqdestroy___ast_u3252(fact_1);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								goto BeforeRet_;
							}
LA37_: ;
						}
LA32_: ;
					}
LA17_: ;
					{
						tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T41_;
						T41_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
						T41_ = ple__guards_u861((*m_p0), a_p1, x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
						if (!(T41_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2))) goto LA42_;
						{
							tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T46_;
							T46_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
							T46_ = ple__guards_u861((*m_p0), y_1, b_p2);
							if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
							if (!(T46_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2))) goto LA47_;
							result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
							eqdestroy___ast_u3252(y_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___ast_u3252(x_1);
							if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
							eqdestroy___ast_u3252(fact_1);
							if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
							goto BeforeRet_;
						}
LA47_: ;
					}
LA42_: ;
					result = impliesLe__guards_u738(fact_1, a_p1, b_p2);
					if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
					{
						if (!!((result == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0)))) goto LA51_;
						eqdestroy___ast_u3252(y_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						eqdestroy___ast_u3252(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						eqdestroy___ast_u3252(fact_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						goto BeforeRet_;
					}
LA51_: ;
					{
						LA13_:;
					}
					{
						oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
						eqdestroy___ast_u3252(y_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						eqdestroy___ast_u3252(x_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
						*nimErr_ = oldNimErrFin13_;
					}
					if (NIM_UNLIKELY(*nimErr_)) goto LA5_;
				}
LA11_: ;
				res_1 += ((NI)1);
				{
					LA5_:;
				}
				{
					oldNimErrFin5_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(fact_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin5_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA4: ;
		}
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___guards_u1517)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw dest_p0) {
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = nimDecRefIsLastDyn(dest_p0.g);
		if (!T3_) goto LA4_;
		eqdestroy___modulegraphs_u13532((&(*dest_p0.g)));
		nimRawDispose(dest_p0.g, ((NI)4));
	}
LA4_: ;
	eqdestroy___ast_u3696(dest_p0.s);
}
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___guards_u1174)(tySequence__cLt1WK9c8DYlNqjYIVmv5sQ dest_p0) {
	NI colontmp_;
	colontmp_ = ((NI)0);
	{
		while (1) {
			NI T3_;
			T3_ = dest_p0.len;
			if (!(colontmp_ < T3_)) goto LA2;
			{
				NIM_BOOL T6_;
				T6_ = (NIM_BOOL)0;
				T6_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_].Field0);
				if (!T6_) goto LA7_;
				eqdestroy___ast_u3270((&(*dest_p0.p->data[colontmp_].Field0)));
				nimRawDispose(dest_p0.p->data[colontmp_].Field0, ((NI)4));
			}
LA7_: ;
			{
				NIM_BOOL T11_;
				T11_ = (NIM_BOOL)0;
				T11_ = nimDecRefIsLastDyn(dest_p0.p->data[colontmp_].Field1);
				if (!T11_) goto LA12_;
				eqdestroy___ast_u3270((&(*dest_p0.p->data[colontmp_].Field1)));
				nimRawDispose(dest_p0.p->data[colontmp_].Field1, ((NI)4));
			}
LA12_: ;
			colontmp_ += ((NI)1);
		} LA2: ;
	}
	if (dest_p0.p && !(dest_p0.p->cap & NIM_STRLIT_FLAG)) {
 alignedDealloc(dest_p0.p, NIM_ALIGNOF(tyTuple__c0qUCL3KxsVjGYwcv7lQbg));
}
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, pleViaModel__guards_u857)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw model_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* aa_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bb_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
	tySequence__cLt1WK9c8DYlNqjYIVmv5sQ replacements_1;
	tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw m_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
NIM_BOOL oldNimErrFin37_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	replacements_1.len = 0; replacements_1.p = NIM_NIL;
	nimZeroMem((void*)(&m_1), sizeof(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw));
	a_1 = NIM_NIL;
	b_1 = NIM_NIL;
	replacements_1.len = 0; replacements_1.p = (tySequence__cLt1WK9c8DYlNqjYIVmv5sQ_Content*) newSeqPayload(0, sizeof(tyTuple__c0qUCL3KxsVjGYwcv7lQbg), NIM_ALIGNOF(tyTuple__c0qUCL3KxsVjGYwcv7lQbg));
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** fact_1;
		NI i_1;
		NI L_1;
		NI T3_;
		fact_1 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
		i_1 = ((NI)0);
		T3_ = model_p0.s.len;
		L_1 = T3_;
		{
			while (1) {
				if (!(i_1 < L_1)) goto LA5;
				fact_1 = &model_p0.s.p->data[i_1];
				{
					NIM_BOOL T8_;
					tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T10_;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
					tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_2;
					T8_ = (NIM_BOOL)0;
					T8_ = !(((*fact_1) == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
					if (!(T8_)) goto LA9_;
					T10_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
					T10_ = getMagic__trees_u122((*fact_1));
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					T8_ = ((TM__6PEpSVg5zYQiUPcMieikwQ_2[(NU)((T10_))>>3] &(1U<<((NU)((T10_))&7U)))!=0);
LA9_: ;
					if (!T8_) goto LA11_;
					a_2 = NIM_NIL;
					b_2 = NIM_NIL;
					eqcopy___ast_u3255(&a_2, (*(*fact_1))._kind_6.sons.p->data[((NI)1)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					eqcopy___ast_u3255(&b_2, (*(*fact_1))._kind_6.sons.p->data[((NI)2)]);
					if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					{
						tyTuple__c0qUCL3KxsVjGYwcv7lQbg T17_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_1;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_2;
						if (!((*a_2).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3))) goto LA15_;
						nimZeroMem((void*)(&T17_), sizeof(tyTuple__c0qUCL3KxsVjGYwcv7lQbg));
						blitTmp_1 = a_2;
						T17_.Field0 = blitTmp_1;
						blitTmp_2 = b_2;
						T17_.Field1 = blitTmp_2;
						add__guards_u1415((&replacements_1), T17_);
					}
					goto LA13_;
LA15_: ;
					{
						tyTuple__c0qUCL3KxsVjGYwcv7lQbg T19_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_3;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_4;
						nimZeroMem((void*)(&T19_), sizeof(tyTuple__c0qUCL3KxsVjGYwcv7lQbg));
						blitTmp_3 = b_2;
						T19_.Field0 = blitTmp_3;
						blitTmp_4 = a_2;
						T19_.Field1 = blitTmp_4;
						add__guards_u1415((&replacements_1), T19_);
					}
LA13_: ;
				}
LA11_: ;
				i_1 += ((NI)1);
			} LA5: ;
		}
	}
	nimZeroMem((void*)(&m_1), sizeof(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw));
	eqcopy___ast_u3255(&a_1, aa_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqcopy___ast_u3255(&b_1, bb_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		NI T22_;
		tySequence__9ahcSjIErJohSBBFLwuF56Q T25_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T41_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T42_;
		T22_ = replacements_1.len;
		if (!(((NI)0) < T22_)) goto LA23_;
		T25_.len = 0; T25_.p = NIM_NIL;
		T25_.len = 0; T25_.p = (tySequence__9ahcSjIErJohSBBFLwuF56Q_Content*) newSeqPayload(0, sizeof(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*), NIM_ALIGNOF(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*));
		eqsink___ast_u3705((&m_1.s), T25_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqcopy___modulegraphs_u14756(&m_1.g, model_p0.g);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** fact_2;
			NI i_2;
			NI L_2;
			NI T27_;
			fact_2 = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
			i_2 = ((NI)0);
			T27_ = model_p0.s.len;
			L_2 = T27_;
			{
				while (1) {
					if (!(i_2 < L_2)) goto LA29;
					fact_2 = &model_p0.s.p->data[i_2];
					{
						NIM_BOOL T32_;
						tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T34_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
						tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T38_;
						T32_ = (NIM_BOOL)0;
						T32_ = !(((*fact_2) == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
						if (!(T32_)) goto LA33_;
						T34_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
						T34_ = getMagic__trees_u122((*fact_2));
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
						T32_ = !(((TM__6PEpSVg5zYQiUPcMieikwQ_2[(NU)((T34_))>>3] &(1U<<((NU)((T34_))&7U)))!=0));
LA33_: ;
						if (!T32_) goto LA35_;
						colontmpD_ = NIM_NIL;
						colontmpD_ = applyReplacements__guards_u1127((*fact_2), replacements_1);
						if (NIM_UNLIKELY(*nimErr_)) goto LA37_;
						T38_ = NIM_NIL;
						T38_ = canon__guards_u289(colontmpD_, (&(*m_1.g).operators));
						if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T38_); goto LA37_;}
						add__ast_u3225((&m_1.s), T38_);
						{
							LA37_:;
						}
						{
							oldNimErrFin37_ = *nimErr_; *nimErr_ = NIM_FALSE;
							eqdestroy___ast_u3252(colontmpD_);
							if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
							*nimErr_ = oldNimErrFin37_;
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
					}
LA35_: ;
					i_2 += ((NI)1);
				} LA29: ;
			}
		}
		T41_ = NIM_NIL;
		T41_ = applyReplacements__guards_u1127(aa_p1, replacements_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T41_); goto LA1_;}
		eqsink___ast_u3261(&a_1, T41_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T42_ = NIM_NIL;
		T42_ = applyReplacements__guards_u1127(bb_p2, replacements_1);
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T42_); goto LA1_;}
		eqsink___ast_u3261(&b_1, T42_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA20_;
LA23_: ;
	{
		eqcopy___guards_u1520((&m_1), model_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA20_: ;
	result = pleViaModelRec__guards_u1335((&m_1), a_1, b_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(b_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(a_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___guards_u1517(m_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___guards_u1174(replacements_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, ple__guards_u861)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dc_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x2_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ec_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* dc_2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x2_2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ec_2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_2;
NIM_BOOL oldNimErrFin64_;
NIM_BOOL oldNimErrFin99_;
NIM_BOOL oldNimErrFin125_;
NIM_BOOL oldNimErrFin159_;
NIM_BOOL oldNimErrFin204_;
NIM_BOOL oldNimErrFin251_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	colontmpD_ = NIM_NIL;
	x_1 = NIM_NIL;
	dc_1 = NIM_NIL;
	y_1 = NIM_NIL;
	x2_1 = NIM_NIL;
	ec_1 = NIM_NIL;
	x_2 = NIM_NIL;
	dc_2 = NIM_NIL;
	x2_2 = NIM_NIL;
	ec_2 = NIM_NIL;
	y_2 = NIM_NIL;
	{
		NIM_BOOL T4_;
		tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T8_;
		T4_ = (NIM_BOOL)0;
		T4_ = isValue__guards_u47(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T4_)) goto LA5_;
		T4_ = isValue__guards_u47(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA5_: ;
		if (!T4_) goto LA6_;
		T8_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
		{
			NIM_BOOL T11_;
			T11_ = (NIM_BOOL)0;
			T11_ = leValue__astalgo_u79(a_p1, b_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T11_) goto LA12_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
		}
		goto LA9_;
LA12_: ;
		{
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)1);
		}
LA9_: ;
		eqdestroy___ast_u3252(y_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ec_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x2_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(dc_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(y_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(dc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA6_: ;
	{
		NIM_BOOL T17_;
		NIM_BOOL T18_;
		T17_ = (NIM_BOOL)0;
		T18_ = (NIM_BOOL)0;
		T18_ = isValue__guards_u47(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T18_)) goto LA19_;
		T18_ = !(((*a_p1).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA19_: ;
		T17_ = T18_;
		if (!(T17_)) goto LA20_;
		T17_ = isOrdinalType__types_u283((*a_p1).typField, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA20_: ;
		if (!T17_) goto LA21_;
		{
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T25_;
			NIM_BOOL T26_;
			T25_ = lastOrd__types_u1298(((tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*) NIM_NIL), (*a_p1).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T26_ = (NIM_BOOL)0;
			T26_ = lteq___int128_u966(T25_, (*b_p2)._kind_1.intVal);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T26_) goto LA27_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA27_: ;
	}
LA21_: ;
	{
		NIM_BOOL T31_;
		NIM_BOOL T32_;
		T31_ = (NIM_BOOL)0;
		T32_ = (NIM_BOOL)0;
		T32_ = isValue__guards_u47(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T32_)) goto LA33_;
		T32_ = !(((*b_p2).typField == ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL)));
LA33_: ;
		T31_ = T32_;
		if (!(T31_)) goto LA34_;
		T31_ = isOrdinalType__types_u283((*b_p2).typField, NIM_FALSE);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA34_: ;
		if (!T31_) goto LA35_;
		{
			tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T39_;
			NIM_BOOL T40_;
			T39_ = firstOrd__types_u1182(((tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg*) NIM_NIL), (*b_p2).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T40_ = (NIM_BOOL)0;
			T40_ = lteq___int128_u973((*a_p1)._kind_1.intVal, T39_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T40_) goto LA41_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA41_: ;
	}
LA35_: ;
	{
		NIM_BOOL T45_;
		T45_ = (NIM_BOOL)0;
		T45_ = sameTree__guards_u545(a_p1, b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!T45_) goto LA46_;
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
		eqdestroy___ast_u3252(y_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ec_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x2_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(dc_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(y_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(dc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA46_: ;
	{
		NIM_BOOL T50_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T51_;
		T50_ = (NIM_BOOL)0;
		T51_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T51_ = getMagic__trees_u122(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T50_ = (T51_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)36) || T51_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)37) || T51_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)38) || T51_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)39));
		if (!(T50_)) goto LA52_;
		T50_ = isValue__guards_u47(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA52_: ;
		if (!T50_) goto LA53_;
		{
			if (!((*a_p1)._kind_1.intVal <= IL64(0))) goto LA57_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA57_: ;
	}
LA53_: ;
	{
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T61_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
		T61_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T61_ = getMagic__trees_u122(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T61_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || T61_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || T61_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51))) goto LA62_;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__5 = NIM_NIL;
		{
			NIM_BOOL T67_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T68_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T70_;
			T67_ = (NIM_BOOL)0;
			colontmpD__2 = zero__guards_u224();
			if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			T68_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T68_ = ple__guards_u861(m_p0, colontmpD__2, (*b_p2)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			T67_ = (T68_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
			if (!(T67_)) goto LA69_;
			T70_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T70_ = ple__guards_u861(m_p0, a_p1, (*b_p2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			T67_ = (T70_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA69_: ;
			if (!T67_) goto LA71_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA71_: ;
		{
			NIM_BOOL T75_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T76_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T78_;
			T75_ = (NIM_BOOL)0;
			colontmpD__3 = zero__guards_u224();
			if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			T76_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T76_ = ple__guards_u861(m_p0, (*b_p2)._kind_6.sons.p->data[((NI)2)], colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			T75_ = (T76_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
			if (!(T75_)) goto LA77_;
			colontmpD__4 = buildCall__guards_u163((*m_p0.g).operators.opSub, a_p1, (*b_p2)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			colontmpD__5 = canon__guards_u289(colontmpD__4, (&(*m_p0.g).operators));
			if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			T78_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T78_ = ple__guards_u861(m_p0, colontmpD__5, (*b_p2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA64_;
			T75_ = (T78_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA77_: ;
			if (!T75_) goto LA79_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA79_: ;
		{
			LA64_:;
		}
		{
			oldNimErrFin64_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__5);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin64_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA62_: ;
	{
		NIM_BOOL T85_;
		NIM_BOOL T86_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T87_;
		tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T89_;
		tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T91_;
		T85_ = (NIM_BOOL)0;
		T86_ = (NIM_BOOL)0;
		T87_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T87_ = getMagic__trees_u122(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T86_ = (T87_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || T87_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || T87_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51));
		if (!(T86_)) goto LA88_;
		colontmpD_ = zero__guards_u224();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T89_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
		T89_ = ple__guards_u861(m_p0, (*a_p1)._kind_6.sons.p->data[((NI)2)], colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T86_ = (T89_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA88_: ;
		T85_ = T86_;
		if (!(T85_)) goto LA90_;
		T91_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
		T91_ = ple__guards_u861(m_p0, (*a_p1)._kind_6.sons.p->data[((NI)1)], b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T85_ = (T91_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA90_: ;
		if (!T85_) goto LA92_;
		result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
		eqdestroy___ast_u3252(y_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ec_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x2_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(dc_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(y_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(dc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		goto BeforeRet_;
	}
LA92_: ;
	{
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T96_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__7;
		T96_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T96_ = getMagic__trees_u122(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T96_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48) || T96_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55))) goto LA97_;
		colontmpD__6 = NIM_NIL;
		colontmpD__7 = NIM_NIL;
		{
			NIM_BOOL T102_;
			NIM_BOOL T103_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T104_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T106_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T108_;
			T102_ = (NIM_BOOL)0;
			T103_ = (NIM_BOOL)0;
			T104_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T104_ = ple__guards_u861(m_p0, a_p1, (*b_p2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
			T103_ = (T104_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
			if (!(T103_)) goto LA105_;
			colontmpD__6 = one__guards_u226();
			if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
			T106_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T106_ = ple__guards_u861(m_p0, colontmpD__6, (*b_p2)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
			T103_ = (T106_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA105_: ;
			T102_ = T103_;
			if (!(T102_)) goto LA107_;
			colontmpD__7 = zero__guards_u224();
			if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
			T108_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T108_ = ple__guards_u861(m_p0, colontmpD__7, (*b_p2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA99_;
			T102_ = (T108_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA107_: ;
			if (!T102_) goto LA109_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA109_: ;
		{
			LA99_:;
		}
		{
			oldNimErrFin99_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__7);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__6);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin99_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA97_: ;
	{
		NIM_BOOL T115_;
		NIM_BOOL T116_;
		NIM_BOOL T117_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T118_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T121_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__8;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__9;
		T115_ = (NIM_BOOL)0;
		T116_ = (NIM_BOOL)0;
		T117_ = (NIM_BOOL)0;
		T118_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T118_ = getMagic__trees_u122(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T117_ = (T118_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48) || T118_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55));
		if (!(T117_)) goto LA119_;
		T117_ = isValue__guards_u47((*a_p1)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA119_: ;
		T116_ = T117_;
		if (!(T116_)) goto LA120_;
		T121_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T121_ = getMagic__trees_u122((*a_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T116_ = (T121_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)49) || T121_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)56));
LA120_: ;
		T115_ = T116_;
		if (!(T115_)) goto LA122_;
		T115_ = isValue__guards_u47((*(*a_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
LA122_: ;
		if (!T115_) goto LA123_;
		colontmpD__8 = NIM_NIL;
		colontmpD__9 = NIM_NIL;
		{
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T128_;
			colontmpD__8 = bardivbar___guards_u192((*(*a_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)], (*a_p1)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
			colontmpD__9 = buildCall__guards_u163((*m_p0.g).operators.opDiv, (*(*a_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)], colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
			T128_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T128_ = ple__guards_u861(m_p0, colontmpD__9, b_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA125_;
			if (!(T128_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2))) goto LA129_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA129_: ;
		{
			LA125_:;
		}
		{
			oldNimErrFin125_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__9);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__8);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin125_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA123_: ;
	{
		NIM_BOOL T135_;
		NIM_BOOL T136_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T137_;
		NIM_BOOL T139_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T140_;
		NIM_BOOL T142_;
		NIM_BOOL T144_;
		NIM_BOOL T147_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T148_;
		NIM_BOOL T150_;
		T135_ = (NIM_BOOL)0;
		T136_ = (NIM_BOOL)0;
		T137_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T137_ = getMagic__trees_u122(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T136_ = (T137_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || T137_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || T137_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51));
		if (!(T136_)) goto LA138_;
		T139_ = (NIM_BOOL)0;
		T140_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T140_ = getMagic__trees_u122((*a_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T139_ = (T140_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48) || T140_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55));
		if (!(T139_)) goto LA141_;
		T142_ = (NIM_BOOL)0;
		eqcopy___ast_u3255(&x_1, (*(*a_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T142_ = NIM_TRUE;
		if (!(T142_)) goto LA143_;
		T144_ = (NIM_BOOL)0;
		eqcopy___ast_u3255(&dc_1, (*(*a_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T144_ = ((*(*(*a_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*(*a_p1)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
		if (!(T144_)) goto LA145_;
		eqcopy___ast_u3255(&y_1, (*a_p1)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T144_ = NIM_TRUE;
LA145_: ;
		T142_ = T144_;
LA143_: ;
		T139_ = T142_;
LA141_: ;
		T136_ = T139_;
LA138_: ;
		T135_ = T136_;
		if (!(T135_)) goto LA146_;
		T147_ = (NIM_BOOL)0;
		T148_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T148_ = getMagic__trees_u122(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T147_ = (T148_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48) || T148_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55));
		if (!(T147_)) goto LA149_;
		T150_ = (NIM_BOOL)0;
		eqcopy___ast_u3255(&x2_1, (*b_p2)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T150_ = NIM_TRUE;
		if (!(T150_)) goto LA151_;
		eqcopy___ast_u3255(&ec_1, (*b_p2)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T150_ = ((*(*b_p2)._kind_6.sons.p->data[((NI)2)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*b_p2)._kind_6.sons.p->data[((NI)2)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
LA151_: ;
		T147_ = T150_;
LA149_: ;
		T135_ = T147_;
LA146_: ;
		if (!T135_) goto LA152_;
		{
			NIM_BOOL T156_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ec1_1;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__10;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__11;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__12;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__13;
			T156_ = (NIM_BOOL)0;
			T156_ = sameTree__guards_u545(x_1, x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T156_) goto LA157_;
			ec1_1 = NIM_NIL;
			colontmpD__10 = NIM_NIL;
			colontmpD__11 = NIM_NIL;
			colontmpD__12 = NIM_NIL;
			colontmpD__13 = NIM_NIL;
			colontmpD__10 = minusOne__guards_u228();
			if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
			ec1_1 = buildCall__guards_u163((*m_p0.g).operators.opAdd, ec_1, colontmpD__10);
			if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
			{
				NIM_BOOL T162_;
				NIM_BOOL T163_;
				NIM_BOOL T164_;
				NIM_BOOL T165_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T166_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T168_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T170_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T172_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T174_;
				T162_ = (NIM_BOOL)0;
				T163_ = (NIM_BOOL)0;
				T164_ = (NIM_BOOL)0;
				T165_ = (NIM_BOOL)0;
				colontmpD__11 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				T166_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T166_ = ple__guards_u861(m_p0, colontmpD__11, x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				T165_ = (T166_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
				if (!(T165_)) goto LA167_;
				colontmpD__12 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				T168_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T168_ = ple__guards_u861(m_p0, colontmpD__12, ec_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				T165_ = (T168_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA167_: ;
				T164_ = T165_;
				if (!(T164_)) goto LA169_;
				colontmpD__13 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				T170_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T170_ = ple__guards_u861(m_p0, colontmpD__13, dc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				T164_ = (T170_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA169_: ;
				T163_ = T164_;
				if (!(T163_)) goto LA171_;
				T172_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T172_ = ple__guards_u861(m_p0, dc_1, ec1_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				T163_ = (T172_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA171_: ;
				T162_ = T163_;
				if (!(T162_)) goto LA173_;
				T174_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T174_ = ple__guards_u861(m_p0, y_1, x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA159_;
				T162_ = (T174_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA173_: ;
				if (!T162_) goto LA175_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				eqdestroy___ast_u3252(colontmpD__13);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__11);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(ec1_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(y_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(ec_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x2_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(dc_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(ec_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x2_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(y_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(dc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA175_: ;
			{
				LA159_:;
			}
			{
				oldNimErrFin159_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__13);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__12);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__11);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__10);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(ec1_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin159_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA157_: ;
	}
	goto LA133_;
LA152_: ;
	{
		NIM_BOOL T180_;
		NIM_BOOL T181_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T182_;
		NIM_BOOL T184_;
		NIM_BOOL T187_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T188_;
		NIM_BOOL T190_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T191_;
		NIM_BOOL T193_;
		NIM_BOOL T195_;
		T180_ = (NIM_BOOL)0;
		T181_ = (NIM_BOOL)0;
		T182_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T182_ = getMagic__trees_u122(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T181_ = (T182_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48) || T182_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55));
		if (!(T181_)) goto LA183_;
		T184_ = (NIM_BOOL)0;
		eqcopy___ast_u3255(&x_2, (*a_p1)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T184_ = NIM_TRUE;
		if (!(T184_)) goto LA185_;
		eqcopy___ast_u3255(&dc_2, (*a_p1)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T184_ = ((*(*a_p1)._kind_6.sons.p->data[((NI)2)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*a_p1)._kind_6.sons.p->data[((NI)2)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
LA185_: ;
		T181_ = T184_;
LA183_: ;
		T180_ = T181_;
		if (!(T180_)) goto LA186_;
		T187_ = (NIM_BOOL)0;
		T188_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T188_ = getMagic__trees_u122(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T187_ = (T188_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || T188_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || T188_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51));
		if (!(T187_)) goto LA189_;
		T190_ = (NIM_BOOL)0;
		T191_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T191_ = getMagic__trees_u122((*b_p2)._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T190_ = (T191_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48) || T191_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55));
		if (!(T190_)) goto LA192_;
		T193_ = (NIM_BOOL)0;
		eqcopy___ast_u3255(&x2_2, (*(*b_p2)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)1)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T193_ = NIM_TRUE;
		if (!(T193_)) goto LA194_;
		T195_ = (NIM_BOOL)0;
		eqcopy___ast_u3255(&ec_2, (*(*b_p2)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T195_ = ((*(*(*b_p2)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*(*b_p2)._kind_6.sons.p->data[((NI)1)])._kind_6.sons.p->data[((NI)2)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
		if (!(T195_)) goto LA196_;
		eqcopy___ast_u3255(&y_2, (*b_p2)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T195_ = NIM_TRUE;
LA196_: ;
		T193_ = T195_;
LA194_: ;
		T190_ = T193_;
LA192_: ;
		T187_ = T190_;
LA189_: ;
		T180_ = T187_;
LA186_: ;
		if (!T180_) goto LA197_;
		{
			NIM_BOOL T201_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* ec1_2;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__14;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__15;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__16;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__17;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__18;
			T201_ = (NIM_BOOL)0;
			T201_ = sameTree__guards_u545(x_2, x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!T201_) goto LA202_;
			ec1_2 = NIM_NIL;
			colontmpD__14 = NIM_NIL;
			colontmpD__15 = NIM_NIL;
			colontmpD__16 = NIM_NIL;
			colontmpD__17 = NIM_NIL;
			colontmpD__18 = NIM_NIL;
			colontmpD__14 = minusOne__guards_u228();
			if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
			ec1_2 = buildCall__guards_u163((*m_p0.g).operators.opAdd, ec_2, colontmpD__14);
			if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
			{
				NIM_BOOL T207_;
				NIM_BOOL T208_;
				NIM_BOOL T209_;
				NIM_BOOL T210_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T211_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T213_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T215_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T217_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T219_;
				T207_ = (NIM_BOOL)0;
				T208_ = (NIM_BOOL)0;
				T209_ = (NIM_BOOL)0;
				T210_ = (NIM_BOOL)0;
				colontmpD__15 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
				T211_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T211_ = ple__guards_u861(m_p0, colontmpD__15, x_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
				T210_ = (T211_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
				if (!(T210_)) goto LA212_;
				colontmpD__16 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
				T213_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T213_ = ple__guards_u861(m_p0, colontmpD__16, ec_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
				T210_ = (T213_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA212_: ;
				T209_ = T210_;
				if (!(T209_)) goto LA214_;
				colontmpD__17 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), IL64(1));
				if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
				T215_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T215_ = ple__guards_u861(m_p0, colontmpD__17, dc_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
				T209_ = (T215_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA214_: ;
				T208_ = T209_;
				if (!(T208_)) goto LA216_;
				T217_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T217_ = ple__guards_u861(m_p0, dc_2, ec1_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
				T208_ = (T217_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA216_: ;
				T207_ = T208_;
				if (!(T207_)) goto LA218_;
				colontmpD__18 = zero__guards_u224();
				if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
				T219_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T219_ = ple__guards_u861(m_p0, y_2, colontmpD__18);
				if (NIM_UNLIKELY(*nimErr_)) goto LA204_;
				T207_ = (T219_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA218_: ;
				if (!T207_) goto LA220_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				eqdestroy___ast_u3252(colontmpD__18);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__17);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__16);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__15);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__14);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(ec1_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(y_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(ec_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x2_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(dc_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(ec_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x2_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(y_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(dc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA220_: ;
			{
				LA204_:;
			}
			{
				oldNimErrFin204_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__18);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__17);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__16);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__15);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__14);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(ec1_2);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin204_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA202_: ;
	}
	goto LA133_;
LA197_: ;
LA133_: ;
	{
		NIM_BOOL T226_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T227_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T229_;
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T230_;
		T226_ = (NIM_BOOL)0;
		T227_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T227_ = getMagic__trees_u122(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T226_ = (T227_ >= ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) && T227_ <= ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)48) || T227_ >= ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51) && T227_ <= ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)55) || T227_ >= ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)63) && T227_ <= ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)64));
		if (!(T226_)) goto LA228_;
		T229_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T229_ = getMagic__trees_u122(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T230_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T230_ = getMagic__trees_u122(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T226_ = (T229_ == T230_);
LA228_: ;
		if (!T226_) goto LA231_;
		{
			NIM_BOOL T235_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T237_;
			T235_ = (NIM_BOOL)0;
			T235_ = sameTree__guards_u545((*a_p1)._kind_6.sons.p->data[((NI)1)], (*b_p2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T235_)) goto LA236_;
			T237_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T237_ = ple__guards_u861(m_p0, (*a_p1)._kind_6.sons.p->data[((NI)2)], (*b_p2)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T235_ = (T237_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA236_: ;
			if (!T235_) goto LA238_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA233_;
LA238_: ;
		{
			NIM_BOOL T241_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T243_;
			T241_ = (NIM_BOOL)0;
			T241_ = sameTree__guards_u545((*a_p1)._kind_6.sons.p->data[((NI)2)], (*b_p2)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			if (!(T241_)) goto LA242_;
			T243_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T243_ = ple__guards_u861(m_p0, (*a_p1)._kind_6.sons.p->data[((NI)1)], (*b_p2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T241_ = (T243_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA242_: ;
			if (!T241_) goto LA244_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
		goto LA233_;
LA244_: ;
LA233_: ;
	}
LA231_: ;
	{
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T248_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__19;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__20;
		T248_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T248_ = getMagic__trees_u122(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T248_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)49) || T248_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)56))) goto LA249_;
		colontmpD__19 = NIM_NIL;
		colontmpD__20 = NIM_NIL;
		{
			NIM_BOOL T254_;
			NIM_BOOL T255_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T256_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T258_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T260_;
			T254_ = (NIM_BOOL)0;
			T255_ = (NIM_BOOL)0;
			colontmpD__19 = one__guards_u226();
			if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
			T256_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T256_ = ple__guards_u861(m_p0, colontmpD__19, (*a_p1)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
			T255_ = (T256_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
			if (!(T255_)) goto LA257_;
			colontmpD__20 = zero__guards_u224();
			if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
			T258_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T258_ = ple__guards_u861(m_p0, colontmpD__20, b_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
			T255_ = (T258_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA257_: ;
			T254_ = T255_;
			if (!(T254_)) goto LA259_;
			T260_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T260_ = ple__guards_u861(m_p0, (*a_p1)._kind_6.sons.p->data[((NI)1)], b_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
			T254_ = (T260_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA259_: ;
			if (!T254_) goto LA261_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(colontmpD__20);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__19);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA261_: ;
		{
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T265_;
			T265_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T265_ = getMagic__trees_u122(b_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
			if (!(T265_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)49) || T265_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)56))) goto LA266_;
			{
				NIM_BOOL T270_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T272_;
				T270_ = (NIM_BOOL)0;
				T270_ = sameTree__guards_u545((*a_p1)._kind_6.sons.p->data[((NI)1)], (*b_p2)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
				if (!(T270_)) goto LA271_;
				T272_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T272_ = ple__guards_u861(m_p0, (*b_p2)._kind_6.sons.p->data[((NI)2)], (*a_p1)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
				T270_ = (T272_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA271_: ;
				if (!T270_) goto LA273_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				eqdestroy___ast_u3252(colontmpD__20);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__19);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(y_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(ec_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x2_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(dc_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(ec_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x2_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(y_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(dc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA273_: ;
		}
LA266_: ;
		{
			NIM_BOOL T277_;
			NIM_BOOL T278_;
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T280_;
			T277_ = (NIM_BOOL)0;
			T278_ = (NIM_BOOL)0;
			T278_ = isValue__guards_u47((*a_p1)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
			if (!(T278_)) goto LA279_;
			T280_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T280_ = getMagic__trees_u122(b_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
			T278_ = (T280_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || T280_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || T280_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51));
LA279_: ;
			T277_ = T278_;
			if (!(T277_)) goto LA281_;
			T277_ = isMinusOne__guards_u850((*b_p2)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
LA281_: ;
			if (!T277_) goto LA282_;
			{
				NIM_BOOL T286_;
				tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T287_;
				T286_ = (NIM_BOOL)0;
				T287_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
				T287_ = ple__guards_u861(m_p0, (*a_p1)._kind_6.sons.p->data[((NI)2)], (*a_p1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
				T286_ = (T287_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
				if (!(T286_)) goto LA288_;
				T286_ = sameTree__guards_u545((*a_p1)._kind_6.sons.p->data[((NI)1)], (*b_p2)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA251_;
LA288_: ;
				if (!T286_) goto LA289_;
				result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
				eqdestroy___ast_u3252(colontmpD__20);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(colontmpD__19);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				eqdestroy___ast_u3252(y_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(ec_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x2_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(dc_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x_2);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(ec_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x2_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(y_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(dc_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(x_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				eqdestroy___ast_u3252(colontmpD_);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				goto BeforeRet_;
			}
LA289_: ;
		}
LA282_: ;
		{
			LA251_:;
		}
		{
			oldNimErrFin251_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__20);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__19);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin251_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA249_: ;
	{
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T295_;
		T295_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T295_ = getMagic__trees_u122(b_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T295_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)64))) goto LA296_;
		{
			NIM_BOOL T300_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T301_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T303_;
			T300_ = (NIM_BOOL)0;
			T301_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T301_ = ple__guards_u861(m_p0, a_p1, (*b_p2)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T300_ = (T301_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
			if (T300_) goto LA302_;
			T303_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T303_ = ple__guards_u861(m_p0, a_p1, (*b_p2)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T300_ = (T303_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA302_: ;
			if (!T300_) goto LA304_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA304_: ;
	}
LA296_: ;
	{
		tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T308_;
		T308_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
		T308_ = getMagic__trees_u122(a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		if (!(T308_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)63))) goto LA309_;
		{
			NIM_BOOL T313_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T314_;
			tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T316_;
			T313_ = (NIM_BOOL)0;
			T314_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T314_ = ple__guards_u861(m_p0, (*a_p1)._kind_6.sons.p->data[((NI)1)], b_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T313_ = (T314_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
			if (T313_) goto LA315_;
			T316_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
			T316_ = ple__guards_u861(m_p0, (*a_p1)._kind_6.sons.p->data[((NI)2)], b_p2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			T313_ = (T316_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2));
LA315_: ;
			if (!T313_) goto LA317_;
			result = ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2);
			eqdestroy___ast_u3252(y_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(ec_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x2_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(dc_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(x_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			goto BeforeRet_;
		}
LA317_: ;
	}
LA309_: ;
	result = pleViaModel__guards_u857(m_p0, a_p1, b_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	eqdestroy___ast_u3252(y_2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(ec_2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(x2_2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(dc_2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(x_2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(ec_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(x2_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(y_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(dc_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(x_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3252(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	goto BeforeRet_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(y_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ec_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x2_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(dc_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(ec_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x2_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(y_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(dc_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw, proveLe__guards_u1542)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2) {
	tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL oldNimErrFin6_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
	x_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = buildCall__guards_u163((*m_p0.g).operators.opLe, a_p1, b_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	x_1 = canon__guards_u289(colontmpD_, (&(*m_p0.g).operators));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	result = ple__guards_u861(m_p0, (*x_1)._kind_6.sons.p->data[((NI)1)], (*x_1)._kind_6.sons.p->data[((NI)2)]);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* y_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
		tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T7_;
		if (!(result == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0))) goto LA4_;
		y_1 = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		colontmpD__4 = NIM_NIL;
		colontmpD__2 = one__guards_u226();
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD__3 = buildCall__guards_u163((*m_p0.g).operators.opAdd, b_p2, colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		colontmpD__4 = buildCall__guards_u163((*m_p0.g).operators.opLe, colontmpD__3, a_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		y_1 = canon__guards_u289(colontmpD__4, (&(*m_p0.g).operators));
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		T7_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
		T7_ = ple__guards_u861(m_p0, (*y_1)._kind_6.sons.p->data[((NI)1)], (*y_1)._kind_6.sons.p->data[((NI)2)]);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		result = tilde___guards_u761(T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA6_;
		{
			LA6_:;
		}
		{
			oldNimErrFin6_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__4);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			eqdestroy___ast_u3252(y_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			*nimErr_ = oldNimErrFin6_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(x_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lowBound__guards_u230)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = firstOrd__types_u1182(conf_p0, (*x_p1).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newIntNode__ast_u5204(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	(*result).info = (*x_p1).info;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, highBound__guards_u234)(tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* x_p1, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* typ_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	typ_1 = NIM_NIL;
	typ_1 = skipTypes__ast_u5379((*x_p1).typField, TM__6PEpSVg5zYQiUPcMieikwQ_5);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	{
		tyObject_Int128__Moyhy3H7f18q9axhPc7Yt9bg T7_;
		if (!((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)16))) goto LA5_;
		T7_ = lastOrd__types_u1298(conf_p0, typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = newIntNode__ast_u5204(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), T7_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA5_: ;
	{
		NIM_BOOL T9_;
		NIM_BOOL T10_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		NI T15_;
		T9_ = (NIM_BOOL)0;
		T10_ = (NIM_BOOL)0;
		T10_ = ((*typ_1).kind == ((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)24));
		if (!(T10_)) goto LA11_;
		T10_ = ((*x_p1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
LA11_: ;
		T9_ = T10_;
		if (!(T9_)) goto LA12_;
		T9_ = ((*(*x_p1)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)10));
LA12_: ;
		if (!T9_) goto LA13_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = astdef__ast_u4596((*x_p1)._kind_4.sym);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T15_ = (NI)0;
		T15_ = len__ast_u3190(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), ((NI64) ((NI)(T15_ - ((NI)1)))));
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
	goto LA3_;
LA13_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		colontmpD__2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		colontmpD__2 = buildCall__guards_u159((*o_p2).opLen, x_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD__3 = minusOne__guards_u228();
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		result = buildCall__guards_u163((*o_p2).opAdd, colontmpD__2, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA3_: ;
	(*result).info = (*x_p1).info;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3378(typ_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildProperFieldCheck__guards_u1655)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* access_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* check_p1, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
NIM_BOOL oldNimErrFin9_;
NIM_BOOL oldNimErrFin13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	{
		if (!((*(*check_p1)._kind_6.sons.p->data[((NI)1)]).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39))) goto LA3_;
		result = copyTree__ast_u6891(check_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
			if (!((*access_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)45))) goto LA7_;
			a_1 = NIM_NIL;
			a_1 = copyTree__ast_u6891(access_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			eqcopy___ast_u3255(&(*a_1)._kind_6.sons.p->data[((NI)1)], (*check_p1)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			eqcopy___ast_u3381(&(*a_1).typField, (*(*check_p1)._kind_6.sons.p->data[((NI)2)]).typField);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)2)], a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			eqwasMoved___ast_u3249(&a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA9_;
			{
				LA9_:;
			}
			{
				oldNimErrFin9_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(a_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin9_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
LA7_: ;
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = buildProperFieldCheck__guards_u1655(access_p0, (*check_p1)._kind_6.sons.p->data[((NI)1)], o_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		result = neg__guards_u121(colontmpD_, o_p2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA13_;
		{
			LA13_:;
		}
		{
			oldNimErrFin13_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin13_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(void, nimCopyMem)(void* dest_p0, void* source_p1, NI size_p2) {
	void* T1_;
	T1_ = (void*)0;
	T1_ = memcpy(dest_p0, source_p1, ((size_t) (size_p2)));
}
static N_INLINE(void, copyMem__system_u1742)(void* dest_p0, void* source_p1, NI size_p2) {
	nimCopyMem(dest_p0, source_p1, size_p2);
}
static N_INLINE(void, appendString)(NimStringV2* dest_p0, NimStringV2 src_p1) {
	{
		if (!(((NI)0) < src_p1.len)) goto LA3_;
		copyMem__system_u1742(((void*) ((&(*(*dest_p0).p).data[(*dest_p0).len]))), ((void*) ((&(*src_p1.p).data[((NI)0)]))), (src_p1.len));
		(*dest_p0).len += src_p1.len;
		(*(*dest_p0).p).data[(*dest_p0).len] = 0;
	}
LA3_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, checkFieldAccess__guards_u1676)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, tyObject_ConfigRefcolonObjectType___S9atckdgEHYT7qfQK9cvzJOg* conf_p2, NIM_BOOL produceError_p3) {
NIM_BOOL oldNimErrFin4_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NI i_1;
		NI colontmp_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		colontmp_ = len__ast_u3190(n_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		i_2 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* check_1;
				if (!(i_2 < colontmp_)) goto LA3;
				check_1 = NIM_NIL;
				i_1 = i_2;
				check_1 = buildProperFieldCheck__guards_u1655((*n_p1)._kind_6.sons.p->data[((NI)0)], (*n_p1)._kind_6.sons.p->data[i_1], (&(*m_p0.g).operators));
				if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
				{
					NIM_BOOL T7_;
					tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw T9_;
					T7_ = (NIM_BOOL)0;
					T7_ = !((check_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
					if (!(T7_)) goto LA8_;
					T9_ = (tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)0;
					T9_ = doesImply__guards_u780(m_p0, check_1);
					if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					T7_ = !((T9_ == ((tyEnum_TImplication__Sad0CRSLBr9a9afuxo9akd9aqw)2)));
LA8_: ;
					if (!T7_) goto LA10_;
					{
						NimStringV2 colontmpD_;
						NimStringV2 colontmpD__2;
						NimStringV2 T17_;
						tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T18_;
						if (!produceError_p3) goto LA14_;
						colontmpD_.len = 0; colontmpD_.p = NIM_NIL;
						colontmpD__2.len = 0; colontmpD__2.p = NIM_NIL;
						T17_.len = 0; T17_.p = NIM_NIL;
						T18_ = 0;
						colontmpD_ = renderTree__renderer_u59((*n_p1)._kind_6.sons.p->data[((NI)0)], T18_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						T17_ = rawNewString(colontmpD_.len + 43);
appendString((&T17_), TM__6PEpSVg5zYQiUPcMieikwQ_8);
appendString((&T17_), colontmpD_);
						colontmpD__2 = T17_;
						liMessage__msgs_u1227(conf_p2, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)17), colontmpD__2, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__6PEpSVg5zYQiUPcMieikwQ_9, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA16_;
						{
							LA16_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__2);
							eqdestroy___system_u2691(colontmpD_);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					}
					goto LA12_;
LA14_: ;
					{
						NimStringV2 colontmpD__3;
						tySet_tyEnum_TRenderFlag__Il2q467fyuki59ci9aspexFg T23_;
						colontmpD__3.len = 0; colontmpD__3.p = NIM_NIL;
						T23_ = 0;
						colontmpD__3 = renderTree__renderer_u59((*n_p1)._kind_6.sons.p->data[((NI)0)], T23_);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						liMessage__msgs_u1227(conf_p2, (*n_p1).info, ((tyEnum_TMsgKind__Ug4VJQkHi8g218Fa9bQrePA)48), colontmpD__3, ((tyEnum_TErrorHandling__9aJ2MrE0UrBy3xCw3BT762w)0), TM__6PEpSVg5zYQiUPcMieikwQ_11, NIM_FALSE, NIM_FALSE);
						if (NIM_UNLIKELY(*nimErr_)) goto LA22_;
						{
							LA22_:;
						}
						{
							eqdestroy___system_u2691(colontmpD__3);
						}
						if (NIM_UNLIKELY(*nimErr_)) goto LA4_;
					}
LA12_: ;
					eqdestroy___ast_u3252(check_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					goto LA1;
				}
LA10_: ;
				i_2 += ((NI)1);
				{
					LA4_:;
				}
				{
					oldNimErrFin4_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(check_1);
					if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
					*nimErr_ = oldNimErrFin4_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA3: ;
		}
	} LA1: ;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addAsgnFact__guards_u1619)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* key_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* value_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	fact_1 = NIM_NIL;
	fact_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*key_p1).info, ((NI)3));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = newSymNode__ast_u5168((*(*m_p0).g).operators.opEq);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*fact_1)._kind_6.sons.p->data[((NI)0)], T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*fact_1)._kind_6.sons.p->data[((NI)1)], key_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*fact_1)._kind_6.sons.p->data[((NI)2)], value_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	blitTmp_1 = fact_1;
	add__ast_u3225((&(*m_p0).s), blitTmp_1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, interestingCaseExpr__guards_u114)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* m_p0) {
	NIM_BOOL result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = (NIM_BOOL)0;
	result = isLetLocation__guards_u95(m_p0, NIM_TRUE);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
static N_INLINE(tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg*, owner__ast_u6246)(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* s_p0) {
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	eqcopy___ast_u4577(&result, (*s_p0).ownerField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*, settype__guards_u1566)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* result;
	tyObject_IdGeneratorcolonObjectType___G9bSmxY5z1At9bXNKpE9bKuug* idgen_1;
	tyObject_TSym__lYFc3T7YHHNBnaZR9at0NSg* colontmpD_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	idgen_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	idgen_1 = idGeneratorForPackage__ast_u3122(((NI32)-1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	colontmpD_ = owner__ast_u6246((*n_p0).typField);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	result = newType__ast_u5900(((tyEnum_TTypeKind__DYVdhzQ9cMfgoirdzGDwSCg)19), idgen_1, colontmpD_, ((tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg*) NIM_NIL));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	addSonSkipIntLit__magicsys_u135(result, (*n_p0).typField, idgen_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u4574(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3100(idgen_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildOf__guards_u1573)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* it_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* loc_p1, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_1;
	NI T1_;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* T2_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	T1_ = (NI)0;
	T1_ = len__ast_u3190(it_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	s_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39), (*it_p0).info, (NI)(T1_ - ((NI)1)));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T2_ = NIM_NIL;
	T2_ = settype__guards_u1566(loc_p1);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3378(T2_); goto BeforeRet_;}
	eqsink___ast_u3387(&(*s_1).typField, T2_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI i_1;
		NI colontmp_;
		NI T4_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T4_ = (NI)0;
		T4_ = len__ast_u3190(it_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp_ = (NI)(T4_ - ((NI)1));
		i_2 = ((NI)0);
		{
			while (1) {
				if (!(i_2 < colontmp_)) goto LA6;
				i_1 = i_2;
				eqcopy___ast_u3255(&(*s_1)._kind_6.sons.p->data[i_1], (*it_p0)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				i_2 += ((NI)1);
			} LA6: ;
		}
	}
	result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*it_p0).info, ((NI)3));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T7_ = NIM_NIL;
	T7_ = newSymNode__ast_u5168((*o_p2).opContains);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T7_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T7_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)2)], loc_p1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildElse__guards_u1584)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* s_1;
	tyObject_TType__8qAQZfpTDk89aeclTNn4d9cg* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T13_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	s_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = settype__guards_u1566((*n_p0)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	s_1 = newNodeIT__ast_u4112(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)39), (*n_p0).info, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	{
		NI i_1;
		NI colontmp_;
		NI T2_;
		NI i_2;
		i_1 = (NI)0;
		colontmp_ = (NI)0;
		T2_ = (NI)0;
		T2_ = len__ast_u3190(n_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		colontmp_ = (NI)(T2_ - ((NI)1));
		i_2 = ((NI)1);
		{
			while (1) {
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
				if (!(i_2 < colontmp_)) goto LA4;
				branch_1 = NIM_NIL;
				i_1 = i_2;
				eqcopy___ast_u3255(&branch_1, (*n_p0)._kind_6.sons.p->data[i_1]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				{
					if (!((*branch_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85))) goto LA7_;
					{
						NI j_1;
						NI colontmp__2;
						NI T10_;
						NI i_3;
						j_1 = (NI)0;
						colontmp__2 = (NI)0;
						T10_ = (NI)0;
						T10_ = len__ast_u3190(branch_1);
						if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
						colontmp__2 = (NI)(T10_ - ((NI)1));
						i_3 = ((NI)0);
						{
							while (1) {
								if (!(i_3 < colontmp__2)) goto LA12;
								j_1 = i_3;
								add__ast_u3215(s_1, (*branch_1)._kind_6.sons.p->data[j_1]);
								if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
								i_3 += ((NI)1);
							} LA12: ;
						}
					}
				}
LA7_: ;
				i_2 += ((NI)1);
				eqdestroy___ast_u3252(branch_1);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			} LA4: ;
		}
	}
	result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p0).info, ((NI)3));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T13_ = NIM_NIL;
	T13_ = newSymNode__ast_u5168((*o_p1).opContains);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T13_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T13_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], s_1);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*result)._kind_6.sons.p->data[((NI)2)], (*n_p0)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqdestroy___ast_u3378(colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addCaseBranchFacts__guards_u1638)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1, NI i_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* branch_1;
NIM_BOOL oldNimErrFin7_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	branch_1 = NIM_NIL;
	branch_1 = (*n_p1)._kind_6.sons.p->data[i_p2];
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T5_;
		if (!((*branch_1).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)85))) goto LA3_;
		T5_ = NIM_NIL;
		T5_ = buildOf__guards_u1573(branch_1, (*n_p1)._kind_6.sons.p->data[((NI)0)], (&(*(*m_p0).g).operators));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T5_); goto BeforeRet_;}
		add__ast_u3225((&(*m_p0).s), T5_);
	}
	goto LA1_;
LA3_: ;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T8_;
		colontmpD_ = NIM_NIL;
		colontmpD_ = buildElse__guards_u1584(n_p1, (&(*(*m_p0).g).operators));
		if (NIM_UNLIKELY(*nimErr_)) goto LA7_;
		T8_ = NIM_NIL;
		T8_ = neg__guards_u121(colontmpD_, (&(*(*m_p0).g).operators));
		if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T8_); goto LA7_;}
		add__ast_u3225((&(*m_p0).s), T8_);
		{
			LA7_:;
		}
		{
			oldNimErrFin7_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD_);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin7_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
LA1_: ;
	}BeforeRet_: ;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**, X5BX5D___ast_u5211)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** s_p0, NI s_p0Len_0, NI i_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** result;
	result = &s_p0[(NI)(s_p0Len_0 - i_p1)];
	return result;
}
static N_INLINE(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, lastSon__ast_u5208)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ** T1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ**)0;
	T1_ = X5BX5D___ast_u5211((((*n_p0)._kind_6.sons).p) ? ((*n_p0)._kind_6.sons.p->data) : NIM_NIL, (*n_p0)._kind_6.sons.len, ((NI)1));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&result, (*T1_));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, usefulFact__guards_u395)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p0, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T1_;
NIM_BOOL oldNimErrFin57_;
NIM_BOOL oldNimErrFin75_;
NIM_BOOL oldNimErrFin84_;
NIM_BOOL oldNimErrFin108_;
NIM_BOOL oldNimErrFin103_;
NIM_BOOL oldNimErrFin117_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	T1_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
	T1_ = getMagic__trees_u122(n_p0);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	switch (T1_) {
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)70):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)73):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)78):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)81):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)84):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)87):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)91) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)92):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)113):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)116):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
		colontmpD_ = NIM_NIL;
		{
			NIM_BOOL T5_;
			NIM_BOOL T7_;
			T5_ = (NIM_BOOL)0;
			colontmpD_ = skipConv__types_u3715((*n_p0)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T5_ = ((*colontmpD_).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)23));
			if (!(T5_)) goto LA6_;
			T7_ = (NIM_BOOL)0;
			T7_ = isLetLocation__guards_u95((*n_p0)._kind_6.sons.p->data[((NI)1)], NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (T7_) goto LA8_;
			T7_ = isVar__guards_u76((*n_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA8_: ;
			T5_ = T7_;
LA6_: ;
			if (!T5_) goto LA9_;
			result = buildCall__guards_u159((*o_p1).opIsNil, (*n_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA3_;
LA9_: ;
		{
			{
				NIM_BOOL T14_;
				T14_ = (NIM_BOOL)0;
				T14_ = isLetLocation__guards_u95((*n_p0)._kind_6.sons.p->data[((NI)1)], NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				if (T14_) goto LA15_;
				T14_ = isLetLocation__guards_u95((*n_p0)._kind_6.sons.p->data[((NI)2)], NIM_TRUE);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA15_: ;
				if (!T14_) goto LA16_;
				eqcopy___ast_u3255(&result, n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA12_;
LA16_: ;
			{
				NIM_BOOL T19_;
				tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T20_;
				tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T22_;
				T19_ = (NIM_BOOL)0;
				T20_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
				T20_ = getMagic__trees_u122((*n_p0)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T19_ = (T20_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)36) || T20_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)37) || T20_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)38) || T20_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)39));
				if (T19_) goto LA21_;
				T22_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
				T22_ = getMagic__trees_u122((*n_p0)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				T19_ = (T22_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)36) || T22_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)37) || T22_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)38) || T22_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)39));
LA21_: ;
				if (!T19_) goto LA23_;
				eqcopy___ast_u3255(&result, n_p0);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			}
			goto LA12_;
LA23_: ;
			{
				result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			}
LA12_: ;
		}
LA3_: ;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)71) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)72):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)74) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)77):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)79) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)80):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)82) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)83):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)85) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)86):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)88) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)89):
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)114) ... ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)115):
	{
		{
			NIM_BOOL T29_;
			T29_ = (NIM_BOOL)0;
			T29_ = isLetLocation__guards_u95((*n_p0)._kind_6.sons.p->data[((NI)1)], NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (T29_) goto LA30_;
			T29_ = isLetLocation__guards_u95((*n_p0)._kind_6.sons.p->data[((NI)2)], NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA30_: ;
			if (!T29_) goto LA31_;
			eqcopy___ast_u3255(&result, n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA27_;
LA31_: ;
		{
			NIM_BOOL T34_;
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T35_;
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T37_;
			T34_ = (NIM_BOOL)0;
			T35_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T35_ = getMagic__trees_u122((*n_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T34_ = (T35_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)36) || T35_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)37) || T35_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)38) || T35_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)39));
			if (T34_) goto LA36_;
			T37_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T37_ = getMagic__trees_u122((*n_p0)._kind_6.sons.p->data[((NI)2)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T34_ = (T37_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)36) || T37_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)37) || T37_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)38) || T37_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)39));
LA36_: ;
			if (!T34_) goto LA38_;
			eqcopy___ast_u3255(&result, n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA27_;
LA38_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA27_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)142):
	{
		{
			NIM_BOOL T44_;
			T44_ = (NIM_BOOL)0;
			T44_ = isLetLocation__guards_u95((*n_p0)._kind_6.sons.p->data[((NI)1)], NIM_FALSE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (T44_) goto LA45_;
			T44_ = isVar__guards_u76((*n_p0)._kind_6.sons.p->data[((NI)1)]);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
LA45_: ;
			if (!T44_) goto LA46_;
			eqcopy___ast_u3255(&result, n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA42_;
LA46_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA42_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)132):
	{
		{
			NIM_BOOL T52_;
			T52_ = (NIM_BOOL)0;
			T52_ = isLetLocation__guards_u95((*n_p0)._kind_6.sons.p->data[((NI)1)], NIM_TRUE);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			if (!T52_) goto LA53_;
			eqcopy___ast_u3255(&result, n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA50_;
LA53_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA50_: ;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_1;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_1;
		a_1 = NIM_NIL;
		b_1 = NIM_NIL;
		a_1 = usefulFact__guards_u395((*n_p0)._kind_6.sons.p->data[((NI)1)], o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
		b_1 = usefulFact__guards_u395((*n_p0)._kind_6.sons.p->data[((NI)2)], o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
		{
			NIM_BOOL T60_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T64_;
			T60_ = (NIM_BOOL)0;
			T60_ = !((a_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
			if (!(T60_)) goto LA61_;
			T60_ = !((b_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA61_: ;
			if (!T60_) goto LA62_;
			result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p0).info, ((NI)3));
			if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			T64_ = NIM_NIL;
			T64_ = newSymNode__ast_u5168((*o_p1).opAnd);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T64_); goto LA57_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T64_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			eqwasMoved___ast_u3249(&a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)2)], b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
			eqwasMoved___ast_u3249(&b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
		}
		goto LA58_;
LA62_: ;
		{
			if (!!((a_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA66_;
			result = a_1;
			eqwasMoved___ast_u3249(&a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
		}
		goto LA58_;
LA66_: ;
		{
			if (!!((b_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA69_;
			result = b_1;
			eqwasMoved___ast_u3249(&b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA57_;
		}
		goto LA58_;
LA69_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA58_: ;
		{
			LA57_:;
		}
		{
			oldNimErrFin57_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(b_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_1);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin57_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)96):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_2;
		a_2 = NIM_NIL;
		a_2 = usefulFact__guards_u395((*n_p0)._kind_6.sons.p->data[((NI)1)], o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
		{
			if (!!((a_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA78_;
			result = neg__guards_u121(a_2, o_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA75_;
		}
		goto LA76_;
LA78_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA76_: ;
		{
			LA75_:;
		}
		{
			oldNimErrFin75_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(a_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin75_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	case ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)107):
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_3;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_2;
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		a_3 = NIM_NIL;
		colontmpD__2 = NIM_NIL;
		b_2 = NIM_NIL;
		colontmpD__3 = NIM_NIL;
		colontmpD__2 = usefulFact__guards_u395((*n_p0)._kind_6.sons.p->data[((NI)1)], o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
		a_3 = neg__guards_u121(colontmpD__2, o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
		colontmpD__3 = usefulFact__guards_u395((*n_p0)._kind_6.sons.p->data[((NI)2)], o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
		b_2 = neg__guards_u121(colontmpD__3, o_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
		{
			NIM_BOOL T87_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T91_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T92_;
			T87_ = (NIM_BOOL)0;
			T87_ = !((a_3 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
			if (!(T87_)) goto LA88_;
			T87_ = !((b_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)));
LA88_: ;
			if (!T87_) goto LA89_;
			result = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p0).info, ((NI)3));
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			T91_ = NIM_NIL;
			T91_ = newSymNode__ast_u5168((*o_p1).opAnd);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T91_); goto LA84_;}
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)0)], T91_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)1)], a_3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			eqwasMoved___ast_u3249(&a_3);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			eqsink___ast_u3261(&(*result)._kind_6.sons.p->data[((NI)2)], b_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			eqwasMoved___ast_u3249(&b_2);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
			T92_ = NIM_NIL;
			T92_ = neg__guards_u121(result, o_p1);
			if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T92_); goto LA84_;}
			eqsink___ast_u3261(&result, T92_);
			if (NIM_UNLIKELY(*nimErr_)) goto LA84_;
		}
		goto LA85_;
LA89_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA85_: ;
		{
			LA84_:;
		}
		{
			oldNimErrFin84_ = *nimErr_; *nimErr_ = NIM_FALSE;
			eqdestroy___ast_u3252(colontmpD__3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(b_2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(colontmpD__2);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			eqdestroy___ast_u3252(a_3);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			*nimErr_ = oldNimErrFin84_;
		}
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}
	break;
	default:
	{
		{
			NIM_BOOL T99_;
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__4;
			T99_ = (NIM_BOOL)0;
			T99_ = ((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)3));
			if (!(T99_)) goto LA100_;
			T99_ = ((*(*n_p0)._kind_4.sym).kind == ((tyEnum_TSymKind__9a75lHd9cV25XwN4jXXBmM0Q)9));
LA100_: ;
			if (!T99_) goto LA101_;
			colontmpD__4 = NIM_NIL;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__5;
				colontmpD__4 = astdef__ast_u4596((*n_p0)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
				if (!!((colontmpD__4 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA106_;
				colontmpD__5 = NIM_NIL;
				colontmpD__5 = astdef__ast_u4596((*n_p0)._kind_4.sym);
				if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
				result = usefulFact__guards_u395(colontmpD__5, o_p1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA108_;
				{
					LA108_:;
				}
				{
					oldNimErrFin108_ = *nimErr_; *nimErr_ = NIM_FALSE;
					eqdestroy___ast_u3252(colontmpD__5);
					if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
					*nimErr_ = oldNimErrFin108_;
				}
				if (NIM_UNLIKELY(*nimErr_)) goto LA103_;
			}
			goto LA104_;
LA106_: ;
			{
				result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
			}
LA104_: ;
			{
				LA103_:;
			}
			{
				oldNimErrFin103_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__4);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin103_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA97_;
LA101_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__6;
			if (!((*n_p0).kind == ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)126))) goto LA115_;
			colontmpD__6 = NIM_NIL;
			colontmpD__6 = lastSon__ast_u5208(n_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
			result = usefulFact__guards_u395(colontmpD__6, o_p1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA117_;
			{
				LA117_:;
			}
			{
				oldNimErrFin117_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(colontmpD__6);
				if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
				*nimErr_ = oldNimErrFin117_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		}
		goto LA97_;
LA115_: ;
		{
			result = ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL);
		}
LA97_: ;
	}
	break;
	}
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(void, addFact__guards_u476)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* nn_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_1;
NIM_BOOL oldNimErrFin11_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_1 = NIM_NIL;
	n_1 = usefulFact__guards_u395(nn_p1, (&(*(*m_p0).g).operators));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((n_1 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA4_;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_1;
			if (!!((*m_p0).beSmart)) goto LA8_;
			blitTmp_1 = n_1;
			eqwasMoved___ast_u3249(&n_1);
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
			add__ast_u3225((&(*m_p0).s), blitTmp_1);
		}
		goto LA6_;
LA8_: ;
		{
			tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* c_1;
			c_1 = NIM_NIL;
			c_1 = canon__guards_u289(n_1, (&(*(*m_p0).g).operators));
			if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			{
				tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T14_;
				T14_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
				T14_ = getMagic__trees_u122(c_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				if (!(T14_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)106))) goto LA15_;
				addFact__guards_u476(m_p0, (*c_1)._kind_6.sons.p->data[((NI)1)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				addFact__guards_u476(m_p0, (*c_1)._kind_6.sons.p->data[((NI)2)]);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
			}
			goto LA12_;
LA15_: ;
			{
				tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_2;
				blitTmp_2 = c_1;
				eqwasMoved___ast_u3249(&c_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA11_;
				add__ast_u3225((&(*m_p0).s), blitTmp_2);
			}
LA12_: ;
			{
				LA11_:;
			}
			{
				oldNimErrFin11_ = *nimErr_; *nimErr_ = NIM_FALSE;
				eqdestroy___ast_u3252(c_1);
				if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
				*nimErr_ = oldNimErrFin11_;
			}
			if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		}
LA6_: ;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(n_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addFactNeg__guards_u497)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_2;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	n_2 = NIM_NIL;
	n_2 = neg__guards_u121(n_p1, (&(*(*m_p0).g).operators));
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		if (!!((n_2 == ((tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*) NIM_NIL)))) goto LA4_;
		addFact__guards_u476(m_p0, n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	}
LA4_: ;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(n_2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addFactLe__guards_u1553)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	colontmpD_ = NIM_NIL;
	colontmpD_ = buildCall__guards_u163((*(*m_p0).g).operators.opLe, a_p1, b_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	T2_ = NIM_NIL;
	T2_ = canon__guards_u289(colontmpD_, (&(*(*m_p0).g).operators));
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T2_); goto LA1_;}
	add__ast_u3225((&(*m_p0).s), T2_);
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addFactLt__guards_u1561)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p1, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* bb_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	bb_1 = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD_ = minusOne__guards_u228();
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	bb_1 = buildCall__guards_u163((*(*m_p0).g).operators.opAdd, b_p2, colontmpD_);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	addFactLe__guards_u1553(m_p0, a_p1, bb_1);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(bb_1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(void, addDiscriminantFact__guards_u1611)(tyObject_TModel__Z9bHL8dtMWJj2bnAnSvH1aw* m_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* n_p1) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* fact_1;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T1_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* blitTmp_1;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	fact_1 = NIM_NIL;
	fact_1 = newNodeI__ast_u4095(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)27), (*n_p1).info, ((NI)3));
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	T1_ = NIM_NIL;
	T1_ = newSymNode__ast_u5168((*(*m_p0).g).operators.opEq);
	if (NIM_UNLIKELY(*nimErr_)) {eqdestroy___ast_u3252(T1_); goto BeforeRet_;}
	eqsink___ast_u3261(&(*fact_1)._kind_6.sons.p->data[((NI)0)], T1_);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*fact_1)._kind_6.sons.p->data[((NI)1)], (*n_p1)._kind_6.sons.p->data[((NI)0)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	eqcopy___ast_u3255(&(*fact_1)._kind_6.sons.p->data[((NI)2)], (*n_p1)._kind_6.sons.p->data[((NI)1)]);
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	blitTmp_1 = fact_1;
	add__ast_u3225((&(*m_p0).s), blitTmp_1);
	}BeforeRet_: ;
}
N_LIB_PRIVATE N_NIMCALL(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ*, buildAdd__guards_u390)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, NI64 b_p1, tyObject_Operators__yrAfvKhiysDamJlcGNgVfQ* o_p2) {
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* result;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD_;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__2;
	tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* T2_;
NIM_BOOL oldNimErrFin1_;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	result = NIM_NIL;
	colontmpD_ = NIM_NIL;
	colontmpD__2 = NIM_NIL;
	T2_ = NIM_NIL;
	{
		tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* colontmpD__3;
		if (!!((b_p1 == IL64(0)))) goto LA5_;
		colontmpD__3 = NIM_NIL;
		colontmpD__3 = newIntNode__ast_u5200(((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)6), b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		colontmpD_ = buildCall__guards_u163((*o_p2).opAdd, a_p0, colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		eqdestroy___ast_u3252(colontmpD__3);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T2_ = colontmpD_;
	}
	goto LA3_;
LA5_: ;
	{
		eqcopy___ast_u3255(&colontmpD__2, a_p0);
		if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
		T2_ = colontmpD__2;
	}
LA3_: ;
	result = canon__guards_u289(T2_, o_p2);
	if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
	{
		LA1_:;
	}
	{
		oldNimErrFin1_ = *nimErr_; *nimErr_ = NIM_FALSE;
		eqdestroy___ast_u3252(colontmpD__2);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		eqdestroy___ast_u3252(colontmpD_);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		*nimErr_ = oldNimErrFin1_;
	}
	if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
	}BeforeRet_: ;
	return result;
}
N_LIB_PRIVATE N_NIMCALL(NI64, simpleSlice__guards_u806)(tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* a_p0, tyObject_TNode__eTSqWXWVL7LuzmZf0c6unQ* b_p1) {
	NI64 result;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
	{
		NIM_BOOL T3_;
		T3_ = (NIM_BOOL)0;
		T3_ = sameTree__guards_u545(a_p0, b_p1);
		if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
		if (!T3_) goto LA4_;
		{
			NIM_BOOL T8_;
			tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg T9_;
			T8_ = (NIM_BOOL)0;
			T9_ = (tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)0;
			T9_ = getMagic__trees_u122(a_p0);
			if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
			T8_ = (T9_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)46) || T9_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)53) || T9_ == ((tyEnum_TMagic__I3BbtzbLAKAfOym58MkGAg)51));
			if (!(T8_)) goto LA10_;
			T8_ = ((*(*a_p0)._kind_6.sons.p->data[((NI)2)]).kind >= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)5) && (*(*a_p0)._kind_6.sons.p->data[((NI)2)]).kind <= ((tyEnum_TNodeKind__eZrq5BxQzEyOryCcwdj4Kw)15));
LA10_: ;
			if (!T8_) goto LA11_;
			result = (*(*a_p0)._kind_6.sons.p->data[((NI)2)])._kind_1.intVal;
		}
		goto LA6_;
LA11_: ;
		{
			result = IL64(0);
		}
LA6_: ;
	}
	goto LA1_;
LA4_: ;
	{
		result = IL64(-1);
	}
LA1_: ;
	}BeforeRet_: ;
	return result;
}
