
uint ScaleQuantumToLong(Quantum quantum)

{
  double dVar1;
  
  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=
      (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {
    return 0xffffffff;
  }
  dVar1 = (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +
          *(double *)(PTR_LAB_003a88e0 + 0x1400);
  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {
    return (int)dVar1;
  }
  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;
}



uint FUN_001b4104(float param_1)

{
  double dVar1;
  
  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=
      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {
    return 0xffffffff;
  }
  dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +
          *(double *)(PTR_LAB_003a88e0 + 0x1400);
  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {
    return (int)dVar1;
  }
  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;
}


lui gp,0x20
addiu gp,gp,-0x3854
addu gp,gp,t9
lw v0,-0x7fc8(gp)
cvt.d.S f12,f12
ldc1 f0,-0x5b00(v0)
lw v0,-0x7fc8(gp)
mul.D f12,f12,f0
ldc1 f0,-0x5af8(v0)
c.le.D f0,f12
bc1t 0x001b4174
_nop
lw v0,-0x7fd0(gp)
ldc1 f0,0x1410(v0)
lw v0,-0x7fd0(gp)
ldc1 f2,0x1400(v0)
add.D f12,f12,f2
c.le.D f0,f12
bc1f 0x1,0x001b4168
_lui v1,0x8000
sub.D D f12,f12,f0
trunc.w.D f0,f12
mfc1 v0,f0
jr ra
_or v0,v0,v1
trunc.w.D f0,f12
jr ra
_mfc1 v0,f0
jr ra
_li v0,-0x1
(translation_unit "uint FUN_001b4104(float param_1)\n\n{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}\n\n" (function_definition "uint FUN_001b4104(float param_1)\n\n{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}" type_identifier (function_declarator "FUN_001b4104(float param_1)" identifier (parameter_list "(float param_1)" ( (parameter_declaration "float param_1" primitive_type identifier) ))) (compound_statement "{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (if_statement "if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }" if (parenthesized_expression "(*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00))" ( (binary_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8" identifier + number_literal) )))) <= (binary_expression "(double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (cast_expression "(double)param_1" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00" identifier + number_literal) )))))) )) (compound_statement "{\n    return 0xffffffff;\n  }" { (return_statement "return 0xffffffff;" return number_literal ;) })) (expression_statement "dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);" (assignment_expression "dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400)" identifier = (binary_expression "(double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400)" (binary_expression "(double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (cast_expression "(double)param_1" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00" identifier + number_literal) ))))) + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1400)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1400)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }" if (parenthesized_expression "(dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410))" ( (binary_expression "dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)" identifier < (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1410)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1410)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1410" identifier + number_literal) ))))) )) (compound_statement "{\n    return (int)dVar1;\n  }" { (return_statement "return (int)dVar1;" return (cast_expression "(int)dVar1" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (return_statement "return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;" return (binary_expression "(int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000" (cast_expression "(int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410))" ( (binary_expression "dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)" identifier - (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1410)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1410)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1410" identifier + number_literal) ))))) ))) | number_literal) ;) })))
(translation_unit "uint ScaleQuantumToLong(Quantum quantum)\n\n{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}\n\n" (function_definition "uint ScaleQuantumToLong(Quantum quantum)\n\n{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}" type_identifier (function_declarator "ScaleQuantumToLong(Quantum quantum)" identifier (parameter_list "(Quantum quantum)" ( (parameter_declaration "Quantum quantum" type_identifier identifier) ))) (compound_statement "{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (if_statement "if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }" if (parenthesized_expression "(*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00))" ( (binary_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8" identifier + number_literal) )))) <= (binary_expression "(double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (cast_expression "(double)quantum" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00" identifier + number_literal) )))))) )) (compound_statement "{\n    return 0xffffffff;\n  }" { (return_statement "return 0xffffffff;" return number_literal ;) })) (expression_statement "dVar1 = (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);" (assignment_expression "dVar1 = (double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400)" identifier = (binary_expression "(double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400)" (binary_expression "(double)quantum * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (cast_expression "(double)quantum" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00" identifier + number_literal) ))))) + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1400)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1400)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }" if (parenthesized_expression "(dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410))" ( (binary_expression "dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)" identifier < (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1410)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1410)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1410" identifier + number_literal) ))))) )) (compound_statement "{\n    return (int)dVar1;\n  }" { (return_statement "return (int)dVar1;" return (cast_expression "(int)dVar1" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (return_statement "return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;" return (binary_expression "(int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000" (cast_expression "(int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410))" ( (binary_expression "dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)" identifier - (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1410)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1410)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1410" identifier + number_literal) ))))) ))) | number_literal) ;) })))
(translation_unit "uint FUN_001b4104(float param_1)\n\n{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}\n\n" (function_definition "uint FUN_001b4104(float param_1)\n\n{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}" type_identifier (function_declarator "FUN_001b4104(float param_1)" identifier (parameter_list "(float param_1)" ( (parameter_declaration "float param_1" primitive_type identifier) ))) (compound_statement "{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}" { (declaration "double dVar1;" primitive_type identifier ;) (if_statement "if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }" if (parenthesized_expression "(*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00))" ( (binary_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8" identifier + number_literal) )))) <= (binary_expression "(double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (cast_expression "(double)param_1" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00" identifier + number_literal) )))))) )) (compound_statement "{\n    return 0xffffffff;\n  }" { (return_statement "return 0xffffffff;" return number_literal ;) })) (expression_statement "dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);" (assignment_expression "dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400)" identifier = (binary_expression "(double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400)" (binary_expression "(double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (cast_expression "(double)param_1" ( (type_descriptor "double" primitive_type) ) identifier) * (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" * (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" ( (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00" identifier + number_literal) ))))) + (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1400)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1400)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1400)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1400" identifier + number_literal) )))))) ;) (if_statement "if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }" if (parenthesized_expression "(dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410))" ( (binary_expression "dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)" identifier < (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1410)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1410)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1410" identifier + number_literal) ))))) )) (compound_statement "{\n    return (int)dVar1;\n  }" { (return_statement "return (int)dVar1;" return (cast_expression "(int)dVar1" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (return_statement "return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;" return (binary_expression "(int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000" (cast_expression "(int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410))" ( (binary_expression "dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)" identifier - (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1410)" * (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1410)" ( (type_descriptor "double *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1410)" ( (binary_expression "PTR_LAB_003a88e0 + 0x1410" identifier + number_literal) ))))) ))) | number_literal) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE) ) IDENT) ;) })) (return_statement return (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) | LIT) ;) })))
(function_definition "uint FUN_001b4104(float param_1)\n\n{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}" (type_identifier "uint") (function_declarator "FUN_001b4104(float param_1)" (identifier "FUN_001b4104") (parameter_list "(float param_1)" (( "(") (parameter_declaration "float param_1" (primitive_type "float") (identifier "param_1")) () ")"))) (compound_statement "{\n  double dVar1;\n  \n  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }\n  dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);\n  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }\n  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;\n}" ({ "{") (declaration "double dVar1;" (primitive_type "double") (identifier "dVar1") (; ";")) (if_statement "if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {\n    return 0xffffffff;\n  }" (if "if") (parenthesized_expression "(*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00))" (( "(") (binary_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=\n      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" (* "*") (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x5af8")) () ")")))) (<= "<=") (binary_expression "(double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (cast_expression "(double)param_1" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "param_1")) (* "*") (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (* "*") (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x5b00")) () ")")))))) () ")")) (compound_statement "{\n    return 0xffffffff;\n  }" ({ "{") (return_statement "return 0xffffffff;" (return "return") (number_literal "0xffffffff") (; ";")) (} "}"))) (expression_statement "dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400);" (assignment_expression "dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400)" (identifier "dVar1") (= "=") (binary_expression "(double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +\n          *(double *)(PTR_LAB_003a88e0 + 0x1400)" (binary_expression "(double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (cast_expression "(double)param_1" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "param_1")) (* "*") (pointer_expression "*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (* "*") (cast_expression "(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)" (( "(") (binary_expression "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00" (identifier "PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8") (+ "+") (number_literal "-0x5b00")) () ")"))))) (+ "+") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1400)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1400)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1400)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1400" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1400")) () ")")))))) (; ";")) (if_statement "if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {\n    return (int)dVar1;\n  }" (if "if") (parenthesized_expression "(dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410))" (( "(") (binary_expression "dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)" (identifier "dVar1") (< "<") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1410)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1410)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1410" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1410")) () ")"))))) () ")")) (compound_statement "{\n    return (int)dVar1;\n  }" ({ "{") (return_statement "return (int)dVar1;" (return "return") (cast_expression "(int)dVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "dVar1")) (; ";")) (} "}"))) (return_statement "return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;" (return "return") (binary_expression "(int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000" (cast_expression "(int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410))" (( "(") (binary_expression "dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)" (identifier "dVar1") (- "-") (pointer_expression "*(double *)(PTR_LAB_003a88e0 + 0x1410)" (* "*") (cast_expression "(double *)(PTR_LAB_003a88e0 + 0x1410)" (( "(") (type_descriptor "double *" (primitive_type "double") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_003a88e0 + 0x1410)" (( "(") (binary_expression "PTR_LAB_003a88e0 + 0x1410" (identifier "PTR_LAB_003a88e0") (+ "+") (number_literal "0x1410")) () ")"))))) () ")"))) (| "|") (number_literal "0x80000000")) (; ";")) (} "}")))

