__attribute__((visibility ("hidden")))
ves_icall_System_Math_Floor (gdouble x)
{
  gdouble D.8343;

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


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Round (gdouble x)
{
  double D.8349;
  double D.8350;
  double D.8351;
  double D.8352;
  gdouble D.8353;
  double int_part;
  double dec_part;

  int_part = floor (x);
  dec_part = x - int_part;
  if (dec_part == 5.0e-1) goto <D.8348>; else goto <D.8345>;
  <D.8348>:
  D.8349 = int_part * 5.0e-1;
  D.8349 = int_part * 5.0e-1;
  D.8350 = floor (D.8349);
  D.8351 = D.8349 - D.8350;
  D.8352 = D.8351 * 2.0e+0;
  if (D.8352 != 0.0) goto <D.8346>; else goto <D.8345>;
  <D.8345>:
  if (dec_part > 5.0e-1) goto <D.8346>; else goto <D.8347>;
  <D.8346>:
  int_part = int_part + 1.0e+0;
  <D.8347>:
  D.8353 = int_part;
  return D.8353;
}


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Round2 (gdouble value, gint32 digits, gboolean away_from_zero)
{
  gdouble D.8357;
  double D.8360;
  double D.8363;
  double D.8364;
  double D.8365;
  double p;

  if (value > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8355>; else goto <D.8356>;
  <D.8355>:
  D.8357 =  Inf;
  return D.8357;
  <D.8356>:
  if (value < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8358>; else goto <D.8359>;
  <D.8358>:
  D.8357 =  -Inf;
  return D.8357;
  <D.8359>:
  D.8360 = (double) digits;
  p = pow (1.0e+1, D.8360);
  if (away_from_zero != 0) goto <D.8361>; else goto <D.8362>;
  <D.8361>:
  D.8363 = value * p;
  D.8364 = round (D.8363);
  D.8357 = D.8364 / p;
  return D.8357;
  <D.8362>:
  D.8363 = value * p;
  D.8365 = rint (D.8363);
  D.8357 = D.8365 / p;
  return D.8357;
}


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Sin (gdouble x)
{
  gdouble D.8367;

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


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Cos (gdouble x)
{
  gdouble D.8369;

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


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Tan (gdouble x)
{
  gdouble D.8371;

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


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Sinh (gdouble x)
{
  gdouble D.8373;

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


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Cosh (gdouble x)
{
  gdouble D.8375;

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


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Tanh (gdouble x)
{
  gdouble D.8377;

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


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Acos (gdouble x)
{
  gdouble D.8382;

  if (x < -1.0e+0) goto <D.8379>; else goto <D.8381>;
  <D.8381>:
  if (x > 1.0e+0) goto <D.8379>; else goto <D.8380>;
  <D.8379>:
  D.8382 =  Nan;
  return D.8382;
  <D.8380>:
  D.8382 = acos (x);
  return D.8382;
}


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Asin (gdouble x)
{
  gdouble D.8387;

  if (x < -1.0e+0) goto <D.8384>; else goto <D.8386>;
  <D.8386>:
  if (x > 1.0e+0) goto <D.8384>; else goto <D.8385>;
  <D.8384>:
  D.8387 =  Nan;
  return D.8387;
  <D.8385>:
  D.8387 = asin (x);
  return D.8387;
}


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Atan (gdouble x)
{
  gdouble D.8389;

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


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Atan2 (gdouble y, gdouble x)
{
  gdouble D.8399;
  gdouble iftmp.0;
  double result;

  if (y > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8395>; else goto <D.8391>;
  <D.8395>:
  if (x > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8392>; else goto <D.8396>;
  <D.8396>:
  if (x < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8392>; else goto <D.8391>;
  <D.8391>:
  if (y < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8397>; else goto <D.8393>;
  <D.8397>:
  if (x > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8392>; else goto <D.8393>;
  <D.8393>:
  if (y < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8398>; else goto <D.8394>;
  <D.8398>:
  if (x < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8392>; else goto <D.8394>;
  <D.8392>:
  D.8399 =  Nan;
  return D.8399;
  <D.8394>:
  result = atan2 (y, x);
  if (result != 0.0) goto <D.8401>; else goto <D.8402>;
  <D.8401>:
  iftmp.0 = result;
  goto <D.8403>;
  <D.8402>:
  iftmp.0 = 0.0;
  <D.8403>:
  D.8399 = iftmp.0;
  return D.8399;
}


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Exp (gdouble x)
{
  gdouble D.8405;

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


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Log (gdouble x)
{
  gdouble D.8409;

  if (x == 0.0) goto <D.8407>; else goto <D.8408>;
  <D.8407>:
  D.8409 =  -Inf;
  return D.8409;
  <D.8408>:
  if (x < 0.0) goto <D.8410>; else goto <D.8411>;
  <D.8410>:
  D.8409 =  Nan;
  return D.8409;
  <D.8411>:
  D.8409 = log (x);
  return D.8409;
}


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Log10 (gdouble x)
{
  gdouble D.8415;

  if (x == 0.0) goto <D.8413>; else goto <D.8414>;
  <D.8413>:
  D.8415 =  -Inf;
  return D.8415;
  <D.8414>:
  if (x < 0.0) goto <D.8416>; else goto <D.8417>;
  <D.8416>:
  D.8415 =  Nan;
  return D.8415;
  <D.8417>:
  D.8415 = log10 (x);
  return D.8415;
}


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Pow (gdouble x, gdouble y)
{
  gdouble D.8422;
  gdouble iftmp.1;
  double result;

  if (x unord x) goto <D.8419>; else goto <D.8421>;
  <D.8421>:
  if (y unord y) goto <D.8419>; else goto <D.8420>;
  <D.8419>:
  D.8422 =  Nan;
  return D.8422;
  <D.8420>:
  if (x == 1.0e+0) goto <D.8425>; else goto <D.8426>;
  <D.8426>:
  if (x == -1.0e+0) goto <D.8425>; else goto <D.8424>;
  <D.8425>:
  if (y > 1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8423>; else goto <D.8427>;
  <D.8427>:
  if (y < -1.79769313486231570814527423731704356798070567525844996599e+308) goto <D.8423>; else goto <D.8424>;
  <D.8423>:
  D.8422 =  Nan;
  return D.8422;
  <D.8424>:
  if (x < -9.007199254740991e+15) goto <D.8428>; else goto <D.8429>;
  <D.8428>:
  if (y > 9.007199254740991e+15) goto <D.8430>; else goto <D.8431>;
  <D.8430>:
  D.8422 =  Inf;
  return D.8422;
  <D.8431>:
  if (y < -9.007199254740991e+15) goto <D.8432>; else goto <D.8433>;
  <D.8432>:
  D.8422 = 0.0;
  return D.8422;
  <D.8433>:
  <D.8429>:
  result = pow (x, y);
  if (result unord result) goto <D.8436>; else goto <D.8437>;
  <D.8436>:
  if (x == -1.0e+0) goto <D.8438>; else goto <D.8439>;
  <D.8438>:
  if (y > 9.007199254740991e+15) goto <D.8434>; else goto <D.8440>;
  <D.8440>:
  if (y < -9.007199254740991e+15) goto <D.8434>; else goto <D.8435>;
  <D.8434>:
  D.8422 = 1.0e+0;
  return D.8422;
  <D.8435>:
  <D.8439>:
  <D.8437>:
  if (result != 0.0) goto <D.8442>; else goto <D.8443>;
  <D.8442>:
  iftmp.1 = result;
  goto <D.8444>;
  <D.8443>:
  iftmp.1 = 0.0;
  <D.8444>:
  D.8422 = iftmp.1;
  return D.8422;
}


__attribute__((visibility ("hidden")))
ves_icall_System_Math_Sqrt (gdouble x)
{
  gdouble D.8448;

  if (x < 0.0) goto <D.8446>; else goto <D.8447>;
  <D.8446>:
  D.8448 =  Nan;
  return D.8448;
  <D.8447>:
  D.8448 = sqrt (x);
  return D.8448;
}


