// NOTE: THIS FILE IS AUTO-GENERATED!
// Run ':runtime:generateJsMath' to re-generate it.

konan.libraries.push ({

  knjs_get__Math_E: function() {
    var result = Math.E;
    return doubleToReturnSlot(result);
  },

  knjs_get__Math_LN2: function() {
    var result = Math.LN2;
    return doubleToReturnSlot(result);
  },

  knjs_get__Math_LN10: function() {
    var result = Math.LN10;
    return doubleToReturnSlot(result);
  },

  knjs_get__Math_LOG2E: function() {
    var result = Math.LOG2E;
    return doubleToReturnSlot(result);
  },

  knjs_get__Math_LOG10E: function() {
    var result = Math.LOG10E;
    return doubleToReturnSlot(result);
  },

  knjs_get__Math_PI: function() {
    var result = Math.PI;
    return doubleToReturnSlot(result);
  },

  knjs_get__Math_SQRT1_2: function() {
    var result = Math.SQRT1_2;
    return doubleToReturnSlot(result);
  },

  knjs_get__Math_SQRT2: function() {
    var result = Math.SQRT2;
    return doubleToReturnSlot(result);
  },

  knjs__Math_abs: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.abs(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_acos: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.acos(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_acosh: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.acosh(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_asin: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.asin(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_asinh: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.asinh(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_atan: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.atan(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_atanh: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.atanh(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_atan2: function(yUpper, yLower, xUpper, xLower) {
    var y = twoIntsToDouble(yUpper, yLower);
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.atan2(y, x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_cbrt: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.cbrt(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_ceil: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.ceil(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_clz32: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.clz32(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_cos: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.cos(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_cosh: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.cosh(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_exp: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.exp(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_expm1: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.expm1(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_floor: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.floor(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_fround: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.fround(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_log: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.log(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_log1p: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.log1p(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_log10: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.log10(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_log2: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.log2(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_pow: function(xUpper, xLower, yUpper, yLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var y = twoIntsToDouble(yUpper, yLower);
    var result = Math.pow(x, y);
    return doubleToReturnSlot(result);
  },

  knjs__Math_random: function() {
    var result = Math.random();
    return doubleToReturnSlot(result);
  },

  knjs__Math_round: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.round(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_sign: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.sign(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_sin: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.sin(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_sinh: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.sinh(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_sqrt: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.sqrt(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_tan: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.tan(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_tanh: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.tanh(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_trunc: function(xUpper, xLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var result = Math.trunc(x);
    return doubleToReturnSlot(result);
  },

  knjs__Math_hypot: function(xUpper, xLower, yUpper, yLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var y = twoIntsToDouble(yUpper, yLower);
    var result = Math.hypot(x, y);
    return doubleToReturnSlot(result);
  },

  knjs__Math_max: function(xUpper, xLower, yUpper, yLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var y = twoIntsToDouble(yUpper, yLower);
    var result = Math.max(x, y);
    return doubleToReturnSlot(result);
  },

  knjs__Math_min: function(xUpper, xLower, yUpper, yLower) {
    var x = twoIntsToDouble(xUpper, xLower);
    var y = twoIntsToDouble(yUpper, yLower);
    var result = Math.min(x, y);
    return doubleToReturnSlot(result);
  }
})

