
int percentage(POSITION num,POSITION den)

{
  int extraout_v1;
  undefined4 in_a2;
  undefined4 in_a3;
  double dVar1;
  double dVar2;
  
  dVar1 = (double)__floatdidf();
  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);
  dVar2 = (double)__floatdidf(in_a2,in_a3);
  __fixdfdi(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));
  return extraout_v1;
}



undefined4 percentage(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  undefined4 extraout_v1;
  double dVar1;
  double dVar2;
  
  dVar1 = (double)FUN_00036b20();
  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);
  dVar2 = (double)FUN_00036b20(param_3,param_4);
  FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));
  return extraout_v1;
}


lui gp,0x3
addiu gp,gp,-0x7a18
addu gp,gp,t9
addiu sp,sp,-0x30
sw ra,0x24(sp)
sw s1,0x20(sp)
sw s0,0x1c(sp)
sdc1 f20,0x28(sp)
sw gp,0x10(sp)
or s1,a3,zero
or s0,a2,zero
lw t9,-0x79e8(gp)
bal 0x00036b20
_nop
lw gp,0x10(sp)
lw v0,-0x7ee4(gp)
ldc1 f20,-0x2e00(v0)
mul.D f20,f0,f20
lw t9,-0x79e8(gp)
or a1,s1,zero
or a0,s0,zero
bal 0x00036b20
_nop
lw gp,0x10(sp)
div.D f0,f20,f0
lw t9,-0x79e4(gp)
lw v0,-0x7ee4(gp)
ldc1 f12,-0x2df8(v0)
add.D f12,f0,f12
bal 0x00036a00
_nop
lw gp,0x10(sp)
or v0,v1,zero
lw ra,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
ldc1 f20,0x28(sp)
jr ra
_addiu sp,sp,0x30
(translation_unit "undefined4 percentage(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined4 extraout_v1;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)FUN_00036b20();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)FUN_00036b20(param_3,param_4);\n  FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}\n\n" (function_definition "undefined4 percentage(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined4 extraout_v1;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)FUN_00036b20();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)FUN_00036b20(param_3,param_4);\n  FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}" type_identifier (function_declarator "percentage(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined4 extraout_v1;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)FUN_00036b20();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)FUN_00036b20(param_3,param_4);\n  FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}" { (declaration "undefined4 extraout_v1;" type_identifier identifier ;) (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (expression_statement "dVar1 = (double)FUN_00036b20();" (assignment_expression "dVar1 = (double)FUN_00036b20()" identifier = (cast_expression "(double)FUN_00036b20()" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_00036b20()" identifier (argument_list "()" ( ))))) ;) (expression_statement "dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);" (assignment_expression "dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00)" identifier = (binary_expression "dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00)" identifier * (pointer_expression "*(double *)(PTR_DAT_0004fcec + -0x2e00)" * (cast_expression "(double *)(PTR_DAT_0004fcec + -0x2e00)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0004fcec + -0x2e00)" ( (binary_expression "PTR_DAT_0004fcec + -0x2e00" identifier + number_literal) )))))) ;) (expression_statement "dVar2 = (double)FUN_00036b20(param_3,param_4);" (assignment_expression "dVar2 = (double)FUN_00036b20(param_3,param_4)" identifier = (cast_expression "(double)FUN_00036b20(param_3,param_4)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_00036b20(param_3,param_4)" identifier (argument_list "(param_3,param_4)" ( identifier , identifier ))))) ;) (expression_statement "FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));" (call_expression "FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8))" identifier (argument_list "(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8))" ( (binary_expression "dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8)" (binary_expression "dVar1 / dVar2" identifier / identifier) + (pointer_expression "*(double *)(PTR_DAT_0004fcec + -0x2df8)" * (cast_expression "(double *)(PTR_DAT_0004fcec + -0x2df8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0004fcec + -0x2df8)" ( (binary_expression "PTR_DAT_0004fcec + -0x2df8" identifier + number_literal) ))))) ))) ;) (return_statement "return extraout_v1;" return identifier ;) })))
(translation_unit "int percentage(POSITION num,POSITION den)\n\n{\n  int extraout_v1;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)__floatdidf();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)__floatdidf(in_a2,in_a3);\n  __fixdfdi(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}\n\n" (function_definition "int percentage(POSITION num,POSITION den)\n\n{\n  int extraout_v1;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)__floatdidf();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)__floatdidf(in_a2,in_a3);\n  __fixdfdi(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}" primitive_type (function_declarator "percentage(POSITION num,POSITION den)" identifier (parameter_list "(POSITION num,POSITION den)" ( (parameter_declaration "POSITION num" type_identifier identifier) , (parameter_declaration "POSITION den" type_identifier identifier) ))) (compound_statement "{\n  int extraout_v1;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)__floatdidf();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)__floatdidf(in_a2,in_a3);\n  __fixdfdi(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}" { (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "undefined4 in_a2;" type_identifier identifier ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (expression_statement "dVar1 = (double)__floatdidf();" (assignment_expression "dVar1 = (double)__floatdidf()" identifier = (cast_expression "(double)__floatdidf()" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatdidf()" identifier (argument_list "()" ( ))))) ;) (expression_statement "dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);" (assignment_expression "dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00)" identifier = (binary_expression "dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00)" identifier * (pointer_expression "*(double *)(PTR_DAT_0004fcec + -0x2e00)" * (cast_expression "(double *)(PTR_DAT_0004fcec + -0x2e00)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0004fcec + -0x2e00)" ( (binary_expression "PTR_DAT_0004fcec + -0x2e00" identifier + number_literal) )))))) ;) (expression_statement "dVar2 = (double)__floatdidf(in_a2,in_a3);" (assignment_expression "dVar2 = (double)__floatdidf(in_a2,in_a3)" identifier = (cast_expression "(double)__floatdidf(in_a2,in_a3)" ( (type_descriptor "double" primitive_type) ) (call_expression "__floatdidf(in_a2,in_a3)" identifier (argument_list "(in_a2,in_a3)" ( identifier , identifier ))))) ;) (expression_statement "__fixdfdi(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));" (call_expression "__fixdfdi(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8))" identifier (argument_list "(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8))" ( (binary_expression "dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8)" (binary_expression "dVar1 / dVar2" identifier / identifier) + (pointer_expression "*(double *)(PTR_DAT_0004fcec + -0x2df8)" * (cast_expression "(double *)(PTR_DAT_0004fcec + -0x2df8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0004fcec + -0x2df8)" ( (binary_expression "PTR_DAT_0004fcec + -0x2df8" identifier + number_literal) ))))) ))) ;) (return_statement "return extraout_v1;" return identifier ;) })))
(translation_unit "undefined4 percentage(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined4 extraout_v1;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)FUN_00036b20();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)FUN_00036b20(param_3,param_4);\n  FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}\n\n" (function_definition "undefined4 percentage(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined4 extraout_v1;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)FUN_00036b20();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)FUN_00036b20(param_3,param_4);\n  FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}" type_identifier (function_declarator "percentage(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) ))) (compound_statement "{\n  undefined4 extraout_v1;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)FUN_00036b20();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)FUN_00036b20(param_3,param_4);\n  FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}" { (declaration "undefined4 extraout_v1;" type_identifier identifier ;) (declaration "double dVar1;" primitive_type identifier ;) (declaration "double dVar2;" primitive_type identifier ;) (expression_statement "dVar1 = (double)FUN_00036b20();" (assignment_expression "dVar1 = (double)FUN_00036b20()" identifier = (cast_expression "(double)FUN_00036b20()" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_00036b20()" identifier (argument_list "()" ( ))))) ;) (expression_statement "dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);" (assignment_expression "dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00)" identifier = (binary_expression "dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00)" identifier * (pointer_expression "*(double *)(PTR_DAT_0004fcec + -0x2e00)" * (cast_expression "(double *)(PTR_DAT_0004fcec + -0x2e00)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0004fcec + -0x2e00)" ( (binary_expression "PTR_DAT_0004fcec + -0x2e00" identifier + number_literal) )))))) ;) (expression_statement "dVar2 = (double)FUN_00036b20(param_3,param_4);" (assignment_expression "dVar2 = (double)FUN_00036b20(param_3,param_4)" identifier = (cast_expression "(double)FUN_00036b20(param_3,param_4)" ( (type_descriptor "double" primitive_type) ) (call_expression "FUN_00036b20(param_3,param_4)" identifier (argument_list "(param_3,param_4)" ( identifier , identifier ))))) ;) (expression_statement "FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));" (call_expression "FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8))" identifier (argument_list "(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8))" ( (binary_expression "dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8)" (binary_expression "dVar1 / dVar2" identifier / identifier) + (pointer_expression "*(double *)(PTR_DAT_0004fcec + -0x2df8)" * (cast_expression "(double *)(PTR_DAT_0004fcec + -0x2df8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0004fcec + -0x2df8)" ( (binary_expression "PTR_DAT_0004fcec + -0x2df8" identifier + number_literal) ))))) ))) ;) (return_statement "return extraout_v1;" return identifier ;) })))
(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) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (binary_expression IDENT / IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 percentage(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)\n\n{\n  undefined4 extraout_v1;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)FUN_00036b20();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)FUN_00036b20(param_3,param_4);\n  FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}" (type_identifier "undefined4") (function_declarator "percentage(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (identifier "percentage") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) () ")"))) (compound_statement "{\n  undefined4 extraout_v1;\n  double dVar1;\n  double dVar2;\n  \n  dVar1 = (double)FUN_00036b20();\n  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);\n  dVar2 = (double)FUN_00036b20(param_3,param_4);\n  FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));\n  return extraout_v1;\n}" ({ "{") (declaration "undefined4 extraout_v1;" (type_identifier "undefined4") (identifier "extraout_v1") (; ";")) (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (declaration "double dVar2;" (primitive_type "double") (identifier "dVar2") (; ";")) (expression_statement "dVar1 = (double)FUN_00036b20();" (assignment_expression "dVar1 = (double)FUN_00036b20()" (identifier "dVar1") (= "=") (cast_expression "(double)FUN_00036b20()" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_00036b20()" (identifier "FUN_00036b20") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);" (assignment_expression "dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00)" (identifier "dVar1") (= "=") (binary_expression "dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00)" (identifier "dVar1") (* "*") (pointer_expression "*(double *)(PTR_DAT_0004fcec + -0x2e00)" (* "*") (cast_expression "(double *)(PTR_DAT_0004fcec + -0x2e00)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0004fcec + -0x2e00)" (( "(") (binary_expression "PTR_DAT_0004fcec + -0x2e00" (identifier "PTR_DAT_0004fcec") (+ "+") (number_literal "-0x2e00")) () ")")))))) (; ";")) (expression_statement "dVar2 = (double)FUN_00036b20(param_3,param_4);" (assignment_expression "dVar2 = (double)FUN_00036b20(param_3,param_4)" (identifier "dVar2") (= "=") (cast_expression "(double)FUN_00036b20(param_3,param_4)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "FUN_00036b20(param_3,param_4)" (identifier "FUN_00036b20") (argument_list "(param_3,param_4)" (( "(") (identifier "param_3") (, ",") (identifier "param_4") () ")"))))) (; ";")) (expression_statement "FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));" (call_expression "FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8))" (identifier "FUN_00036a00") (argument_list "(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8))" (( "(") (binary_expression "dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8)" (binary_expression "dVar1 / dVar2" (identifier "dVar1") (/ "/") (identifier "dVar2")) (+ "+") (pointer_expression "*(double *)(PTR_DAT_0004fcec + -0x2df8)" (* "*") (cast_expression "(double *)(PTR_DAT_0004fcec + -0x2df8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0004fcec + -0x2df8)" (( "(") (binary_expression "PTR_DAT_0004fcec + -0x2df8" (identifier "PTR_DAT_0004fcec") (+ "+") (number_literal "-0x2df8")) () ")"))))) () ")"))) (; ";")) (return_statement "return extraout_v1;" (return "return") (identifier "extraout_v1") (; ";")) (} "}")))

int function_1(type_1 num,type_1 den)

{
  int extraout_v1;
  type_2 in_a2;
  type_2 in_a3;
  double var_2;
  double var_5;
  
  var_2 = (double)var_1();
  var_2 = var_2 * *(double *)(var_3 + -0x2e00);
  var_5 = (double)var_1(in_a2,in_a3);
  var_4(var_2 / var_5 + *(double *)(var_3 + -0x2df8));
  return extraout_v1;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (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))))))))) (return_statement (identifier)))))

undefined4 MASKED(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4)

{
  undefined4 extraout_v1;
  double dVar1;
  double dVar2;
  
  dVar1 = (double)FUN_00036b20();
  dVar1 = dVar1 * *(double *)(PTR_DAT_0004fcec + -0x2e00);
  dVar2 = (double)FUN_00036b20(param_3,param_4);
  FUN_00036a00(dVar1 / dVar2 + *(double *)(PTR_DAT_0004fcec + -0x2df8));
  return extraout_v1;
}

