Construct LoopSmallXrange

Performance Diagrams

Construct LoopSmallXrange 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)9636037388.95192307692307257.0CPython 2.730161854242.31730769230768426.7655579192688Nuitka (master)30161840395.6826923076923426.76559382215373Nuitka (develop)30161818549.0480769230769426.76565024097295Nuitka (factory)Construct LoopSmallXrangeTicks Construct LoopSmallXrange 00100000001000000020000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000100000000100000000110000000110000000120000000120000000130000000130000000140000000140000000CPython 3.5Nuitka (master)Nuitka (develop)Nuitka (factory)14574295288.11538461538461257.0CPython 3.589040766240.03846153846155353.1417503188976Nuitka (master)89040339391.96153846153845353.14247432144987Nuitka (develop)89040391543.8846153846154353.14238615252077Nuitka (factory)Construct LoopSmallXrangeTicks

Source Code with Construct

module_value1 = 5
module_value2 = 3

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

    # Make sure we have a local variable x anyway
    x = 2

    local_value = module_value1

# construct_begin
    for x in xrange(local_value, local_value+3):
        pass
# construct_end

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

print("OK.")

Source Code without Construct

module_value1 = 5
module_value2 = 3

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

    # Make sure we have a local variable x anyway
    x = 2

    local_value = module_value1

# construct_begin




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

print("OK.")

Context Diff of Source Code


Construct
Baseline
29     x = 2 29     x = 2
30 30
31     local_value = module_value1 31     local_value = module_value1
32 32
33 # construct_begin 33 # construct_begin
t 34     for x in xrange(local_value, local_value+3): t 34  
35         pass 35  
36 # construct_end 36  
37 37
38 import itertools 38 import itertools
39 for x in itertools.repeat(None, 50000): 39 for x in itertools.repeat(None, 50000):
40     calledRepeatedly() 40     calledRepeatedly()
41 41

Context Diff of Generated Code


