ves_icall_System_Math_Floor (gdouble x)
{
  gdouble D.8440;

  D.8440 = floor (x);
  return D.8440;
}


ves_icall_System_Math_Round (gdouble x)
{
  double D.8446;
  double D.8447;
  double D.8448;
  double D.8449;
  gdouble D.8450;
  double int_part;
  double dec_part;

  int_part = floor (x);
  dec_part = x - int_part;
  if (dec_part == 5.0e-1) goto <D.8445>; else goto <D.8442>;
  <D.8445>:
  D.8446 = int_part * 5.0e-1;
  D.8446 = int_part * 5.0e-1;
  D.8447 = floor (D.8446);
  D.8448 = D.8446 - D.8447;
  D.8449 = D.8448 * 2.0e+0;
  if (D.8449 != 0.0) goto <D.8443>; else goto <D.8442>;
  <D.8442>:
  if (dec_part > 5.0e-1) goto <D.8443>; else goto <D.8444>;
  <D.8443>:
  int_part = int_part + 1.0e+0;
  <D.8444>:
  D.8450 = int_part;
  return D.8450;
}


ves_icall_System_Math_Round2 (gdouble value, gint32 digits, gboolean away_from_zero)
{
  gdouble D.8454;
  double D.8457;
  double D.8460;
  double D.8461;
  double D.8462;
  double p;

  if (value > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8452>; else goto <D.8453>;
  <D.8452>:
  D.8454 =  Inf;
  return D.8454;
  <D.8453>:
  if (value < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8455>; else goto <D.8456>;
  <D.8455>:
  D.8454 =  -Inf;
  return D.8454;
  <D.8456>:
  D.8457 = (double) digits;
  p = pow (1.0e+1, D.8457);
  if (away_from_zero != 0) goto <D.8458>; else goto <D.8459>;
  <D.8458>:
  D.8460 = value * p;
  D.8461 = round (D.8460);
  D.8454 = D.8461 / p;
  return D.8454;
  <D.8459>:
  D.8460 = value * p;
  D.8462 = rint (D.8460);
  D.8454 = D.8462 / p;
  return D.8454;
}


ves_icall_System_Math_Sin (gdouble x)
{
  gdouble D.8464;

  D.8464 = sin (x);
  return D.8464;
}


ves_icall_System_Math_Cos (gdouble x)
{
  gdouble D.8466;

  D.8466 = cos (x);
  return D.8466;
}


ves_icall_System_Math_Tan (gdouble x)
{
  gdouble D.8468;

  D.8468 = tan (x);
  return D.8468;
}


ves_icall_System_Math_Sinh (gdouble x)
{
  gdouble D.8470;

  D.8470 = sinh (x);
  return D.8470;
}


ves_icall_System_Math_Cosh (gdouble x)
{
  gdouble D.8472;

  D.8472 = cosh (x);
  return D.8472;
}


ves_icall_System_Math_Tanh (gdouble x)
{
  gdouble D.8474;

  D.8474 = tanh (x);
  return D.8474;
}


ves_icall_System_Math_Acos (gdouble x)
{
  gdouble D.8479;

  if (x < -1.0e+0) goto <D.8476>; else goto <D.8478>;
  <D.8478>:
  if (x > 1.0e+0) goto <D.8476>; else goto <D.8477>;
  <D.8476>:
  D.8479 =  Nan;
  return D.8479;
  <D.8477>:
  D.8479 = acos (x);
  return D.8479;
}


ves_icall_System_Math_Asin (gdouble x)
{
  gdouble D.8484;

  if (x < -1.0e+0) goto <D.8481>; else goto <D.8483>;
  <D.8483>:
  if (x > 1.0e+0) goto <D.8481>; else goto <D.8482>;
  <D.8481>:
  D.8484 =  Nan;
  return D.8484;
  <D.8482>:
  D.8484 = asin (x);
  return D.8484;
}


ves_icall_System_Math_Atan (gdouble x)
{
  gdouble D.8486;

  D.8486 = atan (x);
  return D.8486;
}


ves_icall_System_Math_Atan2 (gdouble y, gdouble x)
{
  gdouble D.8496;
  gdouble iftmp.0;
  double result;

  if (y > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8492>; else goto <D.8488>;
  <D.8492>:
  if (x > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8489>; else goto <D.8493>;
  <D.8493>:
  if (x < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8489>; else goto <D.8488>;
  <D.8488>:
  if (y < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8494>; else goto <D.8490>;
  <D.8494>:
  if (x > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8489>; else goto <D.8490>;
  <D.8490>:
  if (y < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8495>; else goto <D.8491>;
  <D.8495>:
  if (x < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8489>; else goto <D.8491>;
  <D.8489>:
  D.8496 =  Nan;
  return D.8496;
  <D.8491>:
  result = atan2 (y, x);
  if (result != 0.0) goto <D.8498>; else goto <D.8499>;
  <D.8498>:
  iftmp.0 = result;
  goto <D.8500>;
  <D.8499>:
  iftmp.0 = 0.0;
  <D.8500>:
  D.8496 = iftmp.0;
  return D.8496;
}


ves_icall_System_Math_Exp (gdouble x)
{
  gdouble D.8502;

  D.8502 = exp (x);
  return D.8502;
}


ves_icall_System_Math_Log (gdouble x)
{
  gdouble D.8506;

  if (x == 0.0) goto <D.8504>; else goto <D.8505>;
  <D.8504>:
  D.8506 =  -Inf;
  return D.8506;
  <D.8505>:
  if (x < 0.0) goto <D.8507>; else goto <D.8508>;
  <D.8507>:
  D.8506 =  Nan;
  return D.8506;
  <D.8508>:
  D.8506 = log (x);
  return D.8506;
}


ves_icall_System_Math_Log10 (gdouble x)
{
  gdouble D.8512;

  if (x == 0.0) goto <D.8510>; else goto <D.8511>;
  <D.8510>:
  D.8512 =  -Inf;
  return D.8512;
  <D.8511>:
  if (x < 0.0) goto <D.8513>; else goto <D.8514>;
  <D.8513>:
  D.8512 =  Nan;
  return D.8512;
  <D.8514>:
  D.8512 = log10 (x);
  return D.8512;
}


ves_icall_System_Math_Pow (gdouble x, gdouble y)
{
  int D.8518;
  int D.8520;
  gdouble D.8521;
  int D.8535;
  gdouble iftmp.1;
  double result;

  D.8518 = __isnan (x);
  if (D.8518 != 0) goto <D.8516>; else goto <D.8519>;
  <D.8519>:
  D.8520 = __isnan (y);
  if (D.8520 != 0) goto <D.8516>; else goto <D.8517>;
  <D.8516>:
  D.8521 =  Nan;
  return D.8521;
  <D.8517>:
  if (x == 1.0e+0) goto <D.8524>; else goto <D.8525>;
  <D.8525>:
  if (x == -1.0e+0) goto <D.8524>; else goto <D.8523>;
  <D.8524>:
  if (y > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8522>; else goto <D.8526>;
  <D.8526>:
  if (y < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8522>; else goto <D.8523>;
  <D.8522>:
  D.8521 =  Nan;
  return D.8521;
  <D.8523>:
  if (x < -9.007199254740991e+15) goto <D.8527>; else goto <D.8528>;
  <D.8527>:
  if (y > 9.007199254740991e+15) goto <D.8529>; else goto <D.8530>;
  <D.8529>:
  D.8521 =  Inf;
  return D.8521;
  <D.8530>:
  if (y < -9.007199254740991e+15) goto <D.8531>; else goto <D.8532>;
  <D.8531>:
  D.8521 = 0.0;
  return D.8521;
  <D.8532>:
  <D.8528>:
  result = pow (x, y);
  D.8535 = __isnan (result);
  if (D.8535 != 0) goto <D.8536>; else goto <D.8537>;
  <D.8536>:
  if (x == -1.0e+0) goto <D.8538>; else goto <D.8539>;
  <D.8538>:
  if (y > 9.007199254740991e+15) goto <D.8533>; else goto <D.8540>;
  <D.8540>:
  if (y < -9.007199254740991e+15) goto <D.8533>; else goto <D.8534>;
  <D.8533>:
  D.8521 = 1.0e+0;
  return D.8521;
  <D.8534>:
  <D.8539>:
  <D.8537>:
  if (result != 0.0) goto <D.8542>; else goto <D.8543>;
  <D.8542>:
  iftmp.1 = result;
  goto <D.8544>;
  <D.8543>:
  iftmp.1 = 0.0;
  <D.8544>:
  D.8521 = iftmp.1;
  return D.8521;
}


ves_icall_System_Math_Sqrt (gdouble x)
{
  gdouble D.8548;

  if (x < 0.0) goto <D.8546>; else goto <D.8547>;
  <D.8546>:
  D.8548 =  Nan;
  return D.8548;
  <D.8547>:
  D.8548 = sqrt (x);
  return D.8548;
}


