ves_icall_System_Math_Floor (gdouble x)
{
  gdouble D.10414;

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


ves_icall_System_Math_Round (gdouble x)
{
  double D.10420;
  double D.10421;
  double D.10422;
  double D.10423;
  gdouble D.10424;
  double int_part;
  double dec_part;

  int_part = floor (x);
  dec_part = x - int_part;
  if (dec_part == 5.0e-1) goto <D.10419>; else goto <D.10416>;
  <D.10419>:
  D.10420 = int_part * 5.0e-1;
  D.10420 = int_part * 5.0e-1;
  D.10421 = floor (D.10420);
  D.10422 = D.10420 - D.10421;
  D.10423 = D.10422 * 2.0e+0;
  if (D.10423 != 0.0) goto <D.10417>; else goto <D.10416>;
  <D.10416>:
  if (dec_part > 5.0e-1) goto <D.10417>; else goto <D.10418>;
  <D.10417>:
  int_part = int_part + 1.0e+0;
  <D.10418>:
  D.10424 = int_part;
  return D.10424;
}


ves_icall_System_Math_Round2 (gdouble value, gint32 digits, gboolean away_from_zero)
{
  gdouble D.10428;
  double D.10431;
  double D.10434;
  double D.10435;
  double D.10436;
  double p;

  if (value > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10426>; else goto <D.10427>;
  <D.10426>:
  D.10428 =  Inf;
  return D.10428;
  <D.10427>:
  if (value < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10429>; else goto <D.10430>;
  <D.10429>:
  D.10428 =  -Inf;
  return D.10428;
  <D.10430>:
  D.10431 = (double) digits;
  p = pow (1.0e+1, D.10431);
  if (away_from_zero != 0) goto <D.10432>; else goto <D.10433>;
  <D.10432>:
  D.10434 = value * p;
  D.10435 = round (D.10434);
  D.10428 = D.10435 / p;
  return D.10428;
  <D.10433>:
  D.10434 = value * p;
  D.10436 = rint (D.10434);
  D.10428 = D.10436 / p;
  return D.10428;
}


ves_icall_System_Math_Sin (gdouble x)
{
  gdouble D.10438;

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


ves_icall_System_Math_Cos (gdouble x)
{
  gdouble D.10440;

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


ves_icall_System_Math_Tan (gdouble x)
{
  gdouble D.10442;

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


ves_icall_System_Math_Sinh (gdouble x)
{
  gdouble D.10444;

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


ves_icall_System_Math_Cosh (gdouble x)
{
  gdouble D.10446;

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


ves_icall_System_Math_Tanh (gdouble x)
{
  gdouble D.10448;

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


ves_icall_System_Math_Acos (gdouble x)
{
  gdouble D.10453;

  if (x < -1.0e+0) goto <D.10450>; else goto <D.10452>;
  <D.10452>:
  if (x > 1.0e+0) goto <D.10450>; else goto <D.10451>;
  <D.10450>:
  D.10453 =  Nan;
  return D.10453;
  <D.10451>:
  D.10453 = acos (x);
  return D.10453;
}


ves_icall_System_Math_Asin (gdouble x)
{
  gdouble D.10458;

  if (x < -1.0e+0) goto <D.10455>; else goto <D.10457>;
  <D.10457>:
  if (x > 1.0e+0) goto <D.10455>; else goto <D.10456>;
  <D.10455>:
  D.10458 =  Nan;
  return D.10458;
  <D.10456>:
  D.10458 = asin (x);
  return D.10458;
}


ves_icall_System_Math_Atan (gdouble x)
{
  gdouble D.10460;

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


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

  if (y > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10466>; else goto <D.10462>;
  <D.10466>:
  if (x > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10463>; else goto <D.10467>;
  <D.10467>:
  if (x < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10463>; else goto <D.10462>;
  <D.10462>:
  if (y < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10468>; else goto <D.10464>;
  <D.10468>:
  if (x > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10463>; else goto <D.10464>;
  <D.10464>:
  if (y < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10469>; else goto <D.10465>;
  <D.10469>:
  if (x < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10463>; else goto <D.10465>;
  <D.10463>:
  D.10470 =  Nan;
  return D.10470;
  <D.10465>:
  result = atan2 (y, x);
  if (result != 0.0) goto <D.10472>; else goto <D.10473>;
  <D.10472>:
  iftmp.0 = result;
  goto <D.10474>;
  <D.10473>:
  iftmp.0 = 0.0;
  <D.10474>:
  D.10470 = iftmp.0;
  return D.10470;
}


ves_icall_System_Math_Exp (gdouble x)
{
  gdouble D.10476;

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


ves_icall_System_Math_Log (gdouble x)
{
  gdouble D.10480;

  if (x == 0.0) goto <D.10478>; else goto <D.10479>;
  <D.10478>:
  D.10480 =  -Inf;
  return D.10480;
  <D.10479>:
  if (x < 0.0) goto <D.10481>; else goto <D.10482>;
  <D.10481>:
  D.10480 =  Nan;
  return D.10480;
  <D.10482>:
  D.10480 = log (x);
  return D.10480;
}


ves_icall_System_Math_Log10 (gdouble x)
{
  gdouble D.10486;

  if (x == 0.0) goto <D.10484>; else goto <D.10485>;
  <D.10484>:
  D.10486 =  -Inf;
  return D.10486;
  <D.10485>:
  if (x < 0.0) goto <D.10487>; else goto <D.10488>;
  <D.10487>:
  D.10486 =  Nan;
  return D.10486;
  <D.10488>:
  D.10486 = log10 (x);
  return D.10486;
}


ves_icall_System_Math_Pow (gdouble x, gdouble y)
{
  _Bool D.10490;
  _Bool D.10491;
  _Bool D.10492;
  gdouble D.10495;
  _Bool D.10498;
  _Bool D.10499;
  _Bool D.10500;
  _Bool D.10512;
  _Bool D.10513;
  gdouble iftmp.1;
  double result;

  D.10490 = x unord x;
  D.10491 = y unord y;
  D.10492 = D.10490 | D.10491;
  if (D.10492 != 0) goto <D.10493>; else goto <D.10494>;
  <D.10493>:
  D.10495 =  Nan;
  return D.10495;
  <D.10494>:
  D.10498 = x == 1.0e+0;
  D.10499 = x == -1.0e+0;
  D.10500 = D.10498 | D.10499;
  if (D.10500 != 0) goto <D.10501>; else goto <D.10502>;
  <D.10501>:
  if (y > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10496>; else goto <D.10503>;
  <D.10503>:
  if (y < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.10496>; else goto <D.10497>;
  <D.10496>:
  D.10495 =  Nan;
  return D.10495;
  <D.10497>:
  <D.10502>:
  if (x < -9.007199254740991e+15) goto <D.10504>; else goto <D.10505>;
  <D.10504>:
  if (y > 9.007199254740991e+15) goto <D.10506>; else goto <D.10507>;
  <D.10506>:
  D.10495 =  Inf;
  return D.10495;
  <D.10507>:
  if (y < -9.007199254740991e+15) goto <D.10508>; else goto <D.10509>;
  <D.10508>:
  D.10495 = 0.0;
  return D.10495;
  <D.10509>:
  <D.10505>:
  result = pow (x, y);
  D.10512 = result unord result;
  D.10499 = x == -1.0e+0;
  D.10513 = D.10512 & D.10499;
  if (D.10513 != 0) goto <D.10514>; else goto <D.10515>;
  <D.10514>:
  if (y > 9.007199254740991e+15) goto <D.10510>; else goto <D.10516>;
  <D.10516>:
  if (y < -9.007199254740991e+15) goto <D.10510>; else goto <D.10511>;
  <D.10510>:
  D.10495 = 1.0e+0;
  return D.10495;
  <D.10511>:
  <D.10515>:
  if (result != 0.0) goto <D.10518>; else goto <D.10519>;
  <D.10518>:
  iftmp.1 = result;
  goto <D.10520>;
  <D.10519>:
  iftmp.1 = 0.0;
  <D.10520>:
  D.10495 = iftmp.1;
  return D.10495;
}


ves_icall_System_Math_Sqrt (gdouble x)
{
  gdouble D.10524;

  if (x < 0.0) goto <D.10522>; else goto <D.10523>;
  <D.10522>:
  D.10524 =  Nan;
  return D.10524;
  <D.10523>:
  D.10524 = sqrt (x);
  return D.10524;
}


