Construct CallUncompiledFunctionPosArgs

Performance Diagrams

Construct CallUncompiledFunctionPosArgs 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)11705694388.11538461538461257.0CPython 2.780744771240.03846153846155333.6575319671555Nuitka (main)80745006391.96153846153845333.6570358657377Nuitka (develop)80745006543.8846153846154333.6570358657377Nuitka (factory)Construct CallUncompiledFunctionPosArgsTicks Construct CallUncompiledFunctionPosArgs 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)10760511988.11538461538461257.0CPython 3.876085066240.03846153846155329.38586874470445Nuitka (main)76085027391.96153846153845329.3859583082874Nuitka (develop)76085027543.8846153846154329.3859583082874Nuitka (factory)Construct CallUncompiledFunctionPosArgsTicks

Source Code with Construct

from __future__ import print_function

exec("""
def python_func(a,b,c,d,e,f):
    pass
""")

def calledRepeatedly():
    # This is supposed to make a call to a non-compiled function, which is
    # being optimized separately.
    python_f = python_func

# construct_begin
    python_f("some", "random", "values", "to", "check", "call")
    python_f("some", "other", "values", "to", "check", "call")
    python_f("some", "new", "values", "to", "check", "call")
# construct_alternative



    return python_f

import itertools
for x in itertools.repeat(None, 50000):
    calledRepeatedly()

print("OK.")

Source Code without Construct

from __future__ import print_function

exec("""
def python_func(a,b,c,d,e,f):
    pass
""")

def calledRepeatedly():
    # This is supposed to make a call to a non-compiled function, which is
    # being optimized separately.
    python_f = python_func

# construct_begin



# construct_alternative
    pass
# construct_end

    return python_f

import itertools
for x in itertools.repeat(None, 50000):
    calledRepeatedly()

print("OK.")

Context Diff of Source Code


Construct
Baseline
28     # This is supposed to make a call to a non-compiled function, which is 28     # This is supposed to make a call to a non-compiled function, which is
29     # being optimized separately. 29     # being optimized separately.
30     python_f = python_func 30     python_f = python_func
31 31
32 # construct_begin 32 # construct_begin
n 33     python_f("some", "random", "values", "to", "check", "call") n
34     python_f("some", "other", "values", "to", "check", "call")
35     python_f("some", "new", "values", "to", "check", "call")
36 # construct_alternative
37 33
38 34
t t 35  
36 # construct_alternative
37     pass
38 # construct_end
39 39
40     return python_f 40     return python_f
41 41
42 import itertools 42 import itertools
43 for x in itertools.repeat(None, 50000): 43 for x in itertools.repeat(None, 50000):

Context Diff of Generated Code


