Construct CallCompiledFunctionKwArgsConstant

Performance Diagrams

Construct CallCompiledFunctionKwArgsConstant 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 3.10Nuitka (main)Nuitka (develop)Nuitka (factory)16406897388.11538461538461257.0CPython 3.1073505813240.03846153846155393.403304696645Nuitka (main)73506308391.96153846153845393.4025591436428Nuitka (develop)73506308543.8846153846154393.4025591436428Nuitka (factory)Construct CallCompiledFunctionKwArgsConstantTicks Construct CallCompiledFunctionKwArgsConstant 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000130000000130000000140000000140000000150000000150000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)15816210688.11538461538461257.0CPython 3.870210724240.03846153846155394.4168575523686Nuitka (main)70212892391.96153846153845394.4134702292771Nuitka (develop)70212892543.8846153846154394.4134702292771Nuitka (factory)Construct CallCompiledFunctionKwArgsConstantTicks Construct CallCompiledFunctionKwArgsConstant 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)17110200988.11538461538461257.0CPython 2.761360131240.03846153846155415.4955463052723Nuitka (main)61360122391.96153846153845415.4955593035911Nuitka (develop)61360122543.8846153846154415.4955593035911Nuitka (factory)Construct CallCompiledFunctionKwArgsConstantTicks

Source Code with Construct

    compiled_f(a="some", b="other", c="values")
    compiled_f(a="some", b="new", c="value set")

    # construct_alternative



    return compiled_f


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

print("OK.")

#     Python test originally created or extracted from other peoples work. The
#     parts from me are licensed as below. It is at least Free Software where
#     it's copied from other people. In these cases, that will normally be
#     indicated.
#
#     Licensed under the Apache License, Version 2.0 (the "License");
#     you may not use this file except in compliance with the License.
#     You may obtain a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
#     Unless required by applicable law or agreed to in writing, software
#     distributed under the License is distributed on an "AS IS" BASIS,
#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#     See the License for the specific language governing permissions and
#     limitations under the License.

Source Code without Construct

    # construct_alternative
    pass
    # construct_end

    return compiled_f


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

print("OK.")

#     Python test originally created or extracted from other peoples work. The
#     parts from me are licensed as below. It is at least Free Software where
#     it's copied from other people. In these cases, that will normally be
#     indicated.
#
#     Licensed under the Apache License, Version 2.0 (the "License");
#     you may not use this file except in compliance with the License.
#     You may obtain a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
#     Unless required by applicable law or agreed to in writing, software
#     distributed under the License is distributed on an "AS IS" BASIS,
#     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#     See the License for the specific language governing permissions and
#     limitations under the License.

Context Diff of Source Code


