Construct InplaceOperationListAdd

Performance Diagrams

Construct InplaceOperationListAdd 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000130000000130000000CPython 3.10Nuitka (main)Nuitka (develop)Nuitka (factory)13489224888.11538461538461257.0CPython 3.1074598985240.03846153846155367.45403347389947Nuitka (main)74601832391.96153846153845367.4488179221503Nuitka (develop)70601206543.8846153846154374.7777508100677Nuitka (factory)Construct InplaceOperationListAddTicks Construct InplaceOperationListAdd 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)12949594488.11538461538461257.0CPython 3.867600791240.03846153846155375.113695819099Nuitka (main)67600791391.96153846153845375.113695819099Nuitka (develop)67600835543.8846153846154375.1136118544852Nuitka (factory)Construct InplaceOperationListAddTicks Construct InplaceOperationListAdd 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)17084723888.11538461538461257.0CPython 2.783199059240.03846153846155383.7753211463862Nuitka (main)83200175391.96153846153845383.7737069513166Nuitka (develop)83200175543.8846153846154383.7737069513166Nuitka (factory)Construct InplaceOperationListAddTicks

Source Code with Construct

    # construct_begin
    s += [1000.0]
    s += [1000.0]
    s += [1000.0]
    s += [1000.0]
    s += [1000.0]
    # 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.0] t 21  
