1// 20.2.2.3 Math.acosh(x)
2var $export = require('./_export');
3var log1p = require('./_math-log1p');
4var sqrt = Math.sqrt;
5var $acosh = Math.acosh;
6
7$export($export.S + $export.F * !($acosh
8  // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509
9  && Math.floor($acosh(Number.MAX_VALUE)) == 710
10  // Tor Browser bug: Math.acosh(Infinity) -> NaN
11  && $acosh(Infinity) == Infinity
12), 'Math', {
13  acosh: function acosh(x) {
14    return (x = +x) < 1 ? NaN : x > 94906265.62425156
15      ? Math.log(x) + Math.LN2
16      : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));
17  }
18});
19