-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbreak_eternity.txt
1 lines (1 loc) · 56.9 KB
/
break_eternity.txt
1
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Decimal=t()}(this,(function(){"use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,(n=i.key,a=void 0,"symbol"==typeof(a=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(n,"string"))?a:String(a)),i)}var n,a}function r(e,r,i){return r&&t(e.prototype,r),i&&t(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}var i=function(){function t(r){e(this,t),this.map=new Map,this.first=void 0,this.last=void 0,this.maxSize=r}return r(t,[{key:"size",get:function(){return this.map.size}},{key:"get",value:function(e){var t=this.map.get(e);if(void 0!==t)return t!==this.first&&(t===this.last?(this.last=t.prev,this.last.next=void 0):(t.prev.next=t.next,t.next.prev=t.prev),t.next=this.first,this.first.prev=t,this.first=t),t.value}},{key:"set",value:function(e,t){if(!(this.maxSize<1)){if(this.map.has(e))throw new Error("Cannot update existing keys in the cache");var r=new n(e,t);for(void 0===this.first?(this.first=r,this.last=r):(r.next=this.first,this.first.prev=r,this.first=r),this.map.set(e,r);this.map.size>this.maxSize;){var i=this.last;this.map.delete(i.key),this.last=i.prev,this.last.next=void 0}}}}]),t}(),n=r((function t(r,i){e(this,t),this.next=void 0,this.prev=void 0,this.key=r,this.value=i})),a=9e15,s=Math.log10(9e15),u=1/9e15,o=function(){for(var e=[],t=-323;t<=308;t++)e.push(Number("1e"+t));return function(t){return e[t+323]}}(),l=[2,Math.E,3,4,5,6,7,8,9,10],h=[[1,1.0891180521811203,1.1789767925673957,1.2701455431742086,1.3632090180450092,1.4587818160364217,1.5575237916251419,1.6601571006859253,1.767485818836978,1.8804192098842727,2],[1,1.1121114330934079,1.231038924931609,1.3583836963111375,1.4960519303993531,1.6463542337511945,1.8121385357018724,1.996971324618307,2.2053895545527546,2.4432574483385254,Math.E],[1,1.1187738849693603,1.2464963939368214,1.38527004705667,1.5376664685821402,1.7068895236551784,1.897001227148399,2.1132403089001035,2.362480153784171,2.6539010333870774,3],[1,1.1367350847096405,1.2889510672956703,1.4606478703324786,1.6570295196661111,1.8850062585672889,2.1539465047453485,2.476829779693097,2.872061932789197,3.3664204535587183,4],[1,1.1494592900767588,1.319708228183931,1.5166291280087583,1.748171114438024,2.0253263297298045,2.3636668498288547,2.7858359149579424,3.3257226212448145,4.035730287722532,5],[1,1.159225940787673,1.343712473580932,1.5611293155111927,1.8221199554561318,2.14183924486326,2.542468319282638,3.0574682501653316,3.7390572020926873,4.6719550537360774,6],[1,1.1670905356972596,1.3632807444991446,1.5979222279405536,1.8842640123816674,2.2416069644878687,2.69893426559423,3.3012632110403577,4.121250340630164,5.281493033448316,7],[1,1.1736630594087796,1.379783782386201,1.6292821855668218,1.9378971836180754,2.3289975651071977,2.8384347394720835,3.5232708454565906,4.478242031114584,5.868592169644505,8],[1,1.1793017514670474,1.394054150657457,1.65664127441059,1.985170999970283,2.4069682290577457,2.9647310119960752,3.7278665320924946,4.814462547283592,6.436522247411611,9],[1,1.1840100246247336,1.4061375836156955,1.6802272208863964,2.026757028388619,2.4770056063449646,3.080525271755482,3.9191964192627284,5.135152840833187,6.989961179534715,10]],m=[[-1,-.9194161097107025,-.8335625019330468,-.7425599821143978,-.6466611521029437,-.5462617907227869,-.4419033816638769,-.3342645487554494,-.224140440909962,-.11241087890006762,0],[-1,-.90603157029014,-.80786507256596,-.7064666939634,-.60294836853664,-.49849837513117,-.39430303318768,-.29147201034755,-.19097820800866,-.09361896280296,0],[-1,-.9021579584316141,-.8005762598234203,-.6964780623319391,-.5911906810998454,-.486050182576545,-.3823089430815083,-.28106046722897615,-.1831906535795894,-.08935809204418144,0],[-1,-.8917227442365535,-.781258746326964,-.6705130326902455,-.5612813129406509,-.4551067709033134,-.35319256652135966,-.2563741554088552,-.1651412821106526,-.0796919581982668,0],[-1,-.8843387974366064,-.7678744063886243,-.6529563724510552,-.5415870994657841,-.4352842206588936,-.33504449124791424,-.24138853420685147,-.15445285440944467,-.07409659641336663,0],[-1,-.8786709358426346,-.7577735191184886,-.6399546189952064,-.527284921869926,-.4211627631006314,-.3223479611761232,-.23107655627789858,-.1472057700818259,-.07035171210706326,0],[-1,-.8740862815291583,-.7497032990976209,-.6297119746181752,-.5161838335958787,-.41036238255751956,-.31277212146489963,-.2233976621705518,-.1418697367979619,-.06762117662323441,0],[-1,-.8702632331800649,-.7430366914122081,-.6213373075161548,-.5072025698095242,-.40171437727184167,-.30517930701410456,-.21736343968190863,-.137710238299109,-.06550774483471955,0],[-1,-.8670016295947213,-.7373984232432306,-.6143173985094293,-.49973884395492807,-.394584953527678,-.2989649949848695,-.21245647317021688,-.13434688362382652,-.0638072667348083,0],[-1,-.8641642839543857,-.732534623168535,-.6083127477059322,-.4934049257184696,-.3885773075899922,-.29376029055315767,-.2083678561173622,-.13155653399373268,-.062401588652553186,0]],g=function(e){return p.fromValue_noAlloc(e)},f=function(e,t,r){return p.fromComponents(e,t,r)},N=function(e,t,r){return p.fromComponents_noNormalize(e,t,r)},c=function(e,t){var r=t+1,i=Math.ceil(Math.log10(Math.abs(e))),n=Math.round(e*Math.pow(10,r-i))*Math.pow(10,i-r);return parseFloat(n.toFixed(Math.max(r-i,0)))},v=function(e){return Math.sign(e)*Math.log10(Math.abs(e))},y=.5671432904097838,b=function(e){var t,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!Number.isFinite(e))return e;if(n){if(0===e)return e;if(1===e)return y;t=e<10?0:Math.log(e)-Math.log(Math.log(e))}else{if(0===e)return-1/0;t=e<=-.1?-2:Math.log(-e)-Math.log(-Math.log(-e))}for(var a=0;a<100;++a){if(r=(e*Math.exp(-t)+t*t)/(t+1),Math.abs(r-t)<i*Math.abs(r))return r;t=r}throw Error("Iteration failed to converge: ".concat(e.toString()))};function d(e){var t,r,i,n,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e-10,s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!Number.isFinite(e.mag))return new p(e);if(s){if(e.eq(p.dZero))return N(0,0,0);if(e.eq(p.dOne))return p.fromNumber(y);t=p.ln(e)}else{if(e.eq(p.dZero))return N(-1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);t=p.ln(e.neg())}for(var u=0;u<100;++u){if(r=t.neg().exp(),i=t.sub(e.mul(r)),n=t.sub(i.div(t.add(1).sub(t.add(2).mul(i).div(p.mul(2,t).add(2))))),p.abs(n.sub(t)).lt(p.abs(n).mul(a)))return n;t=n}throw Error("Iteration failed to converge: ".concat(e.toString()))}var p=function(){function t(r){e(this,t),this.sign=0,this.mag=0,this.layer=0,r instanceof t?this.fromDecimal(r):"number"==typeof r?this.fromNumber(r):"string"==typeof r&&this.fromString(r)}return r(t,[{key:"m",get:function(){if(0===this.sign)return 0;if(0===this.layer){var e,t=Math.floor(Math.log10(this.mag));return e=5e-324===this.mag?5:this.mag/o(t),this.sign*e}if(1===this.layer){var r=this.mag-Math.floor(this.mag);return this.sign*Math.pow(10,r)}return this.sign},set:function(e){this.layer<=2?this.fromMantissaExponent(e,this.e):(this.sign=Math.sign(e),0===this.sign&&(this.layer=0,this.exponent=0))}},{key:"e",get:function(){return 0===this.sign?0:0===this.layer?Math.floor(Math.log10(this.mag)):1===this.layer?Math.floor(this.mag):2===this.layer?Math.floor(Math.sign(this.mag)*Math.pow(10,Math.abs(this.mag))):this.mag*Number.POSITIVE_INFINITY},set:function(e){this.fromMantissaExponent(this.m,e)}},{key:"s",get:function(){return this.sign},set:function(e){0===e?(this.sign=0,this.layer=0,this.mag=0):this.sign=e}},{key:"mantissa",get:function(){return this.m},set:function(e){this.m=e}},{key:"exponent",get:function(){return this.e},set:function(e){this.e=e}},{key:"normalize",value:function(){if(0===this.sign||0===this.mag&&0===this.layer||this.mag===Number.NEGATIVE_INFINITY&&this.layer>0&&Number.isFinite(this.layer))return this.sign=0,this.mag=0,this.layer=0,this;if(0===this.layer&&this.mag<0&&(this.mag=-this.mag,this.sign=-this.sign),this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY||this.mag===Number.NEGATIVE_INFINITY||this.layer===Number.NEGATIVE_INFINITY)return this.mag=Number.POSITIVE_INFINITY,this.layer=Number.POSITIVE_INFINITY,this;if(0===this.layer&&this.mag<u)return this.layer+=1,this.mag=Math.log10(this.mag),this;var e=Math.abs(this.mag),t=Math.sign(this.mag);if(e>=a)return this.layer+=1,this.mag=t*Math.log10(e),this;for(;e<s&&this.layer>0;)this.layer-=1,0===this.layer?this.mag=Math.pow(10,this.mag):(this.mag=t*Math.pow(10,e),e=Math.abs(this.mag),t=Math.sign(this.mag));return 0===this.layer&&(this.mag<0?(this.mag=-this.mag,this.sign=-this.sign):0===this.mag&&(this.sign=0)),(Number.isNaN(this.sign)||Number.isNaN(this.layer)||Number.isNaN(this.mag))&&(this.sign=Number.NaN,this.layer=Number.NaN,this.mag=Number.NaN),this}},{key:"fromComponents",value:function(e,t,r){return this.sign=e,this.layer=t,this.mag=r,this.normalize(),this}},{key:"fromComponents_noNormalize",value:function(e,t,r){return this.sign=e,this.layer=t,this.mag=r,this}},{key:"fromMantissaExponent",value:function(e,t){return this.layer=1,this.sign=Math.sign(e),e=Math.abs(e),this.mag=t+Math.log10(e),this.normalize(),this}},{key:"fromMantissaExponent_noNormalize",value:function(e,t){return this.fromMantissaExponent(e,t),this}},{key:"fromDecimal",value:function(e){return this.sign=e.sign,this.layer=e.layer,this.mag=e.mag,this}},{key:"fromNumber",value:function(e){return this.mag=Math.abs(e),this.sign=Math.sign(e),this.layer=0,this.normalize(),this}},{key:"fromString",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=e,n=t.fromStringCache.get(i);if(void 0!==n)return this.fromDecimal(n);var a=(e=e.replace(",","")).split("^^^");if(2===a.length){var s=parseFloat(a[0]),u=parseFloat(a[1]),o=a[1].split(";"),l=1;if(2===o.length&&(l=parseFloat(o[1]),isFinite(l)||(l=1)),isFinite(s)&&isFinite(u)){var h=t.pentate(s,u,l,r);return this.sign=h.sign,this.layer=h.layer,this.mag=h.mag,t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),this}}var m=e.split("^^");if(2===m.length){var N=parseFloat(m[0]),c=parseFloat(m[1]),y=m[1].split(";"),b=1;if(2===y.length&&(b=parseFloat(y[1]),isFinite(b)||(b=1)),isFinite(N)&&isFinite(c)){var d=t.tetrate(N,c,b,r);return this.sign=d.sign,this.layer=d.layer,this.mag=d.mag,t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),this}}var p,I,k=e.split("^");if(2===k.length){var M=parseFloat(k[0]),w=parseFloat(k[1]);if(isFinite(M)&&isFinite(w)){var _=t.pow(M,w);return this.sign=_.sign,this.layer=_.layer,this.mag=_.mag,t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),this}}var F=(e=e.trim().toLowerCase()).split("pt");if(2===F.length){p=10;var q=!1;"-"==F[0][0]&&(q=!0,F[0]=F[0].slice(1)),I=parseFloat(F[0]),F[1]=F[1].replace("(",""),F[1]=F[1].replace(")","");var S=parseFloat(F[1]);if(isFinite(S)||(S=1),isFinite(p)&&isFinite(I)){var T=t.tetrate(p,I,S,r);return this.sign=T.sign,this.layer=T.layer,this.mag=T.mag,t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),q&&(this.sign*=-1),this}}if(2===(F=e.split("p")).length){p=10;var E=!1;"-"==F[0][0]&&(E=!0,F[0]=F[0].slice(1)),I=parseFloat(F[0]),F[1]=F[1].replace("(",""),F[1]=F[1].replace(")","");var x=parseFloat(F[1]);if(isFinite(x)||(x=1),isFinite(p)&&isFinite(I)){var O=t.tetrate(p,I,x,r);return this.sign=O.sign,this.layer=O.layer,this.mag=O.mag,t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),E&&(this.sign*=-1),this}}if(2===(F=e.split("f")).length){p=10;var V=!1;"-"==F[0][0]&&(V=!0,F[0]=F[0].slice(1)),F[0]=F[0].replace("(",""),F[0]=F[0].replace(")","");var P=parseFloat(F[0]);if(F[1]=F[1].replace("(",""),F[1]=F[1].replace(")",""),I=parseFloat(F[1]),isFinite(P)||(P=1),isFinite(p)&&isFinite(I)){var Y=t.tetrate(p,I,P,r);return this.sign=Y.sign,this.layer=Y.layer,this.mag=Y.mag,t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),V&&(this.sign*=-1),this}}var z=e.split("e"),C=z.length-1;if(0===C){var A=parseFloat(e);if(isFinite(A))return this.fromNumber(A),t.fromStringCache.size>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),this}else if(1===C){var Z=parseFloat(e);if(isFinite(Z)&&0!==Z)return this.fromNumber(Z),t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),this}var D=e.split("e^");if(2===D.length){this.sign=1,"-"==D[0].charAt(0)&&(this.sign=-1);for(var L="",G=0;G<D[1].length;++G){var U=D[1].charCodeAt(G);if(!(U>=43&&U<=57||101===U)){if(this.layer=parseFloat(L),this.mag=parseFloat(D[1].substr(G+1)),this.layer<0||this.layer%1!=0){var X=t.tetrate(10,this.layer,this.mag,r);this.sign=X.sign,this.layer=X.layer,this.mag=X.mag}return this.normalize(),t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),this}L+=D[1].charAt(G)}}if(C<1)return this.sign=0,this.layer=0,this.mag=0,t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),this;var j=parseFloat(z[0]);if(0===j)return this.sign=0,this.layer=0,this.mag=0,t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),this;var W=parseFloat(z[z.length-1]);if(C>=2){var B=parseFloat(z[z.length-2]);isFinite(B)&&(W*=Math.sign(B),W+=v(B))}if(isFinite(j))if(1===C)this.sign=Math.sign(j),this.layer=1,this.mag=W+Math.log10(Math.abs(j));else{if(this.sign=Math.sign(j),this.layer=C,2===C){var R=t.mul(f(1,2,W),g(j));return this.sign=R.sign,this.layer=R.layer,this.mag=R.mag,t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),this}this.mag=W}else this.sign="-"===z[0]?-1:1,this.layer=C,this.mag=W;return this.normalize(),t.fromStringCache.maxSize>=1&&t.fromStringCache.set(i,t.fromDecimal(this)),this}},{key:"fromValue",value:function(e){return e instanceof t?this.fromDecimal(e):"number"==typeof e?this.fromNumber(e):"string"==typeof e?this.fromString(e):(this.sign=0,this.layer=0,this.mag=0,this)}},{key:"toNumber",value:function(){return this.mag===Number.POSITIVE_INFINITY&&this.layer===Number.POSITIVE_INFINITY&&1===this.sign?Number.POSITIVE_INFINITY:this.mag===Number.POSITIVE_INFINITY&&this.layer===Number.POSITIVE_INFINITY&&-1===this.sign?Number.NEGATIVE_INFINITY:Number.isFinite(this.layer)?0===this.layer?this.sign*this.mag:1===this.layer?this.sign*Math.pow(10,this.mag):this.mag>0?this.sign>0?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:0:Number.NaN}},{key:"mantissaWithDecimalPlaces",value:function(e){return isNaN(this.m)?Number.NaN:0===this.m?0:c(this.m,e)}},{key:"magnitudeWithDecimalPlaces",value:function(e){return isNaN(this.mag)?Number.NaN:0===this.mag?0:c(this.mag,e)}},{key:"toString",value:function(){return isNaN(this.layer)||isNaN(this.sign)||isNaN(this.mag)?"NaN":this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY?1===this.sign?"Infinity":"-Infinity":0===this.layer?this.mag<1e21&&this.mag>1e-7||0===this.mag?(this.sign*this.mag).toString():this.m+"e"+this.e:1===this.layer?this.m+"e"+this.e:this.layer<=5?(-1===this.sign?"-":"")+"e".repeat(this.layer)+this.mag:(-1===this.sign?"-":"")+"(e^"+this.layer+")"+this.mag}},{key:"toExponential",value:function(e){return 0===this.layer?(this.sign*this.mag).toExponential(e):this.toStringWithDecimalPlaces(e)}},{key:"toFixed",value:function(e){return 0===this.layer?(this.sign*this.mag).toFixed(e):this.toStringWithDecimalPlaces(e)}},{key:"toPrecision",value:function(e){return this.e<=-7?this.toExponential(e-1):e>this.e?this.toFixed(e-this.exponent-1):this.toExponential(e-1)}},{key:"valueOf",value:function(){return this.toString()}},{key:"toJSON",value:function(){return this.toString()}},{key:"toStringWithDecimalPlaces",value:function(e){return 0===this.layer?this.mag<1e21&&this.mag>1e-7||0===this.mag?(this.sign*this.mag).toFixed(e):c(this.m,e)+"e"+c(this.e,e):1===this.layer?c(this.m,e)+"e"+c(this.e,e):this.layer<=5?(-1===this.sign?"-":"")+"e".repeat(this.layer)+c(this.mag,e):(-1===this.sign?"-":"")+"(e^"+this.layer+")"+c(this.mag,e)}},{key:"abs",value:function(){return N(0===this.sign?0:1,this.layer,this.mag)}},{key:"neg",value:function(){return N(-this.sign,this.layer,this.mag)}},{key:"negate",value:function(){return this.neg()}},{key:"negated",value:function(){return this.neg()}},{key:"sgn",value:function(){return this.sign}},{key:"round",value:function(){return this.mag<0?N(0,0,0):0===this.layer?f(this.sign,0,Math.round(this.mag)):new t(this)}},{key:"floor",value:function(){return this.mag<0?-1===this.sign?N(-1,0,1):N(0,0,0):-1===this.sign?this.neg().ceil().neg():0===this.layer?f(this.sign,0,Math.floor(this.mag)):new t(this)}},{key:"ceil",value:function(){return this.mag<0?1===this.sign?N(1,0,1):N(0,0,0):-1===this.sign?this.neg().floor().neg():0===this.layer?f(this.sign,0,Math.ceil(this.mag)):new t(this)}},{key:"trunc",value:function(){return this.mag<0?N(0,0,0):0===this.layer?f(this.sign,0,Math.trunc(this.mag)):new t(this)}},{key:"add",value:function(e){var r,i,n=g(e);if(this.eq(t.dInf)&&n.eq(t.dNegInf)||this.eq(t.dNegInf)&&n.eq(t.dInf))return N(Number.NaN,Number.NaN,Number.NaN);if(!Number.isFinite(this.layer))return new t(this);if(!Number.isFinite(n.layer))return new t(n);if(0===this.sign)return new t(n);if(0===n.sign)return new t(this);if(this.sign===-n.sign&&this.layer===n.layer&&this.mag===n.mag)return N(0,0,0);if(this.layer>=2||n.layer>=2)return this.maxabs(n);if(t.cmpabs(this,n)>0?(r=new t(this),i=new t(n)):(r=new t(n),i=new t(this)),0===r.layer&&0===i.layer)return t.fromNumber(r.sign*r.mag+i.sign*i.mag);var a=r.layer*Math.sign(r.mag),s=i.layer*Math.sign(i.mag);if(a-s>=2)return r;if(0===a&&-1===s){if(Math.abs(i.mag-Math.log10(r.mag))>17)return r;var u=Math.pow(10,Math.log10(r.mag)-i.mag),o=i.sign+r.sign*u;return f(Math.sign(o),1,i.mag+Math.log10(Math.abs(o)))}if(1===a&&0===s){if(Math.abs(r.mag-Math.log10(i.mag))>17)return r;var l=Math.pow(10,r.mag-Math.log10(i.mag)),h=i.sign+r.sign*l;return f(Math.sign(h),1,Math.log10(i.mag)+Math.log10(Math.abs(h)))}if(Math.abs(r.mag-i.mag)>17)return r;var m=Math.pow(10,r.mag-i.mag),c=i.sign+r.sign*m;return f(Math.sign(c),1,i.mag+Math.log10(Math.abs(c)))}},{key:"plus",value:function(e){return this.add(e)}},{key:"sub",value:function(e){return this.add(g(e).neg())}},{key:"subtract",value:function(e){return this.sub(e)}},{key:"minus",value:function(e){return this.sub(e)}},{key:"mul",value:function(e){var r,i,n=g(e);if(this.eq(t.dInf)&&n.eq(t.dNegInf)||this.eq(t.dNegInf)&&n.eq(t.dInf))return N(-1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);if(this.mag==Number.POSITIVE_INFINITY&&n.eq(t.dZero)||this.eq(t.dZero)&&this.mag==Number.POSITIVE_INFINITY)return N(Number.NaN,Number.NaN,Number.NaN);if(!Number.isFinite(this.layer))return new t(this);if(!Number.isFinite(n.layer))return new t(n);if(0===this.sign||0===n.sign)return N(0,0,0);if(this.layer===n.layer&&this.mag===-n.mag)return N(this.sign*n.sign,0,1);if(this.layer>n.layer||this.layer==n.layer&&Math.abs(this.mag)>Math.abs(n.mag)?(r=new t(this),i=new t(n)):(r=new t(n),i=new t(this)),0===r.layer&&0===i.layer)return t.fromNumber(r.sign*i.sign*r.mag*i.mag);if(r.layer>=3||r.layer-i.layer>=2)return f(r.sign*i.sign,r.layer,r.mag);if(1===r.layer&&0===i.layer)return f(r.sign*i.sign,1,r.mag+Math.log10(i.mag));if(1===r.layer&&1===i.layer)return f(r.sign*i.sign,1,r.mag+i.mag);if(2===r.layer&&1===i.layer){var a=f(Math.sign(r.mag),r.layer-1,Math.abs(r.mag)).add(f(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return f(r.sign*i.sign,a.layer+1,a.sign*a.mag)}if(2===r.layer&&2===i.layer){var s=f(Math.sign(r.mag),r.layer-1,Math.abs(r.mag)).add(f(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return f(r.sign*i.sign,s.layer+1,s.sign*s.mag)}throw Error("Bad arguments to mul: "+this+", "+e)}},{key:"multiply",value:function(e){return this.mul(e)}},{key:"times",value:function(e){return this.mul(e)}},{key:"div",value:function(e){var t=g(e);return this.mul(t.recip())}},{key:"divide",value:function(e){return this.div(e)}},{key:"divideBy",value:function(e){return this.div(e)}},{key:"dividedBy",value:function(e){return this.div(e)}},{key:"recip",value:function(){return 0===this.mag?N(Number.NaN,Number.NaN,Number.NaN):this.mag===Number.POSITIVE_INFINITY?N(0,0,0):0===this.layer?f(this.sign,0,1/this.mag):f(this.sign,this.layer,-this.mag)}},{key:"reciprocal",value:function(){return this.recip()}},{key:"reciprocate",value:function(){return this.recip()}},{key:"mod",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=g(e),n=i.abs();if(this.eq(t.dZero)||n.eq(t.dZero))return N(0,0,0);if(r){var a=this.abs().mod(n);return-1==this.sign!=(-1==i.sign)&&(a=i.abs().sub(a)),a.mul(i.sign)}var s=this.toNumber(),u=n.toNumber();return isFinite(s)&&isFinite(u)&&0!=s&&0!=u?new t(s%u):this.sub(n).eq(this)?N(0,0,0):n.sub(this).eq(n)?new t(this):-1==this.sign?this.abs().mod(n).neg():this.sub(this.div(n).floor().mul(n))}},{key:"modulo",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.mod(e,t)}},{key:"modular",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.mod(e,t)}},{key:"cmp",value:function(e){var t=g(e);return this.sign>t.sign?1:this.sign<t.sign?-1:this.sign*this.cmpabs(e)}},{key:"cmpabs",value:function(e){var t=g(e),r=this.mag>0?this.layer:-this.layer,i=t.mag>0?t.layer:-t.layer;return r>i?1:r<i?-1:this.mag>t.mag?1:this.mag<t.mag?-1:0}},{key:"compare",value:function(e){return this.cmp(e)}},{key:"isNan",value:function(){return isNaN(this.sign)||isNaN(this.layer)||isNaN(this.mag)}},{key:"isFinite",value:function(e){function t(){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(){return isFinite(this.sign)&&isFinite(this.layer)&&isFinite(this.mag)}))},{key:"eq",value:function(e){var t=g(e);return this.sign===t.sign&&this.layer===t.layer&&this.mag===t.mag}},{key:"equals",value:function(e){return this.eq(e)}},{key:"neq",value:function(e){return!this.eq(e)}},{key:"notEquals",value:function(e){return this.neq(e)}},{key:"lt",value:function(e){return-1===this.cmp(e)}},{key:"lte",value:function(e){return!this.gt(e)}},{key:"gt",value:function(e){return 1===this.cmp(e)}},{key:"gte",value:function(e){return!this.lt(e)}},{key:"max",value:function(e){var r=g(e);return this.lt(r)?new t(r):new t(this)}},{key:"min",value:function(e){var r=g(e);return this.gt(r)?new t(r):new t(this)}},{key:"maxabs",value:function(e){var r=g(e);return this.cmpabs(r)<0?new t(r):new t(this)}},{key:"minabs",value:function(e){var r=g(e);return this.cmpabs(r)>0?new t(r):new t(this)}},{key:"clamp",value:function(e,t){return this.max(e).min(t)}},{key:"clampMin",value:function(e){return this.max(e)}},{key:"clampMax",value:function(e){return this.min(e)}},{key:"cmp_tolerance",value:function(e,t){var r=g(e);return this.eq_tolerance(r,t)?0:this.cmp(r)}},{key:"compare_tolerance",value:function(e,t){return this.cmp_tolerance(e,t)}},{key:"eq_tolerance",value:function(e,t){var r=g(e);if(null==t&&(t=1e-7),this.sign!==r.sign)return!1;if(Math.abs(this.layer-r.layer)>1)return!1;var i=this.mag,n=r.mag;return this.layer>r.layer&&(n=v(n)),this.layer<r.layer&&(i=v(i)),Math.abs(i-n)<=t*Math.max(Math.abs(i),Math.abs(n))}},{key:"equals_tolerance",value:function(e,t){return this.eq_tolerance(e,t)}},{key:"neq_tolerance",value:function(e,t){return!this.eq_tolerance(e,t)}},{key:"notEquals_tolerance",value:function(e,t){return this.neq_tolerance(e,t)}},{key:"lt_tolerance",value:function(e,t){var r=g(e);return!this.eq_tolerance(r,t)&&this.lt(r)}},{key:"lte_tolerance",value:function(e,t){var r=g(e);return this.eq_tolerance(r,t)||this.lt(r)}},{key:"gt_tolerance",value:function(e,t){var r=g(e);return!this.eq_tolerance(r,t)&&this.gt(r)}},{key:"gte_tolerance",value:function(e,t){var r=g(e);return this.eq_tolerance(r,t)||this.gt(r)}},{key:"pLog10",value:function(){return this.lt(t.dZero)?N(0,0,0):this.log10()}},{key:"absLog10",value:function(){return 0===this.sign?N(Number.NaN,Number.NaN,Number.NaN):this.layer>0?f(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):f(1,0,Math.log10(this.mag))}},{key:"log10",value:function(){return this.sign<=0?N(Number.NaN,Number.NaN,Number.NaN):this.layer>0?f(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):f(this.sign,0,Math.log10(this.mag))}},{key:"log",value:function(e){return e=g(e),this.sign<=0||e.sign<=0||1===e.sign&&0===e.layer&&1===e.mag?N(Number.NaN,Number.NaN,Number.NaN):0===this.layer&&0===e.layer?f(this.sign,0,Math.log(this.mag)/Math.log(e.mag)):t.div(this.log10(),e.log10())}},{key:"log2",value:function(){return this.sign<=0?N(Number.NaN,Number.NaN,Number.NaN):0===this.layer?f(this.sign,0,Math.log2(this.mag)):1===this.layer?f(Math.sign(this.mag),0,3.321928094887362*Math.abs(this.mag)):2===this.layer?f(Math.sign(this.mag),1,Math.abs(this.mag)+.5213902276543247):f(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}},{key:"ln",value:function(){return this.sign<=0?N(Number.NaN,Number.NaN,Number.NaN):0===this.layer?f(this.sign,0,Math.log(this.mag)):1===this.layer?f(Math.sign(this.mag),0,2.302585092994046*Math.abs(this.mag)):2===this.layer?f(Math.sign(this.mag),1,Math.abs(this.mag)+.36221568869946325):f(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}},{key:"logarithm",value:function(e){return this.log(e)}},{key:"pow",value:function(e){var r=g(e),i=new t(this),n=new t(r);if(0===i.sign)return n.eq(0)?N(1,0,1):i;if(1===i.sign&&0===i.layer&&1===i.mag)return i;if(0===n.sign)return N(1,0,1);if(1===n.sign&&0===n.layer&&1===n.mag)return i;var a=i.absLog10().mul(n).pow10();return-1===this.sign?Math.abs(n.toNumber()%2)%2==1?a.neg():Math.abs(n.toNumber()%2)%2==0?a:N(Number.NaN,Number.NaN,Number.NaN):a}},{key:"pow10",value:function(){if(this.eq(t.dInf))return N(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);if(this.eq(t.dNegInf))return N(0,0,0);if(!Number.isFinite(this.layer)||!Number.isFinite(this.mag))return N(Number.NaN,Number.NaN,Number.NaN);var e=new t(this);if(0===e.layer){var r=Math.pow(10,e.sign*e.mag);if(Number.isFinite(r)&&Math.abs(r)>=.1)return f(1,0,r);if(0===e.sign)return N(1,0,1);e=N(e.sign,e.layer+1,Math.log10(e.mag))}return e.sign>0&&e.mag>=0?f(e.sign,e.layer+1,e.mag):e.sign<0&&e.mag>=0?f(-e.sign,e.layer+1,-e.mag):N(1,0,1)}},{key:"pow_base",value:function(e){return g(e).pow(this)}},{key:"root",value:function(e){var t=g(e);return this.pow(t.recip())}},{key:"factorial",value:function(){return this.mag<0||0===this.layer?this.add(1).gamma():1===this.layer?t.exp(t.mul(this,t.ln(this).sub(1))):t.exp(this)}},{key:"gamma",value:function(){if(this.mag<0)return this.recip();if(0===this.layer){if(this.lt(N(1,0,24)))return t.fromNumber(function(e){if(!isFinite(e))return e;if(e<-50)return e===Math.trunc(e)?Number.NEGATIVE_INFINITY:0;for(var t=1;e<10;)t*=e,++e;var r=.9189385332046727;r+=((e-=1)+.5)*Math.log(e),r-=e;var i=e*e,n=e;return r+=1/(12*n),r-=1/(360*(n*=i)),r+=1/(1260*(n*=i)),r-=1/(1680*(n*=i)),r+=1/(1188*(n*=i)),r-=691/(360360*(n*=i)),r+=7/(1092*(n*=i)),r-=3617/(122400*(n*=i)),Math.exp(r)/t}(this.sign*this.mag));var e=this.mag-1,r=.9189385332046727;r+=(e+.5)*Math.log(e);var i=e*e,n=e,a=12*n,s=1/a,u=(r-=e)+s;if(u===r)return t.exp(r);if((u=(r=u)-(s=1/(a=360*(n*=i))))===r)return t.exp(r);r=u;var o=1/(a=1260*(n*=i));return r+=o,r-=o=1/(a=1680*(n*=i)),t.exp(r)}return 1===this.layer?t.exp(t.mul(this,t.ln(this).sub(1))):t.exp(this)}},{key:"lngamma",value:function(){return this.gamma().ln()}},{key:"exp",value:function(){return this.mag<0?N(1,0,1):0===this.layer&&this.mag<=709.7?t.fromNumber(Math.exp(this.sign*this.mag)):0===this.layer?f(1,1,this.sign*Math.log10(Math.E)*this.mag):1===this.layer?f(1,2,this.sign*(Math.log10(.4342944819032518)+this.mag)):f(1,this.layer+1,this.sign*this.mag)}},{key:"sqr",value:function(){return this.pow(2)}},{key:"sqrt",value:function(){if(0===this.layer)return t.fromNumber(Math.sqrt(this.sign*this.mag));if(1===this.layer)return f(1,2,Math.log10(this.mag)-.3010299956639812);var e=t.div(N(this.sign,this.layer-1,this.mag),N(1,0,2));return e.layer+=1,e.normalize(),e}},{key:"cube",value:function(){return this.pow(3)}},{key:"cbrt",value:function(){return this.pow(1/3)}},{key:"tetrate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N(1,0,1),i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(1===e)return t.pow(this,r);if(0===e)return new t(r);if(this.eq(t.dOne))return N(1,0,1);if(this.eq(-1))return t.pow(this,r);if(e===Number.POSITIVE_INFINITY){var n=this.toNumber();if(n<=1.444667861009766&&n>=.06598803584531254){var a=t.ln(this).neg(),s=a.lambertw().div(a);if(n<1)return s;var u=a.lambertw(!1).div(a);return n>1.444667861009099&&(s=u=t.fromNumber(Math.E)),(r=g(r)).eq(u)?u:r.lt(u)?s:N(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY)}return n>1.444667861009766?N(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY):N(Number.NaN,Number.NaN,Number.NaN)}if(this.eq(t.dZero)){var o=Math.abs((e+1)%2);return o>1&&(o=2-o),t.fromNumber(o)}if(e<0)return t.iteratedlog(r,this,-e,i);r=new t(r);var l=e,h=l-(e=Math.trunc(e));if(this.gt(t.dZero)&&(this.lt(1)||this.lte(1.444667861009766)&&r.lte(t.ln(this).neg().lambertw(!1).div(t.ln(this).neg())))&&(l>1e4||!i)){var m=Math.min(1e4,e);r=r.eq(t.dOne)?this.pow(h):this.lt(1)?r.pow(1-h).mul(this.pow(r).pow(h)):r.layeradd(h,this);for(var f=0;f<m;++f){var c=r;if(r=this.pow(r),c.eq(r))return r}return l>1e4&&Math.ceil(l)%2==1?this.pow(r):r}0!==h&&(r.eq(t.dOne)?this.gt(10)||i?r=this.pow(h):(r=t.fromNumber(t.tetrate_critical(this.toNumber(),h)),this.lt(2)&&(r=r.sub(1).mul(this.minus(1)).plus(1))):r=this.eq(10)?r.layeradd10(h,i):this.lt(1)?r.pow(1-h).mul(this.pow(r).pow(h)):r.layeradd(h,this,i));for(var v=0;v<e;++v){if(r=this.pow(r),!isFinite(r.layer)||!isFinite(r.mag))return r.normalize();if(r.layer-this.layer>3)return N(r.sign,r.layer+(e-v-1),r.mag);if(v>1e4)return r}return r}},{key:"iteratedexp",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N(1,0,1),r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.tetrate(e,t,r)}},{key:"iteratedlog",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(r<0)return t.tetrate(e,-r,this,i);e=g(e);var n=t.fromDecimal(this),a=r,s=a-(r=Math.trunc(r));if(n.layer-e.layer>3){var u=Math.min(r,n.layer-e.layer-3);r-=u,n.layer-=u}for(var o=0;o<r;++o){if(n=n.log(e),!isFinite(n.layer)||!isFinite(n.mag))return n.normalize();if(o>1e4)return n}return s>0&&s<1&&(n=e.eq(10)?n.layeradd10(-s,i):n.layeradd(-s,e,i)),n}},{key:"slog",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=.001,a=!1,s=!1,u=this.slog_internal(e,i).toNumber(),o=1;o<r;++o){var l=new t(e).tetrate(u,t.dOne,i),h=l.gt(this);if(o>1&&s!=h&&(a=!0),s=h,a?n/=2:n*=2,u+=n=Math.abs(n)*(h?-1:1),0===n)break}return t.fromNumber(u)}},{key:"slog_internal",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if((e=g(e)).lte(t.dZero))return N(Number.NaN,Number.NaN,Number.NaN);if(e.eq(t.dOne))return N(Number.NaN,Number.NaN,Number.NaN);if(e.lt(t.dOne))return this.eq(t.dOne)?N(0,0,0):this.eq(t.dZero)?N(-1,0,1):N(Number.NaN,Number.NaN,Number.NaN);if(this.mag<0||this.eq(t.dZero))return N(-1,0,1);if(e.lt(1.444667861009766)){var i=t.ln(e).neg(),n=i.lambertw().div(i);if(this.eq(n))return N(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);if(this.gt(n))return N(Number.NaN,Number.NaN,Number.NaN)}var a=0,s=t.fromDecimal(this);if(s.layer-e.layer>3){var u=s.layer-e.layer-3;a+=u,s.layer-=u}for(var o=0;o<100;++o)if(s.lt(t.dZero))s=t.pow(e,s),a-=1;else{if(s.lte(t.dOne))return r?t.fromNumber(a+s.toNumber()-1):t.fromNumber(a+t.slog_critical(e.toNumber(),s.toNumber()));a+=1,s=t.log(s,e)}return t.fromNumber(a)}},{key:"layeradd10",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e=t.fromValue_noAlloc(e).toNumber();var i=t.fromDecimal(this);if(e>=1){i.mag<0&&i.layer>0?(i.sign=0,i.mag=0,i.layer=0):-1===i.sign&&0==i.layer&&(i.sign=1,i.mag=-i.mag);var n=Math.trunc(e);e-=n,i.layer+=n}if(e<=-1){var a=Math.trunc(e);if(e-=a,i.layer+=a,i.layer<0)for(var s=0;s<100;++s){if(i.layer++,i.mag=Math.log10(i.mag),!isFinite(i.mag))return 0===i.sign&&(i.sign=1),i.layer<0&&(i.layer=0),i.normalize();if(i.layer>=0)break}}for(;i.layer<0;)i.layer++,i.mag=Math.log10(i.mag);return 0===i.sign&&(i.sign=1,0===i.mag&&i.layer>=1&&(i.layer-=1,i.mag=1)),i.normalize(),0!==e?i.layeradd(e,10,r):i}},{key:"layeradd",value:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=g(r);if(n.gt(1)&&n.lte(1.444667861009766)){var a=t.excess_slog(this,r,i),s=a[0].toNumber(),u=a[1],o=s+e,l=t.ln(r).neg(),h=l.lambertw().div(l),m=l.lambertw(!1).div(l),f=t.dOne;1==u?f=h.mul(m).sqrt():2==u&&(f=m.mul(2));var c=n.pow(f),v=Math.floor(o),y=o-v,b=f.pow(1-y).mul(c.pow(y));return t.tetrate(n,v,b,i)}var d=this.slog(r,100,i).toNumber(),p=d+e;return p>=0?t.tetrate(r,p,t.dOne,i):Number.isFinite(p)?p>=-1?t.log(t.tetrate(r,p+1,t.dOne,i),r):t.log(t.log(t.tetrate(r,p+2,t.dOne,i),r),r):N(Number.NaN,Number.NaN,Number.NaN)}},{key:"lambertw",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this.lt(-.3678794411710499)?N(Number.NaN,Number.NaN,Number.NaN):e?this.abs().lt("1e-300")?new t(this):this.mag<0?t.fromNumber(b(this.toNumber())):0===this.layer?t.fromNumber(b(this.sign*this.mag)):this.lt("eee15")?d(this):this.ln():1===this.sign?N(Number.NaN,Number.NaN,Number.NaN):0===this.layer?t.fromNumber(b(this.sign*this.mag,1e-10,!1)):1==this.layer?d(this,1e-10,!1):this.neg().recip().lambertw().neg()}},{key:"ssqrt",value:function(){return this.linear_sroot(2)}},{key:"linear_sroot",value:function(e){if(1==e)return this;if(this.eq(t.dInf))return N(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);if(!this.isFinite())return N(Number.NaN,Number.NaN,Number.NaN);if(e>0&&e<1)return this.root(e);if(e>-2&&e<-1)return t.fromNumber(e).add(2).pow(this.recip());if(e<=0)return N(Number.NaN,Number.NaN,Number.NaN);if(e==Number.POSITIVE_INFINITY){var r=this.toNumber();return r<Math.E&&r>.36787944117144233?this.pow(this.recip()):N(Number.NaN,Number.NaN,Number.NaN)}if(this.eq(1))return N(1,0,1);if(this.lt(0))return N(Number.NaN,Number.NaN,Number.NaN);if(this.lte("1ee-16"))return e%2==1?new t(this):N(Number.NaN,Number.NaN,Number.NaN);if(this.gt(1)){var i=t.dTen;this.gte(t.tetrate(10,e,1,!0))&&(i=this.iteratedlog(10,e-1,!0)),e<=1&&(i=this.root(e));for(var n=t.dZero,a=i.layer,s=i.iteratedlog(10,a,!0),u=s,o=s.div(2),l=!0;l;)o=n.add(s).div(2),t.iteratedexp(10,a,o,!0).tetrate(e,1,!0).gt(this)?s=o:n=o,o.eq(u)?l=!1:u=o;return t.iteratedexp(10,a,o,!0)}for(var h=1,m=f(1,10,1),g=f(1,10,1),c=f(1,10,1),v=f(1,1,-16),y=t.dZero,b=f(1,10,1),d=v.pow10().recip(),p=t.dZero,I=d,k=d,M=Math.ceil(e)%2==0,w=0,_=f(1,10,1),F=!1,q=t.dZero,S=!1;h<4;){if(2==h){if(M)break;c=f(1,10,1),v=m,h=3,b=f(1,10,1),_=f(1,10,1)}for(F=!1;v.neq(c);){if(q=v,v.pow10().recip().tetrate(e,1,!0).eq(1)&&v.pow10().recip().lt(.4))d=v.pow10().recip(),I=v.pow10().recip(),k=v.pow10().recip(),p=t.dZero,w=-1,3==h&&(_=v);else if(v.pow10().recip().tetrate(e,1,!0).eq(v.pow10().recip())&&!M&&v.pow10().recip().lt(.4))d=v.pow10().recip(),I=v.pow10().recip(),k=v.pow10().recip(),p=t.dZero,w=0;else if(v.pow10().recip().tetrate(e,1,!0).eq(v.pow10().recip().mul(2).tetrate(e,1,!0)))d=v.pow10().recip(),I=t.dZero,k=d.mul(2),p=d,w=M?-1:0;else{for(y=v.mul(12e-17),d=v.pow10().recip(),I=v.add(y).pow10().recip(),p=d.sub(I),k=d.add(p);I.tetrate(e,1,!0).eq(d.tetrate(e,1,!0))||k.tetrate(e,1,!0).eq(d.tetrate(e,1,!0))||I.gte(d)||k.lte(d);)y=y.mul(2),I=v.add(y).pow10().recip(),p=d.sub(I),k=d.add(p);if((1==h&&k.tetrate(e,1,!0).gt(d.tetrate(e,1,!0))&&I.tetrate(e,1,!0).gt(d.tetrate(e,1,!0))||3==h&&k.tetrate(e,1,!0).lt(d.tetrate(e,1,!0))&&I.tetrate(e,1,!0).lt(d.tetrate(e,1,!0)))&&(_=v),k.tetrate(e,1,!0).lt(d.tetrate(e,1,!0)))w=-1;else if(M)w=1;else if(3==h&&v.gt_tolerance(m,1e-8))w=0;else{for(;I.tetrate(e,1,!0).eq_tolerance(d.tetrate(e,1,!0),1e-8)||k.tetrate(e,1,!0).eq_tolerance(d.tetrate(e,1,!0),1e-8)||I.gte(d)||k.lte(d);)y=y.mul(2),I=v.add(y).pow10().recip(),p=d.sub(I),k=d.add(p);w=k.tetrate(e,1,!0).sub(d.tetrate(e,1,!0)).lt(d.tetrate(e,1,!0).sub(I.tetrate(e,1,!0)))?0:1}}if(-1==w&&(S=!0),1==h&&1==w||3==h&&0!=w)if(c.eq(f(1,10,1)))v=v.mul(2);else{var T=!1;if(F&&(1==w&&1==h||-1==w&&3==h)&&(T=!0),v=v.add(c).div(2),T)break}else if(c.eq(f(1,10,1)))c=v,v=v.div(2);else{var E=!1;if(F&&(1==w&&1==h||-1==w&&3==h)&&(E=!0),c=c.sub(b),v=v.sub(b),E)break}if(c.sub(v).div(2).abs().gt(b.mul(1.5))&&(F=!0),b=c.sub(v).div(2).abs(),v.gt("1e18"))break;if(v.eq(q))break}if(v.gt("1e18"))break;if(!S)break;if(_==f(1,10,1))break;1==h?m=_:3==h&&(g=_),h++}c=m;for(var x=v=f(1,1,-18),O=t.dZero,V=!0;V;)if(O=c.eq(f(1,10,1))?v.mul(2):c.add(v).div(2),t.pow(10,O).recip().tetrate(e,1,!0).gt(this)?v=O:c=O,O.eq(x)?V=!1:x=O,v.gt("1e18"))return N(Number.NaN,Number.NaN,Number.NaN);if(O.eq_tolerance(m,1e-15)){if(g.eq(f(1,10,1)))return N(Number.NaN,Number.NaN,Number.NaN);for(c=f(1,10,1),x=v=g,O=t.dZero,V=!0;V;)if(O=c.eq(f(1,10,1))?v.mul(2):c.add(v).div(2),t.pow(10,O).recip().tetrate(e,1,!0).gt(this)?v=O:c=O,O.eq(x)?V=!1:x=O,v.gt("1e18"))return N(Number.NaN,Number.NaN,Number.NaN);return O.pow10().recip()}return O.pow10().recip()}},{key:"pentate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N(1,0,1),i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];r=new t(r);var n=e,a=n-(e=Math.floor(e)),s=t.dZero,u=t.dZero;if(0!==a){if(!r.eq(t.dOne))return this.pentate(r.penta_log(this,void 0,i).plus(n).toNumber(),1,i);++e,r=t.fromNumber(a)}if(e>0)for(var o=0;o<e;){if(u=s,s=r,r=this.tetrate(r.toNumber(),t.dOne,i),++o,this.gt(0)&&this.lte(1)&&r.gt(0)&&r.lte(1))return this.tetrate(e-o,r,i);if(r.eq(s)||r.eq(u)&&o%2==e%2)return r.normalize();if(!isFinite(r.layer)||!isFinite(r.mag))return r.normalize();if(o>1e4)return r}else for(var l=0;l<-e;++l){if(s=r,(r=r.slog(this,void 0,i)).eq(s))return r.normalize();if(!isFinite(r.layer)||!isFinite(r.mag))return r.normalize();if(l>100)return r}return r}},{key:"penta_log",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:100,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if((e=new t(e)).lte(1))return N(Number.NaN,Number.NaN,Number.NaN);if(this.eq(1))return N(0,0,0);if(this.eq(t.dInf))return N(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);var n=new t(1),a=0,s=1;if(this.lt(-1)){if(this.lte(-2))return N(Number.NaN,Number.NaN,Number.NaN);var u=e.tetrate(this.toNumber(),1,i);if(this.eq(u))return N(-1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);if(this.gt(u))return N(Number.NaN,Number.NaN,Number.NaN)}if(this.gt(1)){for(;n.lt(this);)if(a++,n=t.tetrate(e,n.toNumber(),1,i),a>1e3)return N(Number.NaN,Number.NaN,Number.NaN)}else for(;n.gt(this);)if(a--,n=t.slog(n,e,i),a>100)return N(Number.NaN,Number.NaN,Number.NaN);for(var o=1;o<r;++o){var l=e.pentate(a,t.dOne,i);if(l.eq(this))break;var h=l.gt(this);if(a+=s=Math.abs(s)*(h?-1:1),0===(s/=2))break}return t.fromNumber(a)}},{key:"linear_penta_root",value:function(e){return 1==e?this:e<0?N(Number.NaN,Number.NaN,Number.NaN):this.eq(t.dInf)?N(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY):this.isFinite()?e>0&&e<1?this.root(e):this.eq(1)?N(1,0,1):this.lt(0)?N(Number.NaN,Number.NaN,Number.NaN):this.lt(1)?this.linear_sroot(e):t.increasingInverse((function(r){return t.pentate(r,e,1,!0)}))(this):N(Number.NaN,Number.NaN,Number.NaN)}},{key:"sin",value:function(){return this.mag<0?new t(this):0===this.layer?t.fromNumber(Math.sin(this.sign*this.mag)):N(0,0,0)}},{key:"cos",value:function(){return this.mag<0?N(1,0,1):0===this.layer?t.fromNumber(Math.cos(this.sign*this.mag)):N(0,0,0)}},{key:"tan",value:function(){return this.mag<0?new t(this):0===this.layer?t.fromNumber(Math.tan(this.sign*this.mag)):N(0,0,0)}},{key:"asin",value:function(){return this.mag<0?new t(this):0===this.layer?t.fromNumber(Math.asin(this.sign*this.mag)):N(Number.NaN,Number.NaN,Number.NaN)}},{key:"acos",value:function(){return this.mag<0?t.fromNumber(Math.acos(this.toNumber())):0===this.layer?t.fromNumber(Math.acos(this.sign*this.mag)):N(Number.NaN,Number.NaN,Number.NaN)}},{key:"atan",value:function(){return this.mag<0?new t(this):0===this.layer?t.fromNumber(Math.atan(this.sign*this.mag)):t.fromNumber(Math.atan(Infinity*this.sign))}},{key:"sinh",value:function(){return this.exp().sub(this.negate().exp()).div(2)}},{key:"cosh",value:function(){return this.exp().add(this.negate().exp()).div(2)}},{key:"tanh",value:function(){return this.sinh().div(this.cosh())}},{key:"asinh",value:function(){return t.ln(this.add(this.sqr().add(1).sqrt()))}},{key:"acosh",value:function(){return t.ln(this.add(this.sqr().sub(1).sqrt()))}},{key:"atanh",value:function(){return this.abs().gte(1)?N(Number.NaN,Number.NaN,Number.NaN):t.ln(this.add(1).div(t.fromNumber(1).sub(this))).div(2)}},{key:"ascensionPenalty",value:function(e){return 0===e?new t(this):this.root(t.pow(10,e))}},{key:"egg",value:function(){return this.add(9)}},{key:"lessThanOrEqualTo",value:function(e){return this.cmp(e)<1}},{key:"lessThan",value:function(e){return this.cmp(e)<0}},{key:"greaterThanOrEqualTo",value:function(e){return this.cmp(e)>-1}},{key:"greaterThan",value:function(e){return this.cmp(e)>0}}],[{key:"fromComponents",value:function(e,r,i){return(new t).fromComponents(e,r,i)}},{key:"fromComponents_noNormalize",value:function(e,r,i){return(new t).fromComponents_noNormalize(e,r,i)}},{key:"fromMantissaExponent",value:function(e,r){return(new t).fromMantissaExponent(e,r)}},{key:"fromMantissaExponent_noNormalize",value:function(e,r){return(new t).fromMantissaExponent_noNormalize(e,r)}},{key:"fromDecimal",value:function(e){return(new t).fromDecimal(e)}},{key:"fromNumber",value:function(e){return(new t).fromNumber(e)}},{key:"fromString",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(new t).fromString(e,r)}},{key:"fromValue",value:function(e){return(new t).fromValue(e)}},{key:"fromValue_noAlloc",value:function(e){if(e instanceof t)return e;if("string"==typeof e){var r=t.fromStringCache.get(e);return void 0!==r?r:t.fromString(e)}return"number"==typeof e?t.fromNumber(e):N(0,0,0)}},{key:"abs",value:function(e){return g(e).abs()}},{key:"neg",value:function(e){return g(e).neg()}},{key:"negate",value:function(e){return g(e).neg()}},{key:"negated",value:function(e){return g(e).neg()}},{key:"sign",value:function(e){return g(e).sign}},{key:"sgn",value:function(e){return g(e).sign}},{key:"round",value:function(e){return g(e).round()}},{key:"floor",value:function(e){return g(e).floor()}},{key:"ceil",value:function(e){return g(e).ceil()}},{key:"trunc",value:function(e){return g(e).trunc()}},{key:"add",value:function(e,t){return g(e).add(t)}},{key:"plus",value:function(e,t){return g(e).add(t)}},{key:"sub",value:function(e,t){return g(e).sub(t)}},{key:"subtract",value:function(e,t){return g(e).sub(t)}},{key:"minus",value:function(e,t){return g(e).sub(t)}},{key:"mul",value:function(e,t){return g(e).mul(t)}},{key:"multiply",value:function(e,t){return g(e).mul(t)}},{key:"times",value:function(e,t){return g(e).mul(t)}},{key:"div",value:function(e,t){return g(e).div(t)}},{key:"divide",value:function(e,t){return g(e).div(t)}},{key:"recip",value:function(e){return g(e).recip()}},{key:"reciprocal",value:function(e){return g(e).recip()}},{key:"reciprocate",value:function(e){return g(e).reciprocate()}},{key:"mod",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return g(e).mod(t,r)}},{key:"modulo",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return g(e).modulo(t,r)}},{key:"modular",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return g(e).modular(t,r)}},{key:"cmp",value:function(e,t){return g(e).cmp(t)}},{key:"cmpabs",value:function(e,t){return g(e).cmpabs(t)}},{key:"compare",value:function(e,t){return g(e).cmp(t)}},{key:"isNaN",value:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return e=g(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag)}))},{key:"isFinite",value:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){return e=g(e),isFinite(e.sign)&&isFinite(e.layer)&&isFinite(e.mag)}))},{key:"eq",value:function(e,t){return g(e).eq(t)}},{key:"equals",value:function(e,t){return g(e).eq(t)}},{key:"neq",value:function(e,t){return g(e).neq(t)}},{key:"notEquals",value:function(e,t){return g(e).notEquals(t)}},{key:"lt",value:function(e,t){return g(e).lt(t)}},{key:"lte",value:function(e,t){return g(e).lte(t)}},{key:"gt",value:function(e,t){return g(e).gt(t)}},{key:"gte",value:function(e,t){return g(e).gte(t)}},{key:"max",value:function(e,t){return g(e).max(t)}},{key:"min",value:function(e,t){return g(e).min(t)}},{key:"minabs",value:function(e,t){return g(e).minabs(t)}},{key:"maxabs",value:function(e,t){return g(e).maxabs(t)}},{key:"clamp",value:function(e,t,r){return g(e).clamp(t,r)}},{key:"clampMin",value:function(e,t){return g(e).clampMin(t)}},{key:"clampMax",value:function(e,t){return g(e).clampMax(t)}},{key:"cmp_tolerance",value:function(e,t,r){return g(e).cmp_tolerance(t,r)}},{key:"compare_tolerance",value:function(e,t,r){return g(e).cmp_tolerance(t,r)}},{key:"eq_tolerance",value:function(e,t,r){return g(e).eq_tolerance(t,r)}},{key:"equals_tolerance",value:function(e,t,r){return g(e).eq_tolerance(t,r)}},{key:"neq_tolerance",value:function(e,t,r){return g(e).neq_tolerance(t,r)}},{key:"notEquals_tolerance",value:function(e,t,r){return g(e).notEquals_tolerance(t,r)}},{key:"lt_tolerance",value:function(e,t,r){return g(e).lt_tolerance(t,r)}},{key:"lte_tolerance",value:function(e,t,r){return g(e).lte_tolerance(t,r)}},{key:"gt_tolerance",value:function(e,t,r){return g(e).gt_tolerance(t,r)}},{key:"gte_tolerance",value:function(e,t,r){return g(e).gte_tolerance(t,r)}},{key:"pLog10",value:function(e){return g(e).pLog10()}},{key:"absLog10",value:function(e){return g(e).absLog10()}},{key:"log10",value:function(e){return g(e).log10()}},{key:"log",value:function(e,t){return g(e).log(t)}},{key:"log2",value:function(e){return g(e).log2()}},{key:"ln",value:function(e){return g(e).ln()}},{key:"logarithm",value:function(e,t){return g(e).logarithm(t)}},{key:"pow",value:function(e,t){return g(e).pow(t)}},{key:"pow10",value:function(e){return g(e).pow10()}},{key:"root",value:function(e,t){return g(e).root(t)}},{key:"factorial",value:function(e,t){return g(e).factorial()}},{key:"gamma",value:function(e,t){return g(e).gamma()}},{key:"lngamma",value:function(e,t){return g(e).lngamma()}},{key:"exp",value:function(e){return g(e).exp()}},{key:"sqr",value:function(e){return g(e).sqr()}},{key:"sqrt",value:function(e){return g(e).sqrt()}},{key:"cube",value:function(e){return g(e).cube()}},{key:"cbrt",value:function(e){return g(e).cbrt()}},{key:"tetrate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:N(1,0,1),i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return g(e).tetrate(t,r,i)}},{key:"iteratedexp",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:N(1,0,1),i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return g(e).iteratedexp(t,r,i)}},{key:"iteratedlog",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return g(e).iteratedlog(t,r,i)}},{key:"layeradd10",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return g(e).layeradd10(t,r)}},{key:"layeradd",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return g(e).layeradd(t,r,i)}},{key:"slog",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return g(e).slog(t,100,r)}},{key:"lambertw",value:function(e,t){return g(e).lambertw(t)}},{key:"ssqrt",value:function(e){return g(e).ssqrt()}},{key:"linear_sroot",value:function(e,t){return g(e).linear_sroot(t)}},{key:"pentate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:N(1,0,1),i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return g(e).pentate(t,r,i)}},{key:"penta_log",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:10,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return g(e).penta_log(t,100,r)}},{key:"linear_penta_root",value:function(e,t){return g(e).linear_penta_root(t)}},{key:"sin",value:function(e){return g(e).sin()}},{key:"cos",value:function(e){return g(e).cos()}},{key:"tan",value:function(e){return g(e).tan()}},{key:"asin",value:function(e){return g(e).asin()}},{key:"acos",value:function(e){return g(e).acos()}},{key:"atan",value:function(e){return g(e).atan()}},{key:"sinh",value:function(e){return g(e).sinh()}},{key:"cosh",value:function(e){return g(e).cosh()}},{key:"tanh",value:function(e){return g(e).tanh()}},{key:"asinh",value:function(e){return g(e).asinh()}},{key:"acosh",value:function(e){return g(e).acosh()}},{key:"atanh",value:function(e){return g(e).atanh()}},{key:"affordGeometricSeries",value:function(e,t,r,i){return this.affordGeometricSeries_core(g(e),g(t),g(r),i)}},{key:"sumGeometricSeries",value:function(e,t,r,i){return this.sumGeometricSeries_core(e,g(t),g(r),i)}},{key:"affordArithmeticSeries",value:function(e,t,r,i){return this.affordArithmeticSeries_core(g(e),g(t),g(r),g(i))}},{key:"sumArithmeticSeries",value:function(e,t,r,i){return this.sumArithmeticSeries_core(g(e),g(t),g(r),g(i))}},{key:"efficiencyOfPurchase",value:function(e,t,r){return this.efficiencyOfPurchase_core(g(e),g(t),g(r))}},{key:"randomDecimalForTesting",value:function(e){if(20*Math.random()<1)return N(0,0,0);var t=Math.random()>.5?1:-1;if(20*Math.random()<1)return N(t,0,1);var r=Math.floor(Math.random()*(e+1)),i=0===r?616*Math.random()-308:16*Math.random();Math.random()>.9&&(i=Math.trunc(i));var n=Math.pow(10,i);return Math.random()>.9&&(n=Math.trunc(n)),f(t,r,n)}},{key:"affordGeometricSeries_core",value:function(e,r,i,n){var a=r.mul(i.pow(n));return t.floor(e.div(a).mul(i.sub(1)).add(1).log10().div(i.log10()))}},{key:"sumGeometricSeries_core",value:function(e,r,i,n){return r.mul(i.pow(n)).mul(t.sub(1,i.pow(e))).div(t.sub(1,i))}},{key:"affordArithmeticSeries_core",value:function(e,t,r,i){var n=t.add(i.mul(r)).sub(r.div(2)),a=n.pow(2);return n.neg().add(a.add(r.mul(e).mul(2)).sqrt()).div(r).floor()}},{key:"sumArithmeticSeries_core",value:function(e,t,r,i){var n=t.add(i.mul(r));return e.div(2).mul(n.mul(2).plus(e.sub(1).mul(r)))}},{key:"efficiencyOfPurchase_core",value:function(e,t,r){return e.div(t).add(e.div(r))}},{key:"slog_critical",value:function(e,r){return e>10?r-1:t.critical_section(e,r,m)}},{key:"tetrate_critical",value:function(e,r){return t.critical_section(e,r,h)}},{key:"critical_section",value:function(e,t,r){(t*=10)<0&&(t=0),t>10&&(t=10),e<2&&(e=2),e>10&&(e=10);for(var i=0,n=0,a=0;a<l.length;++a){if(l[a]==e){i=r[a][Math.floor(t)],n=r[a][Math.ceil(t)];break}if(l[a]<e&&l[a+1]>e){var s=(e-l[a])/(l[a+1]-l[a]);i=r[a][Math.floor(t)]*(1-s)+r[a+1][Math.floor(t)]*s,n=r[a][Math.ceil(t)]*(1-s)+r[a+1][Math.ceil(t)]*s;break}}var u=t-Math.floor(t);return i<=0||n<=0?i*(1-u)+n*u:Math.pow(e,Math.log(i)/Math.log(e)*(1-u)+Math.log(n)/Math.log(e)*u)}},{key:"excess_slog",value:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e=g(e);var n=r=g(r);if(1==(r=r.toNumber())||r<=0)return[N(Number.NaN,Number.NaN,Number.NaN),0];if(r>1.444667861009766)return[e.slog(r,100,i),0];var a=t.ln(r).neg(),s=a.lambertw().div(a),u=t.dInf;if(r>1&&(u=a.lambertw(!1).div(a)),r>1.444667861009099&&(s=u=t.fromNumber(Math.E)),e.lt(s))return[e.slog(r,100,i),0];if(e.eq(s))return[N(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),0];if(e.eq(u))return[N(1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),2];if(e.gt(u)){var o=u.mul(2),l=n.pow(o),h=0;if(e.gte(o)&&e.lt(l))h=0;else if(e.gte(l)){var m=l;for(h=1;m.lt(e);)if(h+=1,(m=n.pow(m)).layer>3){var f=Math.floor(e.layer-m.layer+1);m=n.iteratedexp(f,m,i),h+=f}m.gt(e)&&(m=m.log(r),h-=1)}else if(e.lt(o)){var c=o;for(h=0;c.gt(e);)c=c.log(r),h-=1}for(var v=0,y=0,b=.5,d=o,p=t.dZero;b>1e-16;){if(y=v+b,d=o.pow(1-y).mul(l.pow(y)),(p=t.iteratedexp(r,h,d)).eq(e))return[new t(h+y),2];p.lt(e)&&(v+=b),b/=2}return p.neq_tolerance(e,1e-7)?[N(Number.NaN,Number.NaN,Number.NaN),0]:[new t(h+v),2]}if(e.lt(u)&&e.gt(s)){var I=s.mul(u).sqrt(),k=n.pow(I),M=0;if(e.lte(I)&&e.gt(k))M=0;else if(e.lte(k)){var w=k;for(M=1;w.gt(e);)w=n.pow(w),M+=1;w.lt(e)&&(w=w.log(r),M-=1)}else if(e.gt(I)){var _=I;for(M=0;_.lt(e);)_=_.log(r),M-=1}for(var F=0,q=0,S=.5,T=I,E=t.dZero;S>1e-16;){if(q=F+S,T=I.pow(1-q).mul(k.pow(q)),(E=t.iteratedexp(r,M,T)).eq(e))return[new t(M+q),1];E.gt(e)&&(F+=S),S/=2}return E.neq_tolerance(e,1e-7)?[N(Number.NaN,Number.NaN,Number.NaN),0]:[new t(M+F),1]}throw new Error("Unhandled behavior in excess_slog")}},{key:"increasingInverse",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:120,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t.dLayerMax.neg(),s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:t.dLayerMax,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:t.dLayerMax.neg(),l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:t.dLayerMax;return function(h){if(h=new t(h),n=new t(n),s=new t(s),o=new t(o),l=new t(l),h.isNan()||s.lt(n)||h.lt(o)||h.gt(l))return N(Number.NaN,Number.NaN,Number.NaN);var m=function(e){return new t(e)},g=!0;if(s.lt(0))g=!1;else if(n.gt(0))g=!0;else{var f=e(t.dZero);if(f.eq(h))return N(0,0,0);g=h.gt(f),r&&(g=!g)}var c,v=g;if(g){if(s.lt(u))g=!0;else if(n.gt(u))g=!1;else{var y=e(new t(u));g=h.lt(y),r&&(g=!g)}if(g){c=!0;var b=t.pow(10,a).recip();if(s.lt(b))g=!1;else if(n.gt(b))g=!0;else{var d=e(new t(b));g=h.gt(d),r&&(g=!g)}if(g)m=function(e){return t.pow(10,e).recip()};else{var p=t.tetrate(10,a);if(s.lt(p))g=!1;else if(n.gt(p))g=!0;else{var I=e(new t(p));g=h.gt(I),r&&(g=!g)}m=g?function(e){return t.tetrate(10,new t(e).toNumber()).recip()}:function(e){return new t(e).gt(Math.log10(Number.MAX_VALUE))?t.dZero:t.tetrate(10,t.pow(10,e).toNumber()).recip()}}}else{if(c=!1,s.lt(a))g=!0;else if(n.gt(a))g=!1;else{var k=e(new t(a));g=h.lt(k),r&&(g=!g)}if(g)m=function(e){return new t(e)};else{var M=t.pow(10,a);if(s.lt(M))g=!0;else if(n.gt(M))g=!1;else{var w=e(new t(M));g=h.lt(w),r&&(g=!g)}if(g)m=function(e){return t.pow(10,e)};else{var _=t.tetrate(10,a);if(s.lt(_))g=!0;else if(n.gt(_))g=!1;else{var F=e(new t(_));g=h.lt(F),r&&(g=!g)}m=g?function(e){return t.tetrate(10,new t(e).toNumber())}:function(e){return new t(e).gt(Math.log10(Number.MAX_VALUE))?t.dInf:t.tetrate(10,t.pow(10,e).toNumber())}}}}}else{if(c=!0,s.lt(-u))g=!1;else if(n.gt(-u))g=!0;else{var q=e(new t(-u));g=h.gt(q),r&&(g=!g)}if(g){var S=t.pow(10,a).recip().neg();if(s.lt(S))g=!0;else if(n.gt(S))g=!1;else{var T=e(new t(S));g=h.lt(T),r&&(g=!g)}if(g)m=function(e){return t.pow(10,e).recip().neg()};else{var E=t.tetrate(10,a).neg();if(s.lt(E))g=!0;else if(n.gt(E))g=!1;else{var x=e(new t(E));g=h.lt(x),r&&(g=!g)}m=g?function(e){return t.tetrate(10,new t(e).toNumber()).recip().neg()}:function(e){return new t(e).gt(Math.log10(Number.MAX_VALUE))?t.dZero:t.tetrate(10,t.pow(10,e).toNumber()).recip().neg()}}}else{if(c=!1,s.lt(-a))g=!1;else if(n.gt(-a))g=!0;else{var O=e(new t(-a));g=h.gt(O),r&&(g=!g)}if(g)m=function(e){return t.neg(e)};else{var V=t.pow(10,a).neg();if(s.lt(V))g=!1;else if(n.gt(V))g=!0;else{var P=e(new t(V));g=h.gt(P),r&&(g=!g)}if(g)m=function(e){return t.pow(10,e).neg()};else{var Y=t.tetrate(10,a).neg();if(s.lt(Y))g=!1;else if(n.gt(Y))g=!0;else{var z=e(new t(Y));g=h.gt(z),r&&(g=!g)}m=g?function(e){return t.tetrate(10,new t(e).toNumber()).neg()}:function(e){return new t(e).gt(Math.log10(Number.MAX_VALUE))?t.dNegInf:t.tetrate(10,t.pow(10,e).toNumber()).neg()}}}}}for(var C=v!=c!=r,A=C?function(e,r){return t.gt(e,r)}:function(e,r){return t.lt(e,r)},Z=.001,D=!1,L=!1,G=1,U=t.dOne,X=0,j=!1,W=1;W<i;++W){j=!1,X=G,(U=m(G)).gt(s)&&(U=s,j=!0),U.lt(n)&&(U=n,j=!0);var B=e(U);if(B.eq(h)&&!j)break;var R=A(B,h);if(W>1&&L!=R&&(D=!0),L=R,D?Z/=2:Z*=2,R!=C&&U.eq(s)||R==C&&U.eq(n))return N(Number.NaN,Number.NaN,Number.NaN);if(G+=Z=Math.abs(Z)*(R?-1:1),0===Z||X==G)break}return m(G)}}}]),t}();return p.dZero=N(0,0,0),p.dOne=N(1,0,1),p.dNegOne=N(-1,0,1),p.dTwo=N(1,0,2),p.dTen=N(1,0,10),p.dNaN=N(Number.NaN,Number.NaN,Number.NaN),p.dInf=N(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),p.dNegInf=N(-1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),p.dNumberMax=f(1,0,Number.MAX_VALUE),p.dNumberMin=f(1,0,Number.MIN_VALUE),p.dLayerSafeMax=f(1,Number.MAX_SAFE_INTEGER,a-1),p.dLayerSafeMin=f(1,Number.MAX_SAFE_INTEGER,-(a-1)),p.dLayerMax=f(1,Number.MAX_VALUE,a-1),p.dLayerMin=f(1,Number.MAX_VALUE,-(a-1)),p.fromStringCache=new i(1023),g=p.fromValue_noAlloc,f=p.fromComponents,N=p.fromComponents_noNormalize,p.fromMantissaExponent,p.fromMantissaExponent_noNormalize,p}));