Construct InplaceOperationFloatAdd

Performance Diagrams

Construct InplaceOperationFloatAdd 0010000000100000002000000020000000300000003000000040000000400000005000000050000000CPython 3.10Nuitka (main)Nuitka (develop)Nuitka (factory)5109526088.95192307692307257.0CPython 3.106200984242.31730769230768474.12515565571505Nuitka (main)6200448395.6826923076923474.1277479479581Nuitka (develop)6200866549.0480769230769474.1257263469178Nuitka (factory)Construct InplaceOperationFloatAddTicks Construct InplaceOperationFloatAdd 001000000010000000200000002000000030000000300000004000000040000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)4910690088.95192307692307257.0CPython 3.84428288242.31730769230768481.83138598570747Nuitka (main)4450374395.6826923076923481.72024497732343Nuitka (develop)4451206549.0480769230769481.7160581929815Nuitka (factory)Construct InplaceOperationFloatAddTicks Construct InplaceOperationFloatAdd 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)6065140088.95192307692307257.0CPython 2.71900382242.31730769230768496.37255215238866Nuitka (main)1899971395.6826923076923496.3742267126309Nuitka (develop)1899971549.0480769230769496.3742267126309Nuitka (factory)Construct InplaceOperationFloatAddTicks

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_095a0d2f343b09499a9b1ea176f42bf1; 82 static PyCodeObject *codeobj_095a0d2f343b09499a9b1ea176f42bf1;
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_5864ef7a71df8569b716e16d1d8c3632 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[15], mod_consts[15], NULL, NULL, 0, 0, 0); 88     codeobj_5864ef7a71df8569b716e16d1d8c3632 = MAKE_CODE_OBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[14], mod_consts[14], NULL, NULL, 0, 0, 0);
89     codeobj_main = codeobj_5864ef7a71df8569b716e16d1d8c3632; 89     codeobj_main = codeobj_5864ef7a71df8569b716e16d1d8c3632;
n 90     codeobj_095a0d2f343b09499a9b1ea176f42bf1 = 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_095a0d2f343b09499a9b1ea176f42bf1 = 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_iadd_expr_left_2; 231         PyObject *tmp_iadd_expr_left_2;
232         PyObject *tmp_iadd_expr_right_2; 232         PyObject *tmp_iadd_expr_right_2;
233         CHECK_OBJECT(var_s); 233         CHECK_OBJECT(var_s);
234         tmp_iadd_expr_left_2 = var_s; 234         tmp_iadd_expr_left_2 = var_s;
n 235         tmp_iadd_expr_right_2 = mod_consts[2]; n
236         tmp_result = INPLACE_OPERATION_ADD_OBJECT_FLOAT(&tmp_iadd_expr_left_2, tmp_iadd_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_iadd_expr_left_2;
248         var_s = tmp_assign_source_3;
249  
250     }
251     {
252         PyObject *tmp_assign_source_4;
253         PyObject *tmp_iadd_expr_left_3;
254         PyObject *tmp_iadd_expr_right_3;
255         CHECK_OBJECT(var_s);
256         tmp_iadd_expr_left_3 = var_s;
257         tmp_iadd_expr_right_3 = mod_consts[2];
258         tmp_result = INPLACE_OPERATION_ADD_OBJECT_FLOAT(&tmp_iadd_expr_left_3, tmp_iadd_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_iadd_expr_left_3;
270         var_s = tmp_assign_source_4;
271  
272     }
273     {
274         PyObject *tmp_assign_source_5;
275         PyObject *tmp_iadd_expr_left_4;
276         PyObject *tmp_iadd_expr_right_4;
277         CHECK_OBJECT(var_s);
278         tmp_iadd_expr_left_4 = var_s;
279         tmp_iadd_expr_right_4 = mod_consts[2];
280         tmp_result = INPLACE_OPERATION_ADD_OBJECT_FLOAT(&tmp_iadd_expr_left_4, tmp_iadd_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_iadd_expr_left_4;
292         var_s = tmp_assign_source_5;
293  
294     }
295     {
296         PyObject *tmp_assign_source_6;
297         PyObject *tmp_iadd_expr_left_5;
298         PyObject *tmp_iadd_expr_right_5;
299         CHECK_OBJECT(var_s);
300         tmp_iadd_expr_left_5 = var_s;
301         tmp_iadd_expr_right_5 = mod_consts[2];
302         tmp_result = INPLACE_OPERATION_ADD_OBJECT_FLOAT(&tmp_iadd_expr_left_5, tmp_iadd_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_iadd_expr_left_5;
314         var_s = tmp_assign_source_6;
315  
316     }
317     {
318         PyObject *tmp_assign_source_7;
319         PyObject *tmp_iadd_expr_left_6;
320         PyObject *tmp_iadd_expr_right_6;
321         CHECK_OBJECT(var_s);
322         tmp_iadd_expr_left_6 = var_s;
323         tmp_iadd_expr_right_6 = mod_consts[2];
324         tmp_result = INPLACE_OPERATION_ADD_OBJECT_FLOAT(&tmp_iadd_expr_left_6, tmp_iadd_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_iadd_expr_left_6;
336         var_s = tmp_assign_source_7;
337  
338     }
339     {
340         PyObject *tmp_assign_source_8;
341         PyObject *tmp_iadd_expr_left_7;
342         PyObject *tmp_iadd_expr_right_7;
343         CHECK_OBJECT(var_s);
344         tmp_iadd_expr_left_7 = var_s;
345         tmp_iadd_expr_right_7 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[3]); 235         tmp_iadd_expr_right_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[2]);
346 236
n 347         if (unlikely(tmp_iadd_expr_right_7 == NULL)) { n 237         if (unlikely(tmp_iadd_expr_right_2 == NULL)) {
348             tmp_iadd_expr_right_7 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[3]); 238             tmp_iadd_expr_right_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK_IN_FUNCTION(tstate, mod_consts[2]);
349         } 239         }
350 240
n 351         if (tmp_iadd_expr_right_7 == NULL) { n 241         if (tmp_iadd_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_ADD_OBJECT_OBJECT(&tmp_iadd_expr_left_7, tmp_iadd_expr_right_7); n 251         tmp_result = INPLACE_OPERATION_ADD_OBJECT_OBJECT(&tmp_iadd_expr_left_2, tmp_iadd_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_iadd_expr_left_7; n 262         tmp_assign_source_3 = tmp_iadd_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_095a0d2f343b09499a9b1ea176f42bf1, 377         codeobj_095a0d2f343b09499a9b1ea176f42bf1,
488         NULL, 378         NULL,
860 750
861     // Module code. 751     // Module code.
862     { 752     {
863         PyObject *tmp_assign_source_1; 753         PyObject *tmp_assign_source_1;
864         tmp_assign_source_1 = Py_None; 754         tmp_assign_source_1 = Py_None;
n 865         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_1); n 755         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_1);
866     } 756     }
867     { 757     {
868         PyObject *tmp_assign_source_2; 758         PyObject *tmp_assign_source_2;
n 869         tmp_assign_source_2 = mod_consts[5]; n 759         tmp_assign_source_2 = mod_consts[4];
870         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_2); 760         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_2);
871     } 761     }
872     frame_5864ef7a71df8569b716e16d1d8c3632 = MAKE_MODULE_FRAME(codeobj_5864ef7a71df8569b716e16d1d8c3632, module___main__); 762     frame_5864ef7a71df8569b716e16d1d8c3632 = MAKE_MODULE_FRAME(codeobj_5864ef7a71df8569b716e16d1d8c3632, module___main__);
873 763
874     // Push the new frame as the currently active one, and we should be exclusively 764     // Push the new frame as the currently active one, and we should be exclusively
875     // owning it. 765     // owning it.
881         PyObject *tmp_assign_source_3; 771         PyObject *tmp_assign_source_3;
882         PyObject *tmp_name_value_1; 772         PyObject *tmp_name_value_1;
883         PyObject *tmp_globals_arg_value_1; 773         PyObject *tmp_globals_arg_value_1;
884         PyObject *tmp_locals_arg_value_1; 774         PyObject *tmp_locals_arg_value_1;
885         PyObject *tmp_fromlist_value_1; 775         PyObject *tmp_fromlist_value_1;
n 886         tmp_name_value_1 = mod_consts[7]; n 776         tmp_name_value_1 = mod_consts[6];
887         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 777         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
888         tmp_locals_arg_value_1 = Py_None; 778         tmp_locals_arg_value_1 = Py_None;
889         tmp_fromlist_value_1 = Py_None; 779         tmp_fromlist_value_1 = Py_None;
890         frame_5864ef7a71df8569b716e16d1d8c3632->m_frame.f_lineno = 4; 780         frame_5864ef7a71df8569b716e16d1d8c3632->m_frame.f_lineno = 4;
891         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); 781         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);
897 787
898             exception_lineno = 4; 788             exception_lineno = 4;
899 789
900             goto frame_exception_exit_1; 790             goto frame_exception_exit_1;
901         } 791         }
n 902         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_3); n 792         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_3);
903     } 793     }
904     { 794     {
905         PyObject *tmp_assign_source_4; 795         PyObject *tmp_assign_source_4;
n 906         tmp_assign_source_4 = mod_consts[8]; n 796         tmp_assign_source_4 = mod_consts[7];
907         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_4); 797         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_4);
908     } 798     }
909     { 799     {
910         PyObject *tmp_assign_source_5; 800         PyObject *tmp_assign_source_5;
n 911         tmp_assign_source_5 = mod_consts[9]; n 801         tmp_assign_source_5 = mod_consts[8];
912         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_5); 802         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[2], tmp_assign_source_5);
913     } 803     }
914     { 804     {
915         PyObject *tmp_assign_source_6; 805         PyObject *tmp_assign_source_6;
916 806
917 807
918         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 808         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
919 809
n 920         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_6); n 810         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[9], tmp_assign_source_6);
921     } 811     }
922     { 812     {
923         PyObject *tmp_assign_source_7; 813         PyObject *tmp_assign_source_7;
924         PyObject *tmp_iter_arg_1; 814         PyObject *tmp_iter_arg_1;
925         PyObject *tmp_called_instance_1; 815         PyObject *tmp_called_instance_1;
n 926         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[7]); n 816         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[6]);
927 817
928         if (unlikely(tmp_called_instance_1 == NULL)) { 818         if (unlikely(tmp_called_instance_1 == NULL)) {
n 929             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[7]); n 819             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[6]);
930         } 820         }
931 821
932         assert(!(tmp_called_instance_1 == NULL)); 822         assert(!(tmp_called_instance_1 == NULL));
933         frame_5864ef7a71df8569b716e16d1d8c3632->m_frame.f_lineno = 32; 823         frame_5864ef7a71df8569b716e16d1d8c3632->m_frame.f_lineno = 32;
934         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 824         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
935             tstate, 825             tstate,
936             tmp_called_instance_1, 826             tmp_called_instance_1,
n 937             mod_consts[11], n 827             mod_consts[10],
938             &PyTuple_GET_ITEM(mod_consts[12], 0) 828             &PyTuple_GET_ITEM(mod_consts[11], 0)
939         ); 829         );
940 830
941         if (tmp_iter_arg_1 == NULL) { 831         if (tmp_iter_arg_1 == NULL) {
942             assert(HAS_ERROR_OCCURRED(tstate)); 832             assert(HAS_ERROR_OCCURRED(tstate));
943 833
993     } 883     }
994     { 884     {
995         PyObject *tmp_assign_source_9; 885         PyObject *tmp_assign_source_9;
996         CHECK_OBJECT(tmp_for_loop_1__iter_value); 886         CHECK_OBJECT(tmp_for_loop_1__iter_value);
997         tmp_assign_source_9 = tmp_for_loop_1__iter_value; 887         tmp_assign_source_9 = tmp_for_loop_1__iter_value;
n 998         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[13], tmp_assign_source_9); n 888         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_9);
999     } 889     }
1000     { 890     {
1001         PyObject *tmp_called_value_1; 891         PyObject *tmp_called_value_1;
1002         PyObject *tmp_call_result_1; 892         PyObject *tmp_call_result_1;
n 1003         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]); n 893         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[9]);
1004 894
1005         if (unlikely(tmp_called_value_1 == NULL)) { 895         if (unlikely(tmp_called_value_1 == NULL)) {
n 1006             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[10]); n 896             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(tstate, mod_consts[9]);
1007         } 897         }
1008 898
1009         if (tmp_called_value_1 == NULL) { 899         if (tmp_called_value_1 == NULL) {
1010             assert(HAS_ERROR_OCCURRED(tstate)); 900             assert(HAS_ERROR_OCCURRED(tstate));
1011 901
1071     Py_XDECREF(tmp_for_loop_1__iter_value); 961     Py_XDECREF(tmp_for_loop_1__iter_value);
1072     tmp_for_loop_1__iter_value = NULL; 962     tmp_for_loop_1__iter_value = NULL;
1073     CHECK_OBJECT(tmp_for_loop_1__for_iterator); 963     CHECK_OBJECT(tmp_for_loop_1__for_iterator);
1074     Py_DECREF(tmp_for_loop_1__for_iterator); 964     Py_DECREF(tmp_for_loop_1__for_iterator);
1075     tmp_for_loop_1__for_iterator = NULL; 965     tmp_for_loop_1__for_iterator = NULL;
t 1076     tmp_print_value = mod_consts[14]; t 966     tmp_print_value = mod_consts[13];
1077     tmp_result = PRINT_ITEM(tmp_print_value); 967     tmp_result = PRINT_ITEM(tmp_print_value);
1078     if (tmp_result == false) { 968     if (tmp_result == false) {
1079         assert(HAS_ERROR_OCCURRED(tstate)); 969         assert(HAS_ERROR_OCCURRED(tstate));
1080 970
1081         FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb); 971         FETCH_ERROR_OCCURRED(tstate, &exception_type, &exception_value, &exception_tb);