123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328 |
- /* Provide Declarations */
- #include <stdint.h>
- #include <math.h>
- #ifndef __cplusplus
- typedef unsigned char bool;
- #endif
- typedef uint64_t ConstantDoubleTy;
- #ifndef _MSC_VER
- #define __forceinline __attribute__((always_inline)) inline
- #endif
- #if defined(__GNUC__)
- #define __ATTRIBUTELIST__(x) __attribute__(x)
- #else
- #define __ATTRIBUTELIST__(x)
- #endif
- #ifdef _MSC_VER /* Can only support "linkonce" vars with GCC */
- #define __attribute__(X)
- #endif
- #ifdef _MSC_VER
- #define __PREFIXALIGN__(X) __declspec(align(X))
- #define __POSTFIXALIGN__(X)
- #else
- #define __PREFIXALIGN__(X)
- #define __POSTFIXALIGN__(X) __attribute__((aligned(X)))
- #endif
- static __forceinline int llvm_fcmp_uno(double X, double Y) { return X != X || Y != Y; }
- static __forceinline int llvm_fcmp_ole(double X, double Y) { return X <= Y; }
- static __forceinline int llvm_fcmp_ogt(double X, double Y) { return X > Y; }
- static __forceinline int llvm_fcmp_oeq(double X, double Y) { return X == Y; }
- /* Global Declarations */
- /* Helper union for bitcasts */
- typedef union {
- uint32_t Int32;
- uint64_t Int64;
- float Float;
- double Double;
- } llvmBitCastUnion;
- /* Types Declarations */
- struct l_array_20_uint8_t;
- struct l_struct_struct_OC_DynamicArray;
- struct l_struct_struct_OC_Matrix;
- struct l_struct_struct_OC_Node;
- struct l_array_256_uint8_t;
- struct l_struct_struct_OC_Point;
- struct l_struct_struct_OC_Circle;
- struct l_array_9_uint8_t;
- struct l_array_55_uint8_t;
- struct l_array_33_uint8_t;
- struct l_array_29_uint8_t;
- struct l_array_36_uint8_t;
- struct l_array_31_uint8_t;
- struct l_array_25_uint8_t;
- struct l_array_46_uint8_t;
- struct l_array_49_uint8_t;
- struct l_array_35_uint8_t;
- struct l_array_19_uint8_t;
- struct l_array_27_uint8_t;
- struct l_array_32_uint8_t;
- struct l_array_39_uint8_t;
- struct l_array_28_uint8_t;
- struct l_array_43_uint8_t;
- struct l_array_41_uint8_t;
- struct l_array_44_uint8_t;
- struct l_array_45_uint8_t;
- struct l_array_42_uint8_t;
- struct l_array_38_uint8_t;
- struct l_array_34_uint8_t;
- struct l_array_30_uint8_t;
- struct l_array_11_uint8_t;
- struct l_array_22_uint8_t;
- struct l_array_15_uint8_t;
- struct l_array_24_uint8_t;
- struct l_array_26_uint8_t;
- struct l_array_17_uint8_t;
- struct l_array_14_uint8_t;
- struct l_array_21_uint8_t;
- struct l_array_16_uint8_t;
- struct l_array_100_uint32_t;
- struct l_array_8_uint32_t;
- struct l_array_97_uint32_t;
- struct l_unnamed_2;
- struct l_array_97_struct_AC_l_unnamed_2;
- struct l_unnamed_1;
- struct l_struct_fused_return_projectA_main_memoizedFib;
- struct l_struct_fused_return_createDynamicArray_processMatrix;
- /* Function definitions */
- /* Types Definitions */
- struct l_array_20_uint8_t {
- uint8_t array[20];
- };
- struct l_struct_struct_OC_DynamicArray {
- void* field0;
- uint32_t field1;
- uint32_t field2;
- uint32_t field3;
- uint32_t field4;
- };
- struct l_struct_struct_OC_Matrix {
- void* field0;
- uint32_t field1;
- uint32_t field2;
- uint32_t field3;
- double field4;
- };
- struct l_struct_struct_OC_Node {
- uint32_t field0;
- void* field1;
- void* field2;
- uint32_t field3;
- uint32_t field4;
- };
- struct l_array_256_uint8_t {
- uint8_t array[256];
- };
- struct l_struct_struct_OC_Point {
- uint32_t field0;
- uint32_t field1;
- struct l_array_256_uint8_t field2;
- double field3;
- };
- struct l_struct_struct_OC_Circle {
- struct l_struct_struct_OC_Point field0;
- double field1;
- uint32_t field2;
- struct l_array_256_uint8_t field3;
- };
- struct l_array_9_uint8_t {
- uint8_t array[9];
- };
- struct l_array_55_uint8_t {
- uint8_t array[55];
- };
- struct l_array_33_uint8_t {
- uint8_t array[33];
- };
- struct l_array_29_uint8_t {
- uint8_t array[29];
- };
- struct l_array_36_uint8_t {
- uint8_t array[36];
- };
- struct l_array_31_uint8_t {
- uint8_t array[31];
- };
- struct l_array_25_uint8_t {
- uint8_t array[25];
- };
- struct l_array_46_uint8_t {
- uint8_t array[46];
- };
- struct l_array_49_uint8_t {
- uint8_t array[49];
- };
- struct l_array_35_uint8_t {
- uint8_t array[35];
- };
- struct l_array_19_uint8_t {
- uint8_t array[19];
- };
- struct l_array_27_uint8_t {
- uint8_t array[27];
- };
- struct l_array_32_uint8_t {
- uint8_t array[32];
- };
- struct l_array_39_uint8_t {
- uint8_t array[39];
- };
- struct l_array_28_uint8_t {
- uint8_t array[28];
- };
- struct l_array_43_uint8_t {
- uint8_t array[43];
- };
- struct l_array_41_uint8_t {
- uint8_t array[41];
- };
- struct l_array_44_uint8_t {
- uint8_t array[44];
- };
- struct l_array_45_uint8_t {
- uint8_t array[45];
- };
- struct l_array_42_uint8_t {
- uint8_t array[42];
- };
- struct l_array_38_uint8_t {
- uint8_t array[38];
- };
- struct l_array_34_uint8_t {
- uint8_t array[34];
- };
- struct l_array_30_uint8_t {
- uint8_t array[30];
- };
- struct l_array_11_uint8_t {
- uint8_t array[11];
- };
- struct l_array_22_uint8_t {
- uint8_t array[22];
- };
- struct l_array_15_uint8_t {
- uint8_t array[15];
- };
- struct l_array_24_uint8_t {
- uint8_t array[24];
- };
- struct l_array_26_uint8_t {
- uint8_t array[26];
- };
- struct l_array_17_uint8_t {
- uint8_t array[17];
- };
- struct l_array_14_uint8_t {
- uint8_t array[14];
- };
- struct l_array_21_uint8_t {
- uint8_t array[21];
- };
- struct l_array_16_uint8_t {
- uint8_t array[16];
- };
- struct l_array_100_uint32_t {
- uint32_t array[100];
- };
- struct l_array_8_uint32_t {
- uint32_t array[8];
- };
- struct l_array_97_uint32_t {
- uint32_t array[97];
- };
- #ifdef _MSC_VER
- #pragma pack(push, 1)
- #endif
- struct l_unnamed_2 {
- uint32_t field0;
- uint32_t field1;
- uint32_t field2;
- struct l_array_97_uint32_t field3;
- } __attribute__ ((packed));
- #ifdef _MSC_VER
- #pragma pack(pop)
- #endif
- struct l_array_97_struct_AC_l_unnamed_2 {
- struct l_unnamed_2 array[97];
- };
- #ifdef _MSC_VER
- #pragma pack(push, 1)
- #endif
- struct l_unnamed_1 {
- struct l_unnamed_2 field0;
- struct l_unnamed_2 field1;
- struct l_unnamed_2 field2;
- struct l_array_97_struct_AC_l_unnamed_2 field3;
- } __attribute__ ((packed));
- #ifdef _MSC_VER
- #pragma pack(pop)
- #endif
- /* Global Variable Declarations */
- extern uint32_t globalCounter;
- extern void* globalErrorMessage;
- extern uint32_t recursionDepth;
- const static struct l_array_9_uint8_t _OC_str;
- extern void* stderr;
- const static struct l_array_55_uint8_t _OC_str_OC_1;
- const static struct l_array_33_uint8_t _OC_str_OC_2;
- const static struct l_array_29_uint8_t _OC_str_OC_3;
- const static struct l_array_36_uint8_t _OC_str_OC_4;
- const static struct l_array_31_uint8_t _OC_str_OC_5;
- const static struct l_array_25_uint8_t _OC_str_OC_6;
- const static struct l_array_46_uint8_t _OC_str_OC_7;
- const static struct l_array_49_uint8_t _OC_str_OC_8;
- const static struct l_array_35_uint8_t _OC_str_OC_9;
- const static struct l_array_19_uint8_t _OC_str_OC_10;
- const static struct l_array_25_uint8_t _OC_str_OC_11;
- const static struct l_array_27_uint8_t _OC_str_OC_12;
- const static struct l_array_46_uint8_t _OC_str_OC_13;
- const static struct l_array_32_uint8_t _OC_str_OC_14;
- const static struct l_array_39_uint8_t _OC_str_OC_15;
- const static struct l_array_28_uint8_t _OC_str_OC_16;
- const static struct l_array_46_uint8_t _OC_str_OC_17;
- const static struct l_array_43_uint8_t _OC_str_OC_18;
- const static struct l_array_41_uint8_t _OC_str_OC_19;
- const static struct l_array_44_uint8_t _OC_str_OC_20;
- const static struct l_array_20_uint8_t _OC_str_OC_21;
- const static struct l_array_20_uint8_t _OC_str_OC_22;
- const static struct l_array_45_uint8_t _OC_str_OC_23;
- const static struct l_array_42_uint8_t _OC_str_OC_24;
- const static struct l_array_38_uint8_t _OC_str_OC_25;
- static uint32_t insertNode_OC_maxDepth;
- const static struct l_array_34_uint8_t _OC_str_OC_26;
- static uint32_t calculationResult;
- const static struct l_array_30_uint8_t _OC_str_OC_27;
- const static struct l_array_11_uint8_t _OC_str_OC_28;
- const static struct l_array_29_uint8_t _OC_str_OC_29;
- const static struct l_array_33_uint8_t _OC_str_OC_30;
- const static struct l_array_43_uint8_t _OC_str_OC_31;
- const static struct l_array_22_uint8_t _OC_str_OC_32;
- const static struct l_array_31_uint8_t _OC_str_OC_33;
- const static struct l_array_30_uint8_t _OC_str_OC_34;
- const static struct l_array_36_uint8_t _OC_str_OC_35;
- const static struct l_array_15_uint8_t _OC_str_OC_36;
- const static struct l_array_22_uint8_t _OC_str_OC_37;
- const static struct l_array_24_uint8_t _OC_str_OC_38;
- const static struct l_array_45_uint8_t _OC_str_OC_39;
- const static struct l_array_26_uint8_t _OC_str_OC_40;
- const static struct l_array_9_uint8_t _OC_str_OC_41;
- const static struct l_array_9_uint8_t _OC_str_OC_42;
- const static struct l_array_35_uint8_t _OC_str_OC_43;
- const static struct l_array_20_uint8_t _OC_str_OC_44;
- const static struct l_array_17_uint8_t _OC_str_OC_45;
- const static struct l_array_28_uint8_t _OC_str_OC_46;
- const static struct l_array_27_uint8_t _OC_str_OC_47;
- const static struct l_array_32_uint8_t _OC_str_OC_48;
- const static struct l_array_14_uint8_t _OC_str_OC_49;
- const static struct l_array_21_uint8_t _OC_str_OC_50;
- const static struct l_array_16_uint8_t _OC_str_OC_51;
- const static struct l_array_39_uint8_t _OC_str_OC_52;
- const static struct l_array_21_uint8_t _OC_str_OC_53;
- const static struct l_array_30_uint8_t _OC_str_OC_54;
- const static struct l_array_21_uint8_t _OC_str_OC_55;
- const static struct l_array_9_uint8_t _OC_str_OC_56;
- static __PREFIXALIGN__(16) struct l_array_100_uint32_t cache __POSTFIXALIGN__(16);
- const static struct l_array_14_uint8_t __const_OC_projectB_main_OC_str;
- const static __PREFIXALIGN__(16) struct l_array_8_uint32_t __const_OC_projectB_main_OC_arr __POSTFIXALIGN__(16);
- const static __PREFIXALIGN__(16) struct l_unnamed_1 __const_OC_projectB_main_OC_matrix __POSTFIXALIGN__(16);
- /* Function Declarations */
- void* getErrorMessage(void) __ATTRIBUTELIST__((noinline, nothrow));
- void free(void* _610) __ATTRIBUTELIST__((nothrow));
- void* strdup(void* _611) __ATTRIBUTELIST__((nothrow));
- uint32_t fprintf(void* _612, void* _613, ...);
- uint32_t factorial(uint32_t _7) __ATTRIBUTELIST__((noinline, nothrow));
- void* malloc(uint64_t _614) __ATTRIBUTELIST__((nothrow));
- void pushBack(void* _50, uint32_t _51) __ATTRIBUTELIST__((noinline, nothrow));
- void* realloc(void* _615, uint64_t _616) __ATTRIBUTELIST__((nothrow));
- void* calloc(uint64_t _617, uint64_t _618) __ATTRIBUTELIST__((nothrow));
- void* multiplyMatrices(void* _111, void* _112) __ATTRIBUTELIST__((noinline, nothrow));
- uint32_t abs(uint32_t _619) __ATTRIBUTELIST__((nothrow));
- void* insertNode(void* _251, uint32_t _252) __ATTRIBUTELIST__((noinline, nothrow));
- uint32_t printf(void* _620, ...);
- uint64_t time(void* _621) __ATTRIBUTELIST__((nothrow));
- void srand(uint32_t _622) __ATTRIBUTELIST__((nothrow));
- uint32_t rand(void) __ATTRIBUTELIST__((nothrow));
- double calculateDistance(struct l_struct_struct_OC_Point _323, struct l_struct_struct_OC_Point _324, void* _325) __ATTRIBUTELIST__((noinline, nothrow));
- double calculateCircleArea(struct l_struct_struct_OC_Circle _390, void* _391) __ATTRIBUTELIST__((noinline, nothrow));
- uint32_t strcmp(void* _623, void* _624) __ATTRIBUTELIST__((nothrow));
- uint32_t validateMatrix(void* _449) __ATTRIBUTELIST__((noinline, nothrow));
- void* findCentroid(void* _504, uint32_t _505, void* _506) __ATTRIBUTELIST__((noinline, nothrow));
- void* strcpy(void* _625, void* _626) __ATTRIBUTELIST__((nothrow));
- uint64_t strlen(void* _627) __ATTRIBUTELIST__((nothrow));
- uint32_t fused_quickSort(bool _628, void* _629, uint32_t _630, uint32_t _631, void* _632, uint32_t _633);
- uint32_t fused_performSimpleCalculations(bool _634, void* _635, uint32_t _636);
- struct l_struct_fused_return_projectA_main_memoizedFib fused_projectA_main(bool _637, uint32_t _638);
- struct l_struct_fused_return_createDynamicArray_processMatrix fused_createDynamicArray(bool _639, uint32_t _640, void* _641, uint32_t _642);
- uint32_t fused_setErrorMessage(bool _643, void* _644);
- void* fused_createMatrix(bool _645, uint32_t _646, uint32_t _647, void* _648);
- uint32_t fused_removeDuplicates(bool _649, void* _650, uint32_t _651);
- /* Global Variable Definitions and Initialization */
- uint32_t globalCounter;
- void* globalErrorMessage;
- uint32_t recursionDepth;
- static const struct l_array_9_uint8_t _OC_str = { "No error" };
- static const struct l_array_55_uint8_t _OC_str_OC_1 = { "Critical: Failed to allocate memory for error message\n" };
- static const struct l_array_33_uint8_t _OC_str_OC_2 = { "Maximum recursion depth exceeded" };
- static const struct l_array_29_uint8_t _OC_str_OC_3 = { "Factorial of negative number" };
- static const struct l_array_36_uint8_t _OC_str_OC_4 = { "Input too large, potential overflow" };
- static const struct l_array_31_uint8_t _OC_str_OC_5 = { "Factorial calculation overflow" };
- static const struct l_array_25_uint8_t _OC_str_OC_6 = { "Invalid initial capacity" };
- static const struct l_array_46_uint8_t _OC_str_OC_7 = { "Initial capacity exceeds maximum allowed size" };
- static const struct l_array_49_uint8_t _OC_str_OC_8 = { "Memory allocation failed for DynamicArray struct" };
- static const struct l_array_35_uint8_t _OC_str_OC_9 = { "Memory allocation failed for array" };
- static const struct l_array_19_uint8_t _OC_str_OC_10 = { "Null array pointer" };
- static const struct l_array_25_uint8_t _OC_str_OC_11 = { "Array size limit reached" };
- static const struct l_array_27_uint8_t _OC_str_OC_12 = { "Memory reallocation failed" };
- static const struct l_array_46_uint8_t _OC_str_OC_13 = { "Maximum recursion depth exceeded in quickSort" };
- static const struct l_array_32_uint8_t _OC_str_OC_14 = { "Null array pointer in quickSort" };
- static const struct l_array_39_uint8_t _OC_str_OC_15 = { "Array index out of bounds in quickSort" };
- static const struct l_array_28_uint8_t _OC_str_OC_16 = { "Matrix dimensions too small" };
- static const struct l_array_46_uint8_t _OC_str_OC_17 = { "Matrix dimensions exceed maximum allowed size" };
- static const struct l_array_43_uint8_t _OC_str_OC_18 = { "Memory allocation failed for matrix struct" };
- static const struct l_array_41_uint8_t _OC_str_OC_19 = { "Memory allocation failed for matrix rows" };
- static const struct l_array_44_uint8_t _OC_str_OC_20 = { "Memory allocation failed for matrix columns" };
- static const struct l_array_20_uint8_t _OC_str_OC_21 = { "Null matrix pointer" };
- static const struct l_array_20_uint8_t _OC_str_OC_22 = { "Invalid matrix data" };
- static const struct l_array_45_uint8_t _OC_str_OC_23 = { "Invalid matrix dimensions for multiplication" };
- static const struct l_array_42_uint8_t _OC_str_OC_24 = { "Integer overflow in matrix multiplication" };
- static const struct l_array_38_uint8_t _OC_str_OC_25 = { "Memory allocation failed for new node" };
- static uint32_t insertNode_OC_maxDepth;
- static const struct l_array_34_uint8_t _OC_str_OC_26 = { "List exceeds maximum allowed size" };
- static uint32_t calculationResult;
- static const struct l_array_30_uint8_t _OC_str_OC_27 = { "Final calculation result: %d\n" };
- static const struct l_array_11_uint8_t _OC_str_OC_28 = { "Error: %s\n" };
- static const struct l_array_29_uint8_t _OC_str_OC_29 = { "Error during array push: %s\n" };
- static const struct l_array_33_uint8_t _OC_str_OC_30 = { "Error during list insertion: %s\n" };
- static const struct l_array_43_uint8_t _OC_str_OC_31 = { "Circular reference detected in linked list" };
- static const struct l_array_22_uint8_t _OC_str_OC_32 = { "Invalid point weights" };
- static const struct l_array_31_uint8_t _OC_str_OC_33 = { "Coordinates out of valid range" };
- static const struct l_array_30_uint8_t _OC_str_OC_34 = { "Distance calculation overflow" };
- static const struct l_array_36_uint8_t _OC_str_OC_35 = { "Invalid distance calculation result" };
- static const struct l_array_15_uint8_t _OC_str_OC_36 = { "Invalid circle" };
- static const struct l_array_22_uint8_t _OC_str_OC_37 = { "Invalid circle radius" };
- static const struct l_array_24_uint8_t _OC_str_OC_38 = { "Circle radius too large" };
- static const struct l_array_45_uint8_t _OC_str_OC_39 = { "Circle center coordinates out of valid range" };
- static const struct l_array_26_uint8_t _OC_str_OC_40 = { "Area calculation overflow" };
- static const struct l_array_9_uint8_t _OC_str_OC_41 = { "standard" };
- static const struct l_array_9_uint8_t _OC_str_OC_42 = { "weighted" };
- static const struct l_array_35_uint8_t _OC_str_OC_43 = { "Invalid weight for weighted circle" };
- static const struct l_array_20_uint8_t _OC_str_OC_44 = { "Unknown circle type" };
- static const struct l_array_17_uint8_t _OC_str_OC_45 = { "Null matrix data" };
- static const struct l_array_28_uint8_t _OC_str_OC_46 = { "Matrix dimensions too large" };
- static const struct l_array_27_uint8_t _OC_str_OC_47 = { "Invalid matrix row pointer" };
- static const struct l_array_32_uint8_t _OC_str_OC_48 = { "Inconsistent square matrix flag" };
- static const struct l_array_14_uint8_t _OC_str_OC_49 = { "Invalid array" };
- static const struct l_array_21_uint8_t _OC_str_OC_50 = { "Invalid points array" };
- static const struct l_array_16_uint8_t _OC_str_OC_51 = { "Too many points" };
- static const struct l_array_39_uint8_t _OC_str_OC_52 = { "Failed to allocate memory for centroid" };
- static const struct l_array_21_uint8_t _OC_str_OC_53 = { "Invalid point weight" };
- static const struct l_array_30_uint8_t _OC_str_OC_54 = { "Centroid calculation overflow" };
- static const struct l_array_21_uint8_t _OC_str_OC_55 = { "Total weight is zero" };
- static const struct l_array_9_uint8_t _OC_str_OC_56 = { "Centroid" };
- static __PREFIXALIGN__(16) struct l_array_100_uint32_t cache __POSTFIXALIGN__(16);
- static const struct l_array_14_uint8_t __const_OC_projectB_main_OC_str = { "Hello, World!" };
- static const __PREFIXALIGN__(16) struct l_array_8_uint32_t __const_OC_projectB_main_OC_arr __POSTFIXALIGN__(16) = { { 10, 22, 9, 33, 21, 50, 41, 60 } };
- static const __PREFIXALIGN__(16) struct l_unnamed_1 __const_OC_projectB_main_OC_matrix __POSTFIXALIGN__(16) = { { 1, 2, 3, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 4, 5, 6, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 7, 8, 9, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { { { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } }, { 0, 0, 0, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } } } };
- /* LLVM Intrinsic Builtin Function Bodies */
- static __forceinline uint32_t llvm_select_u32(bool condition, uint32_t iftrue, uint32_t ifnot) {
- uint32_t r;
- r = condition ? iftrue : ifnot;
- return r;
- }
- static __forceinline uint32_t llvm_add_u32(uint32_t a, uint32_t b) {
- uint32_t r = a + b;
- return r;
- }
- static __forceinline uint64_t llvm_add_u64(uint64_t a, uint64_t b) {
- uint64_t r = a + b;
- return r;
- }
- static __forceinline uint32_t llvm_sub_u32(uint32_t a, uint32_t b) {
- uint32_t r = a - b;
- return r;
- }
- static __forceinline uint32_t llvm_mul_u32(uint32_t a, uint32_t b) {
- uint32_t r = a * b;
- return r;
- }
- static __forceinline uint64_t llvm_mul_u64(uint64_t a, uint64_t b) {
- uint64_t r = a * b;
- return r;
- }
- static __forceinline uint32_t llvm_sdiv_u32(int32_t a, int32_t b) {
- uint32_t r = a / b;
- return r;
- }
- static __forceinline double llvm_OC_fabs_OC_f64(double a) {
- double r;
- r = fabs(a);
- return r;
- }
- /* Function Bodies */
- void* getErrorMessage(void) {
- void* _1;
- void* _2;
- void* _3;
- void* _3__PHI_TEMPORARY;
- _1 = globalErrorMessage;
- if ((_1 != ((void*)/*NULL*/0))) {
- goto _4;
- } else {
- goto _5;
- }
- _4:
- _2 = globalErrorMessage;
- _3__PHI_TEMPORARY = _2; /* for PHI node */
- goto _6;
- _5:
- _3__PHI_TEMPORARY = (&_OC_str); /* for PHI node */
- goto _6;
- _6:
- _3 = _3__PHI_TEMPORARY;
- return _3;
- }
- uint32_t factorial(uint32_t _7) {
- uint32_t _8; /* Address-exposed local */
- uint32_t _9; /* Address-exposed local */
- uint32_t _10; /* Address-exposed local */
- uint32_t _11; /* Address-exposed local */
- uint32_t _12;
- uint32_t _13;
- uint32_t _14;
- uint32_t _15;
- uint32_t _16;
- uint32_t _17;
- uint32_t _18;
- uint32_t _19;
- uint32_t _20;
- uint32_t _21;
- uint32_t _22;
- uint32_t _23;
- uint32_t _24;
- uint32_t _25;
- uint32_t _26;
- uint32_t _27;
- uint32_t _28;
- uint32_t _29;
- uint32_t _30;
- uint32_t _31;
- uint32_t _32;
- uint32_t _33;
- uint32_t _34;
- uint32_t _35;
- _9 = _7;
- _12 = recursionDepth;
- _13 = llvm_add_u32(_12, 1);
- recursionDepth = _13;
- if ((((int32_t)_13) > ((int32_t)1000u))) {
- goto _36;
- } else {
- goto _37;
- }
- _36:
- _14 = fused_setErrorMessage(0, (&_OC_str_OC_2));
- _15 = recursionDepth;
- recursionDepth = (llvm_add_u32(_15, -1));
- _8 = -1;
- goto _38;
- _37:
- _16 = _9;
- if ((((int32_t)_16) < ((int32_t)0u))) {
- goto _39;
- } else {
- goto _40;
- }
- _39:
- _17 = fused_setErrorMessage(0, (&_OC_str_OC_3));
- _18 = recursionDepth;
- recursionDepth = (llvm_add_u32(_18, -1));
- _8 = -1;
- goto _38;
- _40:
- _19 = _9;
- if ((((int32_t)_19) > ((int32_t)20u))) {
- goto _41;
- } else {
- goto _42;
- }
- _41:
- _20 = fused_setErrorMessage(0, (&_OC_str_OC_4));
- _21 = recursionDepth;
- recursionDepth = (llvm_add_u32(_21, -1));
- _8 = -1;
- goto _38;
- _42:
- _22 = _9;
- if ((((int32_t)_22) <= ((int32_t)1u))) {
- goto _43;
- } else {
- goto _44;
- }
- _43:
- _10 = 1;
- goto _45;
- _44:
- _23 = _9;
- _24 = factorial((llvm_sub_u32(_23, 1)));
- _11 = _24;
- _25 = _11;
- if ((_25 == 4294967295u)) {
- goto _46;
- } else {
- goto _47;
- }
- _46:
- _26 = recursionDepth;
- recursionDepth = (llvm_add_u32(_26, -1));
- _8 = -1;
- goto _38;
- _47:
- _27 = _11;
- _28 = _9;
- if ((((int32_t)_27) > ((int32_t)(llvm_sdiv_u32(2147483647u, _28))))) {
- goto _48;
- } else {
- goto _49;
- }
- _48:
- _29 = fused_setErrorMessage(0, (&_OC_str_OC_5));
- _30 = recursionDepth;
- recursionDepth = (llvm_add_u32(_30, -1));
- _8 = -1;
- goto _38;
- _49:
- _31 = _9;
- _32 = _11;
- _10 = (llvm_mul_u32(_31, _32));
- goto _45;
- _45:
- _33 = recursionDepth;
- recursionDepth = (llvm_add_u32(_33, -1));
- _34 = _10;
- _8 = _34;
- goto _38;
- _38:
- _35 = _8;
- return _35;
- }
- void pushBack(void* _50, uint32_t _51) {
- void* _52; /* Address-exposed local */
- uint32_t _53; /* Address-exposed local */
- uint32_t _54; /* Address-exposed local */
- void* _55; /* Address-exposed local */
- void* _56;
- uint32_t _57;
- void* _58;
- uint32_t _59;
- uint32_t _60;
- void* _61;
- uint32_t _62;
- void* _63;
- uint32_t _64;
- void* _65;
- uint32_t _66;
- uint32_t _67;
- void* _68;
- void* _69;
- uint32_t _70;
- void* _71;
- void* _72;
- uint32_t _73;
- void* _74;
- void* _75;
- uint32_t _76;
- void* _77;
- void* _78;
- uint32_t _79;
- void* _80;
- uint32_t _81;
- uint32_t _82;
- void* _83;
- void* _84;
- void* _85;
- uint32_t _86;
- uint32_t _87;
- void* _88;
- uint32_t _89;
- void* _90;
- void* _91;
- void* _92;
- void* _93;
- uint32_t _94;
- void* _95;
- _52 = _50;
- _53 = _51;
- _56 = _52;
- if ((_56 != ((void*)/*NULL*/0))) {
- goto _96;
- } else {
- goto _97;
- }
- _97:
- _57 = fused_setErrorMessage(0, (&_OC_str_OC_10));
- goto _98;
- _96:
- _58 = _52;
- _59 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_58)->field1))));
- if ((((int32_t)_59) >= ((int32_t)1000u))) {
- goto _99;
- } else {
- goto _100;
- }
- _99:
- _60 = fused_setErrorMessage(0, (&_OC_str_OC_11));
- goto _98;
- _100:
- _61 = _52;
- _62 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_61)->field1))));
- _63 = _52;
- _64 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_63)->field2))));
- if ((((int32_t)_62) >= ((int32_t)_64))) {
- goto _101;
- } else {
- goto _102;
- }
- _101:
- _65 = _52;
- _66 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_65)->field2))));
- _54 = (llvm_mul_u32(_66, 2));
- _67 = _54;
- if ((((int32_t)_67) > ((int32_t)1000u))) {
- goto _103;
- } else {
- goto _104;
- }
- _103:
- _54 = 1000;
- goto _104;
- _104:
- _68 = _52;
- _69 = *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_68)->field0))));
- _70 = _54;
- _71 = realloc((((void*)_69)), (llvm_mul_u64(4, (((int64_t)(int32_t)_70)))));
- _55 = (((void*)_71));
- _72 = _55;
- if ((_72 != ((void*)/*NULL*/0))) {
- goto _105;
- } else {
- goto _106;
- }
- _106:
- _73 = fused_setErrorMessage(0, (&_OC_str_OC_12));
- goto _98;
- _105:
- _74 = _55;
- _75 = _52;
- *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_75)->field0)))) = _74;
- _76 = _54;
- _77 = _52;
- *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_77)->field2)))) = _76;
- goto _102;
- _102:
- _78 = _52;
- _79 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_78)->field3))));
- if ((_79 != 0u)) {
- goto _107;
- } else {
- goto _108;
- }
- _107:
- _80 = _52;
- _81 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_80)->field1))));
- if ((((int32_t)_81) > ((int32_t)0u))) {
- goto _109;
- } else {
- goto _108;
- }
- _109:
- _82 = _53;
- _83 = _52;
- _84 = *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_83)->field0))));
- _85 = _52;
- _86 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_85)->field1))));
- _87 = *(uint32_t*)(((&((uint32_t*)_84)[((int64_t)(((int64_t)(int32_t)(llvm_sub_u32(_86, 1)))))])));
- if ((((int32_t)_82) < ((int32_t)_87))) {
- goto _110;
- } else {
- goto _108;
- }
- _110:
- _88 = _52;
- *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_88)->field3)))) = 0;
- goto _108;
- _108:
- _89 = _53;
- _90 = _52;
- _91 = *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_90)->field0))));
- _92 = _52;
- _93 = ((&(((struct l_struct_struct_OC_DynamicArray*)_92)->field1)));
- _94 = *(uint32_t*)_93;
- *(uint32_t*)_93 = (llvm_add_u32(_94, 1));
- *(uint32_t*)(((&((uint32_t*)_91)[((int64_t)(((int64_t)(int32_t)_94)))]))) = _89;
- _95 = _52;
- *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_95)->field4)))) = 1;
- goto _98;
- _98:
- return;
- }
- void* multiplyMatrices(void* _111, void* _112) {
- void* _113; /* Address-exposed local */
- void* _114; /* Address-exposed local */
- void* _115; /* Address-exposed local */
- void* _116; /* Address-exposed local */
- uint64_t _117; /* Address-exposed local */
- uint32_t _118; /* Address-exposed local */
- uint32_t _119; /* Address-exposed local */
- uint64_t _120; /* Address-exposed local */
- uint32_t _121; /* Address-exposed local */
- uint64_t _122; /* Address-exposed local */
- uint32_t _123; /* Address-exposed local */
- void* _124;
- void* _125;
- uint32_t _126;
- void* _127;
- void* _128;
- void* _129;
- void* _130;
- uint32_t _131;
- void* _132;
- uint32_t _133;
- void* _134;
- uint32_t _135;
- uint32_t _136;
- void* _137;
- uint32_t _138;
- void* _139;
- uint32_t _140;
- uint32_t _141;
- void* _142;
- uint32_t _143;
- void* _144;
- uint32_t _145;
- void* _146;
- void* _147;
- uint32_t _148;
- void* _149;
- uint32_t _150;
- uint32_t _151;
- void* _152;
- uint32_t _153;
- uint32_t _154;
- void* _155;
- uint32_t _156;
- void* _157;
- void* _158;
- uint32_t _159;
- void* _160;
- uint32_t _161;
- uint32_t _162;
- void* _163;
- void* _164;
- uint32_t _165;
- void* _166;
- uint32_t _167;
- uint32_t _168;
- uint64_t _169;
- uint64_t _170;
- uint64_t _171;
- uint64_t _172;
- uint32_t _173;
- uint32_t _174;
- void* _175;
- uint32_t _176;
- void* _177;
- void* _178;
- uint32_t _179;
- void* _180;
- uint32_t _181;
- void* _182;
- void* _183;
- void* _184;
- uint32_t _185;
- uint64_t _186;
- void* _187;
- void* _188;
- uint32_t _189;
- void* _190;
- uint32_t _191;
- void* _192;
- void* _193;
- uint32_t _194;
- void* _195;
- uint32_t _196;
- uint32_t _197;
- uint32_t _198;
- uint64_t _199;
- void* _200;
- void* _201;
- uint32_t _202;
- void* _203;
- uint32_t _204;
- uint32_t _205;
- uint32_t _206;
- uint32_t _207;
- uint32_t _208;
- void* _209;
- uint32_t _210;
- void* _211;
- uint32_t _212;
- void* _213;
- void* _214;
- void* _215;
- _114 = _111;
- _115 = _112;
- _124 = _114;
- if ((_124 != ((void*)/*NULL*/0))) {
- goto _216;
- } else {
- goto _217;
- }
- _216:
- _125 = _115;
- if ((_125 != ((void*)/*NULL*/0))) {
- goto _218;
- } else {
- goto _217;
- }
- _217:
- _126 = fused_setErrorMessage(0, (&_OC_str_OC_21));
- _113 = ((void*)/*NULL*/0);
- goto _219;
- _218:
- _127 = _114;
- _128 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_127)->field0))));
- if ((_128 != ((void*)/*NULL*/0))) {
- goto _220;
- } else {
- goto _221;
- }
- _220:
- _129 = _115;
- _130 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_129)->field0))));
- if ((_130 != ((void*)/*NULL*/0))) {
- goto _222;
- } else {
- goto _221;
- }
- _221:
- _131 = fused_setErrorMessage(0, (&_OC_str_OC_22));
- _113 = ((void*)/*NULL*/0);
- goto _219;
- _222:
- _132 = _114;
- _133 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_132)->field2))));
- _134 = _115;
- _135 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_134)->field1))));
- if ((_133 != _135)) {
- goto _223;
- } else {
- goto _224;
- }
- _223:
- _136 = fused_setErrorMessage(0, (&_OC_str_OC_23));
- _113 = ((void*)/*NULL*/0);
- goto _219;
- _224:
- _137 = _114;
- _138 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_137)->field2))));
- if ((((int32_t)_138) > ((int32_t)100u))) {
- goto _225;
- } else {
- goto _226;
- }
- _226:
- _139 = _115;
- _140 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_139)->field1))));
- if ((((int32_t)_140) > ((int32_t)100u))) {
- goto _225;
- } else {
- goto _227;
- }
- _225:
- _141 = fused_setErrorMessage(0, (&_OC_str_OC_17));
- _113 = ((void*)/*NULL*/0);
- goto _219;
- _227:
- _142 = _114;
- _143 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_142)->field1))));
- _144 = _115;
- _145 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_144)->field2))));
- _146 = fused_createMatrix(0, _143, _145, ((void*)/*NULL*/0));
- _116 = _146;
- _147 = _116;
- if ((_147 != ((void*)/*NULL*/0))) {
- goto _228;
- } else {
- goto _229;
- }
- _229:
- _113 = ((void*)/*NULL*/0);
- goto _219;
- _228:
- _117 = 0;
- _118 = 0;
- goto _230;
- do { /* Syntactic loop '' to make GCC happy */
- _230:
- _148 = _118;
- _149 = _114;
- _150 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_149)->field1))));
- if ((((int32_t)_148) < ((int32_t)_150))) {
- goto _231;
- } else {
- goto _232;
- }
- _231:
- _119 = 0;
- goto _233;
- do { /* Syntactic loop '' to make GCC happy */
- _233:
- _151 = _119;
- _152 = _115;
- _153 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_152)->field2))));
- if ((((int32_t)_151) < ((int32_t)_153))) {
- goto _234;
- } else {
- goto _235;
- }
- _234:
- _120 = 0;
- _121 = 0;
- goto _236;
- do { /* Syntactic loop '' to make GCC happy */
- _236:
- _154 = _121;
- _155 = _114;
- _156 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_155)->field2))));
- if ((((int32_t)_154) < ((int32_t)_156))) {
- goto _237;
- } else {
- goto _238;
- }
- _237:
- _157 = _114;
- _158 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_157)->field0))));
- _159 = _118;
- _160 = *(void**)(((&((void**)_158)[((int64_t)(((int64_t)(int32_t)_159)))])));
- _161 = _121;
- _162 = *(uint32_t*)(((&((uint32_t*)_160)[((int64_t)(((int64_t)(int32_t)_161)))])));
- _163 = _115;
- _164 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_163)->field0))));
- _165 = _121;
- _166 = *(void**)(((&((void**)_164)[((int64_t)(((int64_t)(int32_t)_165)))])));
- _167 = _119;
- _168 = *(uint32_t*)(((&((uint32_t*)_166)[((int64_t)(((int64_t)(int32_t)_167)))])));
- _122 = (llvm_mul_u64((((int64_t)(int32_t)_162)), (((int64_t)(int32_t)_168))));
- _169 = _122;
- _170 = _120;
- _120 = (llvm_add_u64(_170, _169));
- _171 = _120;
- if ((((int64_t)_171) > ((int64_t)UINT64_C(2147483647)))) {
- goto _239;
- } else {
- goto _240;
- }
- _240:
- _172 = _120;
- if ((((int64_t)_172) < ((int64_t)UINT64_C(18446744071562067968)))) {
- goto _239;
- } else {
- goto _241;
- }
- _241:
- goto _242;
- _242:
- _185 = _121;
- _121 = (llvm_add_u32(_185, 1));
- goto _236;
- } while (1); /* end of syntactic loop '' */
- _238:
- _186 = _120;
- _187 = _116;
- _188 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_187)->field0))));
- _189 = _118;
- _190 = *(void**)(((&((void**)_188)[((int64_t)(((int64_t)(int32_t)_189)))])));
- _191 = _119;
- *(uint32_t*)(((&((uint32_t*)_190)[((int64_t)(((int64_t)(int32_t)_191)))]))) = (((uint32_t)_186));
- _192 = _116;
- _193 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_192)->field0))));
- _194 = _118;
- _195 = *(void**)(((&((void**)_193)[((int64_t)(((int64_t)(int32_t)_194)))])));
- _196 = _119;
- _197 = *(uint32_t*)(((&((uint32_t*)_195)[((int64_t)(((int64_t)(int32_t)_196)))])));
- _198 = abs(_197);
- _199 = _117;
- if ((((int64_t)(((int64_t)(int32_t)_198))) > ((int64_t)_199))) {
- goto _243;
- } else {
- goto _244;
- }
- _243:
- _200 = _116;
- _201 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_200)->field0))));
- _202 = _118;
- _203 = *(void**)(((&((void**)_201)[((int64_t)(((int64_t)(int32_t)_202)))])));
- _204 = _119;
- _205 = *(uint32_t*)(((&((uint32_t*)_203)[((int64_t)(((int64_t)(int32_t)_204)))])));
- _206 = abs(_205);
- _117 = (((int64_t)(int32_t)_206));
- goto _244;
- _244:
- goto _245;
- _245:
- _207 = _119;
- _119 = (llvm_add_u32(_207, 1));
- goto _233;
- } while (1); /* end of syntactic loop '' */
- _235:
- goto _246;
- _246:
- _208 = _118;
- _118 = (llvm_add_u32(_208, 1));
- goto _230;
- } while (1); /* end of syntactic loop '' */
- _239:
- _173 = fused_setErrorMessage(0, (&_OC_str_OC_24));
- _123 = 0;
- goto _247;
- do { /* Syntactic loop '' to make GCC happy */
- _247:
- _174 = _123;
- _175 = _116;
- _176 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_175)->field1))));
- if ((((int32_t)_174) < ((int32_t)_176))) {
- goto _248;
- } else {
- goto _249;
- }
- _248:
- _177 = _116;
- _178 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_177)->field0))));
- _179 = _123;
- _180 = *(void**)(((&((void**)_178)[((int64_t)(((int64_t)(int32_t)_179)))])));
- free((((void*)_180)));
- goto _250;
- _250:
- _181 = _123;
- _123 = (llvm_add_u32(_181, 1));
- goto _247;
- } while (1); /* end of syntactic loop '' */
- _249:
- _182 = _116;
- _183 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_182)->field0))));
- free((((void*)_183)));
- _184 = _116;
- free((((void*)_184)));
- _113 = ((void*)/*NULL*/0);
- goto _219;
- _232:
- _209 = _116;
- _210 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_209)->field1))));
- _211 = _116;
- _212 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_211)->field2))));
- _213 = _116;
- *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_213)->field3)))) = (((uint32_t)(bool)(_210 == _212)));
- _214 = _116;
- _113 = _214;
- goto _219;
- _219:
- _215 = _113;
- return _215;
- }
- void* insertNode(void* _251, uint32_t _252) {
- void* _253; /* Address-exposed local */
- void* _254; /* Address-exposed local */
- uint32_t _255; /* Address-exposed local */
- void* _256; /* Address-exposed local */
- void* _257; /* Address-exposed local */
- void* _258; /* Address-exposed local */
- uint32_t _259; /* Address-exposed local */
- void* _260;
- void* _261;
- uint32_t _262;
- void* _263;
- uint32_t _264;
- void* _265;
- void* _266;
- void* _267;
- void* _268;
- void* _269;
- void* _270;
- void* _271;
- void* _272;
- void* _273;
- void* _274;
- uint32_t _275;
- uint32_t _276;
- bool _277;
- bool _277__PHI_TEMPORARY;
- void* _278;
- void* _279;
- void* _280;
- uint32_t _281;
- uint32_t _282;
- uint32_t _283;
- void* _284;
- void* _285;
- uint32_t _286;
- uint32_t _287;
- uint32_t _288;
- uint32_t _289;
- void* _290;
- void* _291;
- void* _292;
- void* _293;
- void* _294;
- void* _295;
- void* _296;
- void* _297;
- void* _298;
- void* _299;
- void* _300;
- void* _301;
- void* _302;
- void* _303;
- _254 = _251;
- _255 = _252;
- _260 = malloc(32);
- _256 = (((void*)_260));
- _261 = _256;
- if ((_261 != ((void*)/*NULL*/0))) {
- goto _304;
- } else {
- goto _305;
- }
- _305:
- _262 = fused_setErrorMessage(0, (&_OC_str_OC_25));
- _263 = _254;
- _253 = _263;
- goto _306;
- _304:
- _264 = _255;
- _265 = _256;
- *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_265)->field0)))) = _264;
- _266 = _256;
- *(void**)(((&(((struct l_struct_struct_OC_Node*)_266)->field1)))) = ((void*)/*NULL*/0);
- _267 = _256;
- *(void**)(((&(((struct l_struct_struct_OC_Node*)_267)->field2)))) = ((void*)/*NULL*/0);
- _268 = _256;
- *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_268)->field3)))) = 0;
- _269 = _254;
- if ((_269 != ((void*)/*NULL*/0))) {
- goto _307;
- } else {
- goto _308;
- }
- _308:
- _270 = _256;
- *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_270)->field4)))) = 0;
- insertNode_OC_maxDepth = 0;
- _271 = _256;
- _253 = _271;
- goto _306;
- _307:
- _272 = _254;
- _257 = _272;
- _258 = ((void*)/*NULL*/0);
- _259 = 0;
- goto _309;
- do { /* Syntactic loop '' to make GCC happy */
- _309:
- _273 = _257;
- if ((_273 != ((void*)/*NULL*/0))) {
- goto _310;
- } else {
- _277__PHI_TEMPORARY = 0; /* for PHI node */
- goto _311;
- }
- _310:
- _274 = _257;
- _275 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_274)->field0))));
- _276 = _255;
- _277__PHI_TEMPORARY = (((int32_t)_275) < ((int32_t)_276)); /* for PHI node */
- goto _311;
- _311:
- _277 = _277__PHI_TEMPORARY;
- if (_277) {
- goto _312;
- } else {
- goto _313;
- }
- _312:
- _278 = _257;
- _258 = _278;
- _279 = _257;
- _280 = *(void**)(((&(((struct l_struct_struct_OC_Node*)_279)->field1))));
- _257 = _280;
- _281 = _259;
- _259 = (llvm_add_u32(_281, 1));
- _282 = _259;
- if ((((int32_t)_282) > ((int32_t)1000u))) {
- goto _314;
- } else {
- goto _315;
- }
- _315:
- goto _309;
- } while (1); /* end of syntactic loop '' */
- _314:
- _283 = fused_setErrorMessage(0, (&_OC_str_OC_26));
- _284 = _256;
- free((((void*)_284)));
- _285 = _254;
- _253 = _285;
- goto _306;
- _313:
- _286 = _259;
- _287 = insertNode_OC_maxDepth;
- if ((((int32_t)_286) > ((int32_t)_287))) {
- goto _316;
- } else {
- goto _317;
- }
- _316:
- _288 = _259;
- insertNode_OC_maxDepth = _288;
- goto _317;
- _317:
- _289 = _259;
- _290 = _256;
- *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_290)->field4)))) = _289;
- _291 = _257;
- _292 = _256;
- *(void**)(((&(((struct l_struct_struct_OC_Node*)_292)->field1)))) = _291;
- _293 = _258;
- if ((_293 != ((void*)/*NULL*/0))) {
- goto _318;
- } else {
- goto _319;
- }
- _318:
- _294 = _256;
- _295 = _258;
- *(void**)(((&(((struct l_struct_struct_OC_Node*)_295)->field1)))) = _294;
- _296 = _258;
- _297 = _256;
- *(void**)(((&(((struct l_struct_struct_OC_Node*)_297)->field2)))) = _296;
- goto _320;
- _319:
- _298 = _256;
- _253 = _298;
- goto _306;
- _320:
- _299 = _257;
- if ((_299 != ((void*)/*NULL*/0))) {
- goto _321;
- } else {
- goto _322;
- }
- _321:
- _300 = _256;
- _301 = _257;
- *(void**)(((&(((struct l_struct_struct_OC_Node*)_301)->field2)))) = _300;
- goto _322;
- _322:
- _302 = _254;
- _253 = _302;
- goto _306;
- _306:
- _303 = _253;
- return _303;
- }
- static const ConstantDoubleTy FPConstant1 = 0x7FF0000000000000ULL; /* INF */
- double calculateDistance(struct l_struct_struct_OC_Point _323, struct l_struct_struct_OC_Point _324, void* _325) {
- double _326; /* Address-exposed local */
- void* _327; /* Address-exposed local */
- double _328; /* Address-exposed local */
- double _329; /* Address-exposed local */
- double _330; /* Address-exposed local */
- void* _331;
- double _332;
- double _333;
- void* _334;
- uint32_t _335;
- uint32_t _336;
- uint32_t _337;
- uint32_t _338;
- uint32_t _339;
- uint32_t _340;
- uint32_t _341;
- uint32_t _342;
- uint32_t _343;
- void* _344;
- uint32_t _345;
- uint32_t _346;
- uint32_t _347;
- double _348;
- double _349;
- double _350;
- uint32_t _351;
- uint32_t _352;
- double _353;
- double _354;
- double _355;
- double _356;
- double _357;
- double _358;
- double _359;
- void* _360;
- uint32_t _361;
- double _362;
- double _363;
- double _364;
- double _365;
- double _366;
- double _367;
- double _368;
- double _369;
- llvmBitCastUnion _370__BITCAST_TEMPORARY;
- void* _371;
- uint32_t _372;
- double _373;
- double _374;
- _327 = _325;
- _331 = _327;
- *(uint32_t*)_331 = 0;
- _332 = *(double*)(((&(&_323)->field3)));
- if ((llvm_fcmp_ole(_332, 0))) {
- goto _375;
- } else {
- goto _376;
- }
- _376:
- _333 = *(double*)(((&(&_324)->field3)));
- if ((llvm_fcmp_ole(_333, 0))) {
- goto _375;
- } else {
- goto _377;
- }
- _375:
- _334 = _327;
- *(uint32_t*)_334 = 1;
- _335 = fused_setErrorMessage(0, (&_OC_str_OC_32));
- _326 = -1;
- goto _378;
- _377:
- _336 = *(uint32_t*)(((&(&_323)->field0)));
- _337 = abs(_336);
- if ((((int32_t)_337) > ((int32_t)1000u))) {
- goto _379;
- } else {
- goto _380;
- }
- _380:
- _338 = *(uint32_t*)(((&(&_323)->field1)));
- _339 = abs(_338);
- if ((((int32_t)_339) > ((int32_t)1000u))) {
- goto _379;
- } else {
- goto _381;
- }
- _381:
- _340 = *(uint32_t*)(((&(&_324)->field0)));
- _341 = abs(_340);
- if ((((int32_t)_341) > ((int32_t)1000u))) {
- goto _379;
- } else {
- goto _382;
- }
- _382:
- _342 = *(uint32_t*)(((&(&_324)->field1)));
- _343 = abs(_342);
- if ((((int32_t)_343) > ((int32_t)1000u))) {
- goto _379;
- } else {
- goto _383;
- }
- _379:
- _344 = _327;
- *(uint32_t*)_344 = 3;
- _345 = fused_setErrorMessage(0, (&_OC_str_OC_33));
- _326 = -1;
- goto _378;
- _383:
- _346 = *(uint32_t*)(((&(&_324)->field0)));
- _347 = *(uint32_t*)(((&(&_323)->field0)));
- _348 = *(double*)(((&(&_324)->field3)));
- _349 = *(double*)(((&(&_323)->field3)));
- _350 = sqrt((_348 / _349));
- _328 = ((((double)(int32_t)(llvm_sub_u32(_346, _347)))) * _350);
- _351 = *(uint32_t*)(((&(&_324)->field1)));
- _352 = *(uint32_t*)(((&(&_323)->field1)));
- _353 = *(double*)(((&(&_324)->field3)));
- _354 = *(double*)(((&(&_323)->field3)));
- _355 = sqrt((_353 / _354));
- _329 = ((((double)(int32_t)(llvm_sub_u32(_351, _352)))) * _355);
- _356 = _328;
- _357 = llvm_OC_fabs_OC_f64(_356);
- if ((llvm_fcmp_ogt(_357, 1000))) {
- goto _384;
- } else {
- goto _385;
- }
- _385:
- _358 = _329;
- _359 = llvm_OC_fabs_OC_f64(_358);
- if ((llvm_fcmp_ogt(_359, 1000))) {
- goto _384;
- } else {
- goto _386;
- }
- _384:
- _360 = _327;
- *(uint32_t*)_360 = 5;
- _361 = fused_setErrorMessage(0, (&_OC_str_OC_34));
- _326 = -1;
- goto _378;
- _386:
- _362 = _328;
- _363 = _328;
- _364 = _329;
- _365 = _329;
- _366 = sqrt(((_362 * _363) + (_364 * _365)));
- _330 = _366;
- _367 = _330;
- if ((llvm_fcmp_uno(_367, _367))) {
- goto _387;
- } else {
- goto _388;
- }
- _388:
- _368 = _330;
- _369 = llvm_OC_fabs_OC_f64(_368);
- if (((llvm_select_u32((llvm_fcmp_oeq(_369, (*(double*)&FPConstant1))), (llvm_select_u32((((int64_t)((_370__BITCAST_TEMPORARY.Double = _368, _370__BITCAST_TEMPORARY.Int64))) < ((int64_t)UINT64_C(0))), -1, 1)), 0)) != 0u)) {
- goto _387;
- } else {
- goto _389;
- }
- _387:
- _371 = _327;
- *(uint32_t*)_371 = 8;
- _372 = fused_setErrorMessage(0, (&_OC_str_OC_35));
- _326 = -1;
- goto _378;
- _389:
- _373 = _330;
- _326 = _373;
- goto _378;
- _378:
- _374 = _326;
- return _374;
- }
- double calculateCircleArea(struct l_struct_struct_OC_Circle _390, void* _391) {
- double _392; /* Address-exposed local */
- void* _393; /* Address-exposed local */
- double _394; /* Address-exposed local */
- void* _395;
- uint32_t _396;
- void* _397;
- uint32_t _398;
- double _399;
- void* _400;
- uint32_t _401;
- double _402;
- void* _403;
- uint32_t _404;
- uint32_t _405;
- uint32_t _406;
- uint32_t _407;
- uint32_t _408;
- void* _409;
- uint32_t _410;
- double _411;
- double _412;
- double _413;
- double _414;
- double _415;
- llvmBitCastUnion _416__BITCAST_TEMPORARY;
- void* _417;
- uint32_t _418;
- uint32_t _419;
- double _420;
- uint32_t _421;
- double _422;
- void* _423;
- uint32_t _424;
- double _425;
- double _426;
- void* _427;
- uint32_t _428;
- double _429;
- _393 = _391;
- _395 = _393;
- *(uint32_t*)_395 = 0;
- _396 = *(uint32_t*)(((&(&_390)->field2)));
- if ((_396 != 0u)) {
- goto _430;
- } else {
- goto _431;
- }
- _431:
- _397 = _393;
- *(uint32_t*)_397 = 1;
- _398 = fused_setErrorMessage(0, (&_OC_str_OC_36));
- _392 = -1;
- goto _432;
- _430:
- _399 = *(double*)(((&(&_390)->field1)));
- if ((llvm_fcmp_ole(_399, 0))) {
- goto _433;
- } else {
- goto _434;
- }
- _433:
- _400 = _393;
- *(uint32_t*)_400 = 1;
- _401 = fused_setErrorMessage(0, (&_OC_str_OC_37));
- _392 = -1;
- goto _432;
- _434:
- _402 = *(double*)(((&(&_390)->field1)));
- if ((llvm_fcmp_ogt(_402, 1000))) {
- goto _435;
- } else {
- goto _436;
- }
- _435:
- _403 = _393;
- *(uint32_t*)_403 = 3;
- _404 = fused_setErrorMessage(0, (&_OC_str_OC_38));
- _392 = -1;
- goto _432;
- _436:
- _405 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field0))));
- _406 = abs(_405);
- if ((((int32_t)_406) > ((int32_t)1000u))) {
- goto _437;
- } else {
- goto _438;
- }
- _438:
- _407 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field1))));
- _408 = abs(_407);
- if ((((int32_t)_408) > ((int32_t)1000u))) {
- goto _437;
- } else {
- goto _439;
- }
- _437:
- _409 = _393;
- *(uint32_t*)_409 = 3;
- _410 = fused_setErrorMessage(0, (&_OC_str_OC_39));
- _392 = -1;
- goto _432;
- _439:
- _411 = *(double*)(((&(&_390)->field1)));
- _412 = *(double*)(((&(&_390)->field1)));
- _394 = ((3.1415899999999999 * _411) * _412);
- _413 = _394;
- if ((llvm_fcmp_uno(_413, _413))) {
- goto _440;
- } else {
- goto _441;
- }
- _441:
- _414 = _394;
- _415 = llvm_OC_fabs_OC_f64(_414);
- if (((llvm_select_u32((llvm_fcmp_oeq(_415, (*(double*)&FPConstant1))), (llvm_select_u32((((int64_t)((_416__BITCAST_TEMPORARY.Double = _414, _416__BITCAST_TEMPORARY.Int64))) < ((int64_t)UINT64_C(0))), -1, 1)), 0)) != 0u)) {
- goto _440;
- } else {
- goto _442;
- }
- _440:
- _417 = _393;
- *(uint32_t*)_417 = 5;
- _418 = fused_setErrorMessage(0, (&_OC_str_OC_40));
- _392 = -1;
- goto _432;
- _442:
- _419 = strcmp((((&((struct l_array_256_uint8_t*)(((&(&_390)->field3))))->array[((int64_t)0)]))), (&_OC_str_OC_41));
- if ((_419 == 0u)) {
- goto _443;
- } else {
- goto _444;
- }
- _443:
- _420 = _394;
- _392 = _420;
- goto _432;
- _444:
- _421 = strcmp((((&((struct l_array_256_uint8_t*)(((&(&_390)->field3))))->array[((int64_t)0)]))), (&_OC_str_OC_42));
- if ((_421 == 0u)) {
- goto _445;
- } else {
- goto _446;
- }
- _445:
- _422 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field3))));
- if ((llvm_fcmp_ole(_422, 0))) {
- goto _447;
- } else {
- goto _448;
- }
- _447:
- _423 = _393;
- *(uint32_t*)_423 = 1;
- _424 = fused_setErrorMessage(0, (&_OC_str_OC_43));
- _392 = -1;
- goto _432;
- _448:
- _425 = _394;
- _426 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field3))));
- _392 = (_425 * _426);
- goto _432;
- _446:
- _427 = _393;
- *(uint32_t*)_427 = 1;
- _428 = fused_setErrorMessage(0, (&_OC_str_OC_44));
- _392 = -1;
- goto _432;
- _432:
- _429 = _392;
- return _429;
- }
- uint32_t validateMatrix(void* _449) {
- uint32_t _450; /* Address-exposed local */
- void* _451; /* Address-exposed local */
- uint32_t _452; /* Address-exposed local */
- void* _453;
- uint32_t _454;
- void* _455;
- void* _456;
- uint32_t _457;
- void* _458;
- uint32_t _459;
- void* _460;
- uint32_t _461;
- uint32_t _462;
- void* _463;
- uint32_t _464;
- void* _465;
- uint32_t _466;
- uint32_t _467;
- uint32_t _468;
- void* _469;
- uint32_t _470;
- void* _471;
- void* _472;
- uint32_t _473;
- void* _474;
- uint32_t _475;
- uint32_t _476;
- void* _477;
- uint32_t _478;
- void* _479;
- uint32_t _480;
- void* _481;
- uint32_t _482;
- uint32_t _483;
- uint32_t _484;
- _451 = _449;
- _453 = _451;
- if ((_453 != ((void*)/*NULL*/0))) {
- goto _485;
- } else {
- goto _486;
- }
- _486:
- _454 = fused_setErrorMessage(0, (&_OC_str_OC_21));
- _450 = 7;
- goto _487;
- _485:
- _455 = _451;
- _456 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_455)->field0))));
- if ((_456 != ((void*)/*NULL*/0))) {
- goto _488;
- } else {
- goto _489;
- }
- _489:
- _457 = fused_setErrorMessage(0, (&_OC_str_OC_45));
- _450 = 7;
- goto _487;
- _488:
- _458 = _451;
- _459 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_458)->field1))));
- if ((((int32_t)_459) < ((int32_t)1u))) {
- goto _490;
- } else {
- goto _491;
- }
- _491:
- _460 = _451;
- _461 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_460)->field2))));
- if ((((int32_t)_461) < ((int32_t)1u))) {
- goto _490;
- } else {
- goto _492;
- }
- _490:
- _462 = fused_setErrorMessage(0, (&_OC_str_OC_16));
- _450 = 1;
- goto _487;
- _492:
- _463 = _451;
- _464 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_463)->field1))));
- if ((((int32_t)_464) > ((int32_t)100u))) {
- goto _493;
- } else {
- goto _494;
- }
- _494:
- _465 = _451;
- _466 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_465)->field2))));
- if ((((int32_t)_466) > ((int32_t)100u))) {
- goto _493;
- } else {
- goto _495;
- }
- _493:
- _467 = fused_setErrorMessage(0, (&_OC_str_OC_46));
- _450 = 3;
- goto _487;
- _495:
- _452 = 0;
- goto _496;
- do { /* Syntactic loop '' to make GCC happy */
- _496:
- _468 = _452;
- _469 = _451;
- _470 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_469)->field1))));
- if ((((int32_t)_468) < ((int32_t)_470))) {
- goto _497;
- } else {
- goto _498;
- }
- _497:
- _471 = _451;
- _472 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_471)->field0))));
- _473 = _452;
- _474 = *(void**)(((&((void**)_472)[((int64_t)(((int64_t)(int32_t)_473)))])));
- if ((_474 != ((void*)/*NULL*/0))) {
- goto _499;
- } else {
- goto _500;
- }
- _499:
- goto _501;
- _501:
- _476 = _452;
- _452 = (llvm_add_u32(_476, 1));
- goto _496;
- } while (1); /* end of syntactic loop '' */
- _500:
- _475 = fused_setErrorMessage(0, (&_OC_str_OC_47));
- _450 = 7;
- goto _487;
- _498:
- _477 = _451;
- _478 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_477)->field1))));
- _479 = _451;
- _480 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_479)->field2))));
- _481 = _451;
- _482 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_481)->field3))));
- if (((((uint32_t)(bool)(_478 == _480))) != _482)) {
- goto _502;
- } else {
- goto _503;
- }
- _502:
- _483 = fused_setErrorMessage(0, (&_OC_str_OC_48));
- _450 = 1;
- goto _487;
- _503:
- _450 = 0;
- goto _487;
- _487:
- _484 = _450;
- return _484;
- }
- void* findCentroid(void* _504, uint32_t _505, void* _506) {
- void* _507; /* Address-exposed local */
- void* _508; /* Address-exposed local */
- uint32_t _509; /* Address-exposed local */
- void* _510; /* Address-exposed local */
- void* _511; /* Address-exposed local */
- double _512; /* Address-exposed local */
- double _513; /* Address-exposed local */
- double _514; /* Address-exposed local */
- uint32_t _515; /* Address-exposed local */
- void* _516;
- void* _517;
- uint32_t _518;
- void* _519;
- uint32_t _520;
- uint32_t _521;
- void* _522;
- uint32_t _523;
- void* _524;
- void* _525;
- void* _526;
- uint32_t _527;
- uint32_t _528;
- uint32_t _529;
- void* _530;
- uint32_t _531;
- double _532;
- void* _533;
- uint32_t _534;
- void* _535;
- void* _536;
- uint32_t _537;
- double _538;
- double _539;
- void* _540;
- uint32_t _541;
- uint32_t _542;
- void* _543;
- uint32_t _544;
- double _545;
- double _546;
- void* _547;
- uint32_t _548;
- uint32_t _549;
- void* _550;
- uint32_t _551;
- double _552;
- double _553;
- double _554;
- double _555;
- double _556;
- double _557;
- double _558;
- llvmBitCastUnion _559__BITCAST_TEMPORARY;
- double _560;
- double _561;
- llvmBitCastUnion _562__BITCAST_TEMPORARY;
- double _563;
- double _564;
- llvmBitCastUnion _565__BITCAST_TEMPORARY;
- void* _566;
- uint32_t _567;
- void* _568;
- uint32_t _569;
- double _570;
- void* _571;
- uint32_t _572;
- void* _573;
- double _574;
- double _575;
- void* _576;
- double _577;
- double _578;
- void* _579;
- double _580;
- uint32_t _581;
- void* _582;
- void* _583;
- void* _584;
- void* _585;
- void* _586;
- _508 = _504;
- _509 = _505;
- _510 = _506;
- _516 = _510;
- *(uint32_t*)_516 = 0;
- _517 = _508;
- if ((_517 != ((void*)/*NULL*/0))) {
- goto _587;
- } else {
- goto _588;
- }
- _587:
- _518 = _509;
- if ((((int32_t)_518) <= ((int32_t)0u))) {
- goto _588;
- } else {
- goto _589;
- }
- _588:
- _519 = _510;
- *(uint32_t*)_519 = 1;
- _520 = fused_setErrorMessage(0, (&_OC_str_OC_50));
- _507 = ((void*)/*NULL*/0);
- goto _590;
- _589:
- _521 = _509;
- if ((((int32_t)_521) > ((int32_t)1000u))) {
- goto _591;
- } else {
- goto _592;
- }
- _591:
- _522 = _510;
- *(uint32_t*)_522 = 3;
- _523 = fused_setErrorMessage(0, (&_OC_str_OC_51));
- _507 = ((void*)/*NULL*/0);
- goto _590;
- _592:
- _524 = malloc(272);
- _511 = (((void*)_524));
- _525 = _511;
- if ((_525 != ((void*)/*NULL*/0))) {
- goto _593;
- } else {
- goto _594;
- }
- _594:
- _526 = _510;
- *(uint32_t*)_526 = 2;
- _527 = fused_setErrorMessage(0, (&_OC_str_OC_52));
- _507 = ((void*)/*NULL*/0);
- goto _590;
- _593:
- _512 = 0;
- _513 = 0;
- _514 = 0;
- _515 = 0;
- goto _595;
- do { /* Syntactic loop '' to make GCC happy */
- _595:
- _528 = _515;
- _529 = _509;
- if ((((int32_t)_528) < ((int32_t)_529))) {
- goto _596;
- } else {
- goto _597;
- }
- _596:
- _530 = _508;
- _531 = _515;
- _532 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_530)[((int64_t)(((int64_t)(int32_t)_531)))]))))->field3))));
- if ((llvm_fcmp_ole(_532, 0))) {
- goto _598;
- } else {
- goto _599;
- }
- _599:
- _536 = _508;
- _537 = _515;
- _538 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_536)[((int64_t)(((int64_t)(int32_t)_537)))]))))->field3))));
- _539 = _512;
- _512 = (_539 + _538);
- _540 = _508;
- _541 = _515;
- _542 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_540)[((int64_t)(((int64_t)(int32_t)_541)))]))))->field0))));
- _543 = _508;
- _544 = _515;
- _545 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_543)[((int64_t)(((int64_t)(int32_t)_544)))]))))->field3))));
- _546 = _513;
- _513 = (_546 + ((((double)(int32_t)_542)) * _545));
- _547 = _508;
- _548 = _515;
- _549 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_547)[((int64_t)(((int64_t)(int32_t)_548)))]))))->field1))));
- _550 = _508;
- _551 = _515;
- _552 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_550)[((int64_t)(((int64_t)(int32_t)_551)))]))))->field3))));
- _553 = _514;
- _514 = (_553 + ((((double)(int32_t)_549)) * _552));
- _554 = _512;
- if ((llvm_fcmp_uno(_554, _554))) {
- goto _600;
- } else {
- goto _601;
- }
- _601:
- _555 = _513;
- if ((llvm_fcmp_uno(_555, _555))) {
- goto _600;
- } else {
- goto _602;
- }
- _602:
- _556 = _514;
- if ((llvm_fcmp_uno(_556, _556))) {
- goto _600;
- } else {
- goto _603;
- }
- _603:
- _557 = _512;
- _558 = llvm_OC_fabs_OC_f64(_557);
- if (((llvm_select_u32((llvm_fcmp_oeq(_558, (*(double*)&FPConstant1))), (llvm_select_u32((((int64_t)((_559__BITCAST_TEMPORARY.Double = _557, _559__BITCAST_TEMPORARY.Int64))) < ((int64_t)UINT64_C(0))), -1, 1)), 0)) != 0u)) {
- goto _600;
- } else {
- goto _604;
- }
- _604:
- _560 = _513;
- _561 = llvm_OC_fabs_OC_f64(_560);
- if (((llvm_select_u32((llvm_fcmp_oeq(_561, (*(double*)&FPConstant1))), (llvm_select_u32((((int64_t)((_562__BITCAST_TEMPORARY.Double = _560, _562__BITCAST_TEMPORARY.Int64))) < ((int64_t)UINT64_C(0))), -1, 1)), 0)) != 0u)) {
- goto _600;
- } else {
- goto _605;
- }
- _605:
- _563 = _514;
- _564 = llvm_OC_fabs_OC_f64(_563);
- if (((llvm_select_u32((llvm_fcmp_oeq(_564, (*(double*)&FPConstant1))), (llvm_select_u32((((int64_t)((_565__BITCAST_TEMPORARY.Double = _563, _565__BITCAST_TEMPORARY.Int64))) < ((int64_t)UINT64_C(0))), -1, 1)), 0)) != 0u)) {
- goto _600;
- } else {
- goto _606;
- }
- _606:
- goto _607;
- _607:
- _569 = _515;
- _515 = (llvm_add_u32(_569, 1));
- goto _595;
- } while (1); /* end of syntactic loop '' */
- _598:
- _533 = _510;
- *(uint32_t*)_533 = 1;
- _534 = fused_setErrorMessage(0, (&_OC_str_OC_53));
- _535 = _511;
- free((((void*)_535)));
- _507 = ((void*)/*NULL*/0);
- goto _590;
- _600:
- _566 = _510;
- *(uint32_t*)_566 = 5;
- _567 = fused_setErrorMessage(0, (&_OC_str_OC_54));
- _568 = _511;
- free((((void*)_568)));
- _507 = ((void*)/*NULL*/0);
- goto _590;
- _597:
- _570 = _512;
- if ((llvm_fcmp_oeq(_570, 0))) {
- goto _608;
- } else {
- goto _609;
- }
- _608:
- _571 = _510;
- *(uint32_t*)_571 = 1;
- _572 = fused_setErrorMessage(0, (&_OC_str_OC_55));
- _573 = _511;
- free((((void*)_573)));
- _507 = ((void*)/*NULL*/0);
- goto _590;
- _609:
- _574 = _513;
- _575 = _512;
- _576 = _511;
- *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)_576)->field0)))) = (((int32_t)(_574 / _575)));
- _577 = _514;
- _578 = _512;
- _579 = _511;
- *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)_579)->field1)))) = (((int32_t)(_577 / _578)));
- _580 = _512;
- _581 = _509;
- _582 = _511;
- *(double*)(((&(((struct l_struct_struct_OC_Point*)_582)->field3)))) = (_580 / (((double)(int32_t)_581)));
- _583 = _511;
- _584 = strcpy((((&((struct l_array_256_uint8_t*)(((&(((struct l_struct_struct_OC_Point*)_583)->field2)))))->array[((int64_t)0)]))), (&_OC_str_OC_56));
- _585 = _511;
- _507 = _585;
- goto _590;
- _590:
- _586 = _507;
- return _586;
- }
|