Construct InplaceOperationListAdd

Performance Diagrams

Construct InplaceOperationListAdd 002000000020000000400000004000000060000000600000008000000080000000100000000100000000120000000120000000140000000140000000160000000160000000CPython 2.7Nuitka (main)Nuitka (develop)Nuitka (factory)17285032688.11538461538461257.00000000000006CPython 2.791050164240.03846153846155373.94556187432806Nuitka (main)91050187391.96153846153845373.9455289923892Nuitka (develop)91050187543.8846153846154373.9455289923892Nuitka (factory)Construct InplaceOperationListAddTicks Construct InplaceOperationListAdd 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000CPython 3.8Nuitka (main)Nuitka (develop)Nuitka (factory)12864269488.11538461538461257.0CPython 3.873605373240.03846153846155362.7236001845187Nuitka (main)73605360391.96153846153845362.72362515678805Nuitka (develop)73605360543.8846153846154362.72362515678805Nuitka (factory)Construct InplaceOperationListAddTicks

Source Code with Construct

module_value1 = [5.0]
module_value2 = [3.0]

def calledRepeatedly():
    # Force frame and eliminate forward propagation (currently).
    module_value1

    # Make sure we have a local variable s anyway
    s = [2.0]

    local_value = module_value1

    s += module_value1
# construct_begin
    s += [1000.0]
    s += [1000.0]
    s += [1000.0]
    s += [1000.0]
    s += [1000.0]
# construct_end
    s += module_value2

    return s

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

print("OK.")

Source Code without Construct

module_value1 = [5.0]
module_value2 = [3.0]

def calledRepeatedly():
    # Force frame and eliminate forward propagation (currently).
    module_value1

    # Make sure we have a local variable s anyway
    s = [2.0]

    local_value = module_value1

    s += module_value1
# construct_begin






    s += module_value2

    return s

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

print("OK.")

Context Diff of Source Code