Construct
Baseline
14     compiled_f = compiled_func 14     compiled_f = compiled_func
15 15
16     # This is supposed to make a call to a compiled function, which is 16     # This is supposed to make a call to a compiled function, which is
17     # being optimized separately. 17     # being optimized separately.
18     # construct_begin 18     # construct_begin
n 19     compiled_f(a="some", b="random", c="values") n 19  
20     compiled_f(a="some", b="other", c="values") 20  
21     compiled_f(a="some", b="new", c="value set") 21  
22 22
23     # construct_alternative 23     # construct_alternative
t 24   t 24     pass
25   25     # construct_end
26 26
27     return compiled_f 27     return compiled_f
28 28
29 29
30 for x in itertools.repeat(None, 50000): 30 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[19]; n 36 static PyObject *mod_consts[15];
37 #ifndef __NUITKA_NO_ASSERT__ 37 #ifndef __NUITKA_NO_ASSERT__
n 38 static Py_hash_t mod_consts_hash[19]; n 38 static Py_hash_t mod_consts_hash[15];
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(tstate, &mod_consts[0], UNTRANSLATE("__main__")); 49         loadConstantsBlob(tstate, &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 < 19; i++) { n 53         for (int i = 0; i < 15; i++) {
54             mod_consts_hash[i] = DEEP_HASH(tstate, mod_consts[i]); 54             mod_consts_hash[i] = DEEP_HASH(tstate, 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__(PyThreadState *tstate) { 69 void checkModuleConstants___main__(PyThreadState *tstate) {
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 < 19; i++) { n 73     for (int i = 0; i < 15; i++) {
74         assert(mod_consts_hash[i] == DEEP_HASH(tstate, mod_consts[i])); 74         assert(mod_consts_hash[i] == DEEP_HASH(tstate, 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
83 static PyCodeObject *codeobj_46c4ffe70a9a1552c9515e652374d23a; 83 static PyCodeObject *codeobj_46c4ffe70a9a1552c9515e652374d23a;
84 /* For use in "MainProgram.c". */ 84 /* For use in "MainProgram.c". */
85 PyCodeObject *codeobj_main = NULL; 85 PyCodeObject *codeobj_main = NULL;
86 86
87 static void createModuleCodeObjects(void) { 87 static void createModuleCodeObjects(void) {
n 88     module_filename_obj = mod_consts[6]; CHECK_OBJECT(module_filename_obj); n 88     module_filename_obj = mod_consts[2]; CHECK_OBJECT(module_filename_obj);
89     codeobj_8f2442232f1f6ebf0092623a8587bfcf = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[16], mod_consts[16], NULL, NULL, 0, 0, 0); 89     codeobj_8f2442232f1f6ebf0092623a8587bfcf = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[12], mod_consts[12], NULL, NULL, 0, 0, 0);
90     codeobj_main = codeobj_8f2442232f1f6ebf0092623a8587bfcf; 90     codeobj_main = codeobj_8f2442232f1f6ebf0092623a8587bfcf;
n 91     codeobj_4a19396be3c3d49954382ae5e5a90fa3 = MAKE_CODE_OBJECT(module_filename_obj, 13, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[10], mod_consts[10], mod_consts[17], NULL, 0, 0, 0); n 91     codeobj_4a19396be3c3d49954382ae5e5a90fa3 = MAKE_CODE_OBJECT(module_filename_obj, 13, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[6], mod_consts[6], mod_consts[13], NULL, 0, 0, 0);
92     codeobj_46c4ffe70a9a1552c9515e652374d23a = MAKE_CODE_OBJECT(module_filename_obj, 9, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[0], mod_consts[0], mod_consts[18], NULL, 3, 0, 0); 92     codeobj_46c4ffe70a9a1552c9515e652374d23a = MAKE_CODE_OBJECT(module_filename_obj, 9, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE | CO_FUTURE_PRINT_FUNCTION, mod_consts[0], mod_consts[0], mod_consts[14], NULL, 3, 0, 0);
93 } 93 }
94 94
95 // The module function declarations. 95 // The module function declarations.
96 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func(); 96 static PyObject *MAKE_FUNCTION___main__$$$function__1_compiled_func();
97 97
161     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 161     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
162     PyObject *exception_type = NULL; 162     PyObject *exception_type = NULL;
163     PyObject *exception_value = NULL; 163     PyObject *exception_value = NULL;
164     PyTracebackObject *exception_tb = NULL; 164     PyTracebackObject *exception_tb = NULL;
165     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 165     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n 166     NUITKA_MAY_BE_UNUSED nuitka_void tmp_unused; n
167     static struct Nuitka_FrameObject *cache_frame_4a19396be3c3d49954382ae5e5a90fa3 = NULL; 166     static struct Nuitka_FrameObject *cache_frame_4a19396be3c3d49954382ae5e5a90fa3 = NULL;
168     PyObject *tmp_return_value = NULL; 167     PyObject *tmp_return_value = NULL;
169     PyObject *exception_keeper_type_1; 168     PyObject *exception_keeper_type_1;
170     PyObject *exception_keeper_value_1; 169     PyObject *exception_keeper_value_1;
171     PyTracebackObject *exception_keeper_tb_1; 170     PyTracebackObject *exception_keeper_tb_1;
219             goto frame_exception_exit_1; 218             goto frame_exception_exit_1;
220         } 219         }
221         assert(var_compiled_f == NULL); 220         assert(var_compiled_f == NULL);
222         Py_INCREF(tmp_assign_source_1); 221         Py_INCREF(tmp_assign_source_1);
223         var_compiled_f = tmp_assign_source_1; 222         var_compiled_f = tmp_assign_source_1;
n 224     } n
225     {
226         PyObject *tmp_called_value_1;
227         PyObject *tmp_call_result_1;
228         CHECK_OBJECT(var_compiled_f);
229         tmp_called_value_1 = var_compiled_f;
230         frame_4a19396be3c3d49954382ae5e5a90fa3->m_frame.f_lineno = 19;
231         tmp_call_result_1 = CALL_FUNCTION_WITH_NO_ARGS_KWSPLIT(tstate, tmp_called_value_1, &PyTuple_GET_ITEM(mod_consts[1], 0), mod_consts[2]);
232         if (tmp_call_result_1 == NULL) {
233             assert(HAS_ERROR_OCCURRED(tstate));
234  
235             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
236  
237  
238             exception_lineno = 19;
239             type_description_1 = "o";
240             goto frame_exception_exit_1;
241         }
242         Py_DECREF(tmp_call_result_1);
243     }
244     {
245         PyObject *tmp_called_value_2;
246         PyObject *tmp_call_result_2;
247         CHECK_OBJECT(var_compiled_f);
248         tmp_called_value_2 = var_compiled_f;
249         frame_4a19396be3c3d49954382ae5e5a90fa3->m_frame.f_lineno = 20;
250         tmp_call_result_2 = CALL_FUNCTION_WITH_NO_ARGS_KWSPLIT(tstate, tmp_called_value_2, &PyTuple_GET_ITEM(mod_consts[3], 0), mod_consts[2]);
251         if (tmp_call_result_2 == NULL) {
252             assert(HAS_ERROR_OCCURRED(tstate));
253  
254             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
255  
256  
257             exception_lineno = 20;
258             type_description_1 = "o";
259             goto frame_exception_exit_1;
260         }
261         Py_DECREF(tmp_call_result_2);
262     }
263     {
264         PyObject *tmp_called_value_3;
265         PyObject *tmp_call_result_3;
266         CHECK_OBJECT(var_compiled_f);
267         tmp_called_value_3 = var_compiled_f;
268         frame_4a19396be3c3d49954382ae5e5a90fa3->m_frame.f_lineno = 21;
269         tmp_call_result_3 = CALL_FUNCTION_WITH_NO_ARGS_KWSPLIT(tstate, tmp_called_value_3, &PyTuple_GET_ITEM(mod_consts[4], 0), mod_consts[2]);
270         if (tmp_call_result_3 == NULL) {
271             assert(HAS_ERROR_OCCURRED(tstate));
272  
273             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
274  
275  
276             exception_lineno = 21;
277             type_description_1 = "o";
278             goto frame_exception_exit_1;
279         }
280         Py_DECREF(tmp_call_result_3);
281     } 223     }
282 224
283 225
284     // Put the previous frame back on top. 226     // Put the previous frame back on top.
285     popFrameStack(tstate); 227     popFrameStack(tstate);
341     exception_type = NULL; 283     exception_type = NULL;
342     exception_value = NULL; 284     exception_value = NULL;
343     exception_tb = NULL; 285     exception_tb = NULL;
344     exception_lineno = 0; 286     exception_lineno = 0;
345 287
n 346     Py_XDECREF(var_compiled_f); n
347     var_compiled_f = NULL;
348     // Re-raise. 288     // Re-raise.
349     exception_type = exception_keeper_type_1; 289     exception_type = exception_keeper_type_1;
350     exception_value = exception_keeper_value_1; 290     exception_value = exception_keeper_value_1;
351     exception_tb = exception_keeper_tb_1; 291     exception_tb = exception_keeper_tb_1;
352     exception_lineno = exception_keeper_lineno_1; 292     exception_lineno = exception_keeper_lineno_1;
403 343
404 344
405 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() { 345 static PyObject *MAKE_FUNCTION___main__$$$function__2_calledRepeatedly() {
406     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 346     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
407         impl___main__$$$function__2_calledRepeatedly, 347         impl___main__$$$function__2_calledRepeatedly,
n 408         mod_consts[10], n 348         mod_consts[6],
409 #if PYTHON_VERSION >= 0x300 349 #if PYTHON_VERSION >= 0x300
410         NULL, 350         NULL,
411 #endif 351 #endif
412         codeobj_4a19396be3c3d49954382ae5e5a90fa3, 352         codeobj_4a19396be3c3d49954382ae5e5a90fa3,
413         NULL, 353         NULL,
792 732
793     // Module code. 733     // Module code.
794     { 734     {
795         PyObject *tmp_assign_source_1; 735         PyObject *tmp_assign_source_1;
796         tmp_assign_source_1 = Py_None; 736         tmp_assign_source_1 = Py_None;
n 797         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_1); n 737         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[1], tmp_assign_source_1);
798     } 738     }
799     { 739     {
800         PyObject *tmp_assign_source_2; 740         PyObject *tmp_assign_source_2;
n 801         tmp_assign_source_2 = mod_consts[6]; n 741         tmp_assign_source_2 = mod_consts[2];
802         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_2); 742         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_2);
803     } 743     }
804     { 744     {
805         PyObject *tmp_assign_source_3; 745         PyObject *tmp_assign_source_3;
806         { 746         {
807             PyObject *hard_module = IMPORT_HARD___FUTURE__(); 747             PyObject *hard_module = IMPORT_HARD___FUTURE__();
n 808             tmp_assign_source_3 = LOOKUP_ATTRIBUTE(tstate, hard_module, mod_consts[8]); n 748             tmp_assign_source_3 = LOOKUP_ATTRIBUTE(tstate, hard_module, mod_consts[4]);
809         } 749         }
810         assert(!(tmp_assign_source_3 == NULL)); 750         assert(!(tmp_assign_source_3 == NULL));
n 811         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_3); n 751         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_3);
812     } 752     }
813     frame_8f2442232f1f6ebf0092623a8587bfcf = MAKE_MODULE_FRAME(codeobj_8f2442232f1f6ebf0092623a8587bfcf, module___main__); 753     frame_8f2442232f1f6ebf0092623a8587bfcf = MAKE_MODULE_FRAME(codeobj_8f2442232f1f6ebf0092623a8587bfcf, module___main__);
814 754
815     // Push the new frame as the currently active one, and we should be exclusively 755     // Push the new frame as the currently active one, and we should be exclusively
816     // owning it. 756     // owning it.
822         PyObject *tmp_assign_source_4; 762         PyObject *tmp_assign_source_4;
823         PyObject *tmp_name_value_1; 763         PyObject *tmp_name_value_1;
824         PyObject *tmp_globals_arg_value_1; 764         PyObject *tmp_globals_arg_value_1;
825         PyObject *tmp_locals_arg_value_1; 765         PyObject *tmp_locals_arg_value_1;
826         PyObject *tmp_fromlist_value_1; 766         PyObject *tmp_fromlist_value_1;
n 827         tmp_name_value_1 = mod_consts[9]; n 767         tmp_name_value_1 = mod_consts[5];
828         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 768         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
829         tmp_locals_arg_value_1 = Py_None; 769         tmp_locals_arg_value_1 = Py_None;
830         tmp_fromlist_value_1 = Py_None; 770         tmp_fromlist_value_1 = Py_None;
831         frame_8f2442232f1f6ebf0092623a8587bfcf->m_frame.f_lineno = 6; 771         frame_8f2442232f1f6ebf0092623a8587bfcf->m_frame.f_lineno = 6;
832         tmp_assign_source_4 = IMPORT_MODULE4(tstate, tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1); 772         tmp_assign_source_4 = IMPORT_MODULE4(tstate, tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1);
838 778
839             exception_lineno = 6; 779             exception_lineno = 6;
840 780
841             goto frame_exception_exit_1; 781             goto frame_exception_exit_1;
842         } 782         }
n 843         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_4); n 783         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_4);
844     } 784     }
845     { 785     {
846         PyObject *tmp_assign_source_5; 786         PyObject *tmp_assign_source_5;
847 787
848 788
854         PyObject *tmp_assign_source_6; 794         PyObject *tmp_assign_source_6;
855 795
856 796
857         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly(); 797         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__2_calledRepeatedly();
858 798
n 859         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_6); n 799         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_6);
860     } 800     }
861     { 801     {
862         PyObject *tmp_assign_source_7; 802         PyObject *tmp_assign_source_7;
863         PyObject *tmp_iter_arg_1; 803         PyObject *tmp_iter_arg_1;
864         PyObject *tmp_called_instance_1; 804         PyObject *tmp_called_instance_1;
n 865         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[9]); n 805         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[5]);
866 806
867         if (unlikely(tmp_called_instance_1 == NULL)) { 807         if (unlikely(tmp_called_instance_1 == NULL)) {
n 868             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[9]); n 808             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[5]);
869         } 809         }
870 810
871         assert(!(tmp_called_instance_1 == NULL)); 811         assert(!(tmp_called_instance_1 == NULL));
872         frame_8f2442232f1f6ebf0092623a8587bfcf->m_frame.f_lineno = 30; 812         frame_8f2442232f1f6ebf0092623a8587bfcf->m_frame.f_lineno = 30;
873         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 813         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
874             tstate, 814             tstate,
875             tmp_called_instance_1, 815             tmp_called_instance_1,
n 876             mod_consts[11], n 816             mod_consts[7],
877             &PyTuple_GET_ITEM(mod_consts[12], 0) 817             &PyTuple_GET_ITEM(mod_consts[8], 0)
878         ); 818         );
879 819
880         if (tmp_iter_arg_1 == NULL) { 820         if (tmp_iter_arg_1 == NULL) {
881             assert(HAS_ERROR_OCCURRED(tstate)); 821             assert(HAS_ERROR_OCCURRED(tstate));
882 822
932     } 872     }
933     { 873     {
934         PyObject *tmp_assign_source_9; 874         PyObject *tmp_assign_source_9;
935         CHECK_OBJECT(tmp_for_loop_1__iter_value); 875         CHECK_OBJECT(tmp_for_loop_1__iter_value);
936         tmp_assign_source_9 = tmp_for_loop_1__iter_value; 876         tmp_assign_source_9 = tmp_for_loop_1__iter_value;
n 937         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[13], tmp_assign_source_9); n 877         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_9);
938     } 878     }
939     { 879     {
940         PyObject *tmp_called_value_1; 880         PyObject *tmp_called_value_1;
941         PyObject *tmp_call_result_1; 881         PyObject *tmp_call_result_1;
n 942         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]); n 882         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]);
943 883
944         if (unlikely(tmp_called_value_1 == NULL)) { 884         if (unlikely(tmp_called_value_1 == NULL)) {
n 945             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[10]); n 885             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[6]);
946         } 886         }
947 887
948         if (tmp_called_value_1 == NULL) { 888         if (tmp_called_value_1 == NULL) {
949             assert(HAS_ERROR_OCCURRED(tstate)); 889             assert(HAS_ERROR_OCCURRED(tstate));
950 890
1013     Py_DECREF(tmp_for_loop_1__for_iterator); 953     Py_DECREF(tmp_for_loop_1__for_iterator);
1014     tmp_for_loop_1__for_iterator = NULL; 954     tmp_for_loop_1__for_iterator = NULL;
1015     { 955     {
1016         PyObject *tmp_called_value_2; 956         PyObject *tmp_called_value_2;
1017         PyObject *tmp_call_result_2; 957         PyObject *tmp_call_result_2;
n 1018         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[14]); n 958         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[10]);
1019         assert(tmp_called_value_2 != NULL); 959         assert(tmp_called_value_2 != NULL);
1020         frame_8f2442232f1f6ebf0092623a8587bfcf->m_frame.f_lineno = 33; 960         frame_8f2442232f1f6ebf0092623a8587bfcf->m_frame.f_lineno = 33;
t 1021         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tstate, tmp_called_value_2, mod_consts[15]); t 961         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tstate, tmp_called_value_2, mod_consts[11]);
1022 962
1023         if (tmp_call_result_2 == NULL) { 963         if (tmp_call_result_2 == NULL) {
1024             assert(HAS_ERROR_OCCURRED(tstate)); 964             assert(HAS_ERROR_OCCURRED(tstate));
1025 965
1026             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 966             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);