22     s += [1000.0] 22  
23     s += [1000.0] 23  
24     s += [1000.0] 24  
25     s += [1000.0] 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_2a85a6dbab2d9b9d828c759b211281ad; 82 static PyCodeObject *codeobj_2a85a6dbab2d9b9d828c759b211281ad;
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_4579b14931fce72a414accca8b99c96f = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[15], mod_consts[15], NULL, NULL, 0, 0, 0); 88     codeobj_4579b14931fce72a414accca8b99c96f = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[14], mod_consts[14], NULL, NULL, 0, 0, 0);
89     codeobj_main = codeobj_4579b14931fce72a414accca8b99c96f; 89     codeobj_main = codeobj_4579b14931fce72a414accca8b99c96f;
n 90     codeobj_2a85a6dbab2d9b9d828c759b211281ad = 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_2a85a6dbab2d9b9d828c759b211281ad = 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
236         PyObject *tmp_assign_source_4; 236         PyObject *tmp_assign_source_4;
237         PyObject *tmp_iadd_expr_left_2; 237         PyObject *tmp_iadd_expr_left_2;
238         PyObject *tmp_iadd_expr_right_2; 238         PyObject *tmp_iadd_expr_right_2;
239         CHECK_OBJECT(var_s); 239         CHECK_OBJECT(var_s);
240         tmp_iadd_expr_left_2 = var_s; 240         tmp_iadd_expr_left_2 = var_s;
n 241         tmp_iadd_expr_right_2 = MAKE_LIST1(mod_consts[2]); n
242         tmp_result = INPLACE_OPERATION_ADD_OBJECT_LIST(&tmp_iadd_expr_left_2, tmp_iadd_expr_right_2);
243         Py_DECREF(tmp_iadd_expr_right_2);
244         if (tmp_result == false) {
245             assert(HAS_ERROR_OCCURRED(tstate));
246  
247             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
248  
249  
250             exception_lineno = 21;
251             type_description_1 = "oo";
252             goto frame_exception_exit_1;
253         }
254         tmp_assign_source_4 = tmp_iadd_expr_left_2;
255         var_s = tmp_assign_source_4;
256  
257     }
258     {
259         PyObject *tmp_assign_source_5;
260         PyObject *tmp_iadd_expr_left_3;
261         PyObject *tmp_iadd_expr_right_3;
262         CHECK_OBJECT(var_s);
263         tmp_iadd_expr_left_3 = var_s;
264         tmp_iadd_expr_right_3 = MAKE_LIST1(mod_consts[2]);
265         tmp_result = INPLACE_OPERATION_ADD_OBJECT_LIST(&tmp_iadd_expr_left_3, tmp_iadd_expr_right_3);
266         Py_DECREF(tmp_iadd_expr_right_3);
267         if (tmp_result == false) {
268             assert(HAS_ERROR_OCCURRED(tstate));
269  
270             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
271  
272  
273             exception_lineno = 22;
274             type_description_1 = "oo";
275             goto frame_exception_exit_1;
276         }
277         tmp_assign_source_5 = tmp_iadd_expr_left_3;
278         var_s = tmp_assign_source_5;
279  
280     }
281     {
282         PyObject *tmp_assign_source_6;
283         PyObject *tmp_iadd_expr_left_4;
284         PyObject *tmp_iadd_expr_right_4;
285         CHECK_OBJECT(var_s);
286         tmp_iadd_expr_left_4 = var_s;
287         tmp_iadd_expr_right_4 = MAKE_LIST1(mod_consts[2]);
288         tmp_result = INPLACE_OPERATION_ADD_OBJECT_LIST(&tmp_iadd_expr_left_4, tmp_iadd_expr_right_4);
289         Py_DECREF(tmp_iadd_expr_right_4);
290         if (tmp_result == false) {
291             assert(HAS_ERROR_OCCURRED(tstate));
292  
293             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
294  
295  
296             exception_lineno = 23;
297             type_description_1 = "oo";
298             goto frame_exception_exit_1;
299         }
300         tmp_assign_source_6 = tmp_iadd_expr_left_4;
301         var_s = tmp_assign_source_6;
302  
303     }
304     {
305         PyObject *tmp_assign_source_7;
306         PyObject *tmp_iadd_expr_left_5;
307         PyObject *tmp_iadd_expr_right_5;
308         CHECK_OBJECT(var_s);
309         tmp_iadd_expr_left_5 = var_s;
310         tmp_iadd_expr_right_5 = MAKE_LIST1(mod_consts[2]);
311         tmp_result = INPLACE_OPERATION_ADD_OBJECT_LIST(&tmp_iadd_expr_left_5, tmp_iadd_expr_right_5);
312         Py_DECREF(tmp_iadd_expr_right_5);
313         if (tmp_result == false) {
314             assert(HAS_ERROR_OCCURRED(tstate));
315  
316             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
317  
318  
319             exception_lineno = 24;
320             type_description_1 = "oo";
321             goto frame_exception_exit_1;
322         }
323         tmp_assign_source_7 = tmp_iadd_expr_left_5;
324         var_s = tmp_assign_source_7;
325  
326     }
327     {
328         PyObject *tmp_assign_source_8;
329         PyObject *tmp_iadd_expr_left_6;
330         PyObject *tmp_iadd_expr_right_6;
331         CHECK_OBJECT(var_s);
332         tmp_iadd_expr_left_6 = var_s;
333         tmp_iadd_expr_right_6 = MAKE_LIST1(mod_consts[2]);
334         tmp_result = INPLACE_OPERATION_ADD_OBJECT_LIST(&tmp_iadd_expr_left_6, tmp_iadd_expr_right_6);
335         Py_DECREF(tmp_iadd_expr_right_6);
336         if (tmp_result == false) {
337             assert(HAS_ERROR_OCCURRED(tstate));
338  
339             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
340  
341  
342             exception_lineno = 25;
343             type_description_1 = "oo";
344             goto frame_exception_exit_1;
345         }
346         tmp_assign_source_8 = tmp_iadd_expr_left_6;
347         var_s = tmp_assign_source_8;
348  
349     }
350     {
351         PyObject *tmp_assign_source_9;
352         PyObject *tmp_iadd_expr_left_7;
353         PyObject *tmp_iadd_expr_right_7;
354         CHECK_OBJECT(var_s);
355         tmp_iadd_expr_left_7 = var_s;
356         tmp_iadd_expr_right_7 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[3]); 241         tmp_iadd_expr_right_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[2]);
357 242
n 358         if (unlikely(tmp_iadd_expr_right_7 == NULL)) { n 243         if (unlikely(tmp_iadd_expr_right_2 == NULL)) {
359             tmp_iadd_expr_right_7 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[3]); 244             tmp_iadd_expr_right_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[2]);
360         } 245         }
361 246
n 362         if (tmp_iadd_expr_right_7 == NULL) { n 247         if (tmp_iadd_expr_right_2 == NULL) {
363             assert(HAS_ERROR_OCCURRED(tstate)); 248             assert(HAS_ERROR_OCCURRED(tstate));
364 249
365             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 250             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
366 251
367 252
368             exception_lineno = 27; 253             exception_lineno = 27;
369             type_description_1 = "oo"; 254             type_description_1 = "oo";
370             goto frame_exception_exit_1; 255             goto frame_exception_exit_1;
371         } 256         }
n 372         tmp_result = INPLACE_OPERATION_ADD_OBJECT_OBJECT(&tmp_iadd_expr_left_7, tmp_iadd_expr_right_7); n 257         tmp_result = INPLACE_OPERATION_ADD_OBJECT_OBJECT(&tmp_iadd_expr_left_2, tmp_iadd_expr_right_2);
373         if (tmp_result == false) { 258         if (tmp_result == false) {
374             assert(HAS_ERROR_OCCURRED(tstate)); 259             assert(HAS_ERROR_OCCURRED(tstate));
375 260
376             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 261             FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);
377 262
378 263
379             exception_lineno = 27; 264             exception_lineno = 27;
380             type_description_1 = "oo"; 265             type_description_1 = "oo";
381             goto frame_exception_exit_1; 266             goto frame_exception_exit_1;
382         } 267         }
n 383         tmp_assign_source_9 = tmp_iadd_expr_left_7; n 268         tmp_assign_source_4 = tmp_iadd_expr_left_2;
384         var_s = tmp_assign_source_9; 269         var_s = tmp_assign_source_4;
385 270
386     } 271     }
387 272
388 273
389     // Put the previous frame back on top. 274     // Put the previous frame back on top.
489 374
490 375
491 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly() { 376 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly() {
492     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 377     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
493         impl___main__$$$function__1_calledRepeatedly, 378         impl___main__$$$function__1_calledRepeatedly,
n 494         mod_consts[10], n 379         mod_consts[9],
495 #if PYTHON_VERSION >= 0x300 380 #if PYTHON_VERSION >= 0x300
496         NULL, 381         NULL,
497 #endif 382 #endif
498         codeobj_2a85a6dbab2d9b9d828c759b211281ad, 383         codeobj_2a85a6dbab2d9b9d828c759b211281ad,
499         NULL, 384         NULL,
881 766
882     // Module code. 767     // Module code.
883     { 768     {
884         PyObject *tmp_assign_source_1; 769         PyObject *tmp_assign_source_1;
885         tmp_assign_source_1 = Py_None; 770         tmp_assign_source_1 = Py_None;
n 886         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_1); n 771         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_1);
887     } 772     }
888     { 773     {
889         PyObject *tmp_assign_source_2; 774         PyObject *tmp_assign_source_2;
n 890         tmp_assign_source_2 = mod_consts[5]; n 775         tmp_assign_source_2 = mod_consts[4];
891         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_2); 776         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_2);
892     } 777     }
893     frame_4579b14931fce72a414accca8b99c96f = MAKE_MODULE_FRAME(codeobj_4579b14931fce72a414accca8b99c96f, module___main__); 778     frame_4579b14931fce72a414accca8b99c96f = MAKE_MODULE_FRAME(codeobj_4579b14931fce72a414accca8b99c96f, module___main__);
894 779
895     // Push the new frame as the currently active one, and we should be exclusively 780     // Push the new frame as the currently active one, and we should be exclusively
896     // owning it. 781     // owning it.
902         PyObject *tmp_assign_source_3; 787         PyObject *tmp_assign_source_3;
903         PyObject *tmp_name_value_1; 788         PyObject *tmp_name_value_1;
904         PyObject *tmp_globals_arg_value_1; 789         PyObject *tmp_globals_arg_value_1;
905         PyObject *tmp_locals_arg_value_1; 790         PyObject *tmp_locals_arg_value_1;
906         PyObject *tmp_fromlist_value_1; 791         PyObject *tmp_fromlist_value_1;
n 907         tmp_name_value_1 = mod_consts[7]; n 792         tmp_name_value_1 = mod_consts[6];
908         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 793         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
909         tmp_locals_arg_value_1 = Py_None; 794         tmp_locals_arg_value_1 = Py_None;
910         tmp_fromlist_value_1 = Py_None; 795         tmp_fromlist_value_1 = Py_None;
911         frame_4579b14931fce72a414accca8b99c96f->m_frame.f_lineno = 4; 796         frame_4579b14931fce72a414accca8b99c96f->m_frame.f_lineno = 4;
912         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); 797         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);
918 803
919             exception_lineno = 4; 804             exception_lineno = 4;
920 805
921             goto frame_exception_exit_1; 806             goto frame_exception_exit_1;
922         } 807         }
n 923         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_3); n 808         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_3);
924     } 809     }
925     { 810     {
926         PyObject *tmp_assign_source_4; 811         PyObject *tmp_assign_source_4;
n 927         tmp_assign_source_4 = MAKE_LIST1(mod_consts[8]); n 812         tmp_assign_source_4 = MAKE_LIST1(mod_consts[7]);
928         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_4); 813         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_4);
929     } 814     }
930     { 815     {
931         PyObject *tmp_assign_source_5; 816         PyObject *tmp_assign_source_5;
n 932         tmp_assign_source_5 = MAKE_LIST1(mod_consts[9]); n 817         tmp_assign_source_5 = MAKE_LIST1(mod_consts[8]);
933         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_5); 818         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[2], tmp_assign_source_5);
934     } 819     }
935     { 820     {
936         PyObject *tmp_assign_source_6; 821         PyObject *tmp_assign_source_6;
937 822
938 823
939         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 824         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
940 825
n 941         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_6); n 826         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_6);
942     } 827     }
943     { 828     {
944         PyObject *tmp_assign_source_7; 829         PyObject *tmp_assign_source_7;
945         PyObject *tmp_iter_arg_1; 830         PyObject *tmp_iter_arg_1;
946         PyObject *tmp_called_instance_1; 831         PyObject *tmp_called_instance_1;
n 947         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[7]); n 832         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]);
948 833
949         if (unlikely(tmp_called_instance_1 == NULL)) { 834         if (unlikely(tmp_called_instance_1 == NULL)) {
n 950             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[7]); n 835             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[6]);
951         } 836         }
952 837
953         assert(!(tmp_called_instance_1 == NULL)); 838         assert(!(tmp_called_instance_1 == NULL));
954         frame_4579b14931fce72a414accca8b99c96f->m_frame.f_lineno = 32; 839         frame_4579b14931fce72a414accca8b99c96f->m_frame.f_lineno = 32;
955         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 840         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
956             tstate, 841             tstate,
957             tmp_called_instance_1, 842             tmp_called_instance_1,
n 958             mod_consts[11], n 843             mod_consts[10],
959             &PyTuple_GET_ITEM(mod_consts[12], 0) 844             &PyTuple_GET_ITEM(mod_consts[11], 0)
960         ); 845         );
961 846
962         if (tmp_iter_arg_1 == NULL) { 847         if (tmp_iter_arg_1 == NULL) {
963             assert(HAS_ERROR_OCCURRED(tstate)); 848             assert(HAS_ERROR_OCCURRED(tstate));
964 849
1014     } 899     }
1015     { 900     {
1016         PyObject *tmp_assign_source_9; 901         PyObject *tmp_assign_source_9;
1017         CHECK_OBJECT(tmp_for_loop_1__iter_value); 902         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1018         tmp_assign_source_9 = tmp_for_loop_1__iter_value; 903         tmp_assign_source_9 = tmp_for_loop_1__iter_value;
n 1019         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[13], tmp_assign_source_9); n 904         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_9);
1020     } 905     }
1021     { 906     {
1022         PyObject *tmp_called_value_1; 907         PyObject *tmp_called_value_1;
1023         PyObject *tmp_call_result_1; 908         PyObject *tmp_call_result_1;
n 1024         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]); n 909         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[9]);
1025 910
1026         if (unlikely(tmp_called_value_1 == NULL)) { 911         if (unlikely(tmp_called_value_1 == NULL)) {
n 1027             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[10]); n 912             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[9]);
1028         } 913         }
1029 914
1030         if (tmp_called_value_1 == NULL) { 915         if (tmp_called_value_1 == NULL) {
1031             assert(HAS_ERROR_OCCURRED(tstate)); 916             assert(HAS_ERROR_OCCURRED(tstate));
1032 917
1092     Py_XDECREF(tmp_for_loop_1__iter_value); 977     Py_XDECREF(tmp_for_loop_1__iter_value);
1093     tmp_for_loop_1__iter_value = NULL; 978     tmp_for_loop_1__iter_value = NULL;
1094     CHECK_OBJECT(tmp_for_loop_1__for_iterator); 979     CHECK_OBJECT(tmp_for_loop_1__for_iterator);
1095     Py_DECREF(tmp_for_loop_1__for_iterator); 980     Py_DECREF(tmp_for_loop_1__for_iterator);
1096     tmp_for_loop_1__for_iterator = NULL; 981     tmp_for_loop_1__for_iterator = NULL;
t 1097     tmp_print_value = mod_consts[14]; t 982     tmp_print_value = mod_consts[13];
1098     tmp_result = PRINT_ITEM(tmp_print_value); 983     tmp_result = PRINT_ITEM(tmp_print_value);
1099     if (tmp_result == false) { 984     if (tmp_result == false) {
1100         assert(HAS_ERROR_OCCURRED(tstate)); 985         assert(HAS_ERROR_OCCURRED(tstate));
1101 986
1102         FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 987         FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);