Value *Main_last ( Value * var_0 , Value * var_1 ); Value *Main_last_arglist(Value_Arglist* arglist); Value *Main_last ( Value * var_0 , Value * var_1 ) { Value * tmp_134 = NULL; // Main:5:8--5:14 if (NULL == var_0 /* Prelude.Basics.Nil [nil] */) { tmp_134 = var_1; } else if (NULL != var_0 /* Prelude.Basics.(::) [cons] */) { Value *var_2 = ((Value_Constructor*)var_0)->args[0]; Value *var_3 = ((Value_Constructor*)var_0)->args[1]; newReference(var_2); newReference(var_3); removeReference(var_0); removeReference(var_1); // start Main_last(var_3, var_2) // Main:7:20--7:24 Value_Arglist *arglist_135 = newArglist(0,2); arglist_135->args[0] = var_3; arglist_135->args[1] = var_2; Value *(*fPtr_136)(Value_Arglist*) = Main_last_arglist; // Main:7:20--7:24 Value *closure_136 = (Value*)makeClosureFromArglist(fPtr_136, arglist_135); // Main:7:20--7:24 // end Main_last(var_3, var_2) // Main:7:20--7:24 tmp_134 = closure_136; } return tmp_134; } Value *Main_last_arglist(Value_Arglist* arglist) { return Main_last ( arglist->args[0] , arglist->args[1] ); } Value *Main_main_0 ( Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ); Value *Main_main_0_arglist(Value_Arglist* arglist); Value *Main_main_1 ( Value * var_2 , Value * var_1 , Value * var_0 ); Value *Main_main_1_arglist(Value_Arglist* arglist); Value *Main_main_2 ( Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ); Value *Main_main_2_arglist(Value_Arglist* arglist); Value *Main_main_3 ( Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ); Value *Main_main_3_arglist(Value_Arglist* arglist); Value *Main_main_4 ( Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ); Value *Main_main_4_arglist(Value_Arglist* arglist); Value *Main_main_5 ( Value * var_1 , Value * var_0 ); Value *Main_main_5_arglist(Value_Arglist* arglist); Value *Main_main_6 ( Value * var_6 , Value * var_5 , Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ); Value *Main_main_6_arglist(Value_Arglist* arglist); Value *Main_main_7 ( Value * var_1 , Value * var_0 ); Value *Main_main_7_arglist(Value_Arglist* arglist); Value *Main_main_8 ( Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ); Value *Main_main_8_arglist(Value_Arglist* arglist); Value *Main_main_9 ( Value * var_1 , Value * var_0 ); Value *Main_main_9_arglist(Value_Arglist* arglist); Value *Main_main_10 ( Value * var_1 , Value * var_0 ); Value *Main_main_10_arglist(Value_Arglist* arglist); Value *Main_main_11 ( Value * var_0 ); Value *Main_main_11_arglist(Value_Arglist* arglist); Value *Main_main(void); Value *Main_main_arglist(Value_Arglist* arglist); Value *Main_main(void) { Value_Arglist *arglist_74 = newArglist(2,2); Value *(*closure_75)(Value_Arglist*) = Main_main_9_arglist; // Main:10:13--10:17 Value * var_8 = (Value*)makeClosureFromArglist(closure_75, arglist_74); // Main:10:8--10:12 Value_Arglist *arglist_76 = newArglist(2,2); Value *(*closure_77)(Value_Arglist*) = Main_main_10_arglist; // Main:10:27--10:28 Value * var_9 = (Value*)makeClosureFromArglist(closure_77, arglist_76); // Main:10:8--10:12 Value * var_6 = (NULL /* Prelude.Basics.Nil */); // Main:11:11--11:13 Value * var_3 = (NULL /* Prelude.Basics.Lin */); // Prelude.Types:605:11--605:20 Value_Arglist *arglist_78 = newArglist(1,1); Value *(*closure_79)(Value_Arglist*) = Main_main_11_arglist; // Main:11:21--11:22 Value * var_4 = (Value*)makeClosureFromArglist(closure_79, arglist_78); // Prelude.Types:605:11--605:20 // start csegen_44() Value_Arglist *arglist_80 = newArglist(0,0); Value *(*fPtr_81)(Value_Arglist*) = csegen_44_arglist; Value *closure_81 = (Value*)makeClosureFromArglist(fPtr_81, arglist_80); // end csegen_44() Value * var_0 = trampoline(closure_81); // Prelude.Types:1121:1--1138:48 Value * var_1 = (Value*)idris2_mkIntegerLiteral("1"); // Prelude.Types:1121:1--1138:48 Value * var_2 = (Value*)idris2_mkIntegerLiteral("5"); // Prelude.Types:1121:1--1138:48 // start Prelude_Types_rangeFromTo_Range__dollara(var_0, var_1, var_2) // Prelude.Types:1121:1--1138:48 Value_Arglist *arglist_82 = newArglist(0,3); arglist_82->args[0] = var_0; arglist_82->args[1] = var_1; arglist_82->args[2] = var_2; Value *(*fPtr_83)(Value_Arglist*) = Prelude_Types_rangeFromTo_Range__dollara_arglist; // Prelude.Types:1121:1--1138:48 Value *closure_83 = (Value*)makeClosureFromArglist(fPtr_83, arglist_82); // Prelude.Types:1121:1--1138:48 // end Prelude_Types_rangeFromTo_Range__dollara(var_0, var_1, var_2) // Prelude.Types:1121:1--1138:48 Value * var_5 = trampoline(closure_83); // Prelude.Types:605:11--605:20 // start Prelude_Types_List_mapAppend(var_3, var_4, var_5) // Prelude.Types:605:11--605:20 Value_Arglist *arglist_84 = newArglist(0,3); arglist_84->args[0] = var_3; arglist_84->args[1] = var_4; arglist_84->args[2] = var_5; Value *(*fPtr_85)(Value_Arglist*) = Prelude_Types_List_mapAppend_arglist; // Prelude.Types:605:11--605:20 Value *closure_85 = (Value*)makeClosureFromArglist(fPtr_85, arglist_84); // Prelude.Types:605:11--605:20 // end Prelude_Types_List_mapAppend(var_3, var_4, var_5) // Prelude.Types:605:11--605:20 Value * var_7 = trampoline(closure_85); // Main:11:11--11:13 // constructor Prelude.Basics.(::) // Main:11:11--11:13 Value_Constructor* constructor_86 = newConstructor(2, 1); // Main:11:11--11:13 constructor_86->args[0] = var_6; constructor_86->args[1] = var_7; Value * var_10 = (Value*)constructor_86; // Main:10:8--10:12 // start Prelude_Basics_flip(var_8, var_9, var_10) // Main:10:8--10:12 Value_Arglist *arglist_87 = newArglist(0,3); arglist_87->args[0] = var_8; arglist_87->args[1] = var_9; arglist_87->args[2] = var_10; Value *(*fPtr_88)(Value_Arglist*) = Prelude_Basics_flip_arglist; // Main:10:8--10:12 Value *closure_88 = (Value*)makeClosureFromArglist(fPtr_88, arglist_87); // Main:10:8--10:12 // end Prelude_Basics_flip(var_8, var_9, var_10) // Main:10:8--10:12 return closure_88; } Value *Main_main_arglist(Value_Arglist* arglist) { return Main_main ( ); } Value *Main_main_11 ( Value * var_0 ) { // start csegen_44() Value_Arglist *arglist_89 = newArglist(0,0); Value *(*fPtr_90)(Value_Arglist*) = csegen_44_arglist; Value *closure_90 = (Value*)makeClosureFromArglist(fPtr_90, arglist_89); // end csegen_44() Value * var_1 = trampoline(closure_90); // Prelude.Types:1121:1--1138:48 Value * var_2 = (Value*)idris2_mkIntegerLiteral("1"); // Prelude.Types:1121:1--1138:48 // start Prelude_Types_rangeFromTo_Range__dollara(var_1, var_2, var_0) // Prelude.Types:1121:1--1138:48 Value_Arglist *arglist_91 = newArglist(0,3); arglist_91->args[0] = var_1; arglist_91->args[1] = var_2; arglist_91->args[2] = var_0; Value *(*fPtr_92)(Value_Arglist*) = Prelude_Types_rangeFromTo_Range__dollara_arglist; // Prelude.Types:1121:1--1138:48 Value *closure_92 = (Value*)makeClosureFromArglist(fPtr_92, arglist_91); // Prelude.Types:1121:1--1138:48 // end Prelude_Types_rangeFromTo_Range__dollara(var_1, var_2, var_0) // Prelude.Types:1121:1--1138:48 return closure_92; } Value *Main_main_11_arglist(Value_Arglist* arglist) { return Main_main_11 ( arglist->args[0] ); } Value *Main_main_10 ( Value * var_1 , Value * var_0 ) { Value * var_2 = (Value*)idris2_mkIntegerLiteral("0"); // Main:10:30--10:36 // start Main_last(var_1, var_2) // Main:10:30--10:36 Value_Arglist *arglist_93 = newArglist(0,2); arglist_93->args[0] = var_1; arglist_93->args[1] = var_2; Value *(*fPtr_94)(Value_Arglist*) = Main_last_arglist; // Main:10:30--10:36 Value *closure_94 = (Value*)makeClosureFromArglist(fPtr_94, arglist_93); // Main:10:30--10:36 // end Main_last(var_1, var_2) // Main:10:30--10:36 Value * var_3 = trampoline(closure_94); // Prelude.Show:110:1--112:50 // start Prelude_Show_show_Show_Integer(var_3) // Prelude.Show:110:1--112:50 Value_Arglist *arglist_95 = newArglist(0,1); arglist_95->args[0] = var_3; Value *(*fPtr_96)(Value_Arglist*) = Prelude_Show_show_Show_Integer_arglist; // Prelude.Show:110:1--112:50 Value *closure_96 = (Value*)makeClosureFromArglist(fPtr_96, arglist_95); // Prelude.Show:110:1--112:50 // end Prelude_Show_show_Show_Integer(var_3) // Prelude.Show:110:1--112:50 Value * var_4 = trampoline(closure_96); Value * var_5 = (Value*)idris2_mkString("\x0a"""); Value *primVar_97 = strAppend(var_4, var_5); removeReference(var_4); removeReference(var_5); Value * var_6 = primVar_97; // Prelude.IO:98:22--98:34 // start Prelude_IO_prim__putStr(var_6, var_0) // Prelude.IO:98:22--98:34 Value_Arglist *arglist_98 = newArglist(0,2); arglist_98->args[0] = var_6; arglist_98->args[1] = var_0; Value *(*fPtr_99)(Value_Arglist*) = Prelude_IO_prim__putStr_arglist; // Prelude.IO:98:22--98:34 Value *closure_99 = (Value*)makeClosureFromArglist(fPtr_99, arglist_98); // Prelude.IO:98:22--98:34 // end Prelude_IO_prim__putStr(var_6, var_0) // Prelude.IO:98:22--98:34 return closure_99; } Value *Main_main_10_arglist(Value_Arglist* arglist) { return Main_main_10 ( arglist->args[0] , arglist->args[1] ); } Value *Main_main_9 ( Value * var_1 , Value * var_0 ) { Value_Arglist *arglist_100 = newArglist(5,5); Value *(*closure_101)(Value_Arglist*) = Main_main_0_arglist; Value * var_2 = (Value*)makeClosureFromArglist(closure_101, arglist_100); // Prelude.IO:19:1--26:30 Value_Arglist *arglist_102 = newArglist(3,3); Value *(*closure_103)(Value_Arglist*) = Main_main_1_arglist; Value * var_3 = (Value*)makeClosureFromArglist(closure_103, arglist_102); // Prelude.IO:19:1--26:30 Value_Arglist *arglist_104 = newArglist(5,5); Value *(*closure_105)(Value_Arglist*) = Main_main_2_arglist; Value * var_4 = (Value*)makeClosureFromArglist(closure_105, arglist_104); // Prelude.IO:19:1--26:30 // constructor Prelude.Interfaces.MkApplicative // Prelude.IO:19:1--26:30 Value_Constructor* constructor_106 = newConstructor(3, 0); // Prelude.IO:19:1--26:30 constructor_106->args[0] = var_2; constructor_106->args[1] = var_3; constructor_106->args[2] = var_4; Value * var_11 = (Value*)constructor_106; // Main:10:13--10:17 Value_Arglist *arglist_107 = newArglist(5,5); Value *(*closure_108)(Value_Arglist*) = Main_main_3_arglist; Value * var_5 = (Value*)makeClosureFromArglist(closure_108, arglist_107); // Prelude.Types:656:1--669:59 Value_Arglist *arglist_109 = newArglist(5,5); Value *(*closure_110)(Value_Arglist*) = Main_main_4_arglist; Value * var_6 = (Value*)makeClosureFromArglist(closure_110, arglist_109); // Prelude.Types:656:1--669:59 Value_Arglist *arglist_111 = newArglist(2,2); Value *(*closure_112)(Value_Arglist*) = Main_main_5_arglist; Value * var_7 = (Value*)makeClosureFromArglist(closure_112, arglist_111); // Prelude.Types:656:1--669:59 Value_Arglist *arglist_113 = newArglist(7,7); Value *(*closure_114)(Value_Arglist*) = Main_main_6_arglist; Value * var_8 = (Value*)makeClosureFromArglist(closure_114, arglist_113); // Prelude.Types:656:1--669:59 Value_Arglist *arglist_115 = newArglist(2,2); Value *(*closure_116)(Value_Arglist*) = Main_main_7_arglist; Value * var_9 = (Value*)makeClosureFromArglist(closure_116, arglist_115); // Prelude.Types:656:1--669:59 Value_Arglist *arglist_117 = newArglist(5,5); Value *(*closure_118)(Value_Arglist*) = Main_main_8_arglist; Value * var_10 = (Value*)makeClosureFromArglist(closure_118, arglist_117); // Prelude.Types:656:1--669:59 // constructor Prelude.Interfaces.MkFoldable // Prelude.Types:656:1--669:59 Value_Constructor* constructor_119 = newConstructor(6, 0); // Prelude.Types:656:1--669:59 constructor_119->args[0] = var_5; constructor_119->args[1] = var_6; constructor_119->args[2] = var_7; constructor_119->args[3] = var_8; constructor_119->args[4] = var_9; constructor_119->args[5] = var_10; Value * var_12 = (Value*)constructor_119; // Main:10:13--10:17 // start Prelude_Interfaces_for_(var_11, var_12, var_1, var_0) // Main:10:13--10:17 Value_Arglist *arglist_120 = newArglist(0,4); arglist_120->args[0] = var_11; arglist_120->args[1] = var_12; arglist_120->args[2] = var_1; arglist_120->args[3] = var_0; Value *(*fPtr_121)(Value_Arglist*) = Prelude_Interfaces_for__arglist; // Main:10:13--10:17 Value *closure_121 = (Value*)makeClosureFromArglist(fPtr_121, arglist_120); // Main:10:13--10:17 // end Prelude_Interfaces_for_(var_11, var_12, var_1, var_0) // Main:10:13--10:17 return closure_121; } Value *Main_main_9_arglist(Value_Arglist* arglist) { return Main_main_9 ( arglist->args[0] , arglist->args[1] ); } Value *Main_main_8 ( Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ) { removeReference(var_3); removeReference(var_4); // start Prelude_Types_foldMap_Foldable_List(var_2, var_1, var_0) // Prelude.Types:656:1--669:59 Value_Arglist *arglist_122 = newArglist(0,3); arglist_122->args[0] = var_2; arglist_122->args[1] = var_1; arglist_122->args[2] = var_0; Value *(*fPtr_123)(Value_Arglist*) = Prelude_Types_foldMap_Foldable_List_arglist; // Prelude.Types:656:1--669:59 Value *closure_123 = (Value*)makeClosureFromArglist(fPtr_123, arglist_122); // Prelude.Types:656:1--669:59 // end Prelude_Types_foldMap_Foldable_List(var_2, var_1, var_0) // Prelude.Types:656:1--669:59 return closure_123; } Value *Main_main_8_arglist(Value_Arglist* arglist) { return Main_main_8 ( arglist->args[0] , arglist->args[1] , arglist->args[2] , arglist->args[3] , arglist->args[4] ); } Value *Main_main_7 ( Value * var_1 , Value * var_0 ) { removeReference(var_1); return var_0; } Value *Main_main_7_arglist(Value_Arglist* arglist) { return Main_main_7 ( arglist->args[0] , arglist->args[1] ); } Value *Main_main_6 ( Value * var_6 , Value * var_5 , Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ) { removeReference(var_4); removeReference(var_5); removeReference(var_6); // start Prelude_Types_foldlM_Foldable_List(var_3, var_2, var_1, var_0) // Prelude.Types:656:1--669:59 Value_Arglist *arglist_124 = newArglist(0,4); arglist_124->args[0] = var_3; arglist_124->args[1] = var_2; arglist_124->args[2] = var_1; arglist_124->args[3] = var_0; Value *(*fPtr_125)(Value_Arglist*) = Prelude_Types_foldlM_Foldable_List_arglist; // Prelude.Types:656:1--669:59 Value *closure_125 = (Value*)makeClosureFromArglist(fPtr_125, arglist_124); // Prelude.Types:656:1--669:59 // end Prelude_Types_foldlM_Foldable_List(var_3, var_2, var_1, var_0) // Prelude.Types:656:1--669:59 return closure_125; } Value *Main_main_6_arglist(Value_Arglist* arglist) { return Main_main_6 ( arglist->args[0] , arglist->args[1] , arglist->args[2] , arglist->args[3] , arglist->args[4] , arglist->args[5] , arglist->args[6] ); } Value *Main_main_5 ( Value * var_1 , Value * var_0 ) { removeReference(var_1); // start Prelude_Types_null_Foldable_List(var_0) // Prelude.Types:656:1--669:59 Value_Arglist *arglist_126 = newArglist(0,1); arglist_126->args[0] = var_0; Value *(*fPtr_127)(Value_Arglist*) = Prelude_Types_null_Foldable_List_arglist; // Prelude.Types:656:1--669:59 Value *closure_127 = (Value*)makeClosureFromArglist(fPtr_127, arglist_126); // Prelude.Types:656:1--669:59 // end Prelude_Types_null_Foldable_List(var_0) // Prelude.Types:656:1--669:59 return closure_127; } Value *Main_main_5_arglist(Value_Arglist* arglist) { return Main_main_5 ( arglist->args[0] , arglist->args[1] ); } Value *Main_main_4 ( Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ) { removeReference(var_3); removeReference(var_4); // start Prelude_Types_foldl_Foldable_List(var_2, var_1, var_0) // Prelude.Types:656:1--669:59 Value_Arglist *arglist_128 = newArglist(0,3); arglist_128->args[0] = var_2; arglist_128->args[1] = var_1; arglist_128->args[2] = var_0; Value *(*fPtr_129)(Value_Arglist*) = Prelude_Types_foldl_Foldable_List_arglist; // Prelude.Types:656:1--669:59 Value *closure_129 = (Value*)makeClosureFromArglist(fPtr_129, arglist_128); // Prelude.Types:656:1--669:59 // end Prelude_Types_foldl_Foldable_List(var_2, var_1, var_0) // Prelude.Types:656:1--669:59 return closure_129; } Value *Main_main_4_arglist(Value_Arglist* arglist) { return Main_main_4 ( arglist->args[0] , arglist->args[1] , arglist->args[2] , arglist->args[3] , arglist->args[4] ); } Value *Main_main_3 ( Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ) { removeReference(var_3); removeReference(var_4); // start Prelude_Types_foldr_Foldable_List(var_2, var_1, var_0) // Prelude.Types:656:1--669:59 Value_Arglist *arglist_130 = newArglist(0,3); arglist_130->args[0] = var_2; arglist_130->args[1] = var_1; arglist_130->args[2] = var_0; Value *(*fPtr_131)(Value_Arglist*) = Prelude_Types_foldr_Foldable_List_arglist; // Prelude.Types:656:1--669:59 Value *closure_131 = (Value*)makeClosureFromArglist(fPtr_131, arglist_130); // Prelude.Types:656:1--669:59 // end Prelude_Types_foldr_Foldable_List(var_2, var_1, var_0) // Prelude.Types:656:1--669:59 return closure_131; } Value *Main_main_3_arglist(Value_Arglist* arglist) { return Main_main_3 ( arglist->args[0] , arglist->args[1] , arglist->args[2] , arglist->args[3] , arglist->args[4] ); } Value *Main_main_2 ( Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ) { removeReference(var_3); removeReference(var_4); Value * var_5 = apply_closure(var_2, newReference(var_0)); // Prelude.IO:24:9--24:16 Value * var_6 = apply_closure(var_1, var_0); // Prelude.IO:25:11--25:18 return tailcall_apply_closure(var_5, var_6); } Value *Main_main_2_arglist(Value_Arglist* arglist) { return Main_main_2 ( arglist->args[0] , arglist->args[1] , arglist->args[2] , arglist->args[3] , arglist->args[4] ); } Value *Main_main_1 ( Value * var_2 , Value * var_1 , Value * var_0 ) { removeReference(var_0); removeReference(var_2); return var_1; } Value *Main_main_1_arglist(Value_Arglist* arglist) { return Main_main_1 ( arglist->args[0] , arglist->args[1] , arglist->args[2] ); } Value *Main_main_0 ( Value * var_4 , Value * var_3 , Value * var_2 , Value * var_1 , Value * var_0 ) { removeReference(var_3); removeReference(var_4); // start Prelude_IO_map_Functor_IO(var_2, var_1, var_0) // Prelude.IO:15:1--17:38 Value_Arglist *arglist_132 = newArglist(0,3); arglist_132->args[0] = var_2; arglist_132->args[1] = var_1; arglist_132->args[2] = var_0; Value *(*fPtr_133)(Value_Arglist*) = Prelude_IO_map_Functor_IO_arglist; // Prelude.IO:15:1--17:38 Value *closure_133 = (Value*)makeClosureFromArglist(fPtr_133, arglist_132); // Prelude.IO:15:1--17:38 // end Prelude_IO_map_Functor_IO(var_2, var_1, var_0) // Prelude.IO:15:1--17:38 return closure_133; } Value *Main_main_0_arglist(Value_Arglist* arglist) { return Main_main_0 ( arglist->args[0] , arglist->args[1] , arglist->args[2] , arglist->args[3] , arglist->args[4] ); }