Construct
Baseline
31 PyDictObject *moduledict___main__; 31 PyDictObject *moduledict___main__;
32 32
33 /* The declarations of module constants used, if any. */ 33 /* The declarations of module constants used, if any. */
34 static PyObject *const_str_plain_itertools; 34 static PyObject *const_str_plain_itertools;
35 extern PyObject *const_str_plain___file__; 35 extern PyObject *const_str_plain___file__;
n 36 static PyObject *const_str_digest_bdf64305c9dfaab67539e7fcaa7418e3; n
37 extern PyObject *const_int_0; 36 extern PyObject *const_int_0;
38 extern PyObject *const_str_plain_print; 37 extern PyObject *const_str_plain_print;
n n 38 static PyObject *const_int_pos_50000;
39 static PyObject *const_int_pos_3; 39 static PyObject *const_int_pos_3;
n 40 static PyObject *const_int_pos_50000; n
41 static PyObject *const_str_plain_local_value; 40 static PyObject *const_str_plain_local_value;
42 static PyObject *const_str_plain_module_value2; 41 static PyObject *const_str_plain_module_value2;
43 static PyObject *const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple; 42 static PyObject *const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple;
44 static PyObject *const_str_plain_module_value1; 43 static PyObject *const_str_plain_module_value1;
45 static PyObject *const_str_digest_18f9a05723385dce15972574c1bcb7dd; 44 static PyObject *const_str_digest_18f9a05723385dce15972574c1bcb7dd;
49 static PyObject *const_str_plain_x; 48 static PyObject *const_str_plain_x;
50 extern PyObject *const_tuple_empty; 49 extern PyObject *const_tuple_empty;
51 static PyObject *const_str_digest_5ed1392909ad16e6227b8230f4582352; 50 static PyObject *const_str_digest_5ed1392909ad16e6227b8230f4582352;
52 static PyObject *const_int_pos_5; 51 static PyObject *const_int_pos_5;
53 static PyObject *const_str_plain_repeat; 52 static PyObject *const_str_plain_repeat;
n 54 static PyObject *const_int_pos_2; n
55 static PyObject *const_tuple_none_int_pos_50000_tuple; 53 static PyObject *const_tuple_none_int_pos_50000_tuple;
56 static PyObject *const_tuple_str_plain_x_str_plain_local_value_tuple; 54 static PyObject *const_tuple_str_plain_x_str_plain_local_value_tuple;
57 extern PyObject *const_str_plain___doc__; 55 extern PyObject *const_str_plain___doc__;
58 extern PyObject *const_str_plain___cached__; 56 extern PyObject *const_str_plain___cached__;
59 static PyObject *module_filename_obj; 57 static PyObject *module_filename_obj;
63 61
64 /* Function to create module private constants. */ 62 /* Function to create module private constants. */
65 static void createModuleConstants( void ) 63 static void createModuleConstants( void )
66 { 64 {
67     const_str_plain_itertools = UNSTREAM_STRING_ASCII( &constant_bin[ 73 ], 9, 1 ); 65     const_str_plain_itertools = UNSTREAM_STRING_ASCII( &constant_bin[ 73 ], 9, 1 );
n 68     const_str_digest_bdf64305c9dfaab67539e7fcaa7418e3 = UNSTREAM_STRING_ASCII( &constant_bin[ 82 ], 49, 0 ); n 66     const_int_pos_50000 = PyLong_FromUnsignedLong(50000ul);
69     const_int_pos_3 = PyLong_FromUnsignedLong(3ul); 67     const_int_pos_3 = PyLong_FromUnsignedLong(3ul);
n 70     const_int_pos_50000 = PyLong_FromUnsignedLong(50000ul); n
71     const_str_plain_local_value = UNSTREAM_STRING_ASCII( &constant_bin[ 131 ], 11, 1 ); 68     const_str_plain_local_value = UNSTREAM_STRING_ASCII( &constant_bin[ 82 ], 11, 1 );
72     const_str_plain_module_value2 = UNSTREAM_STRING_ASCII( &constant_bin[ 142 ], 13, 1 ); 69     const_str_plain_module_value2 = UNSTREAM_STRING_ASCII( &constant_bin[ 93 ], 13, 1 );
73     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New( 1 ); 70     const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple = PyTuple_New( 1 );
n 74     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING_ASCII( &constant_bin[ 155 ], 3, 0 ); n 71     const_str_digest_5ed1392909ad16e6227b8230f4582352 = UNSTREAM_STRING_ASCII( &constant_bin[ 106 ], 3, 0 );
75     PyTuple_SET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352 ); Py_INCREF(const_str_digest_5ed1392909ad16e6227b8230f4582352); 72     PyTuple_SET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0, const_str_digest_5ed1392909ad16e6227b8230f4582352 ); Py_INCREF(const_str_digest_5ed1392909ad16e6227b8230f4582352);
76     const_str_plain_module_value1 = UNSTREAM_STRING_ASCII( &constant_bin[ 6 ], 13, 1 ); 73     const_str_plain_module_value1 = UNSTREAM_STRING_ASCII( &constant_bin[ 6 ], 13, 1 );
n 77     const_str_digest_18f9a05723385dce15972574c1bcb7dd = UNSTREAM_STRING_ASCII( &constant_bin[ 158 ], 40, 0 ); n 74     const_str_digest_18f9a05723385dce15972574c1bcb7dd = UNSTREAM_STRING_ASCII( &constant_bin[ 109 ], 40, 0 );
78     const_str_plain_calledRepeatedly = UNSTREAM_STRING_ASCII( &constant_bin[ 41 ], 16, 1 ); 75     const_str_plain_calledRepeatedly = UNSTREAM_STRING_ASCII( &constant_bin[ 41 ], 16, 1 );
n 79     const_str_angle_module = UNSTREAM_STRING_ASCII( &constant_bin[ 198 ], 8, 0 ); n 76     const_str_angle_module = UNSTREAM_STRING_ASCII( &constant_bin[ 149 ], 8, 0 );
80     const_str_plain_None = UNSTREAM_STRING_ASCII( &constant_bin[ 206 ], 4, 1 ); 77     const_str_plain_None = UNSTREAM_STRING_ASCII( &constant_bin[ 157 ], 4, 1 );
81     const_str_plain_x = UNSTREAM_STRING_ASCII( &constant_bin[ 210 ], 1, 1 ); 78     const_str_plain_x = UNSTREAM_STRING_ASCII( &constant_bin[ 161 ], 1, 1 );
82     const_int_pos_5 = PyLong_FromUnsignedLong(5ul); 79     const_int_pos_5 = PyLong_FromUnsignedLong(5ul);
n 83     const_str_plain_repeat = UNSTREAM_STRING_ASCII( &constant_bin[ 211 ], 6, 1 ); n 80     const_str_plain_repeat = UNSTREAM_STRING_ASCII( &constant_bin[ 162 ], 6, 1 );
84     const_int_pos_2 = PyLong_FromUnsignedLong(2ul);
85     const_tuple_none_int_pos_50000_tuple = PyTuple_New( 2 ); 81     const_tuple_none_int_pos_50000_tuple = PyTuple_New( 2 );
86     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 0, Py_None ); Py_INCREF(Py_None); 82     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 0, Py_None ); Py_INCREF(Py_None);
87     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000 ); Py_INCREF(const_int_pos_50000); 83     PyTuple_SET_ITEM( const_tuple_none_int_pos_50000_tuple, 1, const_int_pos_50000 ); Py_INCREF(const_int_pos_50000);
88     const_tuple_str_plain_x_str_plain_local_value_tuple = PyTuple_New( 2 ); 84     const_tuple_str_plain_x_str_plain_local_value_tuple = PyTuple_New( 2 );
89     PyTuple_SET_ITEM( const_tuple_str_plain_x_str_plain_local_value_tuple, 0, const_str_plain_x ); Py_INCREF(const_str_plain_x); 85     PyTuple_SET_ITEM( const_tuple_str_plain_x_str_plain_local_value_tuple, 0, const_str_plain_x ); Py_INCREF(const_str_plain_x);
103 } 99 }
104 #endif 100 #endif
105 101
106 // The module code objects. 102 // The module code objects.
107 static PyCodeObject *codeobj_5346aa2775ae7c1ec907f41adfcad0ef; 103 static PyCodeObject *codeobj_5346aa2775ae7c1ec907f41adfcad0ef;
n 108 static PyCodeObject *codeobj_35ff8f9f9b58243b037e144a29569c93; n 104 static PyCodeObject *codeobj_2a761eaf4aad4350aa8c6e6e49e79cfb;
109 /* For use in "MainProgram.c". */ 105 /* For use in "MainProgram.c". */
110 PyCodeObject *codeobj_main = NULL; 106 PyCodeObject *codeobj_main = NULL;
111 107
112 static void createModuleCodeObjects(void) 108 static void createModuleCodeObjects(void)
113 { 109 {
114     module_filename_obj = const_str_digest_18f9a05723385dce15972574c1bcb7dd; 110     module_filename_obj = const_str_digest_18f9a05723385dce15972574c1bcb7dd;
115     codeobj_5346aa2775ae7c1ec907f41adfcad0ef = MAKE_CODEOBJ( module_filename_obj, const_str_angle_module, 1, const_tuple_empty, 0, 0, CO_NOFREE ); 111     codeobj_5346aa2775ae7c1ec907f41adfcad0ef = MAKE_CODEOBJ( module_filename_obj, const_str_angle_module, 1, const_tuple_empty, 0, 0, CO_NOFREE );
n 116     codeobj_35ff8f9f9b58243b037e144a29569c93 = MAKE_CODEOBJ( module_filename_obj, const_str_plain_calledRepeatedly, 25, const_tuple_str_plain_x_str_plain_local_value_tuple, 0, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE ); n 112     codeobj_2a761eaf4aad4350aa8c6e6e49e79cfb = MAKE_CODEOBJ( module_filename_obj, const_str_plain_calledRepeatedly, 24, const_tuple_str_plain_x_str_plain_local_value_tuple, 0, 0, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE );
117 } 113 }
118 114
119 // The module function declarations. 115 // The module function declarations.
120 static PyObject *MAKE_FUNCTION___main__$$$function_1_calledRepeatedly(  ); 116 static PyObject *MAKE_FUNCTION___main__$$$function_1_calledRepeatedly(  );
121 117
127 #ifndef __NUITKA_NO_ASSERT__ 123 #ifndef __NUITKA_NO_ASSERT__
128     NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED(); 124     NUITKA_MAY_BE_UNUSED bool had_error = ERROR_OCCURRED();
129 #endif 125 #endif
130 126
131     // Local variable declarations. 127     // Local variable declarations.
n 132     PyObject *var_x = NULL; n
133     PyObject *var_local_value = NULL; 128     PyObject *var_local_value = NULL;
n 134     PyObject *tmp_for_loop_1__for_iterator = NULL; n 129     struct Nuitka_FrameObject *frame_2a761eaf4aad4350aa8c6e6e49e79cfb;
135     PyObject *tmp_for_loop_1__iter_value = NULL;
136     struct Nuitka_FrameObject *frame_35ff8f9f9b58243b037e144a29569c93;
137     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL; 130     NUITKA_MAY_BE_UNUSED char const *type_description_1 = NULL;
138     PyObject *exception_type = NULL; 131     PyObject *exception_type = NULL;
139     PyObject *exception_value = NULL; 132     PyObject *exception_value = NULL;
140     PyTracebackObject *exception_tb = NULL; 133     PyTracebackObject *exception_tb = NULL;
141     NUITKA_MAY_BE_UNUSED int exception_lineno = 0; 134     NUITKA_MAY_BE_UNUSED int exception_lineno = 0;
n n 135     static struct Nuitka_FrameObject *cache_frame_2a761eaf4aad4350aa8c6e6e49e79cfb = NULL;
136     PyObject *tmp_return_value = NULL;
142     PyObject *exception_keeper_type_1; 137     PyObject *exception_keeper_type_1;
143     PyObject *exception_keeper_value_1; 138     PyObject *exception_keeper_value_1;
144     PyTracebackObject *exception_keeper_tb_1; 139     PyTracebackObject *exception_keeper_tb_1;
145     NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1; 140     NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_1;
n 146     static struct Nuitka_FrameObject *cache_frame_35ff8f9f9b58243b037e144a29569c93 = NULL; n
147     PyObject *tmp_return_value = NULL;
148     PyObject *exception_keeper_type_2;
149     PyObject *exception_keeper_value_2;
150     PyTracebackObject *exception_keeper_tb_2;
151     NUITKA_MAY_BE_UNUSED int exception_keeper_lineno_2;
152 141
153     // Actual function body. 142     // Actual function body.
154     // Tried code: 143     // Tried code:
n 155     MAKE_OR_REUSE_FRAME(cache_frame_35ff8f9f9b58243b037e144a29569c93, codeobj_35ff8f9f9b58243b037e144a29569c93, module___main__, sizeof(void *)+sizeof(void *)); n 144     MAKE_OR_REUSE_FRAME(cache_frame_2a761eaf4aad4350aa8c6e6e49e79cfb, codeobj_2a761eaf4aad4350aa8c6e6e49e79cfb, module___main__, sizeof(void *)+sizeof(void *));
156     frame_35ff8f9f9b58243b037e144a29569c93 = cache_frame_35ff8f9f9b58243b037e144a29569c93; 145     frame_2a761eaf4aad4350aa8c6e6e49e79cfb = cache_frame_2a761eaf4aad4350aa8c6e6e49e79cfb;
157 146
158     // Push the new frame as the currently active one. 147     // Push the new frame as the currently active one.
n 159     pushFrameStack(frame_35ff8f9f9b58243b037e144a29569c93); n 148     pushFrameStack(frame_2a761eaf4aad4350aa8c6e6e49e79cfb);
160 149
161     // Mark the frame object as in use, ref count 1 will be up for reuse. 150     // Mark the frame object as in use, ref count 1 will be up for reuse.
n 162     assert(Py_REFCNT(frame_35ff8f9f9b58243b037e144a29569c93) == 2); // Frame stack n 151     assert(Py_REFCNT(frame_2a761eaf4aad4350aa8c6e6e49e79cfb) == 2); // Frame stack
163 152
164     // Framed code: 153     // Framed code:
165     { 154     {
166         PyObject *tmp_mvar_value_1; 155         PyObject *tmp_mvar_value_1;
167         tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1); 156         tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1);
178             exception_value = UNSTREAM_STRING( &constant_bin[ 0 ], 35, 0 ); 167             exception_value = UNSTREAM_STRING( &constant_bin[ 0 ], 35, 0 );
179             exception_tb = NULL; 168             exception_tb = NULL;
180             NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); 169             NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
181             CHAIN_EXCEPTION( exception_value ); 170             CHAIN_EXCEPTION( exception_value );
182 171
n 183             exception_lineno = 27; n 172             exception_lineno = 26;
184             type_description_1 = "oo"; 173             type_description_1 = "No";
185             goto frame_exception_exit_1; 174             goto frame_exception_exit_1;
186         } 175         }
187 176
188     } 177     }
189     { 178     {
190         PyObject *tmp_assign_source_1; 179         PyObject *tmp_assign_source_1;
n 191         tmp_assign_source_1 = const_int_pos_2; n
192         assert(var_x == NULL);
193         Py_INCREF(tmp_assign_source_1);
194         var_x = tmp_assign_source_1;
195     }
196     {
197         PyObject *tmp_assign_source_2;
198         PyObject *tmp_mvar_value_2; 180         PyObject *tmp_mvar_value_2;
199         tmp_mvar_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1); 181         tmp_mvar_value_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1);
200 182
201         if (unlikely( tmp_mvar_value_2 == NULL )) { 183         if (unlikely( tmp_mvar_value_2 == NULL )) {
202             tmp_mvar_value_2 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_value1); 184             tmp_mvar_value_2 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_module_value1);
210             exception_value = UNSTREAM_STRING( &constant_bin[ 0 ], 35, 0 ); 192             exception_value = UNSTREAM_STRING( &constant_bin[ 0 ], 35, 0 );
211             exception_tb = NULL; 193             exception_tb = NULL;
212             NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); 194             NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
213             CHAIN_EXCEPTION( exception_value ); 195             CHAIN_EXCEPTION( exception_value );
214 196
n 215             exception_lineno = 32; n 197             exception_lineno = 31;
216             type_description_1 = "oo"; 198             type_description_1 = "No";
217             goto frame_exception_exit_1; 199             goto frame_exception_exit_1;
218         } 200         }
219 201
n 220         tmp_assign_source_2 = tmp_mvar_value_2; n 202         tmp_assign_source_1 = tmp_mvar_value_2;
221         assert(var_local_value == NULL); 203         assert(var_local_value == NULL);
n 222         Py_INCREF(tmp_assign_source_2); n 204         Py_INCREF(tmp_assign_source_1);
223         var_local_value = tmp_assign_source_2; 205         var_local_value = tmp_assign_source_1;
224     }
225     { 206     }
226         PyObject *tmp_assign_source_3;
227         PyObject *tmp_iter_arg_1;
228         PyObject *tmp_xrange_low_1;
229         PyObject *tmp_xrange_high_1;
230         PyObject *tmp_left_name_1;
231         PyObject *tmp_right_name_1;
232         CHECK_OBJECT(var_local_value);
233         tmp_xrange_low_1 = var_local_value;
234         CHECK_OBJECT(var_local_value);
235         tmp_left_name_1 = var_local_value;
236         tmp_right_name_1 = const_int_pos_3;
237         tmp_xrange_high_1 = BINARY_OPERATION_ADD_OBJECT_LONG( tmp_left_name_1, tmp_right_name_1 );
238         if ( tmp_xrange_high_1 == NULL )
239         {
240             assert(ERROR_OCCURRED());
241 207
n 242             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); n 208 #if 0
209     RESTORE_FRAME_EXCEPTION(frame_2a761eaf4aad4350aa8c6e6e49e79cfb);
210 #endif
243 211
n n 212     // Put the previous frame back on top.
213     popFrameStack();
244 214
n 245             exception_lineno = 35; n 215     goto frame_no_exception_1;
246             type_description_1 = "oo"; 216  
247             goto frame_exception_exit_1; 217     frame_exception_exit_1:;
248         }
249         tmp_iter_arg_1 = BUILTIN_XRANGE2( tmp_xrange_low_1, tmp_xrange_high_1 );
250         Py_DECREF(tmp_xrange_high_1);
251         if ( tmp_iter_arg_1 == NULL )
252         {
253             assert(ERROR_OCCURRED());
254 218
n 255             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); n 219 #if 0
220     RESTORE_FRAME_EXCEPTION(frame_2a761eaf4aad4350aa8c6e6e49e79cfb);
221 #endif
256 222
n 257   n 223     if (exception_tb == NULL) {
258             exception_lineno = 35; 224         exception_tb = MAKE_TRACEBACK( frame_2a761eaf4aad4350aa8c6e6e49e79cfb, exception_lineno );
259             type_description_1 = "oo";
260             goto frame_exception_exit_1;
261         }
262         tmp_assign_source_3 = MAKE_ITERATOR( tmp_iter_arg_1 );
263         Py_DECREF(tmp_iter_arg_1);
264         if ( tmp_assign_source_3 == NULL )
265         {
266             assert(ERROR_OCCURRED());
267  
268             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
269  
270  
271             exception_lineno = 35;
272             type_description_1 = "oo";
273             goto frame_exception_exit_1;
274         }
275         assert(tmp_for_loop_1__for_iterator == NULL);
276         tmp_for_loop_1__for_iterator = tmp_assign_source_3;
277     }
278     // Tried code:
279     loop_start_1:;
280     { 225     }
281         PyObject *tmp_next_source_1; 226     else if (exception_tb->tb_frame != &frame_2a761eaf4aad4350aa8c6e6e49e79cfb->m_frame) {
282         PyObject *tmp_assign_source_4; 227         exception_tb = ADD_TRACEBACK(exception_tb, frame_2a761eaf4aad4350aa8c6e6e49e79cfb, exception_lineno);
283         CHECK_OBJECT(tmp_for_loop_1__for_iterator);
284         tmp_next_source_1 = tmp_for_loop_1__for_iterator;
285         tmp_assign_source_4 = ITERATOR_NEXT( tmp_next_source_1 );
286         if (tmp_assign_source_4 == NULL) {
287             if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED()) {
288  
289                 goto loop_end_1;
290             } else {
291  
292                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
293                 type_description_1 = "oo";
294                 exception_lineno = 35;
295                 goto try_except_handler_2;
296             }
297         }
298  
299         {
300             PyObject *old = tmp_for_loop_1__iter_value;
301             tmp_for_loop_1__iter_value = tmp_assign_source_4;
302             Py_XDECREF(old);
303         }
304  
305     }
306     { 228     }
307         PyObject *tmp_assign_source_5;
308         CHECK_OBJECT(tmp_for_loop_1__iter_value);
309         tmp_assign_source_5 = tmp_for_loop_1__iter_value;
310         {
311             PyObject *old = var_x;
312             assert(old != NULL);
313             var_x = tmp_assign_source_5;
314             Py_INCREF(var_x);
315             Py_DECREF(old);
316         }
317 229
n 318     } n 230     // Attachs locals to frame if any.
319     if ( CONSIDER_THREADING() == false ) 231     Nuitka_Frame_AttachLocals(
320     { 232         (struct Nuitka_FrameObject *)frame_2a761eaf4aad4350aa8c6e6e49e79cfb,
321         assert(ERROR_OCCURRED());
322  
323         FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
324  
325  
326         exception_lineno = 35;
327         type_description_1 = "oo"; 233         type_description_1,
234         NULL,
235         var_local_value
236     );
237  
238  
239     // Release cached frame.
240     if (frame_2a761eaf4aad4350aa8c6e6e49e79cfb == cache_frame_2a761eaf4aad4350aa8c6e6e49e79cfb) {
241         Py_DECREF(frame_2a761eaf4aad4350aa8c6e6e49e79cfb);
242     }
243     cache_frame_2a761eaf4aad4350aa8c6e6e49e79cfb = NULL;
244  
245     assertFrameObject(frame_2a761eaf4aad4350aa8c6e6e49e79cfb);
246  
247     // Put the previous frame back on top.
248     popFrameStack();
249  
250     // Return the error.
328         goto try_except_handler_2; 251     goto try_except_handler_1;
329     } 252  
330     goto loop_start_1; 253     frame_no_exception_1:;
331     loop_end_1:; 254     tmp_return_value = Py_None;
255     Py_INCREF(tmp_return_value);
332     goto try_end_1; 256     goto try_return_handler_1;
257     // tried codes exits in all cases
258     NUITKA_CANNOT_GET_HERE(__main__$$$function_1_calledRepeatedly);
259     return NULL;
260     // Return handler code:
261     try_return_handler_1:;
262     CHECK_OBJECT((PyObject *)var_local_value);
263     Py_DECREF(var_local_value);
264     var_local_value = NULL;
265  
266     goto function_return_exit;
333     // Exception handler code: 267     // Exception handler code:
n 334     try_except_handler_2:; n 268     try_except_handler_1:;
335     exception_keeper_type_1 = exception_type; 269     exception_keeper_type_1 = exception_type;
336     exception_keeper_value_1 = exception_value; 270     exception_keeper_value_1 = exception_value;
337     exception_keeper_tb_1 = exception_tb; 271     exception_keeper_tb_1 = exception_tb;
338     exception_keeper_lineno_1 = exception_lineno; 272     exception_keeper_lineno_1 = exception_lineno;
339     exception_type = NULL; 273     exception_type = NULL;
340     exception_value = NULL; 274     exception_value = NULL;
341     exception_tb = NULL; 275     exception_tb = NULL;
342     exception_lineno = 0; 276     exception_lineno = 0;
343 277
n 344     Py_XDECREF(tmp_for_loop_1__iter_value); n
345     tmp_for_loop_1__iter_value = NULL;
346  
347     CHECK_OBJECT((PyObject *)tmp_for_loop_1__for_iterator);
348     Py_DECREF(tmp_for_loop_1__for_iterator);
349     tmp_for_loop_1__for_iterator = NULL;
350  
351     // Re-raise. 278     // Re-raise.
352     exception_type = exception_keeper_type_1; 279     exception_type = exception_keeper_type_1;
353     exception_value = exception_keeper_value_1; 280     exception_value = exception_keeper_value_1;
354     exception_tb = exception_keeper_tb_1; 281     exception_tb = exception_keeper_tb_1;
355     exception_lineno = exception_keeper_lineno_1; 282     exception_lineno = exception_keeper_lineno_1;
n 356   n
357     goto frame_exception_exit_1;
358     // End of try:
359     try_end_1:;
360  
361 #if 0
362     RESTORE_FRAME_EXCEPTION(frame_35ff8f9f9b58243b037e144a29569c93);
363 #endif
364  
365     // Put the previous frame back on top.
366     popFrameStack();
367  
368     goto frame_no_exception_1;
369  
370     frame_exception_exit_1:;
371  
372 #if 0
373     RESTORE_FRAME_EXCEPTION(frame_35ff8f9f9b58243b037e144a29569c93);
374 #endif
375  
376     if (exception_tb == NULL) {
377         exception_tb = MAKE_TRACEBACK( frame_35ff8f9f9b58243b037e144a29569c93, exception_lineno );
378     }
379     else if (exception_tb->tb_frame != &frame_35ff8f9f9b58243b037e144a29569c93->m_frame) {
380         exception_tb = ADD_TRACEBACK(exception_tb, frame_35ff8f9f9b58243b037e144a29569c93, exception_lineno);
381     }
382  
383     // Attachs locals to frame if any.
384     Nuitka_Frame_AttachLocals(
385         (struct Nuitka_FrameObject *)frame_35ff8f9f9b58243b037e144a29569c93,
386         type_description_1,
387         var_x,
388         var_local_value
389     );
390  
391  
392     // Release cached frame.
393     if (frame_35ff8f9f9b58243b037e144a29569c93 == cache_frame_35ff8f9f9b58243b037e144a29569c93) {
394         Py_DECREF(frame_35ff8f9f9b58243b037e144a29569c93);
395     }
396     cache_frame_35ff8f9f9b58243b037e144a29569c93 = NULL;
397  
398     assertFrameObject(frame_35ff8f9f9b58243b037e144a29569c93);
399  
400     // Put the previous frame back on top.
401     popFrameStack();
402  
403     // Return the error.
404     goto try_except_handler_1;
405  
406     frame_no_exception_1:;
407     Py_XDECREF(tmp_for_loop_1__iter_value);
408     tmp_for_loop_1__iter_value = NULL;
409  
410     CHECK_OBJECT((PyObject *)tmp_for_loop_1__for_iterator);
411     Py_DECREF(tmp_for_loop_1__for_iterator);
412     tmp_for_loop_1__for_iterator = NULL;
413  
414     tmp_return_value = Py_None;
415     Py_INCREF(tmp_return_value);
416     goto try_return_handler_1;
417     // tried codes exits in all cases
418     NUITKA_CANNOT_GET_HERE(__main__$$$function_1_calledRepeatedly);
419     return NULL;
420     // Return handler code:
421     try_return_handler_1:;
422     CHECK_OBJECT((PyObject *)var_x);
423     Py_DECREF(var_x);
424     var_x = NULL;
425  
426     CHECK_OBJECT((PyObject *)var_local_value);
427     Py_DECREF(var_local_value);
428     var_local_value = NULL;
429  
430     goto function_return_exit;
431     // Exception handler code:
432     try_except_handler_1:;
433     exception_keeper_type_2 = exception_type;
434     exception_keeper_value_2 = exception_value;
435     exception_keeper_tb_2 = exception_tb;
436     exception_keeper_lineno_2 = exception_lineno;
437     exception_type = NULL;
438     exception_value = NULL;
439     exception_tb = NULL;
440     exception_lineno = 0;
441  
442     Py_XDECREF(var_x);
443     var_x = NULL;
444  
445     Py_XDECREF(var_local_value);
446     var_local_value = NULL;
447  
448     // Re-raise.
449     exception_type = exception_keeper_type_2;
450     exception_value = exception_keeper_value_2;
451     exception_tb = exception_keeper_tb_2;
452     exception_lineno = exception_keeper_lineno_2;
453 283
454     goto function_exception_exit; 284     goto function_exception_exit;
455     // End of try: 285     // End of try:
456 286
457     // Return statement must have exited already. 287     // Return statement must have exited already.
483         impl___main__$$$function_1_calledRepeatedly, 313         impl___main__$$$function_1_calledRepeatedly,
484         const_str_plain_calledRepeatedly, 314         const_str_plain_calledRepeatedly,
485 #if PYTHON_VERSION >= 300 315 #if PYTHON_VERSION >= 300
486         NULL, 316         NULL,
487 #endif 317 #endif
n 488         codeobj_35ff8f9f9b58243b037e144a29569c93, n 318         codeobj_2a761eaf4aad4350aa8c6e6e49e79cfb,
489         NULL, 319         NULL,
490 #if PYTHON_VERSION >= 300 320 #if PYTHON_VERSION >= 300
491         NULL, 321         NULL,
492         NULL, 322         NULL,
493 #endif 323 #endif
803         tmp_assign_source_3 = Py_None; 633         tmp_assign_source_3 = Py_None;
804         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain___cached__, tmp_assign_source_3); 634         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain___cached__, tmp_assign_source_3);
805     } 635     }
806     { 636     {
807         PyObject *tmp_assign_source_4; 637         PyObject *tmp_assign_source_4;
n 808         tmp_assign_source_4 = const_str_digest_bdf64305c9dfaab67539e7fcaa7418e3; n 638         tmp_assign_source_4 = const_int_pos_5;
809         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain___file__, tmp_assign_source_4); 639         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1, tmp_assign_source_4);
810     } 640     }
811     { 641     {
812         PyObject *tmp_assign_source_5; 642         PyObject *tmp_assign_source_5;
n 813         tmp_assign_source_5 = const_int_pos_5; n 643         tmp_assign_source_5 = const_int_pos_3;
814         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value1, tmp_assign_source_5); 644         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value2, tmp_assign_source_5);
815     } 645     }
816     { 646     {
817         PyObject *tmp_assign_source_6; 647         PyObject *tmp_assign_source_6;
n 818         tmp_assign_source_6 = const_int_pos_3; n 648         tmp_assign_source_6 = MAKE_FUNCTION___main__$$$function_1_calledRepeatedly(  );
649  
650  
651  
819         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_module_value2, tmp_assign_source_6); 652         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)const_str_plain_calledRepeatedly, tmp_assign_source_6);
820     } 653     }
821     { 654     {
822         PyObject *tmp_assign_source_7; 655         PyObject *tmp_assign_source_7;
n 823         tmp_assign_source_7 = MAKE_FUNCTION___main__$$$function_1_calledRepeatedly(  ); n
824  
825  
826  
827         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)const_str_plain_calledRepeatedly, tmp_assign_source_7);
828     }
829     {
830         PyObject *tmp_assign_source_8;
831         PyObject *tmp_name_name_1; 656         PyObject *tmp_name_name_1;
832         PyObject *tmp_globals_name_1; 657         PyObject *tmp_globals_name_1;
833         PyObject *tmp_locals_name_1; 658         PyObject *tmp_locals_name_1;
834         PyObject *tmp_fromlist_name_1; 659         PyObject *tmp_fromlist_name_1;
835         PyObject *tmp_level_name_1; 660         PyObject *tmp_level_name_1;
836         tmp_name_name_1 = const_str_plain_itertools; 661         tmp_name_name_1 = const_str_plain_itertools;
837         tmp_globals_name_1 = (PyObject *)moduledict___main__; 662         tmp_globals_name_1 = (PyObject *)moduledict___main__;
838         tmp_locals_name_1 = Py_None; 663         tmp_locals_name_1 = Py_None;
839         tmp_fromlist_name_1 = Py_None; 664         tmp_fromlist_name_1 = Py_None;
840         tmp_level_name_1 = const_int_0; 665         tmp_level_name_1 = const_int_0;
n 841         tmp_assign_source_8 = IMPORT_MODULE5( tmp_name_name_1, tmp_globals_name_1, tmp_locals_name_1, tmp_fromlist_name_1, tmp_level_name_1 ); n 666         tmp_assign_source_7 = IMPORT_MODULE5( tmp_name_name_1, tmp_globals_name_1, tmp_locals_name_1, tmp_fromlist_name_1, tmp_level_name_1 );
842         assert(!(tmp_assign_source_8 == NULL)); 667         assert(!(tmp_assign_source_7 == NULL));
843         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)const_str_plain_itertools, tmp_assign_source_8); 668         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)const_str_plain_itertools, tmp_assign_source_7);
844     } 669     }
845     // Frame without reuse. 670     // Frame without reuse.
846     frame_5346aa2775ae7c1ec907f41adfcad0ef = MAKE_MODULE_FRAME(codeobj_5346aa2775ae7c1ec907f41adfcad0ef, module___main__); 671     frame_5346aa2775ae7c1ec907f41adfcad0ef = MAKE_MODULE_FRAME(codeobj_5346aa2775ae7c1ec907f41adfcad0ef, module___main__);
847 672
848     // Push the new frame as the currently active one, and we should be exclusively 673     // Push the new frame as the currently active one, and we should be exclusively
850     pushFrameStack(frame_5346aa2775ae7c1ec907f41adfcad0ef); 675     pushFrameStack(frame_5346aa2775ae7c1ec907f41adfcad0ef);
851     assert(Py_REFCNT(frame_5346aa2775ae7c1ec907f41adfcad0ef) == 2); 676     assert(Py_REFCNT(frame_5346aa2775ae7c1ec907f41adfcad0ef) == 2);
852 677
853     // Framed code: 678     // Framed code:
854     { 679     {
n 855         PyObject *tmp_assign_source_9; n 680         PyObject *tmp_assign_source_8;
856         PyObject *tmp_iter_arg_1; 681         PyObject *tmp_iter_arg_1;
857         PyObject *tmp_called_instance_1; 682         PyObject *tmp_called_instance_1;
858         PyObject *tmp_mvar_value_1; 683         PyObject *tmp_mvar_value_1;
859         tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_itertools); 684         tmp_mvar_value_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)const_str_plain_itertools);
860 685
862             tmp_mvar_value_1 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_itertools); 687             tmp_mvar_value_1 = GET_STRING_DICT_VALUE(dict_builtin, (Nuitka_StringObject *)const_str_plain_itertools);
863         } 688         }
864 689
865         CHECK_OBJECT(tmp_mvar_value_1); 690         CHECK_OBJECT(tmp_mvar_value_1);
866         tmp_called_instance_1 = tmp_mvar_value_1; 691         tmp_called_instance_1 = tmp_mvar_value_1;
n 867         frame_5346aa2775ae7c1ec907f41adfcad0ef->m_frame.f_lineno = 40; n 692         frame_5346aa2775ae7c1ec907f41adfcad0ef->m_frame.f_lineno = 39;
868         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_1, const_str_plain_repeat, &PyTuple_GET_ITEM( const_tuple_none_int_pos_50000_tuple, 0 ) ); 693         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( tmp_called_instance_1, const_str_plain_repeat, &PyTuple_GET_ITEM( const_tuple_none_int_pos_50000_tuple, 0 ) );
869 694
870         if ( tmp_iter_arg_1 == NULL ) 695         if ( tmp_iter_arg_1 == NULL )
871         { 696         {
872             assert(ERROR_OCCURRED()); 697             assert(ERROR_OCCURRED());
873 698
874             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 699             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
875 700
876 701
n 877             exception_lineno = 40; n 702             exception_lineno = 39;
878 703
879             goto frame_exception_exit_1; 704             goto frame_exception_exit_1;
880         } 705         }
n 881         tmp_assign_source_9 = MAKE_ITERATOR( tmp_iter_arg_1 ); n 706         tmp_assign_source_8 = MAKE_ITERATOR( tmp_iter_arg_1 );
882         Py_DECREF(tmp_iter_arg_1); 707         Py_DECREF(tmp_iter_arg_1);
n 883         if ( tmp_assign_source_9 == NULL ) n 708         if ( tmp_assign_source_8 == NULL )
884         { 709         {
885             assert(ERROR_OCCURRED()); 710             assert(ERROR_OCCURRED());
886 711
887             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 712             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
888 713
889 714
n 890             exception_lineno = 40; n 715             exception_lineno = 39;
891 716
892             goto frame_exception_exit_1; 717             goto frame_exception_exit_1;
893         } 718         }
894         assert(tmp_for_loop_1__for_iterator == NULL); 719         assert(tmp_for_loop_1__for_iterator == NULL);
n 895         tmp_for_loop_1__for_iterator = tmp_assign_source_9; n 720         tmp_for_loop_1__for_iterator = tmp_assign_source_8;
896     } 721     }
897     // Tried code: 722     // Tried code:
898     loop_start_1:; 723     loop_start_1:;
899     { 724     {
900         PyObject *tmp_next_source_1; 725         PyObject *tmp_next_source_1;
n 901         PyObject *tmp_assign_source_10; n 726         PyObject *tmp_assign_source_9;
902         CHECK_OBJECT(tmp_for_loop_1__for_iterator); 727         CHECK_OBJECT(tmp_for_loop_1__for_iterator);
903         tmp_next_source_1 = tmp_for_loop_1__for_iterator; 728         tmp_next_source_1 = tmp_for_loop_1__for_iterator;
n 904         tmp_assign_source_10 = ITERATOR_NEXT( tmp_next_source_1 ); n 729         tmp_assign_source_9 = ITERATOR_NEXT( tmp_next_source_1 );
905         if (tmp_assign_source_10 == NULL) { 730         if (tmp_assign_source_9 == NULL) {
906             if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED()) { 731             if (CHECK_AND_CLEAR_STOP_ITERATION_OCCURRED()) {
907 732
908                 goto loop_end_1; 733                 goto loop_end_1;
909             } else { 734             } else {
910 735
911                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 736                 FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
912 737
n 913                 exception_lineno = 40; n 738                 exception_lineno = 39;
914                 goto try_except_handler_1; 739                 goto try_except_handler_1;
915             } 740             }
916         } 741         }
917 742
918         { 743         {
919             PyObject *old = tmp_for_loop_1__iter_value; 744             PyObject *old = tmp_for_loop_1__iter_value;
n 920             tmp_for_loop_1__iter_value = tmp_assign_source_10; n 745             tmp_for_loop_1__iter_value = tmp_assign_source_9;
921             Py_XDECREF(old); 746             Py_XDECREF(old);
922         } 747         }
923 748
924     } 749     }
925     { 750     {
n 926         PyObject *tmp_assign_source_11; n 751         PyObject *tmp_assign_source_10;
927         CHECK_OBJECT(tmp_for_loop_1__iter_value); 752         CHECK_OBJECT(tmp_for_loop_1__iter_value);
n 928         tmp_assign_source_11 = tmp_for_loop_1__iter_value; n 753         tmp_assign_source_10 = tmp_for_loop_1__iter_value;
929         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_x, tmp_assign_source_11); 754         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)const_str_plain_x, tmp_assign_source_10);
930     } 755     }
931     { 756     {
932         PyObject *tmp_called_name_1; 757         PyObject *tmp_called_name_1;
933         PyObject *tmp_mvar_value_2; 758         PyObject *tmp_mvar_value_2;
934         PyObject *tmp_call_result_1; 759         PyObject *tmp_call_result_1;
946             exception_value = UNSTREAM_STRING( &constant_bin[ 35 ], 38, 0 ); 771             exception_value = UNSTREAM_STRING( &constant_bin[ 35 ], 38, 0 );
947             exception_tb = NULL; 772             exception_tb = NULL;
948             NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb ); 773             NORMALIZE_EXCEPTION( &exception_type, &exception_value, &exception_tb );
949             CHAIN_EXCEPTION( exception_value ); 774             CHAIN_EXCEPTION( exception_value );
950 775
n 951             exception_lineno = 41; n 776             exception_lineno = 40;
952 777
953             goto try_except_handler_1; 778             goto try_except_handler_1;
954         } 779         }
955 780
956         tmp_called_name_1 = tmp_mvar_value_2; 781         tmp_called_name_1 = tmp_mvar_value_2;
n 957         frame_5346aa2775ae7c1ec907f41adfcad0ef->m_frame.f_lineno = 41; n 782         frame_5346aa2775ae7c1ec907f41adfcad0ef->m_frame.f_lineno = 40;
958         tmp_call_result_1 = CALL_FUNCTION_NO_ARGS( tmp_called_name_1 ); 783         tmp_call_result_1 = CALL_FUNCTION_NO_ARGS( tmp_called_name_1 );
959         if ( tmp_call_result_1 == NULL ) 784         if ( tmp_call_result_1 == NULL )
960         { 785         {
961             assert(ERROR_OCCURRED()); 786             assert(ERROR_OCCURRED());
962 787
963             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 788             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
964 789
965 790
n 966             exception_lineno = 41; n 791             exception_lineno = 40;
967 792
968             goto try_except_handler_1; 793             goto try_except_handler_1;
969         } 794         }
970         Py_DECREF(tmp_call_result_1); 795         Py_DECREF(tmp_call_result_1);
971     } 796     }
974         assert(ERROR_OCCURRED()); 799         assert(ERROR_OCCURRED());
975 800
976         FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 801         FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
977 802
978 803
n 979         exception_lineno = 40; n 804         exception_lineno = 39;
980 805
981         goto try_except_handler_1; 806         goto try_except_handler_1;
982     } 807     }
983     goto loop_start_1; 808     goto loop_start_1;
984     loop_end_1:; 809     loop_end_1:;
1020     { 845     {
1021         PyObject *tmp_called_name_2; 846         PyObject *tmp_called_name_2;
1022         PyObject *tmp_call_result_2; 847         PyObject *tmp_call_result_2;
1023         tmp_called_name_2 = LOOKUP_BUILTIN( const_str_plain_print ); 848         tmp_called_name_2 = LOOKUP_BUILTIN( const_str_plain_print );
1024         assert(tmp_called_name_2 != NULL); 849         assert(tmp_called_name_2 != NULL);
n 1025         frame_5346aa2775ae7c1ec907f41adfcad0ef->m_frame.f_lineno = 43; n 850         frame_5346aa2775ae7c1ec907f41adfcad0ef->m_frame.f_lineno = 42;
1026         tmp_call_result_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, &PyTuple_GET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0 ) ); 851         tmp_call_result_2 = CALL_FUNCTION_WITH_ARGS1( tmp_called_name_2, &PyTuple_GET_ITEM( const_tuple_str_digest_5ed1392909ad16e6227b8230f4582352_tuple, 0 ) );
1027 852
1028         if ( tmp_call_result_2 == NULL ) 853         if ( tmp_call_result_2 == NULL )
1029         { 854         {
1030             assert(ERROR_OCCURRED()); 855             assert(ERROR_OCCURRED());
1031 856
1032             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 857             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1033 858
1034 859
t 1035             exception_lineno = 43; t 860             exception_lineno = 42;
1036 861
1037             goto frame_exception_exit_1; 862             goto frame_exception_exit_1;
1038         } 863         }
1039         Py_DECREF(tmp_call_result_2); 864         Py_DECREF(tmp_call_result_2);
1040     } 865     }