Construct
Baseline
30 30
31     local_value = module_value1 31     local_value = module_value1
32 32
33     s += module_value1 33     s += module_value1
34 # construct_begin 34 # construct_begin
t 35     s += [1000.0] t 35  
36     s += [1000.0] 36  
37     s += [1000.0] 37  
38     s += [1000.0] 38  
39     s += [1000.0] 39  
40 # construct_end 40  
41     s += module_value2 41     s += module_value2
42 42
43     return s 43     return s
44 44
45 import itertools 45 import itertools

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[21]; n 36 static PyObject *mod_consts[20];
37 #ifndef __NUITKA_NO_ASSERT__ 37 #ifndef __NUITKA_NO_ASSERT__
n 38 static Py_hash_t mod_consts_hash[21]; n 38 static Py_hash_t mod_consts_hash[20];
39 #endif 39 #endif
40 40
41 static PyObject *module_filename_obj = NULL; 41 static PyObject *module_filename_obj = NULL;
42 42
43 /* Indicator if this modules private constants were created yet. */ 43 /* Indicator if this modules private constants were created yet. */
48     if (constants_created == false) { 48     if (constants_created == false) {
49         loadConstantsBlob(&mod_consts[0], UNTRANSLATE("__main__")); 49         loadConstantsBlob(&mod_consts[0], UNTRANSLATE("__main__"));
50         constants_created = true; 50         constants_created = true;
51 51
52 #ifndef __NUITKA_NO_ASSERT__ 52 #ifndef __NUITKA_NO_ASSERT__
n 53         for(int i = 0; i < 21; i++) { n 53         for(int i = 0; i < 20; i++) {
54             mod_consts_hash[i] = DEEP_HASH(mod_consts[i]); 54             mod_consts_hash[i] = DEEP_HASH(mod_consts[i]);
55         } 55         }
56 #endif 56 #endif
57     } 57     }
58 } 58 }
68 #ifndef __NUITKA_NO_ASSERT__ 68 #ifndef __NUITKA_NO_ASSERT__
69 void checkModuleConstants___main__(void) { 69 void checkModuleConstants___main__(void) {
70     // The module may not have been used at all, then ignore this. 70     // The module may not have been used at all, then ignore this.
71     if (constants_created == false) return; 71     if (constants_created == false) return;
72 72
n 73     for(int i = 0; i < 21; i++) { n 73     for(int i = 0; i < 20; i++) {
74         assert(mod_consts_hash[i] == DEEP_HASH(mod_consts[i])); 74         assert(mod_consts_hash[i] == DEEP_HASH(mod_consts[i]));
75         CHECK_OBJECT_DEEP(mod_consts[i]); 75         CHECK_OBJECT_DEEP(mod_consts[i]);
76     } 76     }
77 } 77 }
78 #endif 78 #endif
82 static PyCodeObject *codeobj_380b08b3cf46a806b50ba09642f4f126; 82 static PyCodeObject *codeobj_380b08b3cf46a806b50ba09642f4f126;
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_20c0f589e0888703a3b09bfb725d0c65 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[19], NULL, NULL, 0, 0, 0); 88     codeobj_20c0f589e0888703a3b09bfb725d0c65 = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[18], NULL, NULL, 0, 0, 0);
89     codeobj_380b08b3cf46a806b50ba09642f4f126 = MAKE_CODEOBJECT(module_filename_obj, 24, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[11], mod_consts[20], NULL, 0, 0, 0); 89     codeobj_380b08b3cf46a806b50ba09642f4f126 = MAKE_CODEOBJECT(module_filename_obj, 24, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[10], mod_consts[19], NULL, 0, 0, 0);
90 } 90 }
91 91
92 // The module function declarations. 92 // The module function declarations.
93 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 93 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
94 94
235         PyObject *tmp_assign_source_4; 235         PyObject *tmp_assign_source_4;
236         PyObject *tmp_left_value_2; 236         PyObject *tmp_left_value_2;
237         PyObject *tmp_right_value_2; 237         PyObject *tmp_right_value_2;
238         CHECK_OBJECT(var_s); 238         CHECK_OBJECT(var_s);
239         tmp_left_value_2 = var_s; 239         tmp_left_value_2 = var_s;
n 240         tmp_right_value_2 = LIST_COPY(mod_consts[2]); n
241         tmp_result = BINARY_OPERATION_ADD_OBJECT_LIST_INPLACE(&tmp_left_value_2, tmp_right_value_2);
242         Py_DECREF(tmp_right_value_2);
243         if (tmp_result == false) {
244             assert(ERROR_OCCURRED());
245  
246             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
247  
248  
249             exception_lineno = 35;
250             type_description_1 = "oo";
251             goto frame_exception_exit_1;
252         }
253         tmp_assign_source_4 = tmp_left_value_2;
254         var_s = tmp_assign_source_4;
255  
256     }
257     {
258         PyObject *tmp_assign_source_5;
259         PyObject *tmp_left_value_3;
260         PyObject *tmp_right_value_3;
261         CHECK_OBJECT(var_s);
262         tmp_left_value_3 = var_s;
263         tmp_right_value_3 = LIST_COPY(mod_consts[2]);
264         tmp_result = BINARY_OPERATION_ADD_OBJECT_LIST_INPLACE(&tmp_left_value_3, tmp_right_value_3);
265         Py_DECREF(tmp_right_value_3);
266         if (tmp_result == false) {
267             assert(ERROR_OCCURRED());
268  
269             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
270  
271  
272             exception_lineno = 36;
273             type_description_1 = "oo";
274             goto frame_exception_exit_1;
275         }
276         tmp_assign_source_5 = tmp_left_value_3;
277         var_s = tmp_assign_source_5;
278  
279     }
280     {
281         PyObject *tmp_assign_source_6;
282         PyObject *tmp_left_value_4;
283         PyObject *tmp_right_value_4;
284         CHECK_OBJECT(var_s);
285         tmp_left_value_4 = var_s;
286         tmp_right_value_4 = LIST_COPY(mod_consts[2]);
287         tmp_result = BINARY_OPERATION_ADD_OBJECT_LIST_INPLACE(&tmp_left_value_4, tmp_right_value_4);
288         Py_DECREF(tmp_right_value_4);
289         if (tmp_result == false) {
290             assert(ERROR_OCCURRED());
291  
292             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
293  
294  
295             exception_lineno = 37;
296             type_description_1 = "oo";
297             goto frame_exception_exit_1;
298         }
299         tmp_assign_source_6 = tmp_left_value_4;
300         var_s = tmp_assign_source_6;
301  
302     }
303     {
304         PyObject *tmp_assign_source_7;
305         PyObject *tmp_left_value_5;
306         PyObject *tmp_right_value_5;
307         CHECK_OBJECT(var_s);
308         tmp_left_value_5 = var_s;
309         tmp_right_value_5 = LIST_COPY(mod_consts[2]);
310         tmp_result = BINARY_OPERATION_ADD_OBJECT_LIST_INPLACE(&tmp_left_value_5, tmp_right_value_5);
311         Py_DECREF(tmp_right_value_5);
312         if (tmp_result == false) {
313             assert(ERROR_OCCURRED());
314  
315             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
316  
317  
318             exception_lineno = 38;
319             type_description_1 = "oo";
320             goto frame_exception_exit_1;
321         }
322         tmp_assign_source_7 = tmp_left_value_5;
323         var_s = tmp_assign_source_7;
324  
325     }
326     {
327         PyObject *tmp_assign_source_8;
328         PyObject *tmp_left_value_6;
329         PyObject *tmp_right_value_6;
330         CHECK_OBJECT(var_s);
331         tmp_left_value_6 = var_s;
332         tmp_right_value_6 = LIST_COPY(mod_consts[2]);
333         tmp_result = BINARY_OPERATION_ADD_OBJECT_LIST_INPLACE(&tmp_left_value_6, tmp_right_value_6);
334         Py_DECREF(tmp_right_value_6);
335         if (tmp_result == false) {
336             assert(ERROR_OCCURRED());
337  
338             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
339  
340  
341             exception_lineno = 39;
342             type_description_1 = "oo";
343             goto frame_exception_exit_1;
344         }
345         tmp_assign_source_8 = tmp_left_value_6;
346         var_s = tmp_assign_source_8;
347  
348     }
349     {
350         PyObject *tmp_assign_source_9;
351         PyObject *tmp_left_value_7;
352         PyObject *tmp_right_value_7;
353         CHECK_OBJECT(var_s);
354         tmp_left_value_7 = var_s;
355         tmp_right_value_7 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[3]); 240         tmp_right_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[2]);
356 241
n 357         if (unlikely(tmp_right_value_7 == NULL)) { n 242         if (unlikely(tmp_right_value_2 == NULL)) {
358             tmp_right_value_7 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[3]); 243             tmp_right_value_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[2]);
359         } 244         }
360 245
n 361         if (tmp_right_value_7 == NULL) { n 246         if (tmp_right_value_2 == NULL) {
362             assert(ERROR_OCCURRED()); 247             assert(ERROR_OCCURRED());
363 248
364             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 249             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
365 250
366 251
367             exception_lineno = 41; 252             exception_lineno = 41;
368             type_description_1 = "oo"; 253             type_description_1 = "oo";
369             goto frame_exception_exit_1; 254             goto frame_exception_exit_1;
370         } 255         }
n 371         tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE(&tmp_left_value_7, tmp_right_value_7); n 256         tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE(&tmp_left_value_2, tmp_right_value_2);
372         if (tmp_result == false) { 257         if (tmp_result == false) {
373             assert(ERROR_OCCURRED()); 258             assert(ERROR_OCCURRED());
374 259
375             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 260             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
376 261
377 262
378             exception_lineno = 41; 263             exception_lineno = 41;
379             type_description_1 = "oo"; 264             type_description_1 = "oo";
380             goto frame_exception_exit_1; 265             goto frame_exception_exit_1;
381         } 266         }
n 382         tmp_assign_source_9 = tmp_left_value_7; n 267         tmp_assign_source_4 = tmp_left_value_2;
383         var_s = tmp_assign_source_9; 268         var_s = tmp_assign_source_4;
384 269
385     } 270     }
386 271
387 #if 0 272 #if 0
388     RESTORE_FRAME_EXCEPTION(frame_380b08b3cf46a806b50ba09642f4f126); 273     RESTORE_FRAME_EXCEPTION(frame_380b08b3cf46a806b50ba09642f4f126);
496 381
497 382
498 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly() { 383 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly() {
499     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 384     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
500         impl___main__$$$function__1_calledRepeatedly, 385         impl___main__$$$function__1_calledRepeatedly,
n 501         mod_consts[11], n 386         mod_consts[10],
502 #if PYTHON_VERSION >= 0x300 387 #if PYTHON_VERSION >= 0x300
503         NULL, 388         NULL,
504 #endif 389 #endif
505         codeobj_380b08b3cf46a806b50ba09642f4f126, 390         codeobj_380b08b3cf46a806b50ba09642f4f126,
506         NULL, 391         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     { 778     {
894         PyObject *tmp_assign_source_3; 779         PyObject *tmp_assign_source_3;
895         tmp_assign_source_3 = Py_None; 780         tmp_assign_source_3 = Py_None;
n 896         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_3); n 781         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_3);
897     } 782     }
898     { 783     {
899         PyObject *tmp_assign_source_4; 784         PyObject *tmp_assign_source_4;
900         tmp_assign_source_4 = PyDict_New(); 785         tmp_assign_source_4 = PyDict_New();
n 901         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_4); n 786         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_4);
902     } 787     }
903     { 788     {
904         PyObject *tmp_assign_source_5; 789         PyObject *tmp_assign_source_5;
n 905         tmp_assign_source_5 = LIST_COPY(mod_consts[9]); n 790         tmp_assign_source_5 = LIST_COPY(mod_consts[8]);
906         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_5); 791         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_5);
907     } 792     }
908     { 793     {
909         PyObject *tmp_assign_source_6; 794         PyObject *tmp_assign_source_6;
n 910         tmp_assign_source_6 = LIST_COPY(mod_consts[10]); n 795         tmp_assign_source_6 = LIST_COPY(mod_consts[9]);
911         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_6); 796         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[2], tmp_assign_source_6);
912     } 797     }
913     { 798     {
914         PyObject *tmp_assign_source_7; 799         PyObject *tmp_assign_source_7;
915 800
916 801
917         tmp_assign_source_7 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 802         tmp_assign_source_7 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
918 803
n 919         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_7); n 804         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_7);
920     } 805     }
921     { 806     {
922         PyObject *tmp_assign_source_8; 807         PyObject *tmp_assign_source_8;
923         PyObject *tmp_name_value_1; 808         PyObject *tmp_name_value_1;
924         PyObject *tmp_globals_arg_value_1; 809         PyObject *tmp_globals_arg_value_1;
925         PyObject *tmp_locals_arg_value_1; 810         PyObject *tmp_locals_arg_value_1;
926         PyObject *tmp_fromlist_value_1; 811         PyObject *tmp_fromlist_value_1;
927         PyObject *tmp_level_value_1; 812         PyObject *tmp_level_value_1;
n 928         tmp_name_value_1 = mod_consts[12]; n 813         tmp_name_value_1 = mod_consts[11];
929         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__; 814         tmp_globals_arg_value_1 = (PyObject *)moduledict___main__;
930         tmp_locals_arg_value_1 = Py_None; 815         tmp_locals_arg_value_1 = Py_None;
931         tmp_fromlist_value_1 = Py_None; 816         tmp_fromlist_value_1 = Py_None;
n 932         tmp_level_value_1 = mod_consts[13]; n 817         tmp_level_value_1 = mod_consts[12];
933         tmp_assign_source_8 = IMPORT_MODULE5(tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1, tmp_level_value_1); 818         tmp_assign_source_8 = IMPORT_MODULE5(tmp_name_value_1, tmp_globals_arg_value_1, tmp_locals_arg_value_1, tmp_fromlist_value_1, tmp_level_value_1);
934         assert(!(tmp_assign_source_8 == NULL)); 819         assert(!(tmp_assign_source_8 == NULL));
n 935         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_8); n 820         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_8);
936     } 821     }
937     // Frame without reuse. 822     // Frame without reuse.
938     frame_20c0f589e0888703a3b09bfb725d0c65 = MAKE_MODULE_FRAME(codeobj_20c0f589e0888703a3b09bfb725d0c65, module___main__); 823     frame_20c0f589e0888703a3b09bfb725d0c65 = MAKE_MODULE_FRAME(codeobj_20c0f589e0888703a3b09bfb725d0c65, module___main__);
939 824
940     // Push the new frame as the currently active one, and we should be exclusively 825     // Push the new frame as the currently active one, and we should be exclusively
945     // Framed code: 830     // Framed code:
946     { 831     {
947         PyObject *tmp_assign_source_9; 832         PyObject *tmp_assign_source_9;
948         PyObject *tmp_iter_arg_1; 833         PyObject *tmp_iter_arg_1;
949         PyObject *tmp_called_instance_1; 834         PyObject *tmp_called_instance_1;
n 950         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[12]); n 835         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]);
951 836
952         if (unlikely(tmp_called_instance_1 == NULL)) { 837         if (unlikely(tmp_called_instance_1 == NULL)) {
n 953             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[12]); n 838             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[11]);
954         } 839         }
955 840
956         assert(!(tmp_called_instance_1 == NULL)); 841         assert(!(tmp_called_instance_1 == NULL));
957         frame_20c0f589e0888703a3b09bfb725d0c65->m_frame.f_lineno = 46; 842         frame_20c0f589e0888703a3b09bfb725d0c65->m_frame.f_lineno = 46;
958         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 843         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
959             tmp_called_instance_1, 844             tmp_called_instance_1,
n 960             mod_consts[14], n 845             mod_consts[13],
961             &PyTuple_GET_ITEM(mod_consts[15], 0) 846             &PyTuple_GET_ITEM(mod_consts[14], 0)
962         ); 847         );
963 848
964         if (tmp_iter_arg_1 == NULL) { 849         if (tmp_iter_arg_1 == NULL) {
965             assert(ERROR_OCCURRED()); 850             assert(ERROR_OCCURRED());
966 851
1016     } 901     }
1017     { 902     {
1018         PyObject *tmp_assign_source_11; 903         PyObject *tmp_assign_source_11;
1019         CHECK_OBJECT(tmp_for_loop_1__iter_value); 904         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1020         tmp_assign_source_11 = tmp_for_loop_1__iter_value; 905         tmp_assign_source_11 = tmp_for_loop_1__iter_value;
n 1021         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[16], tmp_assign_source_11); n 906         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[15], tmp_assign_source_11);
1022     } 907     }
1023     { 908     {
1024         PyObject *tmp_called_value_1; 909         PyObject *tmp_called_value_1;
1025         PyObject *tmp_call_result_1; 910         PyObject *tmp_call_result_1;
n 1026         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]); n 911         tmp_called_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]);
1027 912
1028         if (unlikely(tmp_called_value_1 == NULL)) { 913         if (unlikely(tmp_called_value_1 == NULL)) {
n 1029             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[11]); n 914             tmp_called_value_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[10]);
1030         } 915         }
1031 916
1032         if (tmp_called_value_1 == NULL) { 917         if (tmp_called_value_1 == NULL) {
1033             assert(ERROR_OCCURRED()); 918             assert(ERROR_OCCURRED());
1034 919
1097     Py_DECREF(tmp_for_loop_1__for_iterator); 982     Py_DECREF(tmp_for_loop_1__for_iterator);
1098     tmp_for_loop_1__for_iterator = NULL; 983     tmp_for_loop_1__for_iterator = NULL;
1099     { 984     {
1100         PyObject *tmp_called_value_2; 985         PyObject *tmp_called_value_2;
1101         PyObject *tmp_call_result_2; 986         PyObject *tmp_call_result_2;
n 1102         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[17]); n 987         tmp_called_value_2 = LOOKUP_BUILTIN(mod_consts[16]);
1103         assert(tmp_called_value_2 != NULL); 988         assert(tmp_called_value_2 != NULL);
1104         frame_20c0f589e0888703a3b09bfb725d0c65->m_frame.f_lineno = 49; 989         frame_20c0f589e0888703a3b09bfb725d0c65->m_frame.f_lineno = 49;
t 1105         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_value_2, mod_consts[18]); t 990         tmp_call_result_2 = CALL_FUNCTION_WITH_POSARGS1(tmp_called_value_2, mod_consts[17]);
1106 991
1107         if (tmp_call_result_2 == NULL) { 992         if (tmp_call_result_2 == NULL) {
1108             assert(ERROR_OCCURRED()); 993             assert(ERROR_OCCURRED());
1109 994
1110             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 995             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);