Construct
Baseline
31 31
32 PyObject *module___main__; 32 PyObject *module___main__;
33 PyDictObject *moduledict___main__; 33 PyDictObject *moduledict___main__;
34 34
35 /* The declarations of module constants used, if any. */ 35 /* The declarations of module constants used, if any. */
n 36 static PyObject *mod_consts[23]; n 36 static PyObject *mod_consts[20];
37 #ifndef __NUITKA_NO_ASSERT__ 37 #ifndef __NUITKA_NO_ASSERT__
n 38 static Py_hash_t mod_consts_hash[23]; n 38 static Py_hash_t mod_consts_hash[20];
39 #endif 39 #endif
40 40
41 static PyObject *module_filename_obj = NULL; 41 static PyObject *module_filename_obj = NULL;
42 42
43 /* Indicator if this modules private constants were created yet. */ 43 /* Indicator if this modules private constants were created yet. */
48     if (constants_created == false) { 48     if (constants_created == false) {
49         loadConstantsBlob(&mod_consts[0], UNTRANSLATE("__main__")); 49         loadConstantsBlob(&mod_consts[0], UNTRANSLATE("__main__"));
50         constants_created = true; 50         constants_created = true;
51 51
52 #ifndef __NUITKA_NO_ASSERT__ 52 #ifndef __NUITKA_NO_ASSERT__
n 53         for(int i = 0; i < 23; i++) { n 53         for(int i = 0; i < 20; i++) {
54             mod_consts_hash[i] = DEEP_HASH(mod_consts[i]); 54             mod_consts_hash[i] = DEEP_HASH(mod_consts[i]);
55         } 55         }
56 #endif 56 #endif
57     } 57     }
58 } 58 }
68 #ifndef __NUITKA_NO_ASSERT__ 68 #ifndef __NUITKA_NO_ASSERT__
69 void checkModuleConstants___main__(void) { 69 void checkModuleConstants___main__(void) {
70     // The module may not have been used at all, then ignore this. 70     // The module may not have been used at all, then ignore this.
71     if (constants_created == false) return; 71     if (constants_created == false) return;
72 72
n 73     for(int i = 0; i < 23; i++) { n 73     for(int i = 0; i < 20; i++) {
74         assert(mod_consts_hash[i] == DEEP_HASH(mod_consts[i])); 74         assert(mod_consts_hash[i] == DEEP_HASH(mod_consts[i]));
75         CHECK_OBJECT_DEEP(mod_consts[i]); 75         CHECK_OBJECT_DEEP(mod_consts[i]);
76     } 76     }
77 } 77 }
78 #endif 78 #endif
82 static PyCodeObject *codeobj_ffe183e8ba64613377011f7ec10c4045; 82 static PyCodeObject *codeobj_ffe183e8ba64613377011f7ec10c4045;
83 /* For use in "MainProgram.c". */ 83 /* For use in "MainProgram.c". */
84 PyCodeObject *codeobj_main = NULL; 84 PyCodeObject *codeobj_main = NULL;
85 85
86 static void createModuleCodeObjects(void) { 86 static void createModuleCodeObjects(void) {
n 87     module_filename_obj = mod_consts[5]; CHECK_OBJECT(module_filename_obj); n 87     module_filename_obj = mod_consts[2]; CHECK_OBJECT(module_filename_obj);
88     codeobj_5973fc951008966c0bccba9a29684c57 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[21], NULL, NULL, 0, 0, 0); 88     codeobj_5973fc951008966c0bccba9a29684c57 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[18], NULL, NULL, 0, 0, 0);
89     codeobj_ffe183e8ba64613377011f7ec10c4045 = MAKE_CODEOBJECT(module_filename_obj, 27, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[13], mod_consts[22], NULL, 0, 0, 0); 89     codeobj_ffe183e8ba64613377011f7ec10c4045 = MAKE_CODEOBJECT(module_filename_obj, 27, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[10], mod_consts[19], NULL, 0, 0, 0);
90 } 90 }
91 91
92 // The module function declarations. 92 // The module function declarations.
93 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 93 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
94 94
106     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 106     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
107     PyObject *exception_type = NULL; 107     PyObject *exception_type = NULL;
108     PyObject *exception_value = NULL; 108     PyObject *exception_value = NULL;
109     PyTracebackObject *exception_tb = NULL; 109     PyTracebackObject *exception_tb = NULL;
110     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 110     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 111     NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; n
112     static struct Nuitka_FrameObject *cache_frame_ffe183e8ba64613377011f7ec10c4045 = NULL; 111     static struct Nuitka_FrameObject *cache_frame_ffe183e8ba64613377011f7ec10c4045 = NULL;
113     PyObject *tmp_return_value = NULL; 112     PyObject *tmp_return_value = NULL;
114     PyObject *exception_keeper_type_1; 113     PyObject *exception_keeper_type_1;
115     PyObject *exception_keeper_value_1; 114     PyObject *exception_keeper_value_1;
116     PyTracebackObject *exception_keeper_tb_1; 115     PyTracebackObject *exception_keeper_tb_1;
164             goto frame_exception_exit_1; 163             goto frame_exception_exit_1;
165         } 164         }
166         assert(var_python_f == NULL); 165         assert(var_python_f == NULL);
167         Py_INCREF(tmp_assign_source_1); 166         Py_INCREF(tmp_assign_source_1);
168         var_python_f = tmp_assign_source_1; 167         var_python_f = tmp_assign_source_1;
n 169     } n
170     {
171         PyObject *tmp_called_value_1;
172         PyObject *tmp_call_result_1;
173         CHECK_OBJECT(var_python_f);
174         tmp_called_value_1 = var_python_f;
175         frame_ffe183e8ba64613377011f7ec10c4045->m_frame.f_lineno = 33;
176         tmp_call_result_1 = CALL_FUNCTION_WITH_POSARGS6(tmp_called_value_1, mod_consts[1]);
177  
178         if (tmp_call_result_1 == NULL) {
179             assert(ERROR_OCCURRED());
180  
181             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
182  
183  
184             exception_lineno = 33;
185             type_description_1 = "o";
186             goto frame_exception_exit_1;
187         }
188         Py_DECREF(tmp_call_result_1);
189     }
190     {
191         PyObject *tmp_called_value_2;
192         PyObject *tmp_call_result_2;
193         CHECK_OBJECT(var_python_f);
194         tmp_called_value_2 = var_python_f;
195         frame_ffe183e8ba64613377011f7ec10c4045->m_frame.f_lineno = 34;
196         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS6(tmp_called_value_2, mod_consts[2]);
197  
198         if (tmp_call_result_2 == NULL) {
199             assert(ERROR_OCCURRED());
200  
201             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
202  
203  
204             exception_lineno = 34;
205             type_description_1 = "o";
206             goto frame_exception_exit_1;
207         }
208         Py_DECREF(tmp_call_result_2);
209     }
210     {
211         PyObject *tmp_called_value_3;
212         PyObject *tmp_call_result_3;
213         CHECK_OBJECT(var_python_f);
214         tmp_called_value_3 = var_python_f;
215         frame_ffe183e8ba64613377011f7ec10c4045->m_frame.f_lineno = 35;
216         tmp_call_result_3 = CALL_FUNCTION_WITH_POSARGS6(tmp_called_value_3, mod_consts[3]);
217  
218         if (tmp_call_result_3 == NULL) {
219             assert(ERROR_OCCURRED());
220  
221             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
222  
223  
224             exception_lineno = 35;
225             type_description_1 = "o";
226             goto frame_exception_exit_1;
227         }
228         Py_DECREF(tmp_call_result_3);
229     } 168     }
230 169
231 #if 0 170 #if 0
232     RESTORE_FRAME_EXCEPTION(frame_ffe183e8ba64613377011f7ec10c4045); 171     RESTORE_FRAME_EXCEPTION(frame_ffe183e8ba64613377011f7ec10c4045);
233 #endif 172 #endif
298     exception_type = NULL; 237     exception_type = NULL;
299     exception_value = NULL; 238     exception_value = NULL;
300     exception_tb = NULL; 239     exception_tb = NULL;
301     exception_lineno = 0; 240     exception_lineno = 0;
302 241
n 303     Py_XDECREF(var_python_f); n
304     var_python_f = NULL;
305     // Re-raise. 242     // Re-raise.
306     exception_type = exception_keeper_type_1; 243     exception_type = exception_keeper_type_1;
307     exception_value = exception_keeper_value_1; 244     exception_value = exception_keeper_value_1;
308     exception_tb = exception_keeper_tb_1; 245     exception_tb = exception_keeper_tb_1;
309     exception_lineno = exception_keeper_lineno_1; 246     exception_lineno = exception_keeper_lineno_1;
334 271
335 272
336 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly() { 273 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly() {
337     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 274     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
338         impl___main__$$$function__1_calledRepeatedly, 275         impl___main__$$$function__1_calledRepeatedly,
n 339         mod_consts[13], n 276         mod_consts[10],
340 #if PYTHON_VERSION >= 0x300 277 #if PYTHON_VERSION >= 0x300
341         NULL, 278         NULL,
342 #endif 279 #endif
343         codeobj_ffe183e8ba64613377011f7ec10c4045, 280         codeobj_ffe183e8ba64613377011f7ec10c4045,
344         NULL, 281         NULL,
725 662
726     // Module code. 663     // Module code.
727     { 664     {
728         PyObject *tmp_assign_source_1; 665         PyObject *tmp_assign_source_1;
729         tmp_assign_source_1 = Py_None; 666         tmp_assign_source_1 = Py_None;
n 730         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_1); n 667         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[1], tmp_assign_source_1);
731     } 668     }
732     { 669     {
733         PyObject *tmp_assign_source_2; 670         PyObject *tmp_assign_source_2;
n 734         tmp_assign_source_2 = mod_consts[5]; n 671         tmp_assign_source_2 = mod_consts[2];
735         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_2); 672         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_2);
736     } 673     }
737     { 674     {
738         PyObject *tmp_assign_source_3; 675         PyObject *tmp_assign_source_3;
739         tmp_assign_source_3 = Py_None; 676         tmp_assign_source_3 = Py_None;
n 740         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_3); n 677         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_3);
741     } 678     }
742     { 679     {
743         PyObject *tmp_assign_source_4; 680         PyObject *tmp_assign_source_4;
744         tmp_assign_source_4 = PyDict_New(); 681         tmp_assign_source_4 = PyDict_New();
n 745         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_4); n 682         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_4);
746     } 683     }
747     { 684     {
748         PyObject *tmp_assign_source_5; 685         PyObject *tmp_assign_source_5;
749         { 686         {
750             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 687             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 751             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[9]); n 688             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[6]);
752         } 689         }
753 690
754         assert(!(tmp_assign_source_5 == NULL)); 691         assert(!(tmp_assign_source_5 == NULL));
n 755         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_5); n 692         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_5);
756     } 693     }
757     // Frame without reuse. 694     // Frame without reuse.
758     frame_5973fc951008966c0bccba9a29684c57 = MAKE_MODULE_FRAME(codeobj_5973fc951008966c0bccba9a29684c57, module___main__); 695     frame_5973fc951008966c0bccba9a29684c57 = MAKE_MODULE_FRAME(codeobj_5973fc951008966c0bccba9a29684c57, module___main__);
759 696
760     // Push the new frame as the currently active one, and we should be exclusively 697     // Push the new frame as the currently active one, and we should be exclusively
857         { 794         {
858             PyObject *tmp_eval_source_1; 795             PyObject *tmp_eval_source_1;
859             PyObject *tmp_eval_globals_1; 796             PyObject *tmp_eval_globals_1;
860             PyObject *tmp_eval_locals_1; 797             PyObject *tmp_eval_locals_1;
861             PyObject *tmp_eval_compiled_1; 798             PyObject *tmp_eval_compiled_1;
n 862             tmp_eval_source_1 = mod_consts[10]; n 799             tmp_eval_source_1 = mod_consts[7];
863             CHECK_OBJECT(tmp_exec_call_1__globals); 800             CHECK_OBJECT(tmp_exec_call_1__globals);
864             tmp_eval_globals_1 = tmp_exec_call_1__globals; 801             tmp_eval_globals_1 = tmp_exec_call_1__globals;
865             CHECK_OBJECT(tmp_exec_call_1__locals); 802             CHECK_OBJECT(tmp_exec_call_1__locals);
866             tmp_eval_locals_1 = tmp_exec_call_1__locals; 803             tmp_eval_locals_1 = tmp_exec_call_1__locals;
n 867             tmp_eval_compiled_1 = COMPILE_CODE(tmp_eval_source_1, mod_consts[11], mod_consts[12], NULL, NULL, NULL); n 804             tmp_eval_compiled_1 = COMPILE_CODE(tmp_eval_source_1, mod_consts[8], mod_consts[9], NULL, NULL, NULL);
868             if (tmp_eval_compiled_1 == NULL) { 805             if (tmp_eval_compiled_1 == NULL) {
869                 assert(ERROR_OCCURRED()); 806                 assert(ERROR_OCCURRED());
870 807
871                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 808                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
872 809
934         PyObject *tmp_assign_source_10; 871         PyObject *tmp_assign_source_10;
935 872
936 873
937         tmp_assign_source_10 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 874         tmp_assign_source_10 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
938 875
n 939         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[13], tmp_assign_source_10); n 876         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_10);
940     } 877     }
941     { 878     {
942         PyObject *tmp_assign_source_11; 879         PyObject *tmp_assign_source_11;
943         PyObject *tmp_name_value_1; 880         PyObject *tmp_name_value_1;
944         PyObject *tmp_globals_arg_value_1; 881         PyObject *tmp_globals_arg_value_1;
945         PyObject *tmp_locals_arg_value_1; 882         PyObject *tmp_locals_arg_value_1;
946         PyObject *tmp_fromlist_value_1; 883         PyObject *tmp_fromlist_value_1;
947         PyObject *tmp_level_value_1; 884         PyObject *tmp_level_value_1;
n 948         tmp_name_value_1 = mod_consts[14]; n 885         tmp_name_value_1 = mod_consts[11];
949         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 886         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
950         tmp_locals_arg_value_1 = Py_None; 887         tmp_locals_arg_value_1 = Py_None;
951         tmp_fromlist_value_1 = Py_None; 888         tmp_fromlist_value_1 = Py_None;
n 952         tmp_level_value_1 = mod_consts[15]; n 889         tmp_level_value_1 = mod_consts[12];
953         frame_5973fc951008966c0bccba9a29684c57->m_frame.f_lineno = 42; 890         frame_5973fc951008966c0bccba9a29684c57->m_frame.f_lineno = 42;
954         tmp_assign_source_11 = IMPORT_MODULE5(tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1, tmp_level_value_1); 891         tmp_assign_source_11 = IMPORT_MODULE5(tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1, tmp_level_value_1);
955         assert(!(tmp_assign_source_11 == NULL)); 892         assert(!(tmp_assign_source_11 == NULL));
n 956         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[14], tmp_assign_source_11); n 893         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_11);
957     } 894     }
958     { 895     {
959         PyObject *tmp_assign_source_12; 896         PyObject *tmp_assign_source_12;
960         PyObject *tmp_iter_arg_1; 897         PyObject *tmp_iter_arg_1;
961         PyObject *tmp_called_instance_1; 898         PyObject *tmp_called_instance_1;
n 962         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[14]); n 899         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]);
963 900
964         if (unlikely(tmp_called_instance_1 == NULL)) { 901         if (unlikely(tmp_called_instance_1 == NULL)) {
n 965             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[14]); n 902             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[11]);
966         } 903         }
967 904
968         assert(!(tmp_called_instance_1 == NULL)); 905         assert(!(tmp_called_instance_1 == NULL));
969         frame_5973fc951008966c0bccba9a29684c57->m_frame.f_lineno = 43; 906         frame_5973fc951008966c0bccba9a29684c57->m_frame.f_lineno = 43;
970         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 907         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
971             tmp_called_instance_1, 908             tmp_called_instance_1,
n 972             mod_consts[16], n 909             mod_consts[13],
973             &PyTuple_GET_ITEM(mod_consts[17], 0) 910             &PyTuple_GET_ITEM(mod_consts[14], 0)
974         ); 911         );
975 912
976         if (tmp_iter_arg_1 == NULL) { 913         if (tmp_iter_arg_1 == NULL) {
977             assert(ERROR_OCCURRED()); 914             assert(ERROR_OCCURRED());
978 915
1028     } 965     }
1029     { 966     {
1030         PyObject *tmp_assign_source_14; 967         PyObject *tmp_assign_source_14;
1031         CHECK_OBJECT(tmp_for_loop_1__iter_value); 968         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1032         tmp_assign_source_14 = tmp_for_loop_1__iter_value; 969         tmp_assign_source_14 = tmp_for_loop_1__iter_value;
n 1033         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[18], tmp_assign_source_14); n 970         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[15], tmp_assign_source_14);
1034     } 971     }
1035     { 972     {
1036         PyObject *tmp_called_value_1; 973         PyObject *tmp_called_value_1;
1037         PyObject *tmp_call_result_1; 974         PyObject *tmp_call_result_1;
n 1038         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[13]); n 975         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]);
1039 976
1040         if (unlikely(tmp_called_value_1 == NULL)) { 977         if (unlikely(tmp_called_value_1 == NULL)) {
n 1041             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[13]); n 978             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[10]);
1042         } 979         }
1043 980
1044         if (tmp_called_value_1 == NULL) { 981         if (tmp_called_value_1 == NULL) {
1045             assert(ERROR_OCCURRED()); 982             assert(ERROR_OCCURRED());
1046 983
1109     Py_DECREF(tmp_for_loop_1__for_iterator); 1046     Py_DECREF(tmp_for_loop_1__for_iterator);
1110     tmp_for_loop_1__for_iterator = NULL; 1047     tmp_for_loop_1__for_iterator = NULL;
1111     { 1048     {
1112         PyObject *tmp_called_value_2; 1049         PyObject *tmp_called_value_2;
1113         PyObject *tmp_call_result_2; 1050         PyObject *tmp_call_result_2;
n 1114         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[19]); n 1051         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[16]);
1115         assert(tmp_called_value_2 != NULL); 1052         assert(tmp_called_value_2 != NULL);
1116         frame_5973fc951008966c0bccba9a29684c57->m_frame.f_lineno = 46; 1053         frame_5973fc951008966c0bccba9a29684c57->m_frame.f_lineno = 46;
t 1117         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_value_2, mod_consts[20]); t 1054         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_value_2, mod_consts[17]);
1118 1055
1119         if (tmp_call_result_2 == NULL) { 1056         if (tmp_call_result_2 == NULL) {
1120             assert(ERROR_OCCURRED()); 1057             assert(ERROR_OCCURRED());
1121 1058
1122             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1059             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);