type_1 function_1(type_2 quantum)

{
  double var_3;
  
  if (*(double *)(var_1 + -0x5af8) <=
      (double)quantum * *(double *)(var_1 + -0x5b00)) {
    return 0xffffffff;
  }
  var_3 = (double)quantum * *(double *)(var_1 + -0x5b00) +
          *(double *)(var_2 + 0x1400);
  if (var_3 < *(double *)(var_2 + 0x1410)) {
    return (int)var_3;
  }
  return (int)(var_3 - *(double *)(var_2 + 0x1410)) | 0x80000000;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))))) consequence: (compound_statement (return_statement (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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)))))) 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)))))))) (if_statement condition: (parenthesized_expression (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))))))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (return_statement (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (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)))))))) right: (number_literal))))))

uint MASKED(float param_1)

{
  double dVar1;
  
  if (*(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5af8) <=
      (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00)) {
    return 0xffffffff;
  }
  dVar1 = (double)param_1 * *(double *)(PTR_s_ls_0__dGridFitTT_2__sPDFPassword_003a88e8 + -0x5b00) +
          *(double *)(PTR_LAB_003a88e0 + 0x1400);
  if (dVar1 < *(double *)(PTR_LAB_003a88e0 + 0x1410)) {
    return (int)dVar1;
  }
  return (int)(dVar1 - *(double *)(PTR_LAB_003a88e0 + 0x1410)) | 0x80000000;
}

