Construct CallUncompiledFunctionPosArgs

Performance Diagrams

Construct CallUncompiledFunctionPosArgs 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)11705694388.11538461538461257.0CPython 2.784990357240.03846153846155324.6948033120283Nuitka (master)80729635391.96153846153845333.68948512060103Nuitka (develop)80729635543.8846153846154333.68948512060103Nuitka (factory)Construct CallUncompiledFunctionPosArgsTicks Construct CallUncompiledFunctionPosArgs 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000CPython 3.8Nuitka (master)Nuitka (develop)Nuitka (factory)10760511988.11538461538461257.0CPython 3.875985462240.03846153846155329.6146095425213Nuitka (master)76083649391.96153846153845329.3891228882179Nuitka (develop)76083649543.8846153846154329.3891228882179Nuitka (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_78d8e8e0b0ade14e63c2337898dbe92f; 82 static PyCodeObject *codeobj_78d8e8e0b0ade14e63c2337898dbe92f;
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_3337cebd89acb01d85b394029e2ecc12 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[21], NULL, NULL, 0, 0, 0); 88     codeobj_3337cebd89acb01d85b394029e2ecc12 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[18], NULL, NULL, 0, 0, 0);
89     codeobj_78d8e8e0b0ade14e63c2337898dbe92f = MAKE_CODEOBJECT(module_filename_obj, 27, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[13], mod_consts[22], NULL, 0, 0, 0); 89     codeobj_78d8e8e0b0ade14e63c2337898dbe92f = 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_78d8e8e0b0ade14e63c2337898dbe92f = NULL; 111     static struct Nuitka_FrameObject *cache_frame_78d8e8e0b0ade14e63c2337898dbe92f = 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_name_1;
172         PyObject *tmp_call_result_1;
173         CHECK_OBJECT(var_python_f);
174         tmp_called_name_1 = var_python_f;
175         frame_78d8e8e0b0ade14e63c2337898dbe92f->m_frame.f_lineno = 33;
176         tmp_call_result_1 = CALL_FUNCTION_WITH_POSARGS6(tmp_called_name_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_name_2;
192         PyObject *tmp_call_result_2;
193         CHECK_OBJECT(var_python_f);
194         tmp_called_name_2 = var_python_f;
195         frame_78d8e8e0b0ade14e63c2337898dbe92f->m_frame.f_lineno = 34;
196         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS6(tmp_called_name_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_name_3;
212         PyObject *tmp_call_result_3;
213         CHECK_OBJECT(var_python_f);
214         tmp_called_name_3 = var_python_f;
215         frame_78d8e8e0b0ade14e63c2337898dbe92f->m_frame.f_lineno = 35;
216         tmp_call_result_3 = CALL_FUNCTION_WITH_POSARGS6(tmp_called_name_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_78d8e8e0b0ade14e63c2337898dbe92f); 171     RESTORE_FRAME_EXCEPTION(frame_78d8e8e0b0ade14e63c2337898dbe92f);
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_78d8e8e0b0ade14e63c2337898dbe92f, 280         codeobj_78d8e8e0b0ade14e63c2337898dbe92f,
344         NULL, 281         NULL,
720 657
721     // Module code. 658     // Module code.
722     { 659     {
723         PyObject *tmp_assign_source_1; 660         PyObject *tmp_assign_source_1;
724         tmp_assign_source_1 = Py_None; 661         tmp_assign_source_1 = Py_None;
n 725         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_1); n 662         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[1], tmp_assign_source_1);
726     } 663     }
727     { 664     {
728         PyObject *tmp_assign_source_2; 665         PyObject *tmp_assign_source_2;
n 729         tmp_assign_source_2 = mod_consts[5]; n 666         tmp_assign_source_2 = mod_consts[2];
730         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_2); 667         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_2);
731     } 668     }
732     { 669     {
733         PyObject *tmp_assign_source_3; 670         PyObject *tmp_assign_source_3;
734         tmp_assign_source_3 = Py_None; 671         tmp_assign_source_3 = Py_None;
n 735         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_3); n 672         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_3);
736     } 673     }
737     { 674     {
738         PyObject *tmp_assign_source_4; 675         PyObject *tmp_assign_source_4;
739         tmp_assign_source_4 = PyDict_New(); 676         tmp_assign_source_4 = PyDict_New();
n 740         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_4); n 677         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_4);
741     } 678     }
742     { 679     {
743         PyObject *tmp_assign_source_5; 680         PyObject *tmp_assign_source_5;
744         { 681         {
745             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 682             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 746             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[9]); n 683             tmp_assign_source_5 = LOOKUP_ATTRIBUTE(hard_module, mod_consts[6]);
747         } 684         }
748 685
749         assert(!(tmp_assign_source_5 == NULL)); 686         assert(!(tmp_assign_source_5 == NULL));
n 750         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_5); n 687         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_5);
751     } 688     }
752     // Frame without reuse. 689     // Frame without reuse.
753     frame_3337cebd89acb01d85b394029e2ecc12 = MAKE_MODULE_FRAME(codeobj_3337cebd89acb01d85b394029e2ecc12, module___main__); 690     frame_3337cebd89acb01d85b394029e2ecc12 = MAKE_MODULE_FRAME(codeobj_3337cebd89acb01d85b394029e2ecc12, module___main__);
754 691
755     // Push the new frame as the currently active one, and we should be exclusively 692     // Push the new frame as the currently active one, and we should be exclusively
852         { 789         {
853             PyObject *tmp_eval_source_1; 790             PyObject *tmp_eval_source_1;
854             PyObject *tmp_eval_globals_1; 791             PyObject *tmp_eval_globals_1;
855             PyObject *tmp_eval_locals_1; 792             PyObject *tmp_eval_locals_1;
856             PyObject *tmp_eval_compiled_1; 793             PyObject *tmp_eval_compiled_1;
n 857             tmp_eval_source_1 = mod_consts[10]; n 794             tmp_eval_source_1 = mod_consts[7];
858             CHECK_OBJECT(tmp_exec_call_1__globals); 795             CHECK_OBJECT(tmp_exec_call_1__globals);
859             tmp_eval_globals_1 = tmp_exec_call_1__globals; 796             tmp_eval_globals_1 = tmp_exec_call_1__globals;
860             CHECK_OBJECT(tmp_exec_call_1__locals); 797             CHECK_OBJECT(tmp_exec_call_1__locals);
861             tmp_eval_locals_1 = tmp_exec_call_1__locals; 798             tmp_eval_locals_1 = tmp_exec_call_1__locals;
n 862             tmp_eval_compiled_1 = COMPILE_CODE(tmp_eval_source_1, mod_consts[11], mod_consts[12], NULL, NULL, NULL); n 799             tmp_eval_compiled_1 = COMPILE_CODE(tmp_eval_source_1, mod_consts[8], mod_consts[9], NULL, NULL, NULL);
863             if (tmp_eval_compiled_1 == NULL) { 800             if (tmp_eval_compiled_1 == NULL) {
864                 assert(ERROR_OCCURRED()); 801                 assert(ERROR_OCCURRED());
865 802
866                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 803                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
867 804
929         PyObject *tmp_assign_source_10; 866         PyObject *tmp_assign_source_10;
930 867
931 868
932         tmp_assign_source_10 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 869         tmp_assign_source_10 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
933 870
n 934         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[13], tmp_assign_source_10); n 871         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_10);
935     } 872     }
936     { 873     {
937         PyObject *tmp_assign_source_11; 874         PyObject *tmp_assign_source_11;
938         PyObject *tmp_name_name_1; 875         PyObject *tmp_name_name_1;
939         PyObject *tmp_globals_arg_name_1; 876         PyObject *tmp_globals_arg_name_1;
940         PyObject *tmp_locals_arg_name_1; 877         PyObject *tmp_locals_arg_name_1;
941         PyObject *tmp_fromlist_name_1; 878         PyObject *tmp_fromlist_name_1;
942         PyObject *tmp_level_name_1; 879         PyObject *tmp_level_name_1;
n 943         tmp_name_name_1 = mod_consts[14]; n 880         tmp_name_name_1 = mod_consts[11];
944         tmp_globals_arg_name_1 = (PyObject *)moduledict___main__; 881         tmp_globals_arg_name_1 = (PyObject *)moduledict___main__;
945         tmp_locals_arg_name_1 = Py_None; 882         tmp_locals_arg_name_1 = Py_None;
946         tmp_fromlist_name_1 = Py_None; 883         tmp_fromlist_name_1 = Py_None;
n 947         tmp_level_name_1 = mod_consts[15]; n 884         tmp_level_name_1 = mod_consts[12];
948         frame_3337cebd89acb01d85b394029e2ecc12->m_frame.f_lineno = 42; 885         frame_3337cebd89acb01d85b394029e2ecc12->m_frame.f_lineno = 42;
949         tmp_assign_source_11 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_arg_name_1, tmp_locals_arg_name_1, tmp_fromlist_name_1, tmp_level_name_1); 886         tmp_assign_source_11 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_arg_name_1, tmp_locals_arg_name_1, tmp_fromlist_name_1, tmp_level_name_1);
950         assert(!(tmp_assign_source_11 == NULL)); 887         assert(!(tmp_assign_source_11 == NULL));
n 951         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[14], tmp_assign_source_11); n 888         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_11);
952     } 889     }
953     { 890     {
954         PyObject *tmp_assign_source_12; 891         PyObject *tmp_assign_source_12;
955         PyObject *tmp_iter_arg_1; 892         PyObject *tmp_iter_arg_1;
956         PyObject *tmp_called_instance_1; 893         PyObject *tmp_called_instance_1;
n 957         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[14]); n 894         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]);
958 895
959         if (unlikely(tmp_called_instance_1 == NULL)) { 896         if (unlikely(tmp_called_instance_1 == NULL)) {
n 960             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[14]); n 897             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[11]);
961         } 898         }
962 899
963         assert(!(tmp_called_instance_1 == NULL)); 900         assert(!(tmp_called_instance_1 == NULL));
964         frame_3337cebd89acb01d85b394029e2ecc12->m_frame.f_lineno = 43; 901         frame_3337cebd89acb01d85b394029e2ecc12->m_frame.f_lineno = 43;
965         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 902         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
966             tmp_called_instance_1, 903             tmp_called_instance_1,
n 967             mod_consts[16], n 904             mod_consts[13],
968             &PyTuple_GET_ITEM(mod_consts[17], 0) 905             &PyTuple_GET_ITEM(mod_consts[14], 0)
969         ); 906         );
970 907
971         if (tmp_iter_arg_1 == NULL) { 908         if (tmp_iter_arg_1 == NULL) {
972             assert(ERROR_OCCURRED()); 909             assert(ERROR_OCCURRED());
973 910
1023     } 960     }
1024     { 961     {
1025         PyObject *tmp_assign_source_14; 962         PyObject *tmp_assign_source_14;
1026         CHECK_OBJECT(tmp_for_loop_1__iter_value); 963         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1027         tmp_assign_source_14 = tmp_for_loop_1__iter_value; 964         tmp_assign_source_14 = tmp_for_loop_1__iter_value;
n 1028         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[18], tmp_assign_source_14); n 965         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[15], tmp_assign_source_14);
1029     } 966     }
1030     { 967     {
1031         PyObject *tmp_called_name_1; 968         PyObject *tmp_called_name_1;
1032         PyObject *tmp_call_result_1; 969         PyObject *tmp_call_result_1;
n 1033         tmp_called_name_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[13]); n 970         tmp_called_name_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]);
1034 971
1035         if (unlikely(tmp_called_name_1 == NULL)) { 972         if (unlikely(tmp_called_name_1 == NULL)) {
n 1036             tmp_called_name_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[13]); n 973             tmp_called_name_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[10]);
1037         } 974         }
1038 975
1039         if (tmp_called_name_1 == NULL) { 976         if (tmp_called_name_1 == NULL) {
1040             assert(ERROR_OCCURRED()); 977             assert(ERROR_OCCURRED());
1041 978
1104     Py_DECREF(tmp_for_loop_1__for_iterator); 1041     Py_DECREF(tmp_for_loop_1__for_iterator);
1105     tmp_for_loop_1__for_iterator = NULL; 1042     tmp_for_loop_1__for_iterator = NULL;
1106     { 1043     {
1107         PyObject *tmp_called_name_2; 1044         PyObject *tmp_called_name_2;
1108         PyObject *tmp_call_result_2; 1045         PyObject *tmp_call_result_2;
n 1109         tmp_called_name_2 = LOOKUP_BUILTIN(mod_consts[19]); n 1046         tmp_called_name_2 = LOOKUP_BUILTIN(mod_consts[16]);
1110         assert(tmp_called_name_2 != NULL); 1047         assert(tmp_called_name_2 != NULL);
1111         frame_3337cebd89acb01d85b394029e2ecc12->m_frame.f_lineno = 46; 1048         frame_3337cebd89acb01d85b394029e2ecc12->m_frame.f_lineno = 46;
t 1112         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_name_2, mod_consts[20]); t 1049         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_name_2, mod_consts[17]);
1113 1050
1114         if (tmp_call_result_2 == NULL) { 1051         if (tmp_call_result_2 == NULL) {
1115             assert(ERROR_OCCURRED()); 1052             assert(ERROR_OCCURRED());
1116 1053
1117             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 1054             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);