
void print_result(int alg,int run_no,int count,double time_used)

{
  undefined *puVar1;
  double in_stack_00000010;
  
  if (count != -1) {
    if (*(int *)(PTR_DAT_000cb388 + -0x1f28) == 0) {
      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x741c;
    }
    else {
      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c;
    }
    (*(code *)PTR_BIO_printf_000ccb98)
              (*(undefined4 *)PTR_bio_err_000cb3b0,puVar1,count,
               *(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300));
    *(double *)(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8) =
         (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4) *
         ((double)count / in_stack_00000010);
    return;
  }
  (*(code *)PTR_BIO_puts_000cc6fc)
            (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);
  (*(code *)PTR_exit_000cb808)(1);
  return;
}



void FUN_0006f504(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)

{
  int unaff_s0;
  int unaff_s1;
  int unaff_s2;
  
  if (param_3 == -1) {
    (*(code *)PTR_BIO_puts_000cc6fc)
              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);
    (*(code *)PTR_exit_000cb808)(1);
    param_3 = unaff_s0;
    param_2 = unaff_s1;
    param_1 = unaff_s2;
  }
  (*(code *)PTR_BIO_printf_000ccb98)();
  *(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =
       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *
       ((double)param_3 / param_5);
  return;
}


lui gp,0x6
addiu gp,gp,0x3e5c
addu gp,gp,t9
addiu sp,sp,-0x38
sw ra,0x2c(sp)
sw s2,0x28(sp)
sw s1,0x24(sp)
sw s0,0x20(sp)
sdc1 f20,0x30(sp)
sw gp,0x18(sp)
li v0,-0x1
beq a2,v0,0x0006f5f8
_ldc1 f20,0x48(sp)
or s2,a0,zero
or s1,a1,zero
lw v0,-0x7fb0(gp)
lw a0,0x0(v0)
lw v0,-0x7fd8(gp)
lw v0,-0x1f28(v0)
bne v0,zero,0x0006f628
_or s0,a2,zero
lw a1,-0x7f94(gp)
addiu a1,a1,0x741c
sll v0,s2,0x2
lw v1,-0x7fd8(gp)
addiu v1,v1,-0x5300
addu v0,v0,v1
sdc1 f20,0x10(sp)
lw a3,0x0(v0)
or a2,s0,zero
lw t9,-0x67c8(gp)
jalr t9
_nop
lw gp,0x18(sp)
sll v0,s2,0x1
addu v0,v0,s2
sll v0,v0,0x1
addu v0,v0,s1
sll v0,v0,0x3
lw v1,-0x7fd8(gp)
addiu v1,v1,-0x24f8
addu v0,v0,v1
lw v1,-0x7fd8(gp)
lw v1,-0x5284(v1)
sll s1,s1,0x2
addu s1,v1,s1
lw v1,0x0(s1)
mtc1 v1,f0
cvt.d.W f2,f0
mtc1 s0,f0
cvt.d.W f0,f0
div.D f0,f0,f20
mul.D f0,f2,f0
sdc1 f0,0x0(v0)
lw ra,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
ldc1 f20,0x30(sp)
jr ra
_addiu sp,sp,0x38
lw a1,-0x7f94(gp)
addiu a1,a1,0x7430
lw v0,-0x7fb0(gp)
lw a0,0x0(v0)
lw t9,-0x6c64(gp)
jalr t9
_nop
lw gp,0x18(sp)
li a0,0x1
lw t9,-0x7b58(gp)
jalr t9
_nop
lw a1,-0x7f94(gp)
b 0x0006f560
_addiu a1,a1,0x740c
(translation_unit "void FUN_0006f504(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)\n\n{\n  int unaff_s0;\n  int unaff_s1;\n  int unaff_s2;\n  \n  if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }\n  (*(code *)PTR_BIO_printf_000ccb98)();\n  *(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);\n  return;\n}\n\n" (function_definition "void FUN_0006f504(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)\n\n{\n  int unaff_s0;\n  int unaff_s1;\n  int unaff_s2;\n  \n  if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }\n  (*(code *)PTR_BIO_printf_000ccb98)();\n  *(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);\n  return;\n}" primitive_type (function_declarator "FUN_0006f504(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)" identifier (parameter_list "(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "double param_5" primitive_type identifier) ))) (compound_statement "{\n  int unaff_s0;\n  int unaff_s1;\n  int unaff_s2;\n  \n  if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }\n  (*(code *)PTR_BIO_printf_000ccb98)();\n  *(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);\n  return;\n}" { (declaration "int unaff_s0;" primitive_type identifier ;) (declaration "int unaff_s1;" primitive_type identifier ;) (declaration "int unaff_s2;" primitive_type identifier ;) (if_statement "if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }" if (parenthesized_expression "(param_3 == -1)" ( (binary_expression "param_3 == -1" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }" { (expression_statement "(*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);" (call_expression "(*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430)" (parenthesized_expression "(*(code *)PTR_BIO_puts_000cc6fc)" ( (pointer_expression "*(code *)PTR_BIO_puts_000cc6fc" * (cast_expression "(code *)PTR_BIO_puts_000cc6fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430)" ( (pointer_expression "*(undefined4 *)PTR_bio_err_000cb3b0" * (cast_expression "(undefined4 *)PTR_bio_err_000cb3b0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_s_meters_are_valid_000cb3cc + 0x7430" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_exit_000cb808)(1);" (call_expression "(*(code *)PTR_exit_000cb808)(1)" (parenthesized_expression "(*(code *)PTR_exit_000cb808)" ( (pointer_expression "*(code *)PTR_exit_000cb808" * (cast_expression "(code *)PTR_exit_000cb808" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))) ;) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" identifier = identifier) ;) (expression_statement "param_2 = unaff_s1;" (assignment_expression "param_2 = unaff_s1" identifier = identifier) ;) (expression_statement "param_1 = unaff_s2;" (assignment_expression "param_1 = unaff_s2" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR_BIO_printf_000ccb98)();" (call_expression "(*(code *)PTR_BIO_printf_000ccb98)()" (parenthesized_expression "(*(code *)PTR_BIO_printf_000ccb98)" ( (pointer_expression "*(code *)PTR_BIO_printf_000ccb98" * (cast_expression "(code *)PTR_BIO_printf_000ccb98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "*(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);" (assignment_expression "*(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5)" (pointer_expression "*(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8)" * (cast_expression "(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8)" ( (binary_expression "PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8" (binary_expression "PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8" identifier + (binary_expression "(param_1 * 6 + param_2) * 8" (parenthesized_expression "(param_1 * 6 + param_2)" ( (binary_expression "param_1 * 6 + param_2" (binary_expression "param_1 * 6" identifier * number_literal) + identifier) )) * number_literal)) + number_literal) )))) = (binary_expression "(double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5)" (cast_expression "(double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" * (cast_expression "(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" ( (binary_expression "*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4" (pointer_expression "*(int *)(PTR_DAT_000cb388 + -0x5284)" * (cast_expression "(int *)(PTR_DAT_000cb388 + -0x5284)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000cb388 + -0x5284)" ( (binary_expression "PTR_DAT_000cb388 + -0x5284" identifier + number_literal) )))) + (binary_expression "param_2 * 4" identifier * number_literal)) ))))) * (parenthesized_expression "((double)param_3 / param_5)" ( (binary_expression "(double)param_3 / param_5" (cast_expression "(double)param_3" ( (type_descriptor "double" primitive_type) ) identifier) / identifier) )))) ;) (return_statement "return;" return ;) })))
(translation_unit "void print_result(int alg,int run_no,int count,double time_used)\n\n{\n  undefined *puVar1;\n  double in_stack_00000010;\n  \n  if (count != -1) {\n    if (*(int *)(PTR_DAT_000cb388 + -0x1f28) == 0) {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x741c;\n    }\n    else {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c;\n    }\n    (*(code *)PTR_BIO_printf_000ccb98)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,puVar1,count,\n               *(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300));\n    *(double *)(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8) =\n         (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4) *\n         ((double)count / in_stack_00000010);\n    return;\n  }\n  (*(code *)PTR_BIO_puts_000cc6fc)\n            (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n  (*(code *)PTR_exit_000cb808)(1);\n  return;\n}\n\n" (function_definition "void print_result(int alg,int run_no,int count,double time_used)\n\n{\n  undefined *puVar1;\n  double in_stack_00000010;\n  \n  if (count != -1) {\n    if (*(int *)(PTR_DAT_000cb388 + -0x1f28) == 0) {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x741c;\n    }\n    else {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c;\n    }\n    (*(code *)PTR_BIO_printf_000ccb98)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,puVar1,count,\n               *(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300));\n    *(double *)(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8) =\n         (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4) *\n         ((double)count / in_stack_00000010);\n    return;\n  }\n  (*(code *)PTR_BIO_puts_000cc6fc)\n            (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n  (*(code *)PTR_exit_000cb808)(1);\n  return;\n}" primitive_type (function_declarator "print_result(int alg,int run_no,int count,double time_used)" identifier (parameter_list "(int alg,int run_no,int count,double time_used)" ( (parameter_declaration "int alg" primitive_type identifier) , (parameter_declaration "int run_no" primitive_type identifier) , (parameter_declaration "int count" primitive_type identifier) , (parameter_declaration "double time_used" primitive_type identifier) ))) (compound_statement "{\n  undefined *puVar1;\n  double in_stack_00000010;\n  \n  if (count != -1) {\n    if (*(int *)(PTR_DAT_000cb388 + -0x1f28) == 0) {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x741c;\n    }\n    else {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c;\n    }\n    (*(code *)PTR_BIO_printf_000ccb98)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,puVar1,count,\n               *(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300));\n    *(double *)(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8) =\n         (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4) *\n         ((double)count / in_stack_00000010);\n    return;\n  }\n  (*(code *)PTR_BIO_puts_000cc6fc)\n            (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n  (*(code *)PTR_exit_000cb808)(1);\n  return;\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "double in_stack_00000010;" primitive_type identifier ;) (if_statement "if (count != -1) {\n    if (*(int *)(PTR_DAT_000cb388 + -0x1f28) == 0) {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x741c;\n    }\n    else {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c;\n    }\n    (*(code *)PTR_BIO_printf_000ccb98)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,puVar1,count,\n               *(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300));\n    *(double *)(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8) =\n         (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4) *\n         ((double)count / in_stack_00000010);\n    return;\n  }" if (parenthesized_expression "(count != -1)" ( (binary_expression "count != -1" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)(PTR_DAT_000cb388 + -0x1f28) == 0) {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x741c;\n    }\n    else {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c;\n    }\n    (*(code *)PTR_BIO_printf_000ccb98)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,puVar1,count,\n               *(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300));\n    *(double *)(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8) =\n         (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4) *\n         ((double)count / in_stack_00000010);\n    return;\n  }" { (if_statement "if (*(int *)(PTR_DAT_000cb388 + -0x1f28) == 0) {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x741c;\n    }\n    else {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c;\n    }" if (parenthesized_expression "(*(int *)(PTR_DAT_000cb388 + -0x1f28) == 0)" ( (binary_expression "*(int *)(PTR_DAT_000cb388 + -0x1f28) == 0" (pointer_expression "*(int *)(PTR_DAT_000cb388 + -0x1f28)" * (cast_expression "(int *)(PTR_DAT_000cb388 + -0x1f28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000cb388 + -0x1f28)" ( (binary_expression "PTR_DAT_000cb388 + -0x1f28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x741c;\n    }" { (expression_statement "puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x741c;" (assignment_expression "puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x741c" identifier = (binary_expression "PTR_s_meters_are_valid_000cb3cc + 0x741c" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c;\n    }" else (compound_statement "{\n      puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c;\n    }" { (expression_statement "puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c;" (assignment_expression "puVar1 = PTR_s_meters_are_valid_000cb3cc + 0x740c" identifier = (binary_expression "PTR_s_meters_are_valid_000cb3cc + 0x740c" identifier + number_literal)) ;) }))) (expression_statement "(*(code *)PTR_BIO_printf_000ccb98)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,puVar1,count,\n               *(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300));" (call_expression "(*(code *)PTR_BIO_printf_000ccb98)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,puVar1,count,\n               *(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300))" (parenthesized_expression "(*(code *)PTR_BIO_printf_000ccb98)" ( (pointer_expression "*(code *)PTR_BIO_printf_000ccb98" * (cast_expression "(code *)PTR_BIO_printf_000ccb98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_bio_err_000cb3b0,puVar1,count,\n               *(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300))" ( (pointer_expression "*(undefined4 *)PTR_bio_err_000cb3b0" * (cast_expression "(undefined4 *)PTR_bio_err_000cb3b0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , identifier , (pointer_expression "*(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300)" * (cast_expression "(undefined4 *)(PTR_DAT_000cb388 + alg * 4 + -0x5300)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000cb388 + alg * 4 + -0x5300)" ( (binary_expression "PTR_DAT_000cb388 + alg * 4 + -0x5300" (binary_expression "PTR_DAT_000cb388 + alg * 4" identifier + (binary_expression "alg * 4" identifier * number_literal)) + number_literal) )))) ))) ;) (expression_statement "*(double *)(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8) =\n         (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4) *\n         ((double)count / in_stack_00000010);" (assignment_expression "*(double *)(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8) =\n         (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4) *\n         ((double)count / in_stack_00000010)" (pointer_expression "*(double *)(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8)" * (cast_expression "(double *)(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8)" ( (binary_expression "PTR_DAT_000cb388 + (alg * 6 + run_no) * 8 + -0x24f8" (binary_expression "PTR_DAT_000cb388 + (alg * 6 + run_no) * 8" identifier + (binary_expression "(alg * 6 + run_no) * 8" (parenthesized_expression "(alg * 6 + run_no)" ( (binary_expression "alg * 6 + run_no" (binary_expression "alg * 6" identifier * number_literal) + identifier) )) * number_literal)) + number_literal) )))) = (binary_expression "(double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4) *\n         ((double)count / in_stack_00000010)" (cast_expression "(double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4)" * (cast_expression "(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4)" ( (binary_expression "*(int *)(PTR_DAT_000cb388 + -0x5284) + run_no * 4" (pointer_expression "*(int *)(PTR_DAT_000cb388 + -0x5284)" * (cast_expression "(int *)(PTR_DAT_000cb388 + -0x5284)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000cb388 + -0x5284)" ( (binary_expression "PTR_DAT_000cb388 + -0x5284" identifier + number_literal) )))) + (binary_expression "run_no * 4" identifier * number_literal)) ))))) * (parenthesized_expression "((double)count / in_stack_00000010)" ( (binary_expression "(double)count / in_stack_00000010" (cast_expression "(double)count" ( (type_descriptor "double" primitive_type) ) identifier) / identifier) )))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_BIO_puts_000cc6fc)\n            (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);" (call_expression "(*(code *)PTR_BIO_puts_000cc6fc)\n            (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430)" (parenthesized_expression "(*(code *)PTR_BIO_puts_000cc6fc)" ( (pointer_expression "*(code *)PTR_BIO_puts_000cc6fc" * (cast_expression "(code *)PTR_BIO_puts_000cc6fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430)" ( (pointer_expression "*(undefined4 *)PTR_bio_err_000cb3b0" * (cast_expression "(undefined4 *)PTR_bio_err_000cb3b0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_s_meters_are_valid_000cb3cc + 0x7430" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_exit_000cb808)(1);" (call_expression "(*(code *)PTR_exit_000cb808)(1)" (parenthesized_expression "(*(code *)PTR_exit_000cb808)" ( (pointer_expression "*(code *)PTR_exit_000cb808" * (cast_expression "(code *)PTR_exit_000cb808" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_0006f504(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)\n\n{\n  int unaff_s0;\n  int unaff_s1;\n  int unaff_s2;\n  \n  if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }\n  (*(code *)PTR_BIO_printf_000ccb98)();\n  *(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);\n  return;\n}\n\n" (function_definition "void FUN_0006f504(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)\n\n{\n  int unaff_s0;\n  int unaff_s1;\n  int unaff_s2;\n  \n  if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }\n  (*(code *)PTR_BIO_printf_000ccb98)();\n  *(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);\n  return;\n}" primitive_type (function_declarator "FUN_0006f504(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)" identifier (parameter_list "(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "double param_5" primitive_type identifier) ))) (compound_statement "{\n  int unaff_s0;\n  int unaff_s1;\n  int unaff_s2;\n  \n  if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }\n  (*(code *)PTR_BIO_printf_000ccb98)();\n  *(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);\n  return;\n}" { (declaration "int unaff_s0;" primitive_type identifier ;) (declaration "int unaff_s1;" primitive_type identifier ;) (declaration "int unaff_s2;" primitive_type identifier ;) (if_statement "if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }" if (parenthesized_expression "(param_3 == -1)" ( (binary_expression "param_3 == -1" identifier == number_literal) )) (compound_statement "{\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }" { (expression_statement "(*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);" (call_expression "(*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430)" (parenthesized_expression "(*(code *)PTR_BIO_puts_000cc6fc)" ( (pointer_expression "*(code *)PTR_BIO_puts_000cc6fc" * (cast_expression "(code *)PTR_BIO_puts_000cc6fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430)" ( (pointer_expression "*(undefined4 *)PTR_bio_err_000cb3b0" * (cast_expression "(undefined4 *)PTR_bio_err_000cb3b0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_s_meters_are_valid_000cb3cc + 0x7430" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_exit_000cb808)(1);" (call_expression "(*(code *)PTR_exit_000cb808)(1)" (parenthesized_expression "(*(code *)PTR_exit_000cb808)" ( (pointer_expression "*(code *)PTR_exit_000cb808" * (cast_expression "(code *)PTR_exit_000cb808" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(1)" ( number_literal ))) ;) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" identifier = identifier) ;) (expression_statement "param_2 = unaff_s1;" (assignment_expression "param_2 = unaff_s1" identifier = identifier) ;) (expression_statement "param_1 = unaff_s2;" (assignment_expression "param_1 = unaff_s2" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR_BIO_printf_000ccb98)();" (call_expression "(*(code *)PTR_BIO_printf_000ccb98)()" (parenthesized_expression "(*(code *)PTR_BIO_printf_000ccb98)" ( (pointer_expression "*(code *)PTR_BIO_printf_000ccb98" * (cast_expression "(code *)PTR_BIO_printf_000ccb98" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "*(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);" (assignment_expression "*(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5)" (pointer_expression "*(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8)" * (cast_expression "(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8)" ( (binary_expression "PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8" (binary_expression "PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8" identifier + (binary_expression "(param_1 * 6 + param_2) * 8" (parenthesized_expression "(param_1 * 6 + param_2)" ( (binary_expression "param_1 * 6 + param_2" (binary_expression "param_1 * 6" identifier * number_literal) + identifier) )) * number_literal)) + number_literal) )))) = (binary_expression "(double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5)" (cast_expression "(double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" ( (type_descriptor "double" primitive_type) ) (pointer_expression "*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" * (cast_expression "(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" ( (binary_expression "*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4" (pointer_expression "*(int *)(PTR_DAT_000cb388 + -0x5284)" * (cast_expression "(int *)(PTR_DAT_000cb388 + -0x5284)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_000cb388 + -0x5284)" ( (binary_expression "PTR_DAT_000cb388 + -0x5284" identifier + number_literal) )))) + (binary_expression "param_2 * 4" identifier * number_literal)) ))))) * (parenthesized_expression "((double)param_3 / param_5)" ( (binary_expression "(double)param_3 / param_5" (cast_expression "(double)param_3" ( (type_descriptor "double" primitive_type) ) identifier) / identifier) )))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT * LIT) + IDENT) )) * LIT)) + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) * (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) / IDENT) )))) ;) (return_statement return ;) })))
(function_definition "void FUN_0006f504(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)\n\n{\n  int unaff_s0;\n  int unaff_s1;\n  int unaff_s2;\n  \n  if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }\n  (*(code *)PTR_BIO_printf_000ccb98)();\n  *(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0006f504(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)" (identifier "FUN_0006f504") (parameter_list "(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "double param_5" (primitive_type "double") (identifier "param_5")) () ")"))) (compound_statement "{\n  int unaff_s0;\n  int unaff_s1;\n  int unaff_s2;\n  \n  if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }\n  (*(code *)PTR_BIO_printf_000ccb98)();\n  *(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);\n  return;\n}" ({ "{") (declaration "int unaff_s0;" (primitive_type "int") (identifier "unaff_s0") (; ";")) (declaration "int unaff_s1;" (primitive_type "int") (identifier "unaff_s1") (; ";")) (declaration "int unaff_s2;" (primitive_type "int") (identifier "unaff_s2") (; ";")) (if_statement "if (param_3 == -1) {\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }" (if "if") (parenthesized_expression "(param_3 == -1)" (( "(") (binary_expression "param_3 == -1" (identifier "param_3") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    (*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);\n    (*(code *)PTR_exit_000cb808)(1);\n    param_3 = unaff_s0;\n    param_2 = unaff_s1;\n    param_1 = unaff_s2;\n  }" ({ "{") (expression_statement "(*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);" (call_expression "(*(code *)PTR_BIO_puts_000cc6fc)\n              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430)" (parenthesized_expression "(*(code *)PTR_BIO_puts_000cc6fc)" (( "(") (pointer_expression "*(code *)PTR_BIO_puts_000cc6fc" (* "*") (cast_expression "(code *)PTR_BIO_puts_000cc6fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_BIO_puts_000cc6fc"))) () ")")) (argument_list "(*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430)" (( "(") (pointer_expression "*(undefined4 *)PTR_bio_err_000cb3b0" (* "*") (cast_expression "(undefined4 *)PTR_bio_err_000cb3b0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bio_err_000cb3b0"))) (, ",") (binary_expression "PTR_s_meters_are_valid_000cb3cc + 0x7430" (identifier "PTR_s_meters_are_valid_000cb3cc") (+ "+") (number_literal "0x7430")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_exit_000cb808)(1);" (call_expression "(*(code *)PTR_exit_000cb808)(1)" (parenthesized_expression "(*(code *)PTR_exit_000cb808)" (( "(") (pointer_expression "*(code *)PTR_exit_000cb808" (* "*") (cast_expression "(code *)PTR_exit_000cb808" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_exit_000cb808"))) () ")")) (argument_list "(1)" (( "(") (number_literal "1") () ")"))) (; ";")) (expression_statement "param_3 = unaff_s0;" (assignment_expression "param_3 = unaff_s0" (identifier "param_3") (= "=") (identifier "unaff_s0")) (; ";")) (expression_statement "param_2 = unaff_s1;" (assignment_expression "param_2 = unaff_s1" (identifier "param_2") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "param_1 = unaff_s2;" (assignment_expression "param_1 = unaff_s2" (identifier "param_1") (= "=") (identifier "unaff_s2")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_BIO_printf_000ccb98)();" (call_expression "(*(code *)PTR_BIO_printf_000ccb98)()" (parenthesized_expression "(*(code *)PTR_BIO_printf_000ccb98)" (( "(") (pointer_expression "*(code *)PTR_BIO_printf_000ccb98" (* "*") (cast_expression "(code *)PTR_BIO_printf_000ccb98" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_BIO_printf_000ccb98"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5);" (assignment_expression "*(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =\n       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5)" (pointer_expression "*(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8)" (* "*") (cast_expression "(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8)" (( "(") (binary_expression "PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8" (binary_expression "PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8" (identifier "PTR_DAT_000cb388") (+ "+") (binary_expression "(param_1 * 6 + param_2) * 8" (parenthesized_expression "(param_1 * 6 + param_2)" (( "(") (binary_expression "param_1 * 6 + param_2" (binary_expression "param_1 * 6" (identifier "param_1") (* "*") (number_literal "6")) (+ "+") (identifier "param_2")) () ")")) (* "*") (number_literal "8"))) (+ "+") (number_literal "-0x24f8")) () ")")))) (= "=") (binary_expression "(double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *\n       ((double)param_3 / param_5)" (cast_expression "(double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (pointer_expression "*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" (* "*") (cast_expression "(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4)" (( "(") (binary_expression "*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4" (pointer_expression "*(int *)(PTR_DAT_000cb388 + -0x5284)" (* "*") (cast_expression "(int *)(PTR_DAT_000cb388 + -0x5284)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_000cb388 + -0x5284)" (( "(") (binary_expression "PTR_DAT_000cb388 + -0x5284" (identifier "PTR_DAT_000cb388") (+ "+") (number_literal "-0x5284")) () ")")))) (+ "+") (binary_expression "param_2 * 4" (identifier "param_2") (* "*") (number_literal "4"))) () ")"))))) (* "*") (parenthesized_expression "((double)param_3 / param_5)" (( "(") (binary_expression "(double)param_3 / param_5" (cast_expression "(double)param_3" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "param_3")) (/ "/") (identifier "param_5")) () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(int var_4,int var_5,int var_1,double time_used)

{
  type_1 *puVar1;
  double var_6;
  
  if (var_1 != -1) {
    if (*(int *)(var_2 + -0x1f28) == 0) {
      puVar1 = var_3 + 0x741c;
    }
    else {
      puVar1 = var_3 + 0x740c;
    }
    (*(type_2 *)PTR_BIO_printf_000ccb98)
              (*(type_3 *)PTR_bio_err_000cb3b0,puVar1,var_1,
               *(type_3 *)(var_2 + var_4 * 4 + -0x5300));
    *(double *)(var_2 + (var_4 * 6 + var_5) * 8 + -0x24f8) =
         (double)*(int *)(*(int *)(var_2 + -0x5284) + var_5 * 4) *
         ((double)var_1 / var_6);
    return;
  }
  (*(type_2 *)PTR_BIO_puts_000cc6fc)
            (*(type_3 *)PTR_bio_err_000cb3b0,var_3 + 0x7430);
  (*(type_2 *)PTR_exit_000cb808)(1);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (number_literal))) right: (number_literal))))) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (return_statement))))

void MASKED(int param_1,int param_2,int param_3,undefined4 param_4,double param_5)

{
  int unaff_s0;
  int unaff_s1;
  int unaff_s2;
  
  if (param_3 == -1) {
    (*(code *)PTR_BIO_puts_000cc6fc)
              (*(undefined4 *)PTR_bio_err_000cb3b0,PTR_s_meters_are_valid_000cb3cc + 0x7430);
    (*(code *)PTR_exit_000cb808)(1);
    param_3 = unaff_s0;
    param_2 = unaff_s1;
    param_1 = unaff_s2;
  }
  (*(code *)PTR_BIO_printf_000ccb98)();
  *(double *)(PTR_DAT_000cb388 + (param_1 * 6 + param_2) * 8 + -0x24f8) =
       (double)*(int *)(*(int *)(PTR_DAT_000cb388 + -0x5284) + param_2 * 4) *
       ((double)param_3 / param_5);
  return;
}

