Construct InplaceOperationIntegerMul

Performance Diagrams

Construct InplaceOperationIntegerMul 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000CPython 3.10Nuitka (main)Nuitka (develop)Nuitka (factory)10413804588.11538461538461257.0CPython 3.1074697924240.03846153846155326.8602208639356Nuitka (main)74703354391.96153846153845326.8473356927336Nuitka (develop)74703604543.8846153846154326.84674245280723Nuitka (factory)Construct InplaceOperationIntegerMulTicks Construct InplaceOperationIntegerMul 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)10495085988.11538461538461257.0CPython 3.876200674240.03846153846155324.6946629282802Nuitka (main)76200667391.96153846153845324.69467941035293Nuitka (develop)77900827543.8846153846154320.691513582928Nuitka (factory)Construct InplaceOperationIntegerMulTicks Construct InplaceOperationIntegerMul 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)6279979788.95192307692307257.0CPython 2.713300532242.31730769230768451.7781759334962Nuitka (main)13300259395.6826923076923451.77925018059926Nuitka (develop)13300346549.0480769230769451.77890783811586Nuitka (factory)Construct InplaceOperationIntegerMulTicks

Source Code with Construct

    # construct_begin
    s *= 1000
    s *= 1000
    s *= 1000
    s *= 1000
    s *= 1000
    # construct_end
    s *= module_value2

    return s


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_begin






    s *= module_value2

    return s


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
16 16
17     local_value = module_value1 17     local_value = module_value1
18 18
19     s *= module_value1 19     s *= module_value1
20     # construct_begin 20     # construct_begin
t 21     s *= 1000 t 21  
22     s *= 1000 22  
23     s *= 1000 23  
24     s *= 1000 24  
25     s *= 1000 25  
26     # construct_end 26  
27     s *= module_value2 27     s *= module_value2
28 28
29     return s 29     return s
30 30
31 31

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[17]; n 36 static PyObject *mod_consts[16];
37 #ifndef __NUITKA_NO_ASSERT__ 37 #ifndef __NUITKA_NO_ASSERT__
n 38 static Py_hash_t mod_consts_hash[17]; n 38 static Py_hash_t mod_consts_hash[16];
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 < 17; i++) { n 53         for (int i = 0; i < 16; 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 < 17; i++) { n 73     for (int i = 0; i < 16; 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
82 static PyCodeObject *codeobj_b36ec1bf26481fa3972096bceb76e68e; 82 static PyCodeObject *codeobj_b36ec1bf26481fa3972096bceb76e68e;
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[4]; CHECK_OBJECT(module_filename_obj);
88     codeobj_9a365c243119caf186c3dc10d2d4b65d = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[15], mod_consts[15], NULL, NULL, 0, 0, 0); 88     codeobj_9a365c243119caf186c3dc10d2d4b65d = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[14], mod_consts[14], NULL, NULL, 0, 0, 0);
89     codeobj_main = codeobj_9a365c243119caf186c3dc10d2d4b65d; 89     codeobj_main = codeobj_9a365c243119caf186c3dc10d2d4b65d;
n 90     codeobj_b36ec1bf26481fa3972096bceb76e68e = MAKE_CODE_OBJECT(module_filename_obj, 10, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[10], mod_consts[10], mod_consts[16], NULL, 0, 0, 0); n 90     codeobj_b36ec1bf26481fa3972096bceb76e68e = MAKE_CODE_OBJECT(module_filename_obj, 10, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[9], mod_consts[9], mod_consts[15], NULL, 0, 0, 0);
91 } 91 }
92 92
93 // The module function declarations. 93 // The module function declarations.
94 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 94 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
95 95
230         PyObject *tmp_assign_source_3; 230         PyObject *tmp_assign_source_3;
231         PyObject *tmp_imult_expr_left_2; 231         PyObject *tmp_imult_expr_left_2;
232         PyObject *tmp_imult_expr_right_2; 232         PyObject *tmp_imult_expr_right_2;
233         CHECK_OBJECT(var_s); 233         CHECK_OBJECT(var_s);
234         tmp_imult_expr_left_2 = var_s; 234         tmp_imult_expr_left_2 = var_s;
n 235         tmp_imult_expr_right_2 = mod_consts[2]; n
236         tmp_result = INPLACE_OPERATION_MULT_OBJECT_INT(&tmp_imult_expr_left_2, tmp_imult_expr_right_2);
237         if (tmp_result == false) {
238             assert(HAS_ERROR_OCCURRED(tstate));
239  
240             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
241  
242  
243             exception_lineno = 21;
244             type_description_1 = "oo";
245             goto frame_exception_exit_1;
246         }
247         tmp_assign_source_3 = tmp_imult_expr_left_2;
248         var_s = tmp_assign_source_3;
249  
250     }
251     {
252         PyObject *tmp_assign_source_4;
253         PyObject *tmp_imult_expr_left_3;
254         PyObject *tmp_imult_expr_right_3;
255         CHECK_OBJECT(var_s);
256         tmp_imult_expr_left_3 = var_s;
257         tmp_imult_expr_right_3 = mod_consts[2];
258         tmp_result = INPLACE_OPERATION_MULT_OBJECT_INT(&tmp_imult_expr_left_3, tmp_imult_expr_right_3);
259         if (tmp_result == false) {
260             assert(HAS_ERROR_OCCURRED(tstate));
261  
262             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
263  
264  
265             exception_lineno = 22;
266             type_description_1 = "oo";
267             goto frame_exception_exit_1;
268         }
269         tmp_assign_source_4 = tmp_imult_expr_left_3;
270         var_s = tmp_assign_source_4;
271  
272     }
273     {
274         PyObject *tmp_assign_source_5;
275         PyObject *tmp_imult_expr_left_4;
276         PyObject *tmp_imult_expr_right_4;
277         CHECK_OBJECT(var_s);
278         tmp_imult_expr_left_4 = var_s;
279         tmp_imult_expr_right_4 = mod_consts[2];
280         tmp_result = INPLACE_OPERATION_MULT_OBJECT_INT(&tmp_imult_expr_left_4, tmp_imult_expr_right_4);
281         if (tmp_result == false) {
282             assert(HAS_ERROR_OCCURRED(tstate));
283  
284             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
285  
286  
287             exception_lineno = 23;
288             type_description_1 = "oo";
289             goto frame_exception_exit_1;
290         }
291         tmp_assign_source_5 = tmp_imult_expr_left_4;
292         var_s = tmp_assign_source_5;
293  
294     }
295     {
296         PyObject *tmp_assign_source_6;
297         PyObject *tmp_imult_expr_left_5;
298         PyObject *tmp_imult_expr_right_5;
299         CHECK_OBJECT(var_s);
300         tmp_imult_expr_left_5 = var_s;
301         tmp_imult_expr_right_5 = mod_consts[2];
302         tmp_result = INPLACE_OPERATION_MULT_OBJECT_INT(&tmp_imult_expr_left_5, tmp_imult_expr_right_5);
303         if (tmp_result == false) {
304             assert(HAS_ERROR_OCCURRED(tstate));
305  
306             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
307  
308  
309             exception_lineno = 24;
310             type_description_1 = "oo";
311             goto frame_exception_exit_1;
312         }
313         tmp_assign_source_6 = tmp_imult_expr_left_5;
314         var_s = tmp_assign_source_6;
315  
316     }
317     {
318         PyObject *tmp_assign_source_7;
319         PyObject *tmp_imult_expr_left_6;
320         PyObject *tmp_imult_expr_right_6;
321         CHECK_OBJECT(var_s);
322         tmp_imult_expr_left_6 = var_s;
323         tmp_imult_expr_right_6 = mod_consts[2];
324         tmp_result = INPLACE_OPERATION_MULT_OBJECT_INT(&tmp_imult_expr_left_6, tmp_imult_expr_right_6);
325         if (tmp_result == false) {
326             assert(HAS_ERROR_OCCURRED(tstate));
327  
328             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
329  
330  
331             exception_lineno = 25;
332             type_description_1 = "oo";
333             goto frame_exception_exit_1;
334         }
335         tmp_assign_source_7 = tmp_imult_expr_left_6;
336         var_s = tmp_assign_source_7;
337  
338     }
339     {
340         PyObject *tmp_assign_source_8;
341         PyObject *tmp_imult_expr_left_7;
342         PyObject *tmp_imult_expr_right_7;
343         CHECK_OBJECT(var_s);
344         tmp_imult_expr_left_7 = var_s;
345         tmp_imult_expr_right_7 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[3]); 235         tmp_imult_expr_right_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[2]);
346 236
n 347         if (unlikely(tmp_imult_expr_right_7 == NULL)) { n 237         if (unlikely(tmp_imult_expr_right_2 == NULL)) {
348             tmp_imult_expr_right_7 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[3]); 238             tmp_imult_expr_right_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[2]);
349         } 239         }
350 240
n 351         if (tmp_imult_expr_right_7 == NULL) { n 241         if (tmp_imult_expr_right_2 == NULL) {
352             assert(HAS_ERROR_OCCURRED(tstate)); 242             assert(HAS_ERROR_OCCURRED(tstate));
353 243
354             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 244             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
355 245
356 246
357             exception_lineno = 27; 247             exception_lineno = 27;
358             type_description_1 = "oo"; 248             type_description_1 = "oo";
359             goto frame_exception_exit_1; 249             goto frame_exception_exit_1;
360         } 250         }
n 361         tmp_result = INPLACE_OPERATION_MULT_OBJECT_OBJECT(&tmp_imult_expr_left_7, tmp_imult_expr_right_7); n 251         tmp_result = INPLACE_OPERATION_MULT_OBJECT_OBJECT(&tmp_imult_expr_left_2, tmp_imult_expr_right_2);
362         if (tmp_result == false) { 252         if (tmp_result == false) {
363             assert(HAS_ERROR_OCCURRED(tstate)); 253             assert(HAS_ERROR_OCCURRED(tstate));
364 254
365             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 255             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
366 256
367 257
368             exception_lineno = 27; 258             exception_lineno = 27;
369             type_description_1 = "oo"; 259             type_description_1 = "oo";
370             goto frame_exception_exit_1; 260             goto frame_exception_exit_1;
371         } 261         }
n 372         tmp_assign_source_8 = tmp_imult_expr_left_7; n 262         tmp_assign_source_3 = tmp_imult_expr_left_2;
373         var_s = tmp_assign_source_8; 263         var_s = tmp_assign_source_3;
374 264
375     } 265     }
376 266
377 267
378     // Put the previous frame back on top. 268     // Put the previous frame back on top.
478 368
479 369
480 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly() { 370 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly() {
481     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 371     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
482         impl___main__$$$function__1_calledRepeatedly, 372         impl___main__$$$function__1_calledRepeatedly,
n 483         mod_consts[10], n 373         mod_consts[9],
484 #if PYTHON_VERSION >= 0x300 374 #if PYTHON_VERSION >= 0x300
485         NULL, 375         NULL,
486 #endif 376 #endif
487         codeobj_b36ec1bf26481fa3972096bceb76e68e, 377         codeobj_b36ec1bf26481fa3972096bceb76e68e,
488         NULL, 378         NULL,
868 758
869     // Module code. 759     // Module code.
870     { 760     {
871         PyObject *tmp_assign_source_1; 761         PyObject *tmp_assign_source_1;
872         tmp_assign_source_1 = Py_None; 762         tmp_assign_source_1 = Py_None;
n 873         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_1); n 763         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_1);
874     } 764     }
875     { 765     {
876         PyObject *tmp_assign_source_2; 766         PyObject *tmp_assign_source_2;
n 877         tmp_assign_source_2 = mod_consts[5]; n 767         tmp_assign_source_2 = mod_consts[4];
878         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_2); 768         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_2);
879     } 769     }
880     frame_9a365c243119caf186c3dc10d2d4b65d = MAKE_MODULE_FRAME(codeobj_9a365c243119caf186c3dc10d2d4b65d, module___main__); 770     frame_9a365c243119caf186c3dc10d2d4b65d = MAKE_MODULE_FRAME(codeobj_9a365c243119caf186c3dc10d2d4b65d, module___main__);
881 771
882     // Push the new frame as the currently active one, and we should be exclusively 772     // Push the new frame as the currently active one, and we should be exclusively
883     // owning it. 773     // owning it.
889         PyObject *tmp_assign_source_3; 779         PyObject *tmp_assign_source_3;
890         PyObject *tmp_name_value_1; 780         PyObject *tmp_name_value_1;
891         PyObject *tmp_globals_arg_value_1; 781         PyObject *tmp_globals_arg_value_1;
892         PyObject *tmp_locals_arg_value_1; 782         PyObject *tmp_locals_arg_value_1;
893         PyObject *tmp_fromlist_value_1; 783         PyObject *tmp_fromlist_value_1;
n 894         tmp_name_value_1 = mod_consts[7]; n 784         tmp_name_value_1 = mod_consts[6];
895         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 785         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
896         tmp_locals_arg_value_1 = Py_None; 786         tmp_locals_arg_value_1 = Py_None;
897         tmp_fromlist_value_1 = Py_None; 787         tmp_fromlist_value_1 = Py_None;
898         frame_9a365c243119caf186c3dc10d2d4b65d->m_frame.f_lineno = 4; 788         frame_9a365c243119caf186c3dc10d2d4b65d->m_frame.f_lineno = 4;
899         tmp_assign_source_3 = IMPORT_MODULE4(tstate, tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1); 789         tmp_assign_source_3 = IMPORT_MODULE4(tstate, tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1);
905 795
906             exception_lineno = 4; 796             exception_lineno = 4;
907 797
908             goto frame_exception_exit_1; 798             goto frame_exception_exit_1;
909         } 799         }
n 910         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_3); n 800         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_3);
911     } 801     }
912     { 802     {
913         PyObject *tmp_assign_source_4; 803         PyObject *tmp_assign_source_4;
n 914         tmp_assign_source_4 = mod_consts[8]; n 804         tmp_assign_source_4 = mod_consts[7];
915         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_4); 805         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_4);
916     } 806     }
917     { 807     {
918         PyObject *tmp_assign_source_5; 808         PyObject *tmp_assign_source_5;
n 919         tmp_assign_source_5 = mod_consts[9]; n 809         tmp_assign_source_5 = mod_consts[8];
920         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_5); 810         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[2], tmp_assign_source_5);
921     } 811     }
922     { 812     {
923         PyObject *tmp_assign_source_6; 813         PyObject *tmp_assign_source_6;
924 814
925 815
926         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 816         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
927 817
n 928         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_6); n 818         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_6);
929     } 819     }
930     { 820     {
931         PyObject *tmp_assign_source_7; 821         PyObject *tmp_assign_source_7;
932         PyObject *tmp_iter_arg_1; 822         PyObject *tmp_iter_arg_1;
933         PyObject *tmp_called_instance_1; 823         PyObject *tmp_called_instance_1;
n 934         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[7]); n 824         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]);
935 825
936         if (unlikely(tmp_called_instance_1 == NULL)) { 826         if (unlikely(tmp_called_instance_1 == NULL)) {
n 937             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[7]); n 827             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[6]);
938         } 828         }
939 829
940         assert(!(tmp_called_instance_1 == NULL)); 830         assert(!(tmp_called_instance_1 == NULL));
941         frame_9a365c243119caf186c3dc10d2d4b65d->m_frame.f_lineno = 32; 831         frame_9a365c243119caf186c3dc10d2d4b65d->m_frame.f_lineno = 32;
942         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 832         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
943             tstate, 833             tstate,
944             tmp_called_instance_1, 834             tmp_called_instance_1,
n 945             mod_consts[11], n 835             mod_consts[10],
946             &PyTuple_GET_ITEM(mod_consts[12], 0) 836             &PyTuple_GET_ITEM(mod_consts[11], 0)
947         ); 837         );
948 838
949         if (tmp_iter_arg_1 == NULL) { 839         if (tmp_iter_arg_1 == NULL) {
950             assert(HAS_ERROR_OCCURRED(tstate)); 840             assert(HAS_ERROR_OCCURRED(tstate));
951 841
1001     } 891     }
1002     { 892     {
1003         PyObject *tmp_assign_source_9; 893         PyObject *tmp_assign_source_9;
1004         CHECK_OBJECT(tmp_for_loop_1__iter_value); 894         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1005         tmp_assign_source_9 = tmp_for_loop_1__iter_value; 895         tmp_assign_source_9 = tmp_for_loop_1__iter_value;
n 1006         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[13], tmp_assign_source_9); n 896         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_9);
1007     } 897     }
1008     { 898     {
1009         PyObject *tmp_called_value_1; 899         PyObject *tmp_called_value_1;
1010         PyObject *tmp_call_result_1; 900         PyObject *tmp_call_result_1;
n 1011         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]); n 901         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[9]);
1012 902
1013         if (unlikely(tmp_called_value_1 == NULL)) { 903         if (unlikely(tmp_called_value_1 == NULL)) {
n 1014             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[10]); n 904             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[9]);
1015         } 905         }
1016 906
1017         if (tmp_called_value_1 == NULL) { 907         if (tmp_called_value_1 == NULL) {
1018             assert(HAS_ERROR_OCCURRED(tstate)); 908             assert(HAS_ERROR_OCCURRED(tstate));
1019 909
1079     Py_XDECREF(tmp_for_loop_1__iter_value); 969     Py_XDECREF(tmp_for_loop_1__iter_value);
1080     tmp_for_loop_1__iter_value = NULL; 970     tmp_for_loop_1__iter_value = NULL;
1081     CHECK_OBJECT(tmp_for_loop_1__for_iterator); 971     CHECK_OBJECT(tmp_for_loop_1__for_iterator);
1082     Py_DECREF(tmp_for_loop_1__for_iterator); 972     Py_DECREF(tmp_for_loop_1__for_iterator);
1083     tmp_for_loop_1__for_iterator = NULL; 973     tmp_for_loop_1__for_iterator = NULL;
t 1084     tmp_print_value = mod_consts[14]; t 974     tmp_print_value = mod_consts[13];
1085     tmp_result = PRINT_ITEM(tmp_print_value); 975     tmp_result = PRINT_ITEM(tmp_print_value);
1086     if (tmp_result == false) { 976     if (tmp_result == false) {
1087         assert(HAS_ERROR_OCCURRED(tstate)); 977         assert(HAS_ERROR_OCCURRED(tstate));
1088 978
1089         FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 979         FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);