module_fusion_text.cbe.c 86 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328
  1. /* Provide Declarations */
  2. #include <stdint.h>
  3. #include <math.h>
  4. #ifndef __cplusplus
  5. typedef unsigned char bool;
  6. #endif
  7. typedef uint64_t ConstantDoubleTy;
  8. #ifndef _MSC_VER
  9. #define __forceinline __attribute__((always_inline)) inline
  10. #endif
  11. #if defined(__GNUC__)
  12. #define __ATTRIBUTELIST__(x) __attribute__(x)
  13. #else
  14. #define __ATTRIBUTELIST__(x)
  15. #endif
  16. #ifdef _MSC_VER /* Can only support "linkonce" vars with GCC */
  17. #define __attribute__(X)
  18. #endif
  19. #ifdef _MSC_VER
  20. #define __PREFIXALIGN__(X) __declspec(align(X))
  21. #define __POSTFIXALIGN__(X)
  22. #else
  23. #define __PREFIXALIGN__(X)
  24. #define __POSTFIXALIGN__(X) __attribute__((aligned(X)))
  25. #endif
  26. static __forceinline int llvm_fcmp_uno(double X, double Y) { return X != X || Y != Y; }
  27. static __forceinline int llvm_fcmp_ole(double X, double Y) { return X <= Y; }
  28. static __forceinline int llvm_fcmp_ogt(double X, double Y) { return X > Y; }
  29. static __forceinline int llvm_fcmp_oeq(double X, double Y) { return X == Y; }
  30. /* Global Declarations */
  31. /* Helper union for bitcasts */
  32. typedef union {
  33. uint32_t Int32;
  34. uint64_t Int64;
  35. float Float;
  36. double Double;
  37. } llvmBitCastUnion;
  38. /* Types Declarations */
  39. struct l_array_20_uint8_t;
  40. struct l_struct_struct_OC_DynamicArray;
  41. struct l_struct_struct_OC_Matrix;
  42. struct l_struct_struct_OC_Node;
  43. struct l_array_256_uint8_t;
  44. struct l_struct_struct_OC_Point;
  45. struct l_struct_struct_OC_Circle;
  46. struct l_array_9_uint8_t;
  47. struct l_array_55_uint8_t;
  48. struct l_array_33_uint8_t;
  49. struct l_array_29_uint8_t;
  50. struct l_array_36_uint8_t;
  51. struct l_array_31_uint8_t;
  52. struct l_array_25_uint8_t;
  53. struct l_array_46_uint8_t;
  54. struct l_array_49_uint8_t;
  55. struct l_array_35_uint8_t;
  56. struct l_array_19_uint8_t;
  57. struct l_array_27_uint8_t;
  58. struct l_array_32_uint8_t;
  59. struct l_array_39_uint8_t;
  60. struct l_array_28_uint8_t;
  61. struct l_array_43_uint8_t;
  62. struct l_array_41_uint8_t;
  63. struct l_array_44_uint8_t;
  64. struct l_array_45_uint8_t;
  65. struct l_array_42_uint8_t;
  66. struct l_array_38_uint8_t;
  67. struct l_array_34_uint8_t;
  68. struct l_array_30_uint8_t;
  69. struct l_array_11_uint8_t;
  70. struct l_array_22_uint8_t;
  71. struct l_array_15_uint8_t;
  72. struct l_array_24_uint8_t;
  73. struct l_array_26_uint8_t;
  74. struct l_array_17_uint8_t;
  75. struct l_array_14_uint8_t;
  76. struct l_array_21_uint8_t;
  77. struct l_array_16_uint8_t;
  78. struct l_array_100_uint32_t;
  79. struct l_array_8_uint32_t;
  80. struct l_array_97_uint32_t;
  81. struct l_unnamed_2;
  82. struct l_array_97_struct_AC_l_unnamed_2;
  83. struct l_unnamed_1;
  84. struct l_struct_fused_return_projectA_main_memoizedFib;
  85. struct l_struct_fused_return_createDynamicArray_processMatrix;
  86. /* Function definitions */
  87. /* Types Definitions */
  88. struct l_array_20_uint8_t {
  89. uint8_t array[20];
  90. };
  91. struct l_struct_struct_OC_DynamicArray {
  92. void* field0;
  93. uint32_t field1;
  94. uint32_t field2;
  95. uint32_t field3;
  96. uint32_t field4;
  97. };
  98. struct l_struct_struct_OC_Matrix {
  99. void* field0;
  100. uint32_t field1;
  101. uint32_t field2;
  102. uint32_t field3;
  103. double field4;
  104. };
  105. struct l_struct_struct_OC_Node {
  106. uint32_t field0;
  107. void* field1;
  108. void* field2;
  109. uint32_t field3;
  110. uint32_t field4;
  111. };
  112. struct l_array_256_uint8_t {
  113. uint8_t array[256];
  114. };
  115. struct l_struct_struct_OC_Point {
  116. uint32_t field0;
  117. uint32_t field1;
  118. struct l_array_256_uint8_t field2;
  119. double field3;
  120. };
  121. struct l_struct_struct_OC_Circle {
  122. struct l_struct_struct_OC_Point field0;
  123. double field1;
  124. uint32_t field2;
  125. struct l_array_256_uint8_t field3;
  126. };
  127. struct l_array_9_uint8_t {
  128. uint8_t array[9];
  129. };
  130. struct l_array_55_uint8_t {
  131. uint8_t array[55];
  132. };
  133. struct l_array_33_uint8_t {
  134. uint8_t array[33];
  135. };
  136. struct l_array_29_uint8_t {
  137. uint8_t array[29];
  138. };
  139. struct l_array_36_uint8_t {
  140. uint8_t array[36];
  141. };
  142. struct l_array_31_uint8_t {
  143. uint8_t array[31];
  144. };
  145. struct l_array_25_uint8_t {
  146. uint8_t array[25];
  147. };
  148. struct l_array_46_uint8_t {
  149. uint8_t array[46];
  150. };
  151. struct l_array_49_uint8_t {
  152. uint8_t array[49];
  153. };
  154. struct l_array_35_uint8_t {
  155. uint8_t array[35];
  156. };
  157. struct l_array_19_uint8_t {
  158. uint8_t array[19];
  159. };
  160. struct l_array_27_uint8_t {
  161. uint8_t array[27];
  162. };
  163. struct l_array_32_uint8_t {
  164. uint8_t array[32];
  165. };
  166. struct l_array_39_uint8_t {
  167. uint8_t array[39];
  168. };
  169. struct l_array_28_uint8_t {
  170. uint8_t array[28];
  171. };
  172. struct l_array_43_uint8_t {
  173. uint8_t array[43];
  174. };
  175. struct l_array_41_uint8_t {
  176. uint8_t array[41];
  177. };
  178. struct l_array_44_uint8_t {
  179. uint8_t array[44];
  180. };
  181. struct l_array_45_uint8_t {
  182. uint8_t array[45];
  183. };
  184. struct l_array_42_uint8_t {
  185. uint8_t array[42];
  186. };
  187. struct l_array_38_uint8_t {
  188. uint8_t array[38];
  189. };
  190. struct l_array_34_uint8_t {
  191. uint8_t array[34];
  192. };
  193. struct l_array_30_uint8_t {
  194. uint8_t array[30];
  195. };
  196. struct l_array_11_uint8_t {
  197. uint8_t array[11];
  198. };
  199. struct l_array_22_uint8_t {
  200. uint8_t array[22];
  201. };
  202. struct l_array_15_uint8_t {
  203. uint8_t array[15];
  204. };
  205. struct l_array_24_uint8_t {
  206. uint8_t array[24];
  207. };
  208. struct l_array_26_uint8_t {
  209. uint8_t array[26];
  210. };
  211. struct l_array_17_uint8_t {
  212. uint8_t array[17];
  213. };
  214. struct l_array_14_uint8_t {
  215. uint8_t array[14];
  216. };
  217. struct l_array_21_uint8_t {
  218. uint8_t array[21];
  219. };
  220. struct l_array_16_uint8_t {
  221. uint8_t array[16];
  222. };
  223. struct l_array_100_uint32_t {
  224. uint32_t array[100];
  225. };
  226. struct l_array_8_uint32_t {
  227. uint32_t array[8];
  228. };
  229. struct l_array_97_uint32_t {
  230. uint32_t array[97];
  231. };
  232. #ifdef _MSC_VER
  233. #pragma pack(push, 1)
  234. #endif
  235. struct l_unnamed_2 {
  236. uint32_t field0;
  237. uint32_t field1;
  238. uint32_t field2;
  239. struct l_array_97_uint32_t field3;
  240. } __attribute__ ((packed));
  241. #ifdef _MSC_VER
  242. #pragma pack(pop)
  243. #endif
  244. struct l_array_97_struct_AC_l_unnamed_2 {
  245. struct l_unnamed_2 array[97];
  246. };
  247. #ifdef _MSC_VER
  248. #pragma pack(push, 1)
  249. #endif
  250. struct l_unnamed_1 {
  251. struct l_unnamed_2 field0;
  252. struct l_unnamed_2 field1;
  253. struct l_unnamed_2 field2;
  254. struct l_array_97_struct_AC_l_unnamed_2 field3;
  255. } __attribute__ ((packed));
  256. #ifdef _MSC_VER
  257. #pragma pack(pop)
  258. #endif
  259. /* Global Variable Declarations */
  260. extern uint32_t globalCounter;
  261. extern void* globalErrorMessage;
  262. extern uint32_t recursionDepth;
  263. const static struct l_array_9_uint8_t _OC_str;
  264. extern void* stderr;
  265. const static struct l_array_55_uint8_t _OC_str_OC_1;
  266. const static struct l_array_33_uint8_t _OC_str_OC_2;
  267. const static struct l_array_29_uint8_t _OC_str_OC_3;
  268. const static struct l_array_36_uint8_t _OC_str_OC_4;
  269. const static struct l_array_31_uint8_t _OC_str_OC_5;
  270. const static struct l_array_25_uint8_t _OC_str_OC_6;
  271. const static struct l_array_46_uint8_t _OC_str_OC_7;
  272. const static struct l_array_49_uint8_t _OC_str_OC_8;
  273. const static struct l_array_35_uint8_t _OC_str_OC_9;
  274. const static struct l_array_19_uint8_t _OC_str_OC_10;
  275. const static struct l_array_25_uint8_t _OC_str_OC_11;
  276. const static struct l_array_27_uint8_t _OC_str_OC_12;
  277. const static struct l_array_46_uint8_t _OC_str_OC_13;
  278. const static struct l_array_32_uint8_t _OC_str_OC_14;
  279. const static struct l_array_39_uint8_t _OC_str_OC_15;
  280. const static struct l_array_28_uint8_t _OC_str_OC_16;
  281. const static struct l_array_46_uint8_t _OC_str_OC_17;
  282. const static struct l_array_43_uint8_t _OC_str_OC_18;
  283. const static struct l_array_41_uint8_t _OC_str_OC_19;
  284. const static struct l_array_44_uint8_t _OC_str_OC_20;
  285. const static struct l_array_20_uint8_t _OC_str_OC_21;
  286. const static struct l_array_20_uint8_t _OC_str_OC_22;
  287. const static struct l_array_45_uint8_t _OC_str_OC_23;
  288. const static struct l_array_42_uint8_t _OC_str_OC_24;
  289. const static struct l_array_38_uint8_t _OC_str_OC_25;
  290. static uint32_t insertNode_OC_maxDepth;
  291. const static struct l_array_34_uint8_t _OC_str_OC_26;
  292. static uint32_t calculationResult;
  293. const static struct l_array_30_uint8_t _OC_str_OC_27;
  294. const static struct l_array_11_uint8_t _OC_str_OC_28;
  295. const static struct l_array_29_uint8_t _OC_str_OC_29;
  296. const static struct l_array_33_uint8_t _OC_str_OC_30;
  297. const static struct l_array_43_uint8_t _OC_str_OC_31;
  298. const static struct l_array_22_uint8_t _OC_str_OC_32;
  299. const static struct l_array_31_uint8_t _OC_str_OC_33;
  300. const static struct l_array_30_uint8_t _OC_str_OC_34;
  301. const static struct l_array_36_uint8_t _OC_str_OC_35;
  302. const static struct l_array_15_uint8_t _OC_str_OC_36;
  303. const static struct l_array_22_uint8_t _OC_str_OC_37;
  304. const static struct l_array_24_uint8_t _OC_str_OC_38;
  305. const static struct l_array_45_uint8_t _OC_str_OC_39;
  306. const static struct l_array_26_uint8_t _OC_str_OC_40;
  307. const static struct l_array_9_uint8_t _OC_str_OC_41;
  308. const static struct l_array_9_uint8_t _OC_str_OC_42;
  309. const static struct l_array_35_uint8_t _OC_str_OC_43;
  310. const static struct l_array_20_uint8_t _OC_str_OC_44;
  311. const static struct l_array_17_uint8_t _OC_str_OC_45;
  312. const static struct l_array_28_uint8_t _OC_str_OC_46;
  313. const static struct l_array_27_uint8_t _OC_str_OC_47;
  314. const static struct l_array_32_uint8_t _OC_str_OC_48;
  315. const static struct l_array_14_uint8_t _OC_str_OC_49;
  316. const static struct l_array_21_uint8_t _OC_str_OC_50;
  317. const static struct l_array_16_uint8_t _OC_str_OC_51;
  318. const static struct l_array_39_uint8_t _OC_str_OC_52;
  319. const static struct l_array_21_uint8_t _OC_str_OC_53;
  320. const static struct l_array_30_uint8_t _OC_str_OC_54;
  321. const static struct l_array_21_uint8_t _OC_str_OC_55;
  322. const static struct l_array_9_uint8_t _OC_str_OC_56;
  323. static __PREFIXALIGN__(16) struct l_array_100_uint32_t cache __POSTFIXALIGN__(16);
  324. const static struct l_array_14_uint8_t __const_OC_projectB_main_OC_str;
  325. const static __PREFIXALIGN__(16) struct l_array_8_uint32_t __const_OC_projectB_main_OC_arr __POSTFIXALIGN__(16);
  326. const static __PREFIXALIGN__(16) struct l_unnamed_1 __const_OC_projectB_main_OC_matrix __POSTFIXALIGN__(16);
  327. /* Function Declarations */
  328. void* getErrorMessage(void) __ATTRIBUTELIST__((noinline, nothrow));
  329. void free(void* _610) __ATTRIBUTELIST__((nothrow));
  330. void* strdup(void* _611) __ATTRIBUTELIST__((nothrow));
  331. uint32_t fprintf(void* _612, void* _613, ...);
  332. uint32_t factorial(uint32_t _7) __ATTRIBUTELIST__((noinline, nothrow));
  333. void* malloc(uint64_t _614) __ATTRIBUTELIST__((nothrow));
  334. void pushBack(void* _50, uint32_t _51) __ATTRIBUTELIST__((noinline, nothrow));
  335. void* realloc(void* _615, uint64_t _616) __ATTRIBUTELIST__((nothrow));
  336. void* calloc(uint64_t _617, uint64_t _618) __ATTRIBUTELIST__((nothrow));
  337. void* multiplyMatrices(void* _111, void* _112) __ATTRIBUTELIST__((noinline, nothrow));
  338. uint32_t abs(uint32_t _619) __ATTRIBUTELIST__((nothrow));
  339. void* insertNode(void* _251, uint32_t _252) __ATTRIBUTELIST__((noinline, nothrow));
  340. uint32_t printf(void* _620, ...);
  341. uint64_t time(void* _621) __ATTRIBUTELIST__((nothrow));
  342. void srand(uint32_t _622) __ATTRIBUTELIST__((nothrow));
  343. uint32_t rand(void) __ATTRIBUTELIST__((nothrow));
  344. double calculateDistance(struct l_struct_struct_OC_Point _323, struct l_struct_struct_OC_Point _324, void* _325) __ATTRIBUTELIST__((noinline, nothrow));
  345. double calculateCircleArea(struct l_struct_struct_OC_Circle _390, void* _391) __ATTRIBUTELIST__((noinline, nothrow));
  346. uint32_t strcmp(void* _623, void* _624) __ATTRIBUTELIST__((nothrow));
  347. uint32_t validateMatrix(void* _449) __ATTRIBUTELIST__((noinline, nothrow));
  348. void* findCentroid(void* _504, uint32_t _505, void* _506) __ATTRIBUTELIST__((noinline, nothrow));
  349. void* strcpy(void* _625, void* _626) __ATTRIBUTELIST__((nothrow));
  350. uint64_t strlen(void* _627) __ATTRIBUTELIST__((nothrow));
  351. uint32_t fused_quickSort(bool _628, void* _629, uint32_t _630, uint32_t _631, void* _632, uint32_t _633);
  352. uint32_t fused_performSimpleCalculations(bool _634, void* _635, uint32_t _636);
  353. struct l_struct_fused_return_projectA_main_memoizedFib fused_projectA_main(bool _637, uint32_t _638);
  354. struct l_struct_fused_return_createDynamicArray_processMatrix fused_createDynamicArray(bool _639, uint32_t _640, void* _641, uint32_t _642);
  355. uint32_t fused_setErrorMessage(bool _643, void* _644);
  356. void* fused_createMatrix(bool _645, uint32_t _646, uint32_t _647, void* _648);
  357. uint32_t fused_removeDuplicates(bool _649, void* _650, uint32_t _651);
  358. /* Global Variable Definitions and Initialization */
  359. uint32_t globalCounter;
  360. void* globalErrorMessage;
  361. uint32_t recursionDepth;
  362. static const struct l_array_9_uint8_t _OC_str = { "No error" };
  363. static const struct l_array_55_uint8_t _OC_str_OC_1 = { "Critical: Failed to allocate memory for error message\n" };
  364. static const struct l_array_33_uint8_t _OC_str_OC_2 = { "Maximum recursion depth exceeded" };
  365. static const struct l_array_29_uint8_t _OC_str_OC_3 = { "Factorial of negative number" };
  366. static const struct l_array_36_uint8_t _OC_str_OC_4 = { "Input too large, potential overflow" };
  367. static const struct l_array_31_uint8_t _OC_str_OC_5 = { "Factorial calculation overflow" };
  368. static const struct l_array_25_uint8_t _OC_str_OC_6 = { "Invalid initial capacity" };
  369. static const struct l_array_46_uint8_t _OC_str_OC_7 = { "Initial capacity exceeds maximum allowed size" };
  370. static const struct l_array_49_uint8_t _OC_str_OC_8 = { "Memory allocation failed for DynamicArray struct" };
  371. static const struct l_array_35_uint8_t _OC_str_OC_9 = { "Memory allocation failed for array" };
  372. static const struct l_array_19_uint8_t _OC_str_OC_10 = { "Null array pointer" };
  373. static const struct l_array_25_uint8_t _OC_str_OC_11 = { "Array size limit reached" };
  374. static const struct l_array_27_uint8_t _OC_str_OC_12 = { "Memory reallocation failed" };
  375. static const struct l_array_46_uint8_t _OC_str_OC_13 = { "Maximum recursion depth exceeded in quickSort" };
  376. static const struct l_array_32_uint8_t _OC_str_OC_14 = { "Null array pointer in quickSort" };
  377. static const struct l_array_39_uint8_t _OC_str_OC_15 = { "Array index out of bounds in quickSort" };
  378. static const struct l_array_28_uint8_t _OC_str_OC_16 = { "Matrix dimensions too small" };
  379. static const struct l_array_46_uint8_t _OC_str_OC_17 = { "Matrix dimensions exceed maximum allowed size" };
  380. static const struct l_array_43_uint8_t _OC_str_OC_18 = { "Memory allocation failed for matrix struct" };
  381. static const struct l_array_41_uint8_t _OC_str_OC_19 = { "Memory allocation failed for matrix rows" };
  382. static const struct l_array_44_uint8_t _OC_str_OC_20 = { "Memory allocation failed for matrix columns" };
  383. static const struct l_array_20_uint8_t _OC_str_OC_21 = { "Null matrix pointer" };
  384. static const struct l_array_20_uint8_t _OC_str_OC_22 = { "Invalid matrix data" };
  385. static const struct l_array_45_uint8_t _OC_str_OC_23 = { "Invalid matrix dimensions for multiplication" };
  386. static const struct l_array_42_uint8_t _OC_str_OC_24 = { "Integer overflow in matrix multiplication" };
  387. static const struct l_array_38_uint8_t _OC_str_OC_25 = { "Memory allocation failed for new node" };
  388. static uint32_t insertNode_OC_maxDepth;
  389. static const struct l_array_34_uint8_t _OC_str_OC_26 = { "List exceeds maximum allowed size" };
  390. static uint32_t calculationResult;
  391. static const struct l_array_30_uint8_t _OC_str_OC_27 = { "Final calculation result: %d\n" };
  392. static const struct l_array_11_uint8_t _OC_str_OC_28 = { "Error: %s\n" };
  393. static const struct l_array_29_uint8_t _OC_str_OC_29 = { "Error during array push: %s\n" };
  394. static const struct l_array_33_uint8_t _OC_str_OC_30 = { "Error during list insertion: %s\n" };
  395. static const struct l_array_43_uint8_t _OC_str_OC_31 = { "Circular reference detected in linked list" };
  396. static const struct l_array_22_uint8_t _OC_str_OC_32 = { "Invalid point weights" };
  397. static const struct l_array_31_uint8_t _OC_str_OC_33 = { "Coordinates out of valid range" };
  398. static const struct l_array_30_uint8_t _OC_str_OC_34 = { "Distance calculation overflow" };
  399. static const struct l_array_36_uint8_t _OC_str_OC_35 = { "Invalid distance calculation result" };
  400. static const struct l_array_15_uint8_t _OC_str_OC_36 = { "Invalid circle" };
  401. static const struct l_array_22_uint8_t _OC_str_OC_37 = { "Invalid circle radius" };
  402. static const struct l_array_24_uint8_t _OC_str_OC_38 = { "Circle radius too large" };
  403. static const struct l_array_45_uint8_t _OC_str_OC_39 = { "Circle center coordinates out of valid range" };
  404. static const struct l_array_26_uint8_t _OC_str_OC_40 = { "Area calculation overflow" };
  405. static const struct l_array_9_uint8_t _OC_str_OC_41 = { "standard" };
  406. static const struct l_array_9_uint8_t _OC_str_OC_42 = { "weighted" };
  407. static const struct l_array_35_uint8_t _OC_str_OC_43 = { "Invalid weight for weighted circle" };
  408. static const struct l_array_20_uint8_t _OC_str_OC_44 = { "Unknown circle type" };
  409. static const struct l_array_17_uint8_t _OC_str_OC_45 = { "Null matrix data" };
  410. static const struct l_array_28_uint8_t _OC_str_OC_46 = { "Matrix dimensions too large" };
  411. static const struct l_array_27_uint8_t _OC_str_OC_47 = { "Invalid matrix row pointer" };
  412. static const struct l_array_32_uint8_t _OC_str_OC_48 = { "Inconsistent square matrix flag" };
  413. static const struct l_array_14_uint8_t _OC_str_OC_49 = { "Invalid array" };
  414. static const struct l_array_21_uint8_t _OC_str_OC_50 = { "Invalid points array" };
  415. static const struct l_array_16_uint8_t _OC_str_OC_51 = { "Too many points" };
  416. static const struct l_array_39_uint8_t _OC_str_OC_52 = { "Failed to allocate memory for centroid" };
  417. static const struct l_array_21_uint8_t _OC_str_OC_53 = { "Invalid point weight" };
  418. static const struct l_array_30_uint8_t _OC_str_OC_54 = { "Centroid calculation overflow" };
  419. static const struct l_array_21_uint8_t _OC_str_OC_55 = { "Total weight is zero" };
  420. static const struct l_array_9_uint8_t _OC_str_OC_56 = { "Centroid" };
  421. static __PREFIXALIGN__(16) struct l_array_100_uint32_t cache __POSTFIXALIGN__(16);
  422. static const struct l_array_14_uint8_t __const_OC_projectB_main_OC_str = { "Hello, World!" };
  423. 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 } };
  424. 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 } } } } } };
  425. /* LLVM Intrinsic Builtin Function Bodies */
  426. static __forceinline uint32_t llvm_select_u32(bool condition, uint32_t iftrue, uint32_t ifnot) {
  427. uint32_t r;
  428. r = condition ? iftrue : ifnot;
  429. return r;
  430. }
  431. static __forceinline uint32_t llvm_add_u32(uint32_t a, uint32_t b) {
  432. uint32_t r = a + b;
  433. return r;
  434. }
  435. static __forceinline uint64_t llvm_add_u64(uint64_t a, uint64_t b) {
  436. uint64_t r = a + b;
  437. return r;
  438. }
  439. static __forceinline uint32_t llvm_sub_u32(uint32_t a, uint32_t b) {
  440. uint32_t r = a - b;
  441. return r;
  442. }
  443. static __forceinline uint32_t llvm_mul_u32(uint32_t a, uint32_t b) {
  444. uint32_t r = a * b;
  445. return r;
  446. }
  447. static __forceinline uint64_t llvm_mul_u64(uint64_t a, uint64_t b) {
  448. uint64_t r = a * b;
  449. return r;
  450. }
  451. static __forceinline uint32_t llvm_sdiv_u32(int32_t a, int32_t b) {
  452. uint32_t r = a / b;
  453. return r;
  454. }
  455. static __forceinline double llvm_OC_fabs_OC_f64(double a) {
  456. double r;
  457. r = fabs(a);
  458. return r;
  459. }
  460. /* Function Bodies */
  461. void* getErrorMessage(void) {
  462. void* _1;
  463. void* _2;
  464. void* _3;
  465. void* _3__PHI_TEMPORARY;
  466. _1 = globalErrorMessage;
  467. if ((_1 != ((void*)/*NULL*/0))) {
  468. goto _4;
  469. } else {
  470. goto _5;
  471. }
  472. _4:
  473. _2 = globalErrorMessage;
  474. _3__PHI_TEMPORARY = _2; /* for PHI node */
  475. goto _6;
  476. _5:
  477. _3__PHI_TEMPORARY = (&_OC_str); /* for PHI node */
  478. goto _6;
  479. _6:
  480. _3 = _3__PHI_TEMPORARY;
  481. return _3;
  482. }
  483. uint32_t factorial(uint32_t _7) {
  484. uint32_t _8; /* Address-exposed local */
  485. uint32_t _9; /* Address-exposed local */
  486. uint32_t _10; /* Address-exposed local */
  487. uint32_t _11; /* Address-exposed local */
  488. uint32_t _12;
  489. uint32_t _13;
  490. uint32_t _14;
  491. uint32_t _15;
  492. uint32_t _16;
  493. uint32_t _17;
  494. uint32_t _18;
  495. uint32_t _19;
  496. uint32_t _20;
  497. uint32_t _21;
  498. uint32_t _22;
  499. uint32_t _23;
  500. uint32_t _24;
  501. uint32_t _25;
  502. uint32_t _26;
  503. uint32_t _27;
  504. uint32_t _28;
  505. uint32_t _29;
  506. uint32_t _30;
  507. uint32_t _31;
  508. uint32_t _32;
  509. uint32_t _33;
  510. uint32_t _34;
  511. uint32_t _35;
  512. _9 = _7;
  513. _12 = recursionDepth;
  514. _13 = llvm_add_u32(_12, 1);
  515. recursionDepth = _13;
  516. if ((((int32_t)_13) > ((int32_t)1000u))) {
  517. goto _36;
  518. } else {
  519. goto _37;
  520. }
  521. _36:
  522. _14 = fused_setErrorMessage(0, (&_OC_str_OC_2));
  523. _15 = recursionDepth;
  524. recursionDepth = (llvm_add_u32(_15, -1));
  525. _8 = -1;
  526. goto _38;
  527. _37:
  528. _16 = _9;
  529. if ((((int32_t)_16) < ((int32_t)0u))) {
  530. goto _39;
  531. } else {
  532. goto _40;
  533. }
  534. _39:
  535. _17 = fused_setErrorMessage(0, (&_OC_str_OC_3));
  536. _18 = recursionDepth;
  537. recursionDepth = (llvm_add_u32(_18, -1));
  538. _8 = -1;
  539. goto _38;
  540. _40:
  541. _19 = _9;
  542. if ((((int32_t)_19) > ((int32_t)20u))) {
  543. goto _41;
  544. } else {
  545. goto _42;
  546. }
  547. _41:
  548. _20 = fused_setErrorMessage(0, (&_OC_str_OC_4));
  549. _21 = recursionDepth;
  550. recursionDepth = (llvm_add_u32(_21, -1));
  551. _8 = -1;
  552. goto _38;
  553. _42:
  554. _22 = _9;
  555. if ((((int32_t)_22) <= ((int32_t)1u))) {
  556. goto _43;
  557. } else {
  558. goto _44;
  559. }
  560. _43:
  561. _10 = 1;
  562. goto _45;
  563. _44:
  564. _23 = _9;
  565. _24 = factorial((llvm_sub_u32(_23, 1)));
  566. _11 = _24;
  567. _25 = _11;
  568. if ((_25 == 4294967295u)) {
  569. goto _46;
  570. } else {
  571. goto _47;
  572. }
  573. _46:
  574. _26 = recursionDepth;
  575. recursionDepth = (llvm_add_u32(_26, -1));
  576. _8 = -1;
  577. goto _38;
  578. _47:
  579. _27 = _11;
  580. _28 = _9;
  581. if ((((int32_t)_27) > ((int32_t)(llvm_sdiv_u32(2147483647u, _28))))) {
  582. goto _48;
  583. } else {
  584. goto _49;
  585. }
  586. _48:
  587. _29 = fused_setErrorMessage(0, (&_OC_str_OC_5));
  588. _30 = recursionDepth;
  589. recursionDepth = (llvm_add_u32(_30, -1));
  590. _8 = -1;
  591. goto _38;
  592. _49:
  593. _31 = _9;
  594. _32 = _11;
  595. _10 = (llvm_mul_u32(_31, _32));
  596. goto _45;
  597. _45:
  598. _33 = recursionDepth;
  599. recursionDepth = (llvm_add_u32(_33, -1));
  600. _34 = _10;
  601. _8 = _34;
  602. goto _38;
  603. _38:
  604. _35 = _8;
  605. return _35;
  606. }
  607. void pushBack(void* _50, uint32_t _51) {
  608. void* _52; /* Address-exposed local */
  609. uint32_t _53; /* Address-exposed local */
  610. uint32_t _54; /* Address-exposed local */
  611. void* _55; /* Address-exposed local */
  612. void* _56;
  613. uint32_t _57;
  614. void* _58;
  615. uint32_t _59;
  616. uint32_t _60;
  617. void* _61;
  618. uint32_t _62;
  619. void* _63;
  620. uint32_t _64;
  621. void* _65;
  622. uint32_t _66;
  623. uint32_t _67;
  624. void* _68;
  625. void* _69;
  626. uint32_t _70;
  627. void* _71;
  628. void* _72;
  629. uint32_t _73;
  630. void* _74;
  631. void* _75;
  632. uint32_t _76;
  633. void* _77;
  634. void* _78;
  635. uint32_t _79;
  636. void* _80;
  637. uint32_t _81;
  638. uint32_t _82;
  639. void* _83;
  640. void* _84;
  641. void* _85;
  642. uint32_t _86;
  643. uint32_t _87;
  644. void* _88;
  645. uint32_t _89;
  646. void* _90;
  647. void* _91;
  648. void* _92;
  649. void* _93;
  650. uint32_t _94;
  651. void* _95;
  652. _52 = _50;
  653. _53 = _51;
  654. _56 = _52;
  655. if ((_56 != ((void*)/*NULL*/0))) {
  656. goto _96;
  657. } else {
  658. goto _97;
  659. }
  660. _97:
  661. _57 = fused_setErrorMessage(0, (&_OC_str_OC_10));
  662. goto _98;
  663. _96:
  664. _58 = _52;
  665. _59 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_58)->field1))));
  666. if ((((int32_t)_59) >= ((int32_t)1000u))) {
  667. goto _99;
  668. } else {
  669. goto _100;
  670. }
  671. _99:
  672. _60 = fused_setErrorMessage(0, (&_OC_str_OC_11));
  673. goto _98;
  674. _100:
  675. _61 = _52;
  676. _62 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_61)->field1))));
  677. _63 = _52;
  678. _64 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_63)->field2))));
  679. if ((((int32_t)_62) >= ((int32_t)_64))) {
  680. goto _101;
  681. } else {
  682. goto _102;
  683. }
  684. _101:
  685. _65 = _52;
  686. _66 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_65)->field2))));
  687. _54 = (llvm_mul_u32(_66, 2));
  688. _67 = _54;
  689. if ((((int32_t)_67) > ((int32_t)1000u))) {
  690. goto _103;
  691. } else {
  692. goto _104;
  693. }
  694. _103:
  695. _54 = 1000;
  696. goto _104;
  697. _104:
  698. _68 = _52;
  699. _69 = *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_68)->field0))));
  700. _70 = _54;
  701. _71 = realloc((((void*)_69)), (llvm_mul_u64(4, (((int64_t)(int32_t)_70)))));
  702. _55 = (((void*)_71));
  703. _72 = _55;
  704. if ((_72 != ((void*)/*NULL*/0))) {
  705. goto _105;
  706. } else {
  707. goto _106;
  708. }
  709. _106:
  710. _73 = fused_setErrorMessage(0, (&_OC_str_OC_12));
  711. goto _98;
  712. _105:
  713. _74 = _55;
  714. _75 = _52;
  715. *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_75)->field0)))) = _74;
  716. _76 = _54;
  717. _77 = _52;
  718. *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_77)->field2)))) = _76;
  719. goto _102;
  720. _102:
  721. _78 = _52;
  722. _79 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_78)->field3))));
  723. if ((_79 != 0u)) {
  724. goto _107;
  725. } else {
  726. goto _108;
  727. }
  728. _107:
  729. _80 = _52;
  730. _81 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_80)->field1))));
  731. if ((((int32_t)_81) > ((int32_t)0u))) {
  732. goto _109;
  733. } else {
  734. goto _108;
  735. }
  736. _109:
  737. _82 = _53;
  738. _83 = _52;
  739. _84 = *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_83)->field0))));
  740. _85 = _52;
  741. _86 = *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_85)->field1))));
  742. _87 = *(uint32_t*)(((&((uint32_t*)_84)[((int64_t)(((int64_t)(int32_t)(llvm_sub_u32(_86, 1)))))])));
  743. if ((((int32_t)_82) < ((int32_t)_87))) {
  744. goto _110;
  745. } else {
  746. goto _108;
  747. }
  748. _110:
  749. _88 = _52;
  750. *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_88)->field3)))) = 0;
  751. goto _108;
  752. _108:
  753. _89 = _53;
  754. _90 = _52;
  755. _91 = *(void**)(((&(((struct l_struct_struct_OC_DynamicArray*)_90)->field0))));
  756. _92 = _52;
  757. _93 = ((&(((struct l_struct_struct_OC_DynamicArray*)_92)->field1)));
  758. _94 = *(uint32_t*)_93;
  759. *(uint32_t*)_93 = (llvm_add_u32(_94, 1));
  760. *(uint32_t*)(((&((uint32_t*)_91)[((int64_t)(((int64_t)(int32_t)_94)))]))) = _89;
  761. _95 = _52;
  762. *(uint32_t*)(((&(((struct l_struct_struct_OC_DynamicArray*)_95)->field4)))) = 1;
  763. goto _98;
  764. _98:
  765. return;
  766. }
  767. void* multiplyMatrices(void* _111, void* _112) {
  768. void* _113; /* Address-exposed local */
  769. void* _114; /* Address-exposed local */
  770. void* _115; /* Address-exposed local */
  771. void* _116; /* Address-exposed local */
  772. uint64_t _117; /* Address-exposed local */
  773. uint32_t _118; /* Address-exposed local */
  774. uint32_t _119; /* Address-exposed local */
  775. uint64_t _120; /* Address-exposed local */
  776. uint32_t _121; /* Address-exposed local */
  777. uint64_t _122; /* Address-exposed local */
  778. uint32_t _123; /* Address-exposed local */
  779. void* _124;
  780. void* _125;
  781. uint32_t _126;
  782. void* _127;
  783. void* _128;
  784. void* _129;
  785. void* _130;
  786. uint32_t _131;
  787. void* _132;
  788. uint32_t _133;
  789. void* _134;
  790. uint32_t _135;
  791. uint32_t _136;
  792. void* _137;
  793. uint32_t _138;
  794. void* _139;
  795. uint32_t _140;
  796. uint32_t _141;
  797. void* _142;
  798. uint32_t _143;
  799. void* _144;
  800. uint32_t _145;
  801. void* _146;
  802. void* _147;
  803. uint32_t _148;
  804. void* _149;
  805. uint32_t _150;
  806. uint32_t _151;
  807. void* _152;
  808. uint32_t _153;
  809. uint32_t _154;
  810. void* _155;
  811. uint32_t _156;
  812. void* _157;
  813. void* _158;
  814. uint32_t _159;
  815. void* _160;
  816. uint32_t _161;
  817. uint32_t _162;
  818. void* _163;
  819. void* _164;
  820. uint32_t _165;
  821. void* _166;
  822. uint32_t _167;
  823. uint32_t _168;
  824. uint64_t _169;
  825. uint64_t _170;
  826. uint64_t _171;
  827. uint64_t _172;
  828. uint32_t _173;
  829. uint32_t _174;
  830. void* _175;
  831. uint32_t _176;
  832. void* _177;
  833. void* _178;
  834. uint32_t _179;
  835. void* _180;
  836. uint32_t _181;
  837. void* _182;
  838. void* _183;
  839. void* _184;
  840. uint32_t _185;
  841. uint64_t _186;
  842. void* _187;
  843. void* _188;
  844. uint32_t _189;
  845. void* _190;
  846. uint32_t _191;
  847. void* _192;
  848. void* _193;
  849. uint32_t _194;
  850. void* _195;
  851. uint32_t _196;
  852. uint32_t _197;
  853. uint32_t _198;
  854. uint64_t _199;
  855. void* _200;
  856. void* _201;
  857. uint32_t _202;
  858. void* _203;
  859. uint32_t _204;
  860. uint32_t _205;
  861. uint32_t _206;
  862. uint32_t _207;
  863. uint32_t _208;
  864. void* _209;
  865. uint32_t _210;
  866. void* _211;
  867. uint32_t _212;
  868. void* _213;
  869. void* _214;
  870. void* _215;
  871. _114 = _111;
  872. _115 = _112;
  873. _124 = _114;
  874. if ((_124 != ((void*)/*NULL*/0))) {
  875. goto _216;
  876. } else {
  877. goto _217;
  878. }
  879. _216:
  880. _125 = _115;
  881. if ((_125 != ((void*)/*NULL*/0))) {
  882. goto _218;
  883. } else {
  884. goto _217;
  885. }
  886. _217:
  887. _126 = fused_setErrorMessage(0, (&_OC_str_OC_21));
  888. _113 = ((void*)/*NULL*/0);
  889. goto _219;
  890. _218:
  891. _127 = _114;
  892. _128 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_127)->field0))));
  893. if ((_128 != ((void*)/*NULL*/0))) {
  894. goto _220;
  895. } else {
  896. goto _221;
  897. }
  898. _220:
  899. _129 = _115;
  900. _130 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_129)->field0))));
  901. if ((_130 != ((void*)/*NULL*/0))) {
  902. goto _222;
  903. } else {
  904. goto _221;
  905. }
  906. _221:
  907. _131 = fused_setErrorMessage(0, (&_OC_str_OC_22));
  908. _113 = ((void*)/*NULL*/0);
  909. goto _219;
  910. _222:
  911. _132 = _114;
  912. _133 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_132)->field2))));
  913. _134 = _115;
  914. _135 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_134)->field1))));
  915. if ((_133 != _135)) {
  916. goto _223;
  917. } else {
  918. goto _224;
  919. }
  920. _223:
  921. _136 = fused_setErrorMessage(0, (&_OC_str_OC_23));
  922. _113 = ((void*)/*NULL*/0);
  923. goto _219;
  924. _224:
  925. _137 = _114;
  926. _138 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_137)->field2))));
  927. if ((((int32_t)_138) > ((int32_t)100u))) {
  928. goto _225;
  929. } else {
  930. goto _226;
  931. }
  932. _226:
  933. _139 = _115;
  934. _140 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_139)->field1))));
  935. if ((((int32_t)_140) > ((int32_t)100u))) {
  936. goto _225;
  937. } else {
  938. goto _227;
  939. }
  940. _225:
  941. _141 = fused_setErrorMessage(0, (&_OC_str_OC_17));
  942. _113 = ((void*)/*NULL*/0);
  943. goto _219;
  944. _227:
  945. _142 = _114;
  946. _143 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_142)->field1))));
  947. _144 = _115;
  948. _145 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_144)->field2))));
  949. _146 = fused_createMatrix(0, _143, _145, ((void*)/*NULL*/0));
  950. _116 = _146;
  951. _147 = _116;
  952. if ((_147 != ((void*)/*NULL*/0))) {
  953. goto _228;
  954. } else {
  955. goto _229;
  956. }
  957. _229:
  958. _113 = ((void*)/*NULL*/0);
  959. goto _219;
  960. _228:
  961. _117 = 0;
  962. _118 = 0;
  963. goto _230;
  964. do { /* Syntactic loop '' to make GCC happy */
  965. _230:
  966. _148 = _118;
  967. _149 = _114;
  968. _150 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_149)->field1))));
  969. if ((((int32_t)_148) < ((int32_t)_150))) {
  970. goto _231;
  971. } else {
  972. goto _232;
  973. }
  974. _231:
  975. _119 = 0;
  976. goto _233;
  977. do { /* Syntactic loop '' to make GCC happy */
  978. _233:
  979. _151 = _119;
  980. _152 = _115;
  981. _153 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_152)->field2))));
  982. if ((((int32_t)_151) < ((int32_t)_153))) {
  983. goto _234;
  984. } else {
  985. goto _235;
  986. }
  987. _234:
  988. _120 = 0;
  989. _121 = 0;
  990. goto _236;
  991. do { /* Syntactic loop '' to make GCC happy */
  992. _236:
  993. _154 = _121;
  994. _155 = _114;
  995. _156 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_155)->field2))));
  996. if ((((int32_t)_154) < ((int32_t)_156))) {
  997. goto _237;
  998. } else {
  999. goto _238;
  1000. }
  1001. _237:
  1002. _157 = _114;
  1003. _158 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_157)->field0))));
  1004. _159 = _118;
  1005. _160 = *(void**)(((&((void**)_158)[((int64_t)(((int64_t)(int32_t)_159)))])));
  1006. _161 = _121;
  1007. _162 = *(uint32_t*)(((&((uint32_t*)_160)[((int64_t)(((int64_t)(int32_t)_161)))])));
  1008. _163 = _115;
  1009. _164 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_163)->field0))));
  1010. _165 = _121;
  1011. _166 = *(void**)(((&((void**)_164)[((int64_t)(((int64_t)(int32_t)_165)))])));
  1012. _167 = _119;
  1013. _168 = *(uint32_t*)(((&((uint32_t*)_166)[((int64_t)(((int64_t)(int32_t)_167)))])));
  1014. _122 = (llvm_mul_u64((((int64_t)(int32_t)_162)), (((int64_t)(int32_t)_168))));
  1015. _169 = _122;
  1016. _170 = _120;
  1017. _120 = (llvm_add_u64(_170, _169));
  1018. _171 = _120;
  1019. if ((((int64_t)_171) > ((int64_t)UINT64_C(2147483647)))) {
  1020. goto _239;
  1021. } else {
  1022. goto _240;
  1023. }
  1024. _240:
  1025. _172 = _120;
  1026. if ((((int64_t)_172) < ((int64_t)UINT64_C(18446744071562067968)))) {
  1027. goto _239;
  1028. } else {
  1029. goto _241;
  1030. }
  1031. _241:
  1032. goto _242;
  1033. _242:
  1034. _185 = _121;
  1035. _121 = (llvm_add_u32(_185, 1));
  1036. goto _236;
  1037. } while (1); /* end of syntactic loop '' */
  1038. _238:
  1039. _186 = _120;
  1040. _187 = _116;
  1041. _188 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_187)->field0))));
  1042. _189 = _118;
  1043. _190 = *(void**)(((&((void**)_188)[((int64_t)(((int64_t)(int32_t)_189)))])));
  1044. _191 = _119;
  1045. *(uint32_t*)(((&((uint32_t*)_190)[((int64_t)(((int64_t)(int32_t)_191)))]))) = (((uint32_t)_186));
  1046. _192 = _116;
  1047. _193 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_192)->field0))));
  1048. _194 = _118;
  1049. _195 = *(void**)(((&((void**)_193)[((int64_t)(((int64_t)(int32_t)_194)))])));
  1050. _196 = _119;
  1051. _197 = *(uint32_t*)(((&((uint32_t*)_195)[((int64_t)(((int64_t)(int32_t)_196)))])));
  1052. _198 = abs(_197);
  1053. _199 = _117;
  1054. if ((((int64_t)(((int64_t)(int32_t)_198))) > ((int64_t)_199))) {
  1055. goto _243;
  1056. } else {
  1057. goto _244;
  1058. }
  1059. _243:
  1060. _200 = _116;
  1061. _201 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_200)->field0))));
  1062. _202 = _118;
  1063. _203 = *(void**)(((&((void**)_201)[((int64_t)(((int64_t)(int32_t)_202)))])));
  1064. _204 = _119;
  1065. _205 = *(uint32_t*)(((&((uint32_t*)_203)[((int64_t)(((int64_t)(int32_t)_204)))])));
  1066. _206 = abs(_205);
  1067. _117 = (((int64_t)(int32_t)_206));
  1068. goto _244;
  1069. _244:
  1070. goto _245;
  1071. _245:
  1072. _207 = _119;
  1073. _119 = (llvm_add_u32(_207, 1));
  1074. goto _233;
  1075. } while (1); /* end of syntactic loop '' */
  1076. _235:
  1077. goto _246;
  1078. _246:
  1079. _208 = _118;
  1080. _118 = (llvm_add_u32(_208, 1));
  1081. goto _230;
  1082. } while (1); /* end of syntactic loop '' */
  1083. _239:
  1084. _173 = fused_setErrorMessage(0, (&_OC_str_OC_24));
  1085. _123 = 0;
  1086. goto _247;
  1087. do { /* Syntactic loop '' to make GCC happy */
  1088. _247:
  1089. _174 = _123;
  1090. _175 = _116;
  1091. _176 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_175)->field1))));
  1092. if ((((int32_t)_174) < ((int32_t)_176))) {
  1093. goto _248;
  1094. } else {
  1095. goto _249;
  1096. }
  1097. _248:
  1098. _177 = _116;
  1099. _178 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_177)->field0))));
  1100. _179 = _123;
  1101. _180 = *(void**)(((&((void**)_178)[((int64_t)(((int64_t)(int32_t)_179)))])));
  1102. free((((void*)_180)));
  1103. goto _250;
  1104. _250:
  1105. _181 = _123;
  1106. _123 = (llvm_add_u32(_181, 1));
  1107. goto _247;
  1108. } while (1); /* end of syntactic loop '' */
  1109. _249:
  1110. _182 = _116;
  1111. _183 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_182)->field0))));
  1112. free((((void*)_183)));
  1113. _184 = _116;
  1114. free((((void*)_184)));
  1115. _113 = ((void*)/*NULL*/0);
  1116. goto _219;
  1117. _232:
  1118. _209 = _116;
  1119. _210 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_209)->field1))));
  1120. _211 = _116;
  1121. _212 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_211)->field2))));
  1122. _213 = _116;
  1123. *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_213)->field3)))) = (((uint32_t)(bool)(_210 == _212)));
  1124. _214 = _116;
  1125. _113 = _214;
  1126. goto _219;
  1127. _219:
  1128. _215 = _113;
  1129. return _215;
  1130. }
  1131. void* insertNode(void* _251, uint32_t _252) {
  1132. void* _253; /* Address-exposed local */
  1133. void* _254; /* Address-exposed local */
  1134. uint32_t _255; /* Address-exposed local */
  1135. void* _256; /* Address-exposed local */
  1136. void* _257; /* Address-exposed local */
  1137. void* _258; /* Address-exposed local */
  1138. uint32_t _259; /* Address-exposed local */
  1139. void* _260;
  1140. void* _261;
  1141. uint32_t _262;
  1142. void* _263;
  1143. uint32_t _264;
  1144. void* _265;
  1145. void* _266;
  1146. void* _267;
  1147. void* _268;
  1148. void* _269;
  1149. void* _270;
  1150. void* _271;
  1151. void* _272;
  1152. void* _273;
  1153. void* _274;
  1154. uint32_t _275;
  1155. uint32_t _276;
  1156. bool _277;
  1157. bool _277__PHI_TEMPORARY;
  1158. void* _278;
  1159. void* _279;
  1160. void* _280;
  1161. uint32_t _281;
  1162. uint32_t _282;
  1163. uint32_t _283;
  1164. void* _284;
  1165. void* _285;
  1166. uint32_t _286;
  1167. uint32_t _287;
  1168. uint32_t _288;
  1169. uint32_t _289;
  1170. void* _290;
  1171. void* _291;
  1172. void* _292;
  1173. void* _293;
  1174. void* _294;
  1175. void* _295;
  1176. void* _296;
  1177. void* _297;
  1178. void* _298;
  1179. void* _299;
  1180. void* _300;
  1181. void* _301;
  1182. void* _302;
  1183. void* _303;
  1184. _254 = _251;
  1185. _255 = _252;
  1186. _260 = malloc(32);
  1187. _256 = (((void*)_260));
  1188. _261 = _256;
  1189. if ((_261 != ((void*)/*NULL*/0))) {
  1190. goto _304;
  1191. } else {
  1192. goto _305;
  1193. }
  1194. _305:
  1195. _262 = fused_setErrorMessage(0, (&_OC_str_OC_25));
  1196. _263 = _254;
  1197. _253 = _263;
  1198. goto _306;
  1199. _304:
  1200. _264 = _255;
  1201. _265 = _256;
  1202. *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_265)->field0)))) = _264;
  1203. _266 = _256;
  1204. *(void**)(((&(((struct l_struct_struct_OC_Node*)_266)->field1)))) = ((void*)/*NULL*/0);
  1205. _267 = _256;
  1206. *(void**)(((&(((struct l_struct_struct_OC_Node*)_267)->field2)))) = ((void*)/*NULL*/0);
  1207. _268 = _256;
  1208. *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_268)->field3)))) = 0;
  1209. _269 = _254;
  1210. if ((_269 != ((void*)/*NULL*/0))) {
  1211. goto _307;
  1212. } else {
  1213. goto _308;
  1214. }
  1215. _308:
  1216. _270 = _256;
  1217. *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_270)->field4)))) = 0;
  1218. insertNode_OC_maxDepth = 0;
  1219. _271 = _256;
  1220. _253 = _271;
  1221. goto _306;
  1222. _307:
  1223. _272 = _254;
  1224. _257 = _272;
  1225. _258 = ((void*)/*NULL*/0);
  1226. _259 = 0;
  1227. goto _309;
  1228. do { /* Syntactic loop '' to make GCC happy */
  1229. _309:
  1230. _273 = _257;
  1231. if ((_273 != ((void*)/*NULL*/0))) {
  1232. goto _310;
  1233. } else {
  1234. _277__PHI_TEMPORARY = 0; /* for PHI node */
  1235. goto _311;
  1236. }
  1237. _310:
  1238. _274 = _257;
  1239. _275 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_274)->field0))));
  1240. _276 = _255;
  1241. _277__PHI_TEMPORARY = (((int32_t)_275) < ((int32_t)_276)); /* for PHI node */
  1242. goto _311;
  1243. _311:
  1244. _277 = _277__PHI_TEMPORARY;
  1245. if (_277) {
  1246. goto _312;
  1247. } else {
  1248. goto _313;
  1249. }
  1250. _312:
  1251. _278 = _257;
  1252. _258 = _278;
  1253. _279 = _257;
  1254. _280 = *(void**)(((&(((struct l_struct_struct_OC_Node*)_279)->field1))));
  1255. _257 = _280;
  1256. _281 = _259;
  1257. _259 = (llvm_add_u32(_281, 1));
  1258. _282 = _259;
  1259. if ((((int32_t)_282) > ((int32_t)1000u))) {
  1260. goto _314;
  1261. } else {
  1262. goto _315;
  1263. }
  1264. _315:
  1265. goto _309;
  1266. } while (1); /* end of syntactic loop '' */
  1267. _314:
  1268. _283 = fused_setErrorMessage(0, (&_OC_str_OC_26));
  1269. _284 = _256;
  1270. free((((void*)_284)));
  1271. _285 = _254;
  1272. _253 = _285;
  1273. goto _306;
  1274. _313:
  1275. _286 = _259;
  1276. _287 = insertNode_OC_maxDepth;
  1277. if ((((int32_t)_286) > ((int32_t)_287))) {
  1278. goto _316;
  1279. } else {
  1280. goto _317;
  1281. }
  1282. _316:
  1283. _288 = _259;
  1284. insertNode_OC_maxDepth = _288;
  1285. goto _317;
  1286. _317:
  1287. _289 = _259;
  1288. _290 = _256;
  1289. *(uint32_t*)(((&(((struct l_struct_struct_OC_Node*)_290)->field4)))) = _289;
  1290. _291 = _257;
  1291. _292 = _256;
  1292. *(void**)(((&(((struct l_struct_struct_OC_Node*)_292)->field1)))) = _291;
  1293. _293 = _258;
  1294. if ((_293 != ((void*)/*NULL*/0))) {
  1295. goto _318;
  1296. } else {
  1297. goto _319;
  1298. }
  1299. _318:
  1300. _294 = _256;
  1301. _295 = _258;
  1302. *(void**)(((&(((struct l_struct_struct_OC_Node*)_295)->field1)))) = _294;
  1303. _296 = _258;
  1304. _297 = _256;
  1305. *(void**)(((&(((struct l_struct_struct_OC_Node*)_297)->field2)))) = _296;
  1306. goto _320;
  1307. _319:
  1308. _298 = _256;
  1309. _253 = _298;
  1310. goto _306;
  1311. _320:
  1312. _299 = _257;
  1313. if ((_299 != ((void*)/*NULL*/0))) {
  1314. goto _321;
  1315. } else {
  1316. goto _322;
  1317. }
  1318. _321:
  1319. _300 = _256;
  1320. _301 = _257;
  1321. *(void**)(((&(((struct l_struct_struct_OC_Node*)_301)->field2)))) = _300;
  1322. goto _322;
  1323. _322:
  1324. _302 = _254;
  1325. _253 = _302;
  1326. goto _306;
  1327. _306:
  1328. _303 = _253;
  1329. return _303;
  1330. }
  1331. static const ConstantDoubleTy FPConstant1 = 0x7FF0000000000000ULL; /* INF */
  1332. double calculateDistance(struct l_struct_struct_OC_Point _323, struct l_struct_struct_OC_Point _324, void* _325) {
  1333. double _326; /* Address-exposed local */
  1334. void* _327; /* Address-exposed local */
  1335. double _328; /* Address-exposed local */
  1336. double _329; /* Address-exposed local */
  1337. double _330; /* Address-exposed local */
  1338. void* _331;
  1339. double _332;
  1340. double _333;
  1341. void* _334;
  1342. uint32_t _335;
  1343. uint32_t _336;
  1344. uint32_t _337;
  1345. uint32_t _338;
  1346. uint32_t _339;
  1347. uint32_t _340;
  1348. uint32_t _341;
  1349. uint32_t _342;
  1350. uint32_t _343;
  1351. void* _344;
  1352. uint32_t _345;
  1353. uint32_t _346;
  1354. uint32_t _347;
  1355. double _348;
  1356. double _349;
  1357. double _350;
  1358. uint32_t _351;
  1359. uint32_t _352;
  1360. double _353;
  1361. double _354;
  1362. double _355;
  1363. double _356;
  1364. double _357;
  1365. double _358;
  1366. double _359;
  1367. void* _360;
  1368. uint32_t _361;
  1369. double _362;
  1370. double _363;
  1371. double _364;
  1372. double _365;
  1373. double _366;
  1374. double _367;
  1375. double _368;
  1376. double _369;
  1377. llvmBitCastUnion _370__BITCAST_TEMPORARY;
  1378. void* _371;
  1379. uint32_t _372;
  1380. double _373;
  1381. double _374;
  1382. _327 = _325;
  1383. _331 = _327;
  1384. *(uint32_t*)_331 = 0;
  1385. _332 = *(double*)(((&(&_323)->field3)));
  1386. if ((llvm_fcmp_ole(_332, 0))) {
  1387. goto _375;
  1388. } else {
  1389. goto _376;
  1390. }
  1391. _376:
  1392. _333 = *(double*)(((&(&_324)->field3)));
  1393. if ((llvm_fcmp_ole(_333, 0))) {
  1394. goto _375;
  1395. } else {
  1396. goto _377;
  1397. }
  1398. _375:
  1399. _334 = _327;
  1400. *(uint32_t*)_334 = 1;
  1401. _335 = fused_setErrorMessage(0, (&_OC_str_OC_32));
  1402. _326 = -1;
  1403. goto _378;
  1404. _377:
  1405. _336 = *(uint32_t*)(((&(&_323)->field0)));
  1406. _337 = abs(_336);
  1407. if ((((int32_t)_337) > ((int32_t)1000u))) {
  1408. goto _379;
  1409. } else {
  1410. goto _380;
  1411. }
  1412. _380:
  1413. _338 = *(uint32_t*)(((&(&_323)->field1)));
  1414. _339 = abs(_338);
  1415. if ((((int32_t)_339) > ((int32_t)1000u))) {
  1416. goto _379;
  1417. } else {
  1418. goto _381;
  1419. }
  1420. _381:
  1421. _340 = *(uint32_t*)(((&(&_324)->field0)));
  1422. _341 = abs(_340);
  1423. if ((((int32_t)_341) > ((int32_t)1000u))) {
  1424. goto _379;
  1425. } else {
  1426. goto _382;
  1427. }
  1428. _382:
  1429. _342 = *(uint32_t*)(((&(&_324)->field1)));
  1430. _343 = abs(_342);
  1431. if ((((int32_t)_343) > ((int32_t)1000u))) {
  1432. goto _379;
  1433. } else {
  1434. goto _383;
  1435. }
  1436. _379:
  1437. _344 = _327;
  1438. *(uint32_t*)_344 = 3;
  1439. _345 = fused_setErrorMessage(0, (&_OC_str_OC_33));
  1440. _326 = -1;
  1441. goto _378;
  1442. _383:
  1443. _346 = *(uint32_t*)(((&(&_324)->field0)));
  1444. _347 = *(uint32_t*)(((&(&_323)->field0)));
  1445. _348 = *(double*)(((&(&_324)->field3)));
  1446. _349 = *(double*)(((&(&_323)->field3)));
  1447. _350 = sqrt((_348 / _349));
  1448. _328 = ((((double)(int32_t)(llvm_sub_u32(_346, _347)))) * _350);
  1449. _351 = *(uint32_t*)(((&(&_324)->field1)));
  1450. _352 = *(uint32_t*)(((&(&_323)->field1)));
  1451. _353 = *(double*)(((&(&_324)->field3)));
  1452. _354 = *(double*)(((&(&_323)->field3)));
  1453. _355 = sqrt((_353 / _354));
  1454. _329 = ((((double)(int32_t)(llvm_sub_u32(_351, _352)))) * _355);
  1455. _356 = _328;
  1456. _357 = llvm_OC_fabs_OC_f64(_356);
  1457. if ((llvm_fcmp_ogt(_357, 1000))) {
  1458. goto _384;
  1459. } else {
  1460. goto _385;
  1461. }
  1462. _385:
  1463. _358 = _329;
  1464. _359 = llvm_OC_fabs_OC_f64(_358);
  1465. if ((llvm_fcmp_ogt(_359, 1000))) {
  1466. goto _384;
  1467. } else {
  1468. goto _386;
  1469. }
  1470. _384:
  1471. _360 = _327;
  1472. *(uint32_t*)_360 = 5;
  1473. _361 = fused_setErrorMessage(0, (&_OC_str_OC_34));
  1474. _326 = -1;
  1475. goto _378;
  1476. _386:
  1477. _362 = _328;
  1478. _363 = _328;
  1479. _364 = _329;
  1480. _365 = _329;
  1481. _366 = sqrt(((_362 * _363) + (_364 * _365)));
  1482. _330 = _366;
  1483. _367 = _330;
  1484. if ((llvm_fcmp_uno(_367, _367))) {
  1485. goto _387;
  1486. } else {
  1487. goto _388;
  1488. }
  1489. _388:
  1490. _368 = _330;
  1491. _369 = llvm_OC_fabs_OC_f64(_368);
  1492. 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)) {
  1493. goto _387;
  1494. } else {
  1495. goto _389;
  1496. }
  1497. _387:
  1498. _371 = _327;
  1499. *(uint32_t*)_371 = 8;
  1500. _372 = fused_setErrorMessage(0, (&_OC_str_OC_35));
  1501. _326 = -1;
  1502. goto _378;
  1503. _389:
  1504. _373 = _330;
  1505. _326 = _373;
  1506. goto _378;
  1507. _378:
  1508. _374 = _326;
  1509. return _374;
  1510. }
  1511. double calculateCircleArea(struct l_struct_struct_OC_Circle _390, void* _391) {
  1512. double _392; /* Address-exposed local */
  1513. void* _393; /* Address-exposed local */
  1514. double _394; /* Address-exposed local */
  1515. void* _395;
  1516. uint32_t _396;
  1517. void* _397;
  1518. uint32_t _398;
  1519. double _399;
  1520. void* _400;
  1521. uint32_t _401;
  1522. double _402;
  1523. void* _403;
  1524. uint32_t _404;
  1525. uint32_t _405;
  1526. uint32_t _406;
  1527. uint32_t _407;
  1528. uint32_t _408;
  1529. void* _409;
  1530. uint32_t _410;
  1531. double _411;
  1532. double _412;
  1533. double _413;
  1534. double _414;
  1535. double _415;
  1536. llvmBitCastUnion _416__BITCAST_TEMPORARY;
  1537. void* _417;
  1538. uint32_t _418;
  1539. uint32_t _419;
  1540. double _420;
  1541. uint32_t _421;
  1542. double _422;
  1543. void* _423;
  1544. uint32_t _424;
  1545. double _425;
  1546. double _426;
  1547. void* _427;
  1548. uint32_t _428;
  1549. double _429;
  1550. _393 = _391;
  1551. _395 = _393;
  1552. *(uint32_t*)_395 = 0;
  1553. _396 = *(uint32_t*)(((&(&_390)->field2)));
  1554. if ((_396 != 0u)) {
  1555. goto _430;
  1556. } else {
  1557. goto _431;
  1558. }
  1559. _431:
  1560. _397 = _393;
  1561. *(uint32_t*)_397 = 1;
  1562. _398 = fused_setErrorMessage(0, (&_OC_str_OC_36));
  1563. _392 = -1;
  1564. goto _432;
  1565. _430:
  1566. _399 = *(double*)(((&(&_390)->field1)));
  1567. if ((llvm_fcmp_ole(_399, 0))) {
  1568. goto _433;
  1569. } else {
  1570. goto _434;
  1571. }
  1572. _433:
  1573. _400 = _393;
  1574. *(uint32_t*)_400 = 1;
  1575. _401 = fused_setErrorMessage(0, (&_OC_str_OC_37));
  1576. _392 = -1;
  1577. goto _432;
  1578. _434:
  1579. _402 = *(double*)(((&(&_390)->field1)));
  1580. if ((llvm_fcmp_ogt(_402, 1000))) {
  1581. goto _435;
  1582. } else {
  1583. goto _436;
  1584. }
  1585. _435:
  1586. _403 = _393;
  1587. *(uint32_t*)_403 = 3;
  1588. _404 = fused_setErrorMessage(0, (&_OC_str_OC_38));
  1589. _392 = -1;
  1590. goto _432;
  1591. _436:
  1592. _405 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field0))));
  1593. _406 = abs(_405);
  1594. if ((((int32_t)_406) > ((int32_t)1000u))) {
  1595. goto _437;
  1596. } else {
  1597. goto _438;
  1598. }
  1599. _438:
  1600. _407 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field1))));
  1601. _408 = abs(_407);
  1602. if ((((int32_t)_408) > ((int32_t)1000u))) {
  1603. goto _437;
  1604. } else {
  1605. goto _439;
  1606. }
  1607. _437:
  1608. _409 = _393;
  1609. *(uint32_t*)_409 = 3;
  1610. _410 = fused_setErrorMessage(0, (&_OC_str_OC_39));
  1611. _392 = -1;
  1612. goto _432;
  1613. _439:
  1614. _411 = *(double*)(((&(&_390)->field1)));
  1615. _412 = *(double*)(((&(&_390)->field1)));
  1616. _394 = ((3.1415899999999999 * _411) * _412);
  1617. _413 = _394;
  1618. if ((llvm_fcmp_uno(_413, _413))) {
  1619. goto _440;
  1620. } else {
  1621. goto _441;
  1622. }
  1623. _441:
  1624. _414 = _394;
  1625. _415 = llvm_OC_fabs_OC_f64(_414);
  1626. 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)) {
  1627. goto _440;
  1628. } else {
  1629. goto _442;
  1630. }
  1631. _440:
  1632. _417 = _393;
  1633. *(uint32_t*)_417 = 5;
  1634. _418 = fused_setErrorMessage(0, (&_OC_str_OC_40));
  1635. _392 = -1;
  1636. goto _432;
  1637. _442:
  1638. _419 = strcmp((((&((struct l_array_256_uint8_t*)(((&(&_390)->field3))))->array[((int64_t)0)]))), (&_OC_str_OC_41));
  1639. if ((_419 == 0u)) {
  1640. goto _443;
  1641. } else {
  1642. goto _444;
  1643. }
  1644. _443:
  1645. _420 = _394;
  1646. _392 = _420;
  1647. goto _432;
  1648. _444:
  1649. _421 = strcmp((((&((struct l_array_256_uint8_t*)(((&(&_390)->field3))))->array[((int64_t)0)]))), (&_OC_str_OC_42));
  1650. if ((_421 == 0u)) {
  1651. goto _445;
  1652. } else {
  1653. goto _446;
  1654. }
  1655. _445:
  1656. _422 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field3))));
  1657. if ((llvm_fcmp_ole(_422, 0))) {
  1658. goto _447;
  1659. } else {
  1660. goto _448;
  1661. }
  1662. _447:
  1663. _423 = _393;
  1664. *(uint32_t*)_423 = 1;
  1665. _424 = fused_setErrorMessage(0, (&_OC_str_OC_43));
  1666. _392 = -1;
  1667. goto _432;
  1668. _448:
  1669. _425 = _394;
  1670. _426 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&(&_390)->field0))))->field3))));
  1671. _392 = (_425 * _426);
  1672. goto _432;
  1673. _446:
  1674. _427 = _393;
  1675. *(uint32_t*)_427 = 1;
  1676. _428 = fused_setErrorMessage(0, (&_OC_str_OC_44));
  1677. _392 = -1;
  1678. goto _432;
  1679. _432:
  1680. _429 = _392;
  1681. return _429;
  1682. }
  1683. uint32_t validateMatrix(void* _449) {
  1684. uint32_t _450; /* Address-exposed local */
  1685. void* _451; /* Address-exposed local */
  1686. uint32_t _452; /* Address-exposed local */
  1687. void* _453;
  1688. uint32_t _454;
  1689. void* _455;
  1690. void* _456;
  1691. uint32_t _457;
  1692. void* _458;
  1693. uint32_t _459;
  1694. void* _460;
  1695. uint32_t _461;
  1696. uint32_t _462;
  1697. void* _463;
  1698. uint32_t _464;
  1699. void* _465;
  1700. uint32_t _466;
  1701. uint32_t _467;
  1702. uint32_t _468;
  1703. void* _469;
  1704. uint32_t _470;
  1705. void* _471;
  1706. void* _472;
  1707. uint32_t _473;
  1708. void* _474;
  1709. uint32_t _475;
  1710. uint32_t _476;
  1711. void* _477;
  1712. uint32_t _478;
  1713. void* _479;
  1714. uint32_t _480;
  1715. void* _481;
  1716. uint32_t _482;
  1717. uint32_t _483;
  1718. uint32_t _484;
  1719. _451 = _449;
  1720. _453 = _451;
  1721. if ((_453 != ((void*)/*NULL*/0))) {
  1722. goto _485;
  1723. } else {
  1724. goto _486;
  1725. }
  1726. _486:
  1727. _454 = fused_setErrorMessage(0, (&_OC_str_OC_21));
  1728. _450 = 7;
  1729. goto _487;
  1730. _485:
  1731. _455 = _451;
  1732. _456 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_455)->field0))));
  1733. if ((_456 != ((void*)/*NULL*/0))) {
  1734. goto _488;
  1735. } else {
  1736. goto _489;
  1737. }
  1738. _489:
  1739. _457 = fused_setErrorMessage(0, (&_OC_str_OC_45));
  1740. _450 = 7;
  1741. goto _487;
  1742. _488:
  1743. _458 = _451;
  1744. _459 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_458)->field1))));
  1745. if ((((int32_t)_459) < ((int32_t)1u))) {
  1746. goto _490;
  1747. } else {
  1748. goto _491;
  1749. }
  1750. _491:
  1751. _460 = _451;
  1752. _461 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_460)->field2))));
  1753. if ((((int32_t)_461) < ((int32_t)1u))) {
  1754. goto _490;
  1755. } else {
  1756. goto _492;
  1757. }
  1758. _490:
  1759. _462 = fused_setErrorMessage(0, (&_OC_str_OC_16));
  1760. _450 = 1;
  1761. goto _487;
  1762. _492:
  1763. _463 = _451;
  1764. _464 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_463)->field1))));
  1765. if ((((int32_t)_464) > ((int32_t)100u))) {
  1766. goto _493;
  1767. } else {
  1768. goto _494;
  1769. }
  1770. _494:
  1771. _465 = _451;
  1772. _466 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_465)->field2))));
  1773. if ((((int32_t)_466) > ((int32_t)100u))) {
  1774. goto _493;
  1775. } else {
  1776. goto _495;
  1777. }
  1778. _493:
  1779. _467 = fused_setErrorMessage(0, (&_OC_str_OC_46));
  1780. _450 = 3;
  1781. goto _487;
  1782. _495:
  1783. _452 = 0;
  1784. goto _496;
  1785. do { /* Syntactic loop '' to make GCC happy */
  1786. _496:
  1787. _468 = _452;
  1788. _469 = _451;
  1789. _470 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_469)->field1))));
  1790. if ((((int32_t)_468) < ((int32_t)_470))) {
  1791. goto _497;
  1792. } else {
  1793. goto _498;
  1794. }
  1795. _497:
  1796. _471 = _451;
  1797. _472 = *(void**)(((&(((struct l_struct_struct_OC_Matrix*)_471)->field0))));
  1798. _473 = _452;
  1799. _474 = *(void**)(((&((void**)_472)[((int64_t)(((int64_t)(int32_t)_473)))])));
  1800. if ((_474 != ((void*)/*NULL*/0))) {
  1801. goto _499;
  1802. } else {
  1803. goto _500;
  1804. }
  1805. _499:
  1806. goto _501;
  1807. _501:
  1808. _476 = _452;
  1809. _452 = (llvm_add_u32(_476, 1));
  1810. goto _496;
  1811. } while (1); /* end of syntactic loop '' */
  1812. _500:
  1813. _475 = fused_setErrorMessage(0, (&_OC_str_OC_47));
  1814. _450 = 7;
  1815. goto _487;
  1816. _498:
  1817. _477 = _451;
  1818. _478 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_477)->field1))));
  1819. _479 = _451;
  1820. _480 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_479)->field2))));
  1821. _481 = _451;
  1822. _482 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Matrix*)_481)->field3))));
  1823. if (((((uint32_t)(bool)(_478 == _480))) != _482)) {
  1824. goto _502;
  1825. } else {
  1826. goto _503;
  1827. }
  1828. _502:
  1829. _483 = fused_setErrorMessage(0, (&_OC_str_OC_48));
  1830. _450 = 1;
  1831. goto _487;
  1832. _503:
  1833. _450 = 0;
  1834. goto _487;
  1835. _487:
  1836. _484 = _450;
  1837. return _484;
  1838. }
  1839. void* findCentroid(void* _504, uint32_t _505, void* _506) {
  1840. void* _507; /* Address-exposed local */
  1841. void* _508; /* Address-exposed local */
  1842. uint32_t _509; /* Address-exposed local */
  1843. void* _510; /* Address-exposed local */
  1844. void* _511; /* Address-exposed local */
  1845. double _512; /* Address-exposed local */
  1846. double _513; /* Address-exposed local */
  1847. double _514; /* Address-exposed local */
  1848. uint32_t _515; /* Address-exposed local */
  1849. void* _516;
  1850. void* _517;
  1851. uint32_t _518;
  1852. void* _519;
  1853. uint32_t _520;
  1854. uint32_t _521;
  1855. void* _522;
  1856. uint32_t _523;
  1857. void* _524;
  1858. void* _525;
  1859. void* _526;
  1860. uint32_t _527;
  1861. uint32_t _528;
  1862. uint32_t _529;
  1863. void* _530;
  1864. uint32_t _531;
  1865. double _532;
  1866. void* _533;
  1867. uint32_t _534;
  1868. void* _535;
  1869. void* _536;
  1870. uint32_t _537;
  1871. double _538;
  1872. double _539;
  1873. void* _540;
  1874. uint32_t _541;
  1875. uint32_t _542;
  1876. void* _543;
  1877. uint32_t _544;
  1878. double _545;
  1879. double _546;
  1880. void* _547;
  1881. uint32_t _548;
  1882. uint32_t _549;
  1883. void* _550;
  1884. uint32_t _551;
  1885. double _552;
  1886. double _553;
  1887. double _554;
  1888. double _555;
  1889. double _556;
  1890. double _557;
  1891. double _558;
  1892. llvmBitCastUnion _559__BITCAST_TEMPORARY;
  1893. double _560;
  1894. double _561;
  1895. llvmBitCastUnion _562__BITCAST_TEMPORARY;
  1896. double _563;
  1897. double _564;
  1898. llvmBitCastUnion _565__BITCAST_TEMPORARY;
  1899. void* _566;
  1900. uint32_t _567;
  1901. void* _568;
  1902. uint32_t _569;
  1903. double _570;
  1904. void* _571;
  1905. uint32_t _572;
  1906. void* _573;
  1907. double _574;
  1908. double _575;
  1909. void* _576;
  1910. double _577;
  1911. double _578;
  1912. void* _579;
  1913. double _580;
  1914. uint32_t _581;
  1915. void* _582;
  1916. void* _583;
  1917. void* _584;
  1918. void* _585;
  1919. void* _586;
  1920. _508 = _504;
  1921. _509 = _505;
  1922. _510 = _506;
  1923. _516 = _510;
  1924. *(uint32_t*)_516 = 0;
  1925. _517 = _508;
  1926. if ((_517 != ((void*)/*NULL*/0))) {
  1927. goto _587;
  1928. } else {
  1929. goto _588;
  1930. }
  1931. _587:
  1932. _518 = _509;
  1933. if ((((int32_t)_518) <= ((int32_t)0u))) {
  1934. goto _588;
  1935. } else {
  1936. goto _589;
  1937. }
  1938. _588:
  1939. _519 = _510;
  1940. *(uint32_t*)_519 = 1;
  1941. _520 = fused_setErrorMessage(0, (&_OC_str_OC_50));
  1942. _507 = ((void*)/*NULL*/0);
  1943. goto _590;
  1944. _589:
  1945. _521 = _509;
  1946. if ((((int32_t)_521) > ((int32_t)1000u))) {
  1947. goto _591;
  1948. } else {
  1949. goto _592;
  1950. }
  1951. _591:
  1952. _522 = _510;
  1953. *(uint32_t*)_522 = 3;
  1954. _523 = fused_setErrorMessage(0, (&_OC_str_OC_51));
  1955. _507 = ((void*)/*NULL*/0);
  1956. goto _590;
  1957. _592:
  1958. _524 = malloc(272);
  1959. _511 = (((void*)_524));
  1960. _525 = _511;
  1961. if ((_525 != ((void*)/*NULL*/0))) {
  1962. goto _593;
  1963. } else {
  1964. goto _594;
  1965. }
  1966. _594:
  1967. _526 = _510;
  1968. *(uint32_t*)_526 = 2;
  1969. _527 = fused_setErrorMessage(0, (&_OC_str_OC_52));
  1970. _507 = ((void*)/*NULL*/0);
  1971. goto _590;
  1972. _593:
  1973. _512 = 0;
  1974. _513 = 0;
  1975. _514 = 0;
  1976. _515 = 0;
  1977. goto _595;
  1978. do { /* Syntactic loop '' to make GCC happy */
  1979. _595:
  1980. _528 = _515;
  1981. _529 = _509;
  1982. if ((((int32_t)_528) < ((int32_t)_529))) {
  1983. goto _596;
  1984. } else {
  1985. goto _597;
  1986. }
  1987. _596:
  1988. _530 = _508;
  1989. _531 = _515;
  1990. _532 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_530)[((int64_t)(((int64_t)(int32_t)_531)))]))))->field3))));
  1991. if ((llvm_fcmp_ole(_532, 0))) {
  1992. goto _598;
  1993. } else {
  1994. goto _599;
  1995. }
  1996. _599:
  1997. _536 = _508;
  1998. _537 = _515;
  1999. _538 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_536)[((int64_t)(((int64_t)(int32_t)_537)))]))))->field3))));
  2000. _539 = _512;
  2001. _512 = (_539 + _538);
  2002. _540 = _508;
  2003. _541 = _515;
  2004. _542 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_540)[((int64_t)(((int64_t)(int32_t)_541)))]))))->field0))));
  2005. _543 = _508;
  2006. _544 = _515;
  2007. _545 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_543)[((int64_t)(((int64_t)(int32_t)_544)))]))))->field3))));
  2008. _546 = _513;
  2009. _513 = (_546 + ((((double)(int32_t)_542)) * _545));
  2010. _547 = _508;
  2011. _548 = _515;
  2012. _549 = *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_547)[((int64_t)(((int64_t)(int32_t)_548)))]))))->field1))));
  2013. _550 = _508;
  2014. _551 = _515;
  2015. _552 = *(double*)(((&(((struct l_struct_struct_OC_Point*)(((&((struct l_struct_struct_OC_Point*)_550)[((int64_t)(((int64_t)(int32_t)_551)))]))))->field3))));
  2016. _553 = _514;
  2017. _514 = (_553 + ((((double)(int32_t)_549)) * _552));
  2018. _554 = _512;
  2019. if ((llvm_fcmp_uno(_554, _554))) {
  2020. goto _600;
  2021. } else {
  2022. goto _601;
  2023. }
  2024. _601:
  2025. _555 = _513;
  2026. if ((llvm_fcmp_uno(_555, _555))) {
  2027. goto _600;
  2028. } else {
  2029. goto _602;
  2030. }
  2031. _602:
  2032. _556 = _514;
  2033. if ((llvm_fcmp_uno(_556, _556))) {
  2034. goto _600;
  2035. } else {
  2036. goto _603;
  2037. }
  2038. _603:
  2039. _557 = _512;
  2040. _558 = llvm_OC_fabs_OC_f64(_557);
  2041. 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)) {
  2042. goto _600;
  2043. } else {
  2044. goto _604;
  2045. }
  2046. _604:
  2047. _560 = _513;
  2048. _561 = llvm_OC_fabs_OC_f64(_560);
  2049. 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)) {
  2050. goto _600;
  2051. } else {
  2052. goto _605;
  2053. }
  2054. _605:
  2055. _563 = _514;
  2056. _564 = llvm_OC_fabs_OC_f64(_563);
  2057. 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)) {
  2058. goto _600;
  2059. } else {
  2060. goto _606;
  2061. }
  2062. _606:
  2063. goto _607;
  2064. _607:
  2065. _569 = _515;
  2066. _515 = (llvm_add_u32(_569, 1));
  2067. goto _595;
  2068. } while (1); /* end of syntactic loop '' */
  2069. _598:
  2070. _533 = _510;
  2071. *(uint32_t*)_533 = 1;
  2072. _534 = fused_setErrorMessage(0, (&_OC_str_OC_53));
  2073. _535 = _511;
  2074. free((((void*)_535)));
  2075. _507 = ((void*)/*NULL*/0);
  2076. goto _590;
  2077. _600:
  2078. _566 = _510;
  2079. *(uint32_t*)_566 = 5;
  2080. _567 = fused_setErrorMessage(0, (&_OC_str_OC_54));
  2081. _568 = _511;
  2082. free((((void*)_568)));
  2083. _507 = ((void*)/*NULL*/0);
  2084. goto _590;
  2085. _597:
  2086. _570 = _512;
  2087. if ((llvm_fcmp_oeq(_570, 0))) {
  2088. goto _608;
  2089. } else {
  2090. goto _609;
  2091. }
  2092. _608:
  2093. _571 = _510;
  2094. *(uint32_t*)_571 = 1;
  2095. _572 = fused_setErrorMessage(0, (&_OC_str_OC_55));
  2096. _573 = _511;
  2097. free((((void*)_573)));
  2098. _507 = ((void*)/*NULL*/0);
  2099. goto _590;
  2100. _609:
  2101. _574 = _513;
  2102. _575 = _512;
  2103. _576 = _511;
  2104. *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)_576)->field0)))) = (((int32_t)(_574 / _575)));
  2105. _577 = _514;
  2106. _578 = _512;
  2107. _579 = _511;
  2108. *(uint32_t*)(((&(((struct l_struct_struct_OC_Point*)_579)->field1)))) = (((int32_t)(_577 / _578)));
  2109. _580 = _512;
  2110. _581 = _509;
  2111. _582 = _511;
  2112. *(double*)(((&(((struct l_struct_struct_OC_Point*)_582)->field3)))) = (_580 / (((double)(int32_t)_581)));
  2113. _583 = _511;
  2114. _584 = strcpy((((&((struct l_array_256_uint8_t*)(((&(((struct l_struct_struct_OC_Point*)_583)->field2)))))->array[((int64_t)0)]))), (&_OC_str_OC_56));
  2115. _585 = _511;
  2116. _507 = _585;
  2117. goto _590;
  2118. _590:
  2119. _586 = _507;
  2120. return _586;
  2121. }