Construct InplaceOperationFloatAdd

Performance Diagrams

Construct InplaceOperationFloatAdd 0010000000100000002000000020000000300000003000000040000000400000005000000050000000CPython 2.7Nuitka (master)Nuitka (develop)Nuitka (factory)5889632588.95192307692307257.0CPython 2.74450963242.31730769230768485.44017128664393Nuitka (master)4450917395.6826923076923485.44036429202566Nuitka (develop)4450717549.0480769230769485.4412034458595Nuitka (factory)Construct InplaceOperationFloatAddTicks Construct InplaceOperationFloatAdd 0010000000100000002000000020000000300000003000000040000000400000005000000050000000CPython 3.8Nuitka (master)Nuitka (develop)Nuitka (factory)5210474288.95192307692307257.0CPython 3.84451217242.31730769230768483.004749407527Nuitka (master)4451217395.6826923076923483.004749407527Nuitka (develop)4451339549.0480769230769483.0041708022837Nuitka (factory)Construct InplaceOperationFloatAddTicks

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 37
38 static PyObject *module_filename_obj = NULL; 38 static PyObject *module_filename_obj = NULL;
39 39
40 /* Indicator if this modules private constants were created yet. */ 40 /* Indicator if this modules private constants were created yet. */
41 static bool constants_created = false; 41 static bool constants_created = false;
70 static PyCodeObject *codeobj_490d778223a84f468e66aff3776ed237; 70 static PyCodeObject *codeobj_490d778223a84f468e66aff3776ed237;
71 /* For use in "MainProgram.c". */ 71 /* For use in "MainProgram.c". */
72 PyCodeObject *codeobj_main = NULL; 72 PyCodeObject *codeobj_main = NULL;
73 73
74 static void createModuleCodeObjects(void) { 74 static void createModuleCodeObjects(void) {
n 75     module_filename_obj = mod_consts[5]; CHECK_OBJECT(module_filename_obj); n 75     module_filename_obj = mod_consts[4]; CHECK_OBJECT(module_filename_obj);
76     codeobj_d0e37dabaa082d87ad52aa39f0f0653c = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[19], NULL, NULL, 0, 0, 0); 76     codeobj_d0e37dabaa082d87ad52aa39f0f0653c = MAKE_CODEOBJECT(module_filename_obj, 1, CO_NOFREE, mod_consts[18], NULL, NULL, 0, 0, 0);
77     codeobj_490d778223a84f468e66aff3776ed237 = MAKE_CODEOBJECT(module_filename_obj, 24, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[11], mod_consts[20], NULL, 0, 0, 0); 77     codeobj_490d778223a84f468e66aff3776ed237 = MAKE_CODEOBJECT(module_filename_obj, 24, CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE, mod_consts[10], mod_consts[19], NULL, 0, 0, 0);
78 } 78 }
79 79
80 // The module function declarations. 80 // The module function declarations.
81 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 81 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
82 82
224         PyObject *tmp_assign_source_4; 224         PyObject *tmp_assign_source_4;
225         PyObject *tmp_left_name_2; 225         PyObject *tmp_left_name_2;
226         PyObject *tmp_right_name_2; 226         PyObject *tmp_right_name_2;
227         CHECK_OBJECT(var_s); 227         CHECK_OBJECT(var_s);
228         tmp_left_name_2 = var_s; 228         tmp_left_name_2 = var_s;
n 229         tmp_right_name_2 = mod_consts[2]; n
230         tmp_result = BINARY_OPERATION_ADD_OBJECT_FLOAT_INPLACE(&tmp_left_name_2, tmp_right_name_2);
231         if (tmp_result == false) {
232             assert(ERROR_OCCURRED());
233  
234             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
235  
236  
237             exception_lineno = 35;
238             type_description_1 = "oo";
239             goto frame_exception_exit_1;
240         }
241         tmp_assign_source_4 = tmp_left_name_2;
242         var_s = tmp_assign_source_4;
243  
244     }
245     {
246         PyObject *tmp_assign_source_5;
247         PyObject *tmp_left_name_3;
248         PyObject *tmp_right_name_3;
249         CHECK_OBJECT(var_s);
250         tmp_left_name_3 = var_s;
251         tmp_right_name_3 = mod_consts[2];
252         tmp_result = BINARY_OPERATION_ADD_OBJECT_FLOAT_INPLACE(&tmp_left_name_3, tmp_right_name_3);
253         if (tmp_result == false) {
254             assert(ERROR_OCCURRED());
255  
256             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
257  
258  
259             exception_lineno = 36;
260             type_description_1 = "oo";
261             goto frame_exception_exit_1;
262         }
263         tmp_assign_source_5 = tmp_left_name_3;
264         var_s = tmp_assign_source_5;
265  
266     }
267     {
268         PyObject *tmp_assign_source_6;
269         PyObject *tmp_left_name_4;
270         PyObject *tmp_right_name_4;
271         CHECK_OBJECT(var_s);
272         tmp_left_name_4 = var_s;
273         tmp_right_name_4 = mod_consts[2];
274         tmp_result = BINARY_OPERATION_ADD_OBJECT_FLOAT_INPLACE(&tmp_left_name_4, tmp_right_name_4);
275         if (tmp_result == false) {
276             assert(ERROR_OCCURRED());
277  
278             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
279  
280  
281             exception_lineno = 37;
282             type_description_1 = "oo";
283             goto frame_exception_exit_1;
284         }
285         tmp_assign_source_6 = tmp_left_name_4;
286         var_s = tmp_assign_source_6;
287  
288     }
289     {
290         PyObject *tmp_assign_source_7;
291         PyObject *tmp_left_name_5;
292         PyObject *tmp_right_name_5;
293         CHECK_OBJECT(var_s);
294         tmp_left_name_5 = var_s;
295         tmp_right_name_5 = mod_consts[2];
296         tmp_result = BINARY_OPERATION_ADD_OBJECT_FLOAT_INPLACE(&tmp_left_name_5, tmp_right_name_5);
297         if (tmp_result == false) {
298             assert(ERROR_OCCURRED());
299  
300             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
301  
302  
303             exception_lineno = 38;
304             type_description_1 = "oo";
305             goto frame_exception_exit_1;
306         }
307         tmp_assign_source_7 = tmp_left_name_5;
308         var_s = tmp_assign_source_7;
309  
310     }
311     {
312         PyObject *tmp_assign_source_8;
313         PyObject *tmp_left_name_6;
314         PyObject *tmp_right_name_6;
315         CHECK_OBJECT(var_s);
316         tmp_left_name_6 = var_s;
317         tmp_right_name_6 = mod_consts[2];
318         tmp_result = BINARY_OPERATION_ADD_OBJECT_FLOAT_INPLACE(&tmp_left_name_6, tmp_right_name_6);
319         if (tmp_result == false) {
320             assert(ERROR_OCCURRED());
321  
322             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
323  
324  
325             exception_lineno = 39;
326             type_description_1 = "oo";
327             goto frame_exception_exit_1;
328         }
329         tmp_assign_source_8 = tmp_left_name_6;
330         var_s = tmp_assign_source_8;
331  
332     }
333     {
334         PyObject *tmp_assign_source_9;
335         PyObject *tmp_left_name_7;
336         PyObject *tmp_right_name_7;
337         CHECK_OBJECT(var_s);
338         tmp_left_name_7 = var_s;
339         tmp_right_name_7 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[3]); 229         tmp_right_name_2 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[2]);
340 230
n 341         if (unlikely(tmp_right_name_7 == NULL)) { n 231         if (unlikely(tmp_right_name_2 == NULL)) {
342             tmp_right_name_7 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[3]); 232             tmp_right_name_2 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[2]);
343         } 233         }
344 234
n 345         if (tmp_right_name_7 == NULL) { n 235         if (tmp_right_name_2 == NULL) {
346             assert(ERROR_OCCURRED()); 236             assert(ERROR_OCCURRED());
347 237
348             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 238             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
349 239
350 240
351             exception_lineno = 41; 241             exception_lineno = 41;
352             type_description_1 = "oo"; 242             type_description_1 = "oo";
353             goto frame_exception_exit_1; 243             goto frame_exception_exit_1;
354         } 244         }
n 355         tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE(&tmp_left_name_7, tmp_right_name_7); n 245         tmp_result = BINARY_OPERATION_ADD_OBJECT_OBJECT_INPLACE(&tmp_left_name_2, tmp_right_name_2);
356         if (tmp_result == false) { 246         if (tmp_result == false) {
357             assert(ERROR_OCCURRED()); 247             assert(ERROR_OCCURRED());
358 248
359             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 249             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
360 250
361 251
362             exception_lineno = 41; 252             exception_lineno = 41;
363             type_description_1 = "oo"; 253             type_description_1 = "oo";
364             goto frame_exception_exit_1; 254             goto frame_exception_exit_1;
365         } 255         }
n 366         tmp_assign_source_9 = tmp_left_name_7; n 256         tmp_assign_source_4 = tmp_left_name_2;
367         var_s = tmp_assign_source_9; 257         var_s = tmp_assign_source_4;
368 258
369     } 259     }
370 260
371 #if 0 261 #if 0
372     RESTORE_FRAME_EXCEPTION(frame_490d778223a84f468e66aff3776ed237); 262     RESTORE_FRAME_EXCEPTION(frame_490d778223a84f468e66aff3776ed237);
480 370
481 371
482 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly() { 372 static PyObject *MAKE_FUNCTION___main__$$$function__1_calledRepeatedly() {
483     struct Nuitka_FunctionObject *result = Nuitka_Function_New( 373     struct Nuitka_FunctionObject *result = Nuitka_Function_New(
484         impl___main__$$$function__1_calledRepeatedly, 374         impl___main__$$$function__1_calledRepeatedly,
n 485         mod_consts[11], n 375         mod_consts[10],
486 #if PYTHON_VERSION >= 0x300 376 #if PYTHON_VERSION >= 0x300
487         NULL, 377         NULL,
488 #endif 378 #endif
489         codeobj_490d778223a84f468e66aff3776ed237, 379         codeobj_490d778223a84f468e66aff3776ed237,
490         NULL, 380         NULL,
862 752
863     // Module code. 753     // Module code.
864     { 754     {
865         PyObject *tmp_assign_source_1; 755         PyObject *tmp_assign_source_1;
866         tmp_assign_source_1 = Py_None; 756         tmp_assign_source_1 = Py_None;
n 867         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[4], tmp_assign_source_1); n 757         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_1);
868     } 758     }
869     { 759     {
870         PyObject *tmp_assign_source_2; 760         PyObject *tmp_assign_source_2;
n 871         tmp_assign_source_2 = mod_consts[5]; n 761         tmp_assign_source_2 = mod_consts[4];
872         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_2); 762         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[5], tmp_assign_source_2);
873     } 763     }
874     { 764     {
875         PyObject *tmp_assign_source_3; 765         PyObject *tmp_assign_source_3;
876         tmp_assign_source_3 = Py_None; 766         tmp_assign_source_3 = Py_None;
n 877         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_3); n 767         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[6], tmp_assign_source_3);
878     } 768     }
879     { 769     {
880         PyObject *tmp_assign_source_4; 770         PyObject *tmp_assign_source_4;
881         tmp_assign_source_4 = PyDict_New(); 771         tmp_assign_source_4 = PyDict_New();
n 882         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[8], tmp_assign_source_4); n 772         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[7], tmp_assign_source_4);
883     } 773     }
884     { 774     {
885         PyObject *tmp_assign_source_5; 775         PyObject *tmp_assign_source_5;
n 886         tmp_assign_source_5 = mod_consts[9]; n 776         tmp_assign_source_5 = mod_consts[8];
887         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_5); 777         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[0], tmp_assign_source_5);
888     } 778     }
889     { 779     {
890         PyObject *tmp_assign_source_6; 780         PyObject *tmp_assign_source_6;
n 891         tmp_assign_source_6 = mod_consts[10]; n 781         tmp_assign_source_6 = mod_consts[9];
892         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[3], tmp_assign_source_6); 782         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[2], tmp_assign_source_6);
893     } 783     }
894     { 784     {
895         PyObject *tmp_assign_source_7; 785         PyObject *tmp_assign_source_7;
896 786
897 787
898         tmp_assign_source_7 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly(); 788         tmp_assign_source_7 = MAKE_FUNCTION___main__$$$function__1_calledRepeatedly();
899 789
n 900         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_7); n 790         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[10], tmp_assign_source_7);
901     } 791     }
902     { 792     {
903         PyObject *tmp_assign_source_8; 793         PyObject *tmp_assign_source_8;
904         PyObject *tmp_name_name_1; 794         PyObject *tmp_name_name_1;
905         PyObject *tmp_globals_arg_name_1; 795         PyObject *tmp_globals_arg_name_1;
906         PyObject *tmp_locals_arg_name_1; 796         PyObject *tmp_locals_arg_name_1;
907         PyObject *tmp_fromlist_name_1; 797         PyObject *tmp_fromlist_name_1;
908         PyObject *tmp_level_name_1; 798         PyObject *tmp_level_name_1;
n 909         tmp_name_name_1 = mod_consts[12]; n 799         tmp_name_name_1 = mod_consts[11];
910         tmp_globals_arg_name_1 = (PyObject *)moduledict___main__; 800         tmp_globals_arg_name_1 = (PyObject *)moduledict___main__;
911         tmp_locals_arg_name_1 = Py_None; 801         tmp_locals_arg_name_1 = Py_None;
912         tmp_fromlist_name_1 = Py_None; 802         tmp_fromlist_name_1 = Py_None;
n 913         tmp_level_name_1 = mod_consts[13]; n 803         tmp_level_name_1 = mod_consts[12];
914         tmp_assign_source_8 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_arg_name_1, tmp_locals_arg_name_1, tmp_fromlist_name_1, tmp_level_name_1); 804         tmp_assign_source_8 = IMPORT_MODULE5(tmp_name_name_1, tmp_globals_arg_name_1, tmp_locals_arg_name_1, tmp_fromlist_name_1, tmp_level_name_1);
915         assert(!(tmp_assign_source_8 == NULL)); 805         assert(!(tmp_assign_source_8 == NULL));
n 916         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[12], tmp_assign_source_8); n 806         UPDATE_STRING_DICT1(moduledict___main__, (Nuitka_StringObject *)mod_consts[11], tmp_assign_source_8);
917     } 807     }
918     // Frame without reuse. 808     // Frame without reuse.
919     frame_d0e37dabaa082d87ad52aa39f0f0653c = MAKE_MODULE_FRAME(codeobj_d0e37dabaa082d87ad52aa39f0f0653c, module___main__); 809     frame_d0e37dabaa082d87ad52aa39f0f0653c = MAKE_MODULE_FRAME(codeobj_d0e37dabaa082d87ad52aa39f0f0653c, module___main__);
920 810
921     // Push the new frame as the currently active one, and we should be exclusively 811     // Push the new frame as the currently active one, and we should be exclusively
926     // Framed code: 816     // Framed code:
927     { 817     {
928         PyObject *tmp_assign_source_9; 818         PyObject *tmp_assign_source_9;
929         PyObject *tmp_iter_arg_1; 819         PyObject *tmp_iter_arg_1;
930         PyObject *tmp_called_instance_1; 820         PyObject *tmp_called_instance_1;
n 931         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[12]); n 821         tmp_called_instance_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]);
932 822
933         if (unlikely(tmp_called_instance_1 == NULL)) { 823         if (unlikely(tmp_called_instance_1 == NULL)) {
n 934             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[12]); n 824             tmp_called_instance_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[11]);
935         } 825         }
936 826
937         assert(!(tmp_called_instance_1 == NULL)); 827         assert(!(tmp_called_instance_1 == NULL));
938         frame_d0e37dabaa082d87ad52aa39f0f0653c->m_frame.f_lineno = 46; 828         frame_d0e37dabaa082d87ad52aa39f0f0653c->m_frame.f_lineno = 46;
939         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2( 829         tmp_iter_arg_1 = CALL_METHOD_WITH_ARGS2(
940             tmp_called_instance_1, 830             tmp_called_instance_1,
n 941             mod_consts[14], n 831             mod_consts[13],
942             &PyTuple_GET_ITEM(mod_consts[15], 0) 832             &PyTuple_GET_ITEM(mod_consts[14], 0)
943         ); 833         );
944 834
945         if (tmp_iter_arg_1 == NULL) { 835         if (tmp_iter_arg_1 == NULL) {
946             assert(ERROR_OCCURRED()); 836             assert(ERROR_OCCURRED());
947 837
997     } 887     }
998     { 888     {
999         PyObject *tmp_assign_source_11; 889         PyObject *tmp_assign_source_11;
1000         CHECK_OBJECT(tmp_for_loop_1__iter_value); 890         CHECK_OBJECT(tmp_for_loop_1__iter_value);
1001         tmp_assign_source_11 = tmp_for_loop_1__iter_value; 891         tmp_assign_source_11 = tmp_for_loop_1__iter_value;
n 1002         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[16], tmp_assign_source_11); n 892         UPDATE_STRING_DICT0(moduledict___main__, (Nuitka_StringObject *)mod_consts[15], tmp_assign_source_11);
1003     } 893     }
1004     { 894     {
1005         PyObject *tmp_called_name_1; 895         PyObject *tmp_called_name_1;
1006         PyObject *tmp_call_result_1; 896         PyObject *tmp_call_result_1;
n 1007         tmp_called_name_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[11]); n 897         tmp_called_name_1 = GET_STRING_DICT_VALUE(moduledict___main__, (Nuitka_StringObject *)mod_consts[10]);
1008 898
1009         if (unlikely(tmp_called_name_1 == NULL)) { 899         if (unlikely(tmp_called_name_1 == NULL)) {
n 1010             tmp_called_name_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[11]); n 900             tmp_called_name_1 = GET_MODULE_VARIABLE_VALUE_FALLBACK(mod_consts[10]);
1011         } 901         }
1012 902
1013         if (tmp_called_name_1 == NULL) { 903         if (tmp_called_name_1 == NULL) {
1014             assert(ERROR_OCCURRED()); 904             assert(ERROR_OCCURRED());
1015 905
1078     Py_DECREF(tmp_for_loop_1__for_iterator); 968     Py_DECREF(tmp_for_loop_1__for_iterator);
1079     tmp_for_loop_1__for_iterator = NULL; 969     tmp_for_loop_1__for_iterator = NULL;
1080     { 970     {
1081         PyObject *tmp_called_name_2; 971         PyObject *tmp_called_name_2;
1082         PyObject *tmp_call_result_2; 972         PyObject *tmp_call_result_2;
n 1083         tmp_called_name_2 = LOOKUP_BUILTIN(mod_consts[17]); n 973         tmp_called_name_2 = LOOKUP_BUILTIN(mod_consts[16]);
1084         assert(tmp_called_name_2 != NULL); 974         assert(tmp_called_name_2 != NULL);
1085         frame_d0e37dabaa082d87ad52aa39f0f0653c->m_frame.f_lineno = 49; 975         frame_d0e37dabaa082d87ad52aa39f0f0653c->m_frame.f_lineno = 49;
t 1086         tmp_call_result_2 = CALL_FUNCTION_WITH_SINGLE_ARG(tmp_called_name_2, mod_consts[18]); t 976         tmp_call_result_2 = CALL_FUNCTION_WITH_SINGLE_ARG(tmp_called_name_2, mod_consts[17]);
1087         if (tmp_call_result_2 == NULL) { 977         if (tmp_call_result_2 == NULL) {
1088             assert(ERROR_OCCURRED()); 978             assert(ERROR_OCCURRED());
1089 979
1090             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb); 980             FETCH_ERROR_OCCURRED(&exception_type, &exception_value, &exception_tb);
1091 981