@cortex-js/compute-engine 0.35.3 → 0.35.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/dist/compute-engine.esm.js +29 -14
  2. package/dist/compute-engine.min.esm.js +24 -9
  3. package/dist/compute-engine.min.umd.js +24 -9
  4. package/dist/compute-engine.umd.js +29 -14
  5. package/dist/math-json.esm.js +2 -2
  6. package/dist/math-json.min.esm.js +2 -2
  7. package/dist/math-json.min.umd.js +2 -2
  8. package/dist/math-json.umd.js +2 -2
  9. package/dist/types/common/ansi-codes.d.ts +1 -1
  10. package/dist/types/common/configuration-change.d.ts +1 -1
  11. package/dist/types/common/fuzzy-string-match.d.ts +1 -1
  12. package/dist/types/common/grapheme-splitter.d.ts +1 -1
  13. package/dist/types/common/interruptible.d.ts +1 -1
  14. package/dist/types/common/one-of.d.ts +1 -1
  15. package/dist/types/common/signals.d.ts +1 -1
  16. package/dist/types/common/type/ast-nodes.d.ts +1 -1
  17. package/dist/types/common/type/boxed-type.d.ts +1 -1
  18. package/dist/types/common/type/lexer.d.ts +1 -1
  19. package/dist/types/common/type/parse.d.ts +1 -1
  20. package/dist/types/common/type/parser.d.ts +1 -1
  21. package/dist/types/common/type/primitive.d.ts +1 -1
  22. package/dist/types/common/type/reduce.d.ts +1 -1
  23. package/dist/types/common/type/serialize.d.ts +1 -1
  24. package/dist/types/common/type/subtype.d.ts +1 -1
  25. package/dist/types/common/type/type-builder.d.ts +1 -1
  26. package/dist/types/common/type/types.d.ts +1 -1
  27. package/dist/types/common/type/utils.d.ts +1 -1
  28. package/dist/types/common/utils.d.ts +1 -1
  29. package/dist/types/compute-engine/assume.d.ts +1 -1
  30. package/dist/types/compute-engine/boxed-expression/abstract-boxed-expression.d.ts +1 -1
  31. package/dist/types/compute-engine/boxed-expression/apply.d.ts +1 -1
  32. package/dist/types/compute-engine/boxed-expression/arithmetic-add.d.ts +1 -1
  33. package/dist/types/compute-engine/boxed-expression/arithmetic-mul-div.d.ts +1 -1
  34. package/dist/types/compute-engine/boxed-expression/arithmetic-power.d.ts +1 -1
  35. package/dist/types/compute-engine/boxed-expression/ascii-math.d.ts +1 -1
  36. package/dist/types/compute-engine/boxed-expression/box.d.ts +1 -1
  37. package/dist/types/compute-engine/boxed-expression/boxed-dictionary.d.ts +1 -1
  38. package/dist/types/compute-engine/boxed-expression/boxed-function.d.ts +1 -1
  39. package/dist/types/compute-engine/boxed-expression/boxed-number.d.ts +1 -1
  40. package/dist/types/compute-engine/boxed-expression/boxed-operator-definition.d.ts +1 -1
  41. package/dist/types/compute-engine/boxed-expression/boxed-patterns.d.ts +1 -1
  42. package/dist/types/compute-engine/boxed-expression/boxed-string.d.ts +1 -1
  43. package/dist/types/compute-engine/boxed-expression/boxed-symbol.d.ts +1 -1
  44. package/dist/types/compute-engine/boxed-expression/boxed-tensor.d.ts +1 -1
  45. package/dist/types/compute-engine/boxed-expression/boxed-value-definition.d.ts +1 -1
  46. package/dist/types/compute-engine/boxed-expression/cache.d.ts +1 -1
  47. package/dist/types/compute-engine/boxed-expression/canonical-utils.d.ts +1 -1
  48. package/dist/types/compute-engine/boxed-expression/canonical.d.ts +1 -1
  49. package/dist/types/compute-engine/boxed-expression/compare.d.ts +1 -1
  50. package/dist/types/compute-engine/boxed-expression/expand.d.ts +1 -1
  51. package/dist/types/compute-engine/boxed-expression/expression-map.d.ts +1 -1
  52. package/dist/types/compute-engine/boxed-expression/factor.d.ts +1 -1
  53. package/dist/types/compute-engine/boxed-expression/flatten.d.ts +1 -1
  54. package/dist/types/compute-engine/boxed-expression/hold.d.ts +1 -1
  55. package/dist/types/compute-engine/boxed-expression/match.d.ts +1 -1
  56. package/dist/types/compute-engine/boxed-expression/negate.d.ts +1 -1
  57. package/dist/types/compute-engine/boxed-expression/numerics.d.ts +1 -1
  58. package/dist/types/compute-engine/boxed-expression/order.d.ts +1 -1
  59. package/dist/types/compute-engine/boxed-expression/polynomials.d.ts +1 -1
  60. package/dist/types/compute-engine/boxed-expression/product.d.ts +1 -1
  61. package/dist/types/compute-engine/boxed-expression/rules.d.ts +1 -1
  62. package/dist/types/compute-engine/boxed-expression/serialize.d.ts +1 -1
  63. package/dist/types/compute-engine/boxed-expression/sgn.d.ts +1 -1
  64. package/dist/types/compute-engine/boxed-expression/simplify.d.ts +1 -1
  65. package/dist/types/compute-engine/boxed-expression/solve-linear-system.d.ts +1 -1
  66. package/dist/types/compute-engine/boxed-expression/solve.d.ts +1 -1
  67. package/dist/types/compute-engine/boxed-expression/terms.d.ts +1 -1
  68. package/dist/types/compute-engine/boxed-expression/trigonometry.d.ts +1 -1
  69. package/dist/types/compute-engine/boxed-expression/utils.d.ts +1 -1
  70. package/dist/types/compute-engine/boxed-expression/validate.d.ts +1 -1
  71. package/dist/types/compute-engine/collection-utils.d.ts +1 -1
  72. package/dist/types/compute-engine/compilation/base-compiler.d.ts +1 -1
  73. package/dist/types/compute-engine/compilation/glsl-target.d.ts +1 -1
  74. package/dist/types/compute-engine/compilation/interval-glsl-target.d.ts +1 -1
  75. package/dist/types/compute-engine/compilation/interval-javascript-target.d.ts +1 -1
  76. package/dist/types/compute-engine/compilation/javascript-target.d.ts +1 -1
  77. package/dist/types/compute-engine/compilation/types.d.ts +1 -1
  78. package/dist/types/compute-engine/cost-function.d.ts +1 -1
  79. package/dist/types/compute-engine/function-utils.d.ts +1 -1
  80. package/dist/types/compute-engine/global-types.d.ts +1 -1
  81. package/dist/types/compute-engine/index.d.ts +1 -1
  82. package/dist/types/compute-engine/interval/arithmetic.d.ts +1 -1
  83. package/dist/types/compute-engine/interval/comparison.d.ts +1 -1
  84. package/dist/types/compute-engine/interval/elementary.d.ts +1 -1
  85. package/dist/types/compute-engine/interval/index.d.ts +1 -1
  86. package/dist/types/compute-engine/interval/trigonometric.d.ts +1 -1
  87. package/dist/types/compute-engine/interval/types.d.ts +2 -1
  88. package/dist/types/compute-engine/interval/util.d.ts +1 -1
  89. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-algebra.d.ts +1 -1
  90. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-arithmetic.d.ts +1 -1
  91. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-calculus.d.ts +1 -1
  92. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-complex.d.ts +1 -1
  93. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-core.d.ts +1 -1
  94. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-linear-algebra.d.ts +1 -1
  95. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-logic.d.ts +1 -1
  96. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-other.d.ts +1 -1
  97. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-relational-operators.d.ts +1 -1
  98. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-sets.d.ts +1 -1
  99. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-statistics.d.ts +1 -1
  100. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-symbols.d.ts +1 -1
  101. package/dist/types/compute-engine/latex-syntax/dictionary/definitions-trigonometry.d.ts +1 -1
  102. package/dist/types/compute-engine/latex-syntax/dictionary/definitions.d.ts +1 -1
  103. package/dist/types/compute-engine/latex-syntax/parse-symbol.d.ts +1 -1
  104. package/dist/types/compute-engine/latex-syntax/parse.d.ts +1 -1
  105. package/dist/types/compute-engine/latex-syntax/serialize-number.d.ts +1 -1
  106. package/dist/types/compute-engine/latex-syntax/serializer-style.d.ts +1 -1
  107. package/dist/types/compute-engine/latex-syntax/serializer.d.ts +1 -1
  108. package/dist/types/compute-engine/latex-syntax/tokenizer.d.ts +1 -1
  109. package/dist/types/compute-engine/latex-syntax/types.d.ts +1 -1
  110. package/dist/types/compute-engine/latex-syntax/utils.d.ts +1 -1
  111. package/dist/types/compute-engine/library/arithmetic.d.ts +1 -1
  112. package/dist/types/compute-engine/library/calculus.d.ts +1 -1
  113. package/dist/types/compute-engine/library/collections.d.ts +1 -1
  114. package/dist/types/compute-engine/library/combinatorics.d.ts +1 -1
  115. package/dist/types/compute-engine/library/complex.d.ts +1 -1
  116. package/dist/types/compute-engine/library/control-structures.d.ts +1 -1
  117. package/dist/types/compute-engine/library/core.d.ts +1 -1
  118. package/dist/types/compute-engine/library/invisible-operator.d.ts +1 -1
  119. package/dist/types/compute-engine/library/library.d.ts +1 -1
  120. package/dist/types/compute-engine/library/linear-algebra.d.ts +1 -1
  121. package/dist/types/compute-engine/library/logic-analysis.d.ts +1 -1
  122. package/dist/types/compute-engine/library/logic-utils.d.ts +1 -1
  123. package/dist/types/compute-engine/library/logic.d.ts +1 -1
  124. package/dist/types/compute-engine/library/number-theory.d.ts +1 -1
  125. package/dist/types/compute-engine/library/polynomials.d.ts +1 -1
  126. package/dist/types/compute-engine/library/random-expression.d.ts +1 -1
  127. package/dist/types/compute-engine/library/relational-operator.d.ts +1 -1
  128. package/dist/types/compute-engine/library/sets.d.ts +1 -1
  129. package/dist/types/compute-engine/library/statistics.d.ts +1 -1
  130. package/dist/types/compute-engine/library/trigonometry.d.ts +1 -1
  131. package/dist/types/compute-engine/library/utils.d.ts +1 -1
  132. package/dist/types/compute-engine/numeric-value/big-numeric-value.d.ts +1 -1
  133. package/dist/types/compute-engine/numeric-value/exact-numeric-value.d.ts +1 -1
  134. package/dist/types/compute-engine/numeric-value/machine-numeric-value.d.ts +1 -1
  135. package/dist/types/compute-engine/numeric-value/types.d.ts +1 -1
  136. package/dist/types/compute-engine/numerics/bigint.d.ts +1 -1
  137. package/dist/types/compute-engine/numerics/expression.d.ts +1 -1
  138. package/dist/types/compute-engine/numerics/interval.d.ts +1 -1
  139. package/dist/types/compute-engine/numerics/monte-carlo.d.ts +1 -1
  140. package/dist/types/compute-engine/numerics/numeric-bigint.d.ts +1 -1
  141. package/dist/types/compute-engine/numerics/numeric-bignum.d.ts +1 -1
  142. package/dist/types/compute-engine/numerics/numeric-complex.d.ts +1 -1
  143. package/dist/types/compute-engine/numerics/numeric.d.ts +1 -1
  144. package/dist/types/compute-engine/numerics/primes.d.ts +1 -1
  145. package/dist/types/compute-engine/numerics/rationals.d.ts +1 -1
  146. package/dist/types/compute-engine/numerics/richardson.d.ts +1 -1
  147. package/dist/types/compute-engine/numerics/special-functions.d.ts +1 -1
  148. package/dist/types/compute-engine/numerics/statistics.d.ts +1 -1
  149. package/dist/types/compute-engine/numerics/strings.d.ts +1 -1
  150. package/dist/types/compute-engine/numerics/types.d.ts +1 -1
  151. package/dist/types/compute-engine/oeis.d.ts +1 -1
  152. package/dist/types/compute-engine/sequence.d.ts +1 -1
  153. package/dist/types/compute-engine/symbolic/antiderivative.d.ts +1 -1
  154. package/dist/types/compute-engine/symbolic/derivative.d.ts +1 -1
  155. package/dist/types/compute-engine/symbolic/distribute.d.ts +1 -1
  156. package/dist/types/compute-engine/symbolic/fu-cost.d.ts +1 -1
  157. package/dist/types/compute-engine/symbolic/fu-transforms.d.ts +1 -1
  158. package/dist/types/compute-engine/symbolic/fu.d.ts +1 -1
  159. package/dist/types/compute-engine/symbolic/simplify-abs.d.ts +1 -1
  160. package/dist/types/compute-engine/symbolic/simplify-divide.d.ts +1 -1
  161. package/dist/types/compute-engine/symbolic/simplify-hyperbolic.d.ts +1 -1
  162. package/dist/types/compute-engine/symbolic/simplify-infinity.d.ts +1 -1
  163. package/dist/types/compute-engine/symbolic/simplify-log.d.ts +1 -1
  164. package/dist/types/compute-engine/symbolic/simplify-power.d.ts +1 -1
  165. package/dist/types/compute-engine/symbolic/simplify-product.d.ts +1 -1
  166. package/dist/types/compute-engine/symbolic/simplify-rules.d.ts +1 -1
  167. package/dist/types/compute-engine/symbolic/simplify-sum.d.ts +1 -1
  168. package/dist/types/compute-engine/symbolic/simplify-trig.d.ts +1 -1
  169. package/dist/types/compute-engine/tensor/tensor-fields.d.ts +1 -1
  170. package/dist/types/compute-engine/tensor/tensors.d.ts +1 -1
  171. package/dist/types/compute-engine/types.d.ts +1 -1
  172. package/dist/types/compute-engine.d.ts +1 -1
  173. package/dist/types/math-json/symbols.d.ts +1 -1
  174. package/dist/types/math-json/types.d.ts +1 -1
  175. package/dist/types/math-json/utils.d.ts +1 -1
  176. package/dist/types/math-json.d.ts +2 -2
  177. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- /** Compute Engine 0.35.3 */
1
+ /** Compute Engine 0.35.4 */
2
2
  (function(global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'],factory):(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ComputeEngine = {}));})(this, (function (exports) { 'use strict';
3
3
  var ComputeEngine=(()=>{var xu=Object.defineProperty;var Ny=Object.getOwnPropertyDescriptor;var Ty=Object.getOwnPropertyNames;var Sy=Object.prototype.hasOwnProperty;var k=(n,e)=>()=>(n&&(e=n(n=0)),e);var Er=(n,e)=>{for(var t in e)xu(n,t,{get:e[t],enumerable:!0})},Iy=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ty(e))!Sy.call(n,r)&&r!==t&&xu(n,r,{get:()=>e[r],enumerable:!(i=Ny(e,r))||i.enumerable});return n};var ot=n=>Iy(xu({},"__esModule",{value:!0}),n);function yu(n,e){var t=Math.abs(n),i=Math.abs(e);return n===0?Math.log(i):e===0?Math.log(t):t<3e3&&i<3e3?Math.log(n*n+e*e)*.5:(n=n/2,e=e/2,.5*Math.log(n*n+e*e)+Math.LN2)}var on,jn,By,Ay,_r,wy,ie,$i=k(()=>{on=Math.cosh||function(n){return Math.abs(n)<1e-9?1-n:(Math.exp(n)+Math.exp(-n))*.5},jn=Math.sinh||function(n){return Math.abs(n)<1e-9?n:(Math.exp(n)-Math.exp(-n))*.5},By=function(n){var e=Math.PI/4;if(-e>n||n>e)return Math.cos(n)-1;var t=n*n;return t*(t*(t*(t*(t*(t*(t*(t/20922789888e3-1/87178291200)+1/479001600)-1/3628800)+1/40320)-1/720)+1/24)-1/2)},Ay=function(n,e){var t=Math.abs(n),i=Math.abs(e);return t<3e3&&i<3e3?Math.sqrt(t*t+i*i):(t<i?(t=i,i=n/e):i=e/n,t*Math.sqrt(1+i*i))},_r=function(){throw SyntaxError("Invalid Param")};wy=function(n,e){var t={re:0,im:0};if(n==null)t.re=t.im=0;else if(e!==void 0)t.re=n,t.im=e;else switch(typeof n){case"object":if("im"in n&&"re"in n)t.re=n.re,t.im=n.im;else if("abs"in n&&"arg"in n){if(!Number.isFinite(n.abs)&&Number.isFinite(n.arg))return ie.INFINITY;t.re=n.abs*Math.cos(n.arg),t.im=n.abs*Math.sin(n.arg)}else if("r"in n&&"phi"in n){if(!Number.isFinite(n.r)&&Number.isFinite(n.phi))return ie.INFINITY;t.re=n.r*Math.cos(n.phi),t.im=n.r*Math.sin(n.phi)}else n.length===2?(t.re=n[0],t.im=n[1]):_r();break;case"string":t.im=t.re=0;var i=n.match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),r=1,o=0;i===null&&_r();for(var s=0;s<i.length;s++){var a=i[s];a===" "||a===" "||a===`
4
4
  `||(a==="+"?r++:a==="-"?o++:a==="i"||a==="I"?(r+o===0&&_r(),i[s+1]!==" "&&!isNaN(Number(i[s+1]))?(t.im+=parseFloat((o%2?"-":"")+i[s+1]),s++):t.im+=parseFloat((o%2?"-":"")+"1"),r=o=0):((r+o===0||isNaN(Number(a)))&&_r(),i[s+1]==="i"||i[s+1]==="I"?(t.im+=parseFloat((o%2?"-":"")+a),s++):t.re+=parseFloat((o%2?"-":"")+a),r=o=0))}r+o>0&&_r();break;case"number":t.im=0,t.re=n;break;default:_r()}return isNaN(t.re)||isNaN(t.im),t},ie=class n{constructor(e,t){this.re=0,this.im=0;var i=wy(e,t);this.re=i.re,this.im=i.im}sign(){var e=this.abs();return new n(this.re/e,this.im/e)}add(e,t){var i=new n(e,t);return this.isInfinite()&&i.isInfinite()?n.NAN:this.isInfinite()||i.isInfinite()?n.INFINITY:new n(this.re+i.re,this.im+i.im)}sub(e,t){var i=new n(e,t);return this.isInfinite()&&i.isInfinite()?n.NAN:this.isInfinite()||i.isInfinite()?n.INFINITY:new n(this.re-i.re,this.im-i.im)}mul(e,t){var i=new n(e,t);return this.isInfinite()&&i.isZero()||this.isZero()&&i.isInfinite()?n.NAN:this.isInfinite()||i.isInfinite()?n.INFINITY:i.im===0&&this.im===0?new n(this.re*i.re,0):new n(this.re*i.re-this.im*i.im,this.re*i.im+this.im*i.re)}div(e,t){var i=new n(e,t);if(this.isZero()&&i.isZero()||this.isInfinite()&&i.isInfinite())return n.NAN;if(this.isInfinite()||i.isZero())return n.INFINITY;if(this.isZero()||i.isInfinite())return n.ZERO;e=this.re,t=this.im;var r=i.re,o=i.im,s,a;return o===0?new n(e/r,t/r):Math.abs(r)<Math.abs(o)?(a=r/o,s=r*a+o,new n((e*a+t)/s,(t*a-e)/s)):(a=o/r,s=o*a+r,new n((e+t*a)/s,(t-e*a)/s))}pow(e,t){var i=new n(e,t);if(e=this.re,t=this.im,i.isZero())return n.ONE;if(i.im===0){if(t===0&&e>0)return new n(Math.pow(e,i.re),0);if(e===0)switch((i.re%4+4)%4){case 0:return new n(Math.pow(t,i.re),0);case 1:return new n(0,Math.pow(t,i.re));case 2:return new n(-Math.pow(t,i.re),0);case 3:return new n(0,-Math.pow(t,i.re))}}if(e===0&&t===0&&i.re>0&&i.im>=0)return n.ZERO;var r=Math.atan2(t,e),o=yu(e,t);return e=Math.exp(i.re*o-i.im*r),t=i.im*o+i.re*r,new n(e*Math.cos(t),e*Math.sin(t))}sqrt(){var e=this.re,t=this.im,i=this.abs(),r,o;if(e>=0){if(t===0)return new n(Math.sqrt(e),0);r=.5*Math.sqrt(2*(i+e))}else r=Math.abs(t)/Math.sqrt(2*(i-e));return e<=0?o=.5*Math.sqrt(2*(i-e)):o=Math.abs(t)/Math.sqrt(2*(i+e)),new n(r,t<0?-o:o)}exp(){var e=Math.exp(this.re);return this.im,new n(e*Math.cos(this.im),e*Math.sin(this.im))}expm1(){var e=this.re,t=this.im;return new n(Math.expm1(e)*Math.cos(t)+By(t),Math.exp(e)*Math.sin(t))}log(){var e=this.re,t=this.im;return t===0&&e>0,new n(yu(e,t),Math.atan2(t,e))}abs(){return Ay(this.re,this.im)}arg(){return Math.atan2(this.im,this.re)}sin(){var e=this.re,t=this.im;return new n(Math.sin(e)*on(t),Math.cos(e)*jn(t))}cos(){var e=this.re,t=this.im;return new n(Math.cos(e)*on(t),-Math.sin(e)*jn(t))}tan(){var e=2*this.re,t=2*this.im,i=Math.cos(e)+on(t);return new n(Math.sin(e)/i,jn(t)/i)}cot(){var e=2*this.re,t=2*this.im,i=Math.cos(e)-on(t);return new n(-Math.sin(e)/i,jn(t)/i)}sec(){var e=this.re,t=this.im,i=.5*on(2*t)+.5*Math.cos(2*e);return new n(Math.cos(e)*on(t)/i,Math.sin(e)*jn(t)/i)}csc(){var e=this.re,t=this.im,i=.5*on(2*t)-.5*Math.cos(2*e);return new n(Math.sin(e)*on(t)/i,-Math.cos(e)*jn(t)/i)}asin(){var e=this.re,t=this.im,i=new n(t*t-e*e+1,-2*e*t).sqrt(),r=new n(i.re-t,i.im+e).log();return new n(r.im,-r.re)}acos(){var e=this.re,t=this.im,i=new n(t*t-e*e+1,-2*e*t).sqrt(),r=new n(i.re-t,i.im+e).log();return new n(Math.PI/2-r.im,r.re)}atan(){var e=this.re,t=this.im;if(e===0){if(t===1)return new n(0,1/0);if(t===-1)return new n(0,-1/0)}var i=e*e+(1-t)*(1-t),r=new n((1-t*t-e*e)/i,-2*e/i).log();return new n(-.5*r.im,.5*r.re)}acot(){var e=this.re,t=this.im;if(t===0)return new n(Math.atan2(1,e),0);var i=e*e+t*t;return i!==0?new n(e/i,-t/i).atan():new n(e!==0?e/0:0,t!==0?-t/0:0).atan()}asec(){var e=this.re,t=this.im;if(e===0&&t===0)return new n(0,1/0);var i=e*e+t*t;return i!==0?new n(e/i,-t/i).acos():new n(e!==0?e/0:0,t!==0?-t/0:0).acos()}acsc(){var e=this.re,t=this.im;if(e===0&&t===0)return new n(Math.PI/2,1/0);var i=e*e+t*t;return i!==0?new n(e/i,-t/i).asin():new n(e!==0?e/0:0,t!==0?-t/0:0).asin()}sinh(){var e=this.re,t=this.im;return new n(jn(e)*Math.cos(t),on(e)*Math.sin(t))}cosh(){var e=this.re,t=this.im;return new n(on(e)*Math.cos(t),jn(e)*Math.sin(t))}tanh(){var e=2*this.re,t=2*this.im,i=on(e)+Math.cos(t);return new n(jn(e)/i,Math.sin(t)/i)}coth(){var e=2*this.re,t=2*this.im,i=on(e)-Math.cos(t);return new n(jn(e)/i,-Math.sin(t)/i)}csch(){var e=this.re,t=this.im,i=Math.cos(2*t)-on(2*e);return new n(-2*jn(e)*Math.cos(t)/i,2*on(e)*Math.sin(t)/i)}sech(){var e=this.re,t=this.im,i=Math.cos(2*t)+on(2*e);return new n(2*on(e)*Math.cos(t)/i,-2*jn(e)*Math.sin(t)/i)}asinh(){var e=this.im;this.im=-this.re,this.re=e;var t=this.asin();return this.re=-this.im,this.im=e,e=t.re,t.re=-t.im,t.im=e,t}acosh(){var e=this.acos();if(e.im<=0){var t=e.re;e.re=-e.im,e.im=t}else{var t=e.im;e.im=-e.re,e.re=t}return e}atanh(){var e=this.re,t=this.im,i=e>1&&t===0,r=1-e,o=1+e,s=r*r+t*t,a=s!==0?new n((o*r-t*t)/s,(t*r+o*t)/s):new n(e!==-1?e/0:0,t!==0?t/0:0),u=a.re;return a.re=yu(a.re,a.im)/2,a.im=Math.atan2(a.im,u)/2,i&&(a.im=-a.im),a}acoth(){var e=this.re,t=this.im;if(e===0&&t===0)return new n(0,Math.PI/2);var i=e*e+t*t;return i!==0?new n(e/i,-t/i).atanh():new n(e!==0?e/0:0,t!==0?-t/0:0).atanh()}acsch(){var e=this.re,t=this.im;if(t===0)return new n(e!==0?Math.log(e+Math.sqrt(e*e+1)):1/0,0);var i=e*e+t*t;return i!==0?new n(e/i,-t/i).asinh():new n(e!==0?e/0:0,t!==0?-t/0:0).asinh()}asech(){var e=this.re,t=this.im;if(this.isZero())return n.INFINITY;var i=e*e+t*t;return i!==0?new n(e/i,-t/i).acosh():new n(e!==0?e/0:0,t!==0?-t/0:0).acosh()}inverse(){if(this.isZero())return n.INFINITY;if(this.isInfinite())return n.ZERO;var e=this.re,t=this.im,i=e*e+t*t;return new n(e/i,-t/i)}conjugate(){return new n(this.re,-this.im)}neg(){return new n(-this.re,-this.im)}ceil(e){return e=Math.pow(10,e||0),new n(Math.ceil(this.re*e)/e,Math.ceil(this.im*e)/e)}floor(e){return e=Math.pow(10,e||0),new n(Math.floor(this.re*e)/e,Math.floor(this.im*e)/e)}round(e){return e=Math.pow(10,e||0),new n(Math.round(this.re*e)/e,Math.round(this.im*e)/e)}equals(e,t){var i=new n(e,t);return Math.abs(i.re-this.re)<=n.EPSILON&&Math.abs(i.im-this.im)<=n.EPSILON}clone(){return new n(this.re,this.im)}toString(){var e=this.re,t=this.im,i="";return this.isNaN()?"NaN":this.isInfinite()?"Infinity":(Math.abs(e)<n.EPSILON&&(e=0),Math.abs(t)<n.EPSILON&&(t=0),t===0?i+e:(e!==0?(i+=e,i+=" ",t<0?(t=-t,i+="-"):i+="+",i+=" "):t<0&&(t=-t,i+="-"),t!==1&&(i+=t),i+"i"))}toVector(){return[this.re,this.im]}valueOf(){return this.im===0?this.re:null}isNaN(){return isNaN(this.re)||isNaN(this.im)}isZero(){return this.im===0&&this.re===0}isFinite(){return isFinite(this.re)&&isFinite(this.im)}isInfinite(){return!(this.isNaN()||this.isFinite())}};ie.ZERO=new ie(0,0);ie.ONE=new ie(1,0);ie.I=new ie(0,1);ie.PI=new ie(Math.PI,0);ie.E=new ie(Math.E,0);ie.INFINITY=new ie(1/0,1/0);ie.NAN=new ie(NaN,NaN);ie.EPSILON=1e-15});function Ke(n){var e,t,i,r=n.length-1,o="",s=n[0];if(r>0){for(o+=s,e=1;e<r;e++)i=n[e]+"",t=$-i.length,t&&(o+=fi(t)),o+=i;s=n[e],i=s+"",t=$-i.length,t&&(o+=fi(t))}else if(s===0)return"0";for(;s%10===0;)s/=10;return o+s}function _n(n,e,t){if(n!==~~n||n<e||n>t)throw Error(di+n)}function So(n,e,t,i){var r,o,s,a;for(o=n[0];o>=10;o/=10)--e;return--e<0?(e+=$,r=0):(r=Math.ceil((e+1)/$),e%=$),o=ze(10,$-e),a=n[r]%o|0,i==null?e<3?(e==0?a=a/100|0:e==1&&(a=a/10|0),s=t<4&&a==99999||t>3&&a==49999||a==5e4||a==0):s=(t<4&&a+1==o||t>3&&a+1==o/2)&&(n[r+1]/o/100|0)==ze(10,e-2)-1||(a==o/2||a==0)&&(n[r+1]/o/100|0)==0:e<4?(e==0?a=a/1e3|0:e==1?a=a/100|0:e==2&&(a=a/10|0),s=(i||t<4)&&a==9999||!i&&t>3&&a==4999):s=((i||t<4)&&a+1==o||!i&&t>3&&a+1==o/2)&&(n[r+1]/o/1e3|0)==ze(10,e-3)-1,s}function Os(n,e,t){for(var i,r=[0],o,s=0,a=n.length;s<a;){for(o=r.length;o--;)r[o]*=e;for(r[0]+=bu.indexOf(n.charAt(s++)),i=0;i<r.length;i++)r[i]>t-1&&(r[i+1]===void 0&&(r[i+1]=0),r[i+1]+=r[i]/t|0,r[i]%=t)}return r.reverse()}function Py(n,e){var t,i,r;if(e.isZero())return e;i=e.d.length,i<32?(t=Math.ceil(i/3),r=(1/js(4,t)).toString()):(t=16,r="2.3283064365386962890625e-10"),n.precision+=t,e=Tr(n,1,e.times(r),new n(1));for(var o=t;o--;){var s=e.times(e);e=s.times(s).minus(s).times(8).plus(1)}return n.precision-=t,e}function F(n,e,t,i){var r,o,s,a,u,l,c,f,p,d=n.constructor;e:if(e!=null){if(f=n.d,!f)return n;for(r=1,a=f[0];a>=10;a/=10)r++;if(o=e-r,o<0)o+=$,s=e,c=f[p=0],u=c/ze(10,r-s-1)%10|0;else if(p=Math.ceil((o+1)/$),a=f.length,p>=a)if(i){for(;a++<=p;)f.push(0);c=u=0,r=1,o%=$,s=o-$+1}else break e;else{for(c=a=f[p],r=1;a>=10;a/=10)r++;o%=$,s=o-$+r,u=s<0?0:c/ze(10,r-s-1)%10|0}if(i=i||e<0||f[p+1]!==void 0||(s<0?c:c%ze(10,r-s-1)),l=t<4?(u||i)&&(t==0||t==(n.s<0?3:2)):u>5||u==5&&(t==4||i||t==6&&(o>0?s>0?c/ze(10,r-s):0:f[p-1])%10&1||t==(n.s<0?8:7)),e<1||!f[0])return f.length=0,l?(e-=n.e+1,f[0]=ze(10,($-e%$)%$),n.e=-e||0):f[0]=n.e=0,n;if(o==0?(f.length=p,a=1,p--):(f.length=p+1,a=ze(10,$-o),f[p]=s>0?(c/ze(10,r-s)%ze(10,s)|0)*a:0),l)for(;;)if(p==0){for(o=1,s=f[0];s>=10;s/=10)o++;for(s=f[0]+=a,a=1;s>=10;s/=10)a++;o!=a&&(n.e++,f[0]==st&&(f[0]=1));break}else{if(f[p]+=a,f[p]!=st)break;f[p--]=0,a=1}for(o=f.length;f[--o]===0;)f.pop()}return U&&(n.e>d.maxE?(n.d=null,n.e=NaN):n.e<d.minE&&(n.e=0,n.d=[0])),n}function Et(n,e,t){if(!n.isFinite())return kp(n);var i,r=n.e,o=Ke(n.d),s=o.length;return e?(t&&(i=t-s)>0?o=o.charAt(0)+"."+o.slice(1)+fi(i):s>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(n.e<0?"e":"e+")+n.e):r<0?(o="0."+fi(-r-1)+o,t&&(i=t-s)>0&&(o+=fi(i))):r>=s?(o+=fi(r+1-s),t&&(i=t-r-1)>0&&(o=o+"."+fi(i))):((i=r+1)<s&&(o=o.slice(0,i)+"."+o.slice(i)),t&&(i=t-s)>0&&(r+1===s&&(o+="."),o+=fi(i))),o}function Us(n,e){var t=n[0];for(e*=$;t>=10;t/=10)e++;return e}function Vs(n,e,t){if(e>Dy)throw U=!0,t&&(n.precision=t),Error(Np);return F(new n(qs),e,1,!0)}function vt(n,e,t){if(e>Eu)throw Error(Np);return F(new n(Fs),e,t,!0)}function Bp(n){var e=n.length-1,t=e*$+1;if(e=n[e],e){for(;e%10==0;e/=10)t--;for(e=n[0];e>=10;e/=10)t++}return t}function fi(n){for(var e="";n--;)e+="0";return e}function Ap(n,e,t,i){var r,o=new n(1),s=Math.ceil(i/$+4);for(U=!1;;){if(t%2&&(o=o.times(e),vp(o.d,s)&&(r=!0)),t=sn(t/2),t===0){t=o.d.length-1,r&&o.d[t]===0&&++o.d[t];break}e=e.times(e),vp(e.d,s)}return U=!0,o}function bp(n){return n.d[n.d.length-1]&1}function wp(n,e,t){for(var i,r,o=new n(e[0]),s=0;++s<e.length;){if(r=new n(e[s]),!r.s){o=r;break}i=o.cmp(r),(i===t||i===0&&o.s===t)&&(o=r)}return o}function _u(n,e){var t,i,r,o,s,a,u,l=0,c=0,f=0,p=n.constructor,d=p.rounding,m=p.precision;if(!n.d||!n.d[0]||n.e>17)return new p(n.d?n.d[0]?n.s<0?0:1/0:1:n.s?n.s<0?0:n:NaN);for(e==null?(U=!1,u=m):u=e,a=new p(.03125);n.e>-2;)n=n.times(a),f+=5;for(i=Math.log(ze(2,f))/Math.LN10*2+5|0,u+=i,t=o=s=new p(1),p.precision=u;;){if(o=F(o.times(n),u,1),t=t.times(++c),a=s.plus(xe(o,t,u,1)),Ke(a.d).slice(0,u)===Ke(s.d).slice(0,u)){for(r=f;r--;)s=F(s.times(s),u,1);if(e==null)if(l<3&&So(s.d,u-i,d,l))p.precision=u+=10,t=o=a=new p(1),c=0,l++;else return F(s,p.precision=m,d,U=!0);else return p.precision=m,s}s=a}}function pi(n,e){var t,i,r,o,s,a,u,l,c,f,p,d=1,m=10,g=n,h=g.d,x=g.constructor,y=x.rounding,E=x.precision;if(g.s<0||!h||!h[0]||!g.e&&h[0]==1&&h.length==1)return new x(h&&!h[0]?-1/0:g.s!=1?NaN:h?0:g);if(e==null?(U=!1,c=E):c=e,x.precision=c+=m,t=Ke(h),i=t.charAt(0),Math.abs(o=g.e)<15e14){for(;i<7&&i!=1||i==1&&t.charAt(1)>3;)g=g.times(n),t=Ke(g.d),i=t.charAt(0),d++;o=g.e,i>1?(g=new x("0."+t),o++):g=new x(i+"."+t.slice(1))}else return l=Vs(x,c+2,E).times(o+""),g=pi(new x(i+"."+t.slice(1)),c-m).plus(l),x.precision=E,e==null?F(g,E,y,U=!0):g;for(f=g,u=s=g=xe(g.minus(1),g.plus(1),c,1),p=F(g.times(g),c,1),r=3;;){if(s=F(s.times(p),c,1),l=u.plus(xe(s,new x(r),c,1)),Ke(l.d).slice(0,c)===Ke(u.d).slice(0,c))if(u=u.times(2),o!==0&&(u=u.plus(Vs(x,c+2,E).times(o+""))),u=xe(u,new x(d),c,1),e==null)if(So(u.d,c-m,y,a))x.precision=c+=m,l=s=g=xe(f.minus(1),f.plus(1),c,1),p=F(g.times(g),c,1),r=a=1;else return F(u,x.precision=E,y,U=!0);else return x.precision=E,u;u=l,r+=2}}function kp(n){return String(n.s*n.s/0)}function Ls(n,e){var t,i,r;for((t=e.indexOf("."))>-1&&(e=e.replace(".","")),(i=e.search(/e/i))>0?(t<0&&(t=i),t+=+e.slice(i+1),e=e.substring(0,i)):t<0&&(t=e.length),i=0;e.charCodeAt(i)===48;i++);for(r=e.length;e.charCodeAt(r-1)===48;--r);if(e=e.slice(i,r),e){if(r-=i,n.e=t=t-i-1,n.d=[],i=(t+1)%$,t<0&&(i+=$),i<r){for(i&&n.d.push(+e.slice(0,i)),r-=$;i<r;)n.d.push(+e.slice(i,i+=$));e=e.slice(i),i=$-e.length}else i-=r;for(;i--;)e+="0";n.d.push(+e),U&&(n.e>n.constructor.maxE?(n.d=null,n.e=NaN):n.e<n.constructor.minE&&(n.e=0,n.d=[0]))}else n.e=0,n.d=[0];return n}function Oy(n,e){var t,i,r,o,s,a,u,l,c;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),Ip.test(e))return Ls(n,e)}else if(e==="Infinity"||e==="NaN")return+e||(n.s=NaN),n.e=NaN,n.d=null,n;if(Cy.test(e))t=16,e=e.toLowerCase();else if(ky.test(e))t=2;else if(Ry.test(e))t=8;else throw Error(di+e);for(o=e.search(/p/i),o>0?(u=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),s=o>=0,i=n.constructor,s&&(e=e.replace(".",""),a=e.length,o=a-o,r=Ap(i,new i(t),o,o*2)),l=Os(e,t,st),c=l.length-1,o=c;l[o]===0;--o)l.pop();return o<0?new i(n.s*0):(n.e=Us(l,c),n.d=l,U=!1,s&&(n=xe(n,r,a*4)),u&&(n=n.times(Math.abs(u)<54?ze(2,u):j.pow(2,u))),U=!0,n)}function Ly(n,e){var t,i=e.d.length;if(i<3)return e.isZero()?e:Tr(n,2,e,e);t=1.4*Math.sqrt(i),t=t>16?16:t|0,e=e.times(1/js(5,t)),e=Tr(n,2,e,e);for(var r,o=new n(5),s=new n(16),a=new n(20);t--;)r=e.times(e),e=e.times(o.plus(r.times(s.times(r).minus(a))));return e}function Tr(n,e,t,i,r){var o,s,a,u,l=1,c=n.precision,f=Math.ceil(c/$);for(U=!1,u=t.times(t),a=new n(i);;){if(s=xe(a.times(u),new n(e++*e++),c,1),a=r?i.plus(s):i.minus(s),i=xe(s.times(u),new n(e++*e++),c,1),s=a.plus(i),s.d[f]!==void 0){for(o=f;s.d[o]===a.d[o]&&o--;);if(o==-1)break}o=a,a=i,i=s,s=o,l++}return U=!0,s.d.length=f+1,s}function js(n,e){for(var t=n;--e;)t*=n;return t}function Cp(n,e){var t,i=e.s<0,r=vt(n,n.precision,1),o=r.times(.5);if(e=e.abs(),e.lte(o))return $t=i?4:1,e;if(t=e.divToInt(r),t.isZero())$t=i?3:2;else{if(e=e.minus(t.times(r)),e.lte(o))return $t=bp(t)?i?2:3:i?4:1,e;$t=bp(t)?i?1:4:i?3:2}return e.minus(r).abs()}function Nu(n,e,t,i){var r,o,s,a,u,l,c,f,p,d=n.constructor,m=t!==void 0;if(m?(_n(t,1,mi),i===void 0?i=d.rounding:_n(i,0,8)):(t=d.precision,i=d.rounding),!n.isFinite())c=kp(n);else{for(c=Et(n),s=c.indexOf("."),m?(r=2,e==16?t=t*4-3:e==8&&(t=t*3-2)):r=e,s>=0&&(c=c.replace(".",""),p=new d(1),p.e=c.length-s,p.d=Os(Et(p),10,r),p.e=p.d.length),f=Os(c,10,r),o=u=f.length;f[--u]==0;)f.pop();if(!f[0])c=m?"0p+0":"0";else{if(s<0?o--:(n=new d(n),n.d=f,n.e=o,n=xe(n,p,t,i,0,r),f=n.d,o=n.e,l=_p),s=f[t],a=r/2,l=l||f[t+1]!==void 0,l=i<4?(s!==void 0||l)&&(i===0||i===(n.s<0?3:2)):s>a||s===a&&(i===4||l||i===6&&f[t-1]&1||i===(n.s<0?8:7)),f.length=t,l)for(;++f[--t]>r-1;)f[t]=0,t||(++o,f.unshift(1));for(u=f.length;!f[u-1];--u);for(s=0,c="";s<u;s++)c+=bu.charAt(f[s]);if(m){if(u>1)if(e==16||e==8){for(s=e==16?4:3,--u;u%s;u++)c+="0";for(f=Os(c,r,e),u=f.length;!f[u-1];--u);for(s=1,c="1.";s<u;s++)c+=bu.charAt(f[s])}else c=c.charAt(0)+"."+c.slice(1);c=c+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)c="0"+c;c="0."+c}else if(++o>u)for(o-=u;o--;)c+="0";else o<u&&(c=c.slice(0,o)+"."+c.slice(o))}c=(e==16?"0x":e==2?"0b":e==8?"0o":"")+c}return n.s<0?"-"+c:c}function vp(n,e){if(n.length>e)return n.length=e,!0}function qy(n){return new this(n).abs()}function Fy(n){return new this(n).acos()}function Vy(n){return new this(n).acosh()}function $y(n,e){return new this(n).plus(e)}function Uy(n){return new this(n).asin()}function jy(n){return new this(n).asinh()}function Gy(n){return new this(n).atan()}function zy(n){return new this(n).atanh()}function Zy(n,e){n=new this(n),e=new this(e);var t,i=this.precision,r=this.rounding,o=i+4;return!n.s||!e.s?t=new this(NaN):!n.d&&!e.d?(t=vt(this,o,1).times(e.s>0?.25:.75),t.s=n.s):!e.d||n.isZero()?(t=e.s<0?vt(this,i,r):new this(0),t.s=n.s):!n.d||e.isZero()?(t=vt(this,o,1).times(.5),t.s=n.s):e.s<0?(this.precision=o,this.rounding=1,t=this.atan(xe(n,e,o,1)),e=vt(this,o,1),this.precision=i,this.rounding=r,t=n.s<0?t.minus(e):t.plus(e)):t=this.atan(xe(n,e,o,1)),t}function Hy(n){return new this(n).cbrt()}function Wy(n){return F(n=new this(n),n.e+1,2)}function Jy(n,e,t){return new this(n).clamp(e,t)}function Yy(n){if(!n||typeof n!="object")throw Error($s+"Object expected");var e,t,i,r=n.defaults===!0,o=["precision",1,mi,"rounding",0,8,"toExpNeg",-Nr,0,"toExpPos",0,Nr,"maxE",0,Nr,"minE",-Nr,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(t=o[e],r&&(this[t]=vu[t]),(i=n[t])!==void 0)if(sn(i)===i&&i>=o[e+1]&&i<=o[e+2])this[t]=i;else throw Error(di+t+": "+i);if(t="crypto",r&&(this[t]=vu[t]),(i=n[t])!==void 0)if(i===!0||i===!1||i===0||i===1)if(i)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[t]=!0;else throw Error(Tp);else this[t]=!1;else throw Error(di+t+": "+i);return this}function Qy(n){return new this(n).cos()}function Xy(n){return new this(n).cosh()}function Rp(n){var e,t,i;function r(o){var s,a,u,l=this;if(!(l instanceof r))return new r(o);if(l.constructor=r,Ep(o)){l.s=o.s,U?!o.d||o.e>r.maxE?(l.e=NaN,l.d=null):o.e<r.minE?(l.e=0,l.d=[0]):(l.e=o.e,l.d=o.d.slice()):(l.e=o.e,l.d=o.d?o.d.slice():o.d);return}if(u=typeof o,u==="number"){if(o===0){l.s=1/o<0?-1:1,l.e=0,l.d=[0];return}if(o<0?(o=-o,l.s=-1):l.s=1,o===~~o&&o<1e7){for(s=0,a=o;a>=10;a/=10)s++;U?s>r.maxE?(l.e=NaN,l.d=null):s<r.minE?(l.e=0,l.d=[0]):(l.e=s,l.d=[o]):(l.e=s,l.d=[o]);return}if(o*0!==0){o||(l.s=NaN),l.e=NaN,l.d=null;return}return Ls(l,o.toString())}if(u==="string")return(a=o.charCodeAt(0))===45?(o=o.slice(1),l.s=-1):(a===43&&(o=o.slice(1)),l.s=1),Ip.test(o)?Ls(l,o):Oy(l,o);if(u==="bigint")return o<0?(o=-o,l.s=-1):l.s=1,Ls(l,o.toString());throw Error(di+o)}if(r.prototype=I,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=Yy,r.clone=Rp,r.isDecimal=Ep,r.abs=qy,r.acos=Fy,r.acosh=Vy,r.add=$y,r.asin=Uy,r.asinh=jy,r.atan=Gy,r.atanh=zy,r.atan2=Zy,r.cbrt=Hy,r.ceil=Wy,r.clamp=Jy,r.cos=Qy,r.cosh=Xy,r.div=Ky,r.exp=eb,r.floor=nb,r.hypot=tb,r.ln=ib,r.log=rb,r.log10=sb,r.log2=ob,r.max=ab,r.min=ub,r.mod=lb,r.mul=cb,r.pow=fb,r.random=pb,r.round=db,r.sign=mb,r.sin=gb,r.sinh=hb,r.sqrt=xb,r.sub=yb,r.sum=bb,r.tan=vb,r.tanh=Eb,r.trunc=_b,n===void 0&&(n={}),n&&n.defaults!==!0)for(i=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<i.length;)n.hasOwnProperty(t=i[e++])||(n[t]=this[t]);return r.config(n),r}function Ky(n,e){return new this(n).div(e)}function eb(n){return new this(n).exp()}function nb(n){return F(n=new this(n),n.e+1,3)}function tb(){var n,e,t=new this(0);for(U=!1,n=0;n<arguments.length;)if(e=new this(arguments[n++]),e.d)t.d&&(t=t.plus(e.times(e)));else{if(e.s)return U=!0,new this(1/0);t=e}return U=!0,t.sqrt()}function Ep(n){return n instanceof j||n&&n.toStringTag===Sp||!1}function ib(n){return new this(n).ln()}function rb(n,e){return new this(n).log(e)}function ob(n){return new this(n).log(2)}function sb(n){return new this(n).log(10)}function ab(){return wp(this,arguments,-1)}function ub(){return wp(this,arguments,1)}function lb(n,e){return new this(n).mod(e)}function cb(n,e){return new this(n).mul(e)}function fb(n,e){return new this(n).pow(e)}function pb(n){var e,t,i,r,o=0,s=new this(1),a=[];if(n===void 0?n=this.precision:_n(n,1,mi),i=Math.ceil(n/$),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(i));o<i;)r=e[o],r>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:a[o++]=r%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(i*=4);o<i;)r=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),r>=214e7?crypto.randomBytes(4).copy(e,o):(a.push(r%1e7),o+=4);o=i/4}else throw Error(Tp);else for(;o<i;)a[o++]=Math.random()*1e7|0;for(i=a[--o],n%=$,i&&n&&(r=ze(10,$-n),a[o]=(i/r|0)*r);a[o]===0;o--)a.pop();if(o<0)t=0,a=[0];else{for(t=-1;a[0]===0;t-=$)a.shift();for(i=1,r=a[0];r>=10;r/=10)i++;i<$&&(t-=$-i)}return s.e=t,s.d=a,s}function db(n){return F(n=new this(n),n.e+1,this.rounding)}function mb(n){return n=new this(n),n.d?n.d[0]?n.s:0*n.s:n.s||NaN}function gb(n){return new this(n).sin()}function hb(n){return new this(n).sinh()}function xb(n){return new this(n).sqrt()}function yb(n,e){return new this(n).sub(e)}function bb(){var n=0,e=arguments,t=new this(e[n]);for(U=!1;t.s&&++n<e.length;)t=t.plus(e[n]);return U=!0,F(t,this.precision,this.rounding)}function vb(n){return new this(n).tan()}function Eb(n){return new this(n).tanh()}function _b(n){return F(n=new this(n),n.e+1,1)}var Nr,mi,bu,qs,Fs,vu,_p,$t,U,$s,di,Np,Tp,Sp,sn,ze,ky,Cy,Ry,Ip,st,$,My,Dy,Eu,I,xe,j,Io,Nn=k(()=>{Nr=9e15,mi=1e9,bu="0123456789abcdef",qs="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",Fs="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",vu={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Nr,maxE:Nr,crypto:!1},U=!0,$s="[DecimalError] ",di=$s+"Invalid argument: ",Np=$s+"Precision limit exceeded",Tp=$s+"crypto unavailable",Sp="[object Decimal]",sn=Math.floor,ze=Math.pow,ky=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Cy=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Ry=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,Ip=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,st=1e7,$=7,My=9007199254740991,Dy=qs.length-1,Eu=Fs.length-1,I={toStringTag:Sp};I.absoluteValue=I.abs=function(){var n=new this.constructor(this);return n.s<0&&(n.s=1),F(n)};I.ceil=function(){return F(new this.constructor(this),this.e+1,2)};I.clampedTo=I.clamp=function(n,e){var t,i=this,r=i.constructor;if(n=new r(n),e=new r(e),!n.s||!e.s)return new r(NaN);if(n.gt(e))throw Error(di+e);return t=i.cmp(n),t<0?n:i.cmp(e)>0?e:new r(i)};I.comparedTo=I.cmp=function(n){var e,t,i,r,o=this,s=o.d,a=(n=new o.constructor(n)).d,u=o.s,l=n.s;if(!s||!a)return!u||!l?NaN:u!==l?u:s===a?0:!s^u<0?1:-1;if(!s[0]||!a[0])return s[0]?u:a[0]?-l:0;if(u!==l)return u;if(o.e!==n.e)return o.e>n.e^u<0?1:-1;for(i=s.length,r=a.length,e=0,t=i<r?i:r;e<t;++e)if(s[e]!==a[e])return s[e]>a[e]^u<0?1:-1;return i===r?0:i>r^u<0?1:-1};I.cosine=I.cos=function(){var n,e,t=this,i=t.constructor;return t.d?t.d[0]?(n=i.precision,e=i.rounding,i.precision=n+Math.max(t.e,t.sd())+$,i.rounding=1,t=Py(i,Cp(i,t)),i.precision=n,i.rounding=e,F($t==2||$t==3?t.neg():t,n,e,!0)):new i(1):new i(NaN)};I.cubeRoot=I.cbrt=function(){var n,e,t,i,r,o,s,a,u,l,c=this,f=c.constructor;if(!c.isFinite()||c.isZero())return new f(c);for(U=!1,o=c.s*ze(c.s*c,1/3),!o||Math.abs(o)==1/0?(t=Ke(c.d),n=c.e,(o=(n-t.length+1)%3)&&(t+=o==1||o==-2?"0":"00"),o=ze(t,1/3),n=sn((n+1)/3)-(n%3==(n<0?-1:2)),o==1/0?t="5e"+n:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+n),i=new f(t),i.s=c.s):i=new f(o.toString()),s=(n=f.precision)+3;;)if(a=i,u=a.times(a).times(a),l=u.plus(c),i=xe(l.plus(c).times(a),l.plus(u),s+2,1),Ke(a.d).slice(0,s)===(t=Ke(i.d)).slice(0,s))if(t=t.slice(s-3,s+1),t=="9999"||!r&&t=="4999"){if(!r&&(F(a,n+1,0),a.times(a).times(a).eq(c))){i=a;break}s+=4,r=1}else{(!+t||!+t.slice(1)&&t.charAt(0)=="5")&&(F(i,n+1,1),e=!i.times(i).times(i).eq(c));break}return U=!0,F(i,n,f.rounding,e)};I.decimalPlaces=I.dp=function(){var n,e=this.d,t=NaN;if(e){if(n=e.length-1,t=(n-sn(this.e/$))*$,n=e[n],n)for(;n%10==0;n/=10)t--;t<0&&(t=0)}return t};I.dividedBy=I.div=function(n){return xe(this,new this.constructor(n))};I.dividedToIntegerBy=I.divToInt=function(n){var e=this,t=e.constructor;return F(xe(e,new t(n),0,1,1),t.precision,t.rounding)};I.equals=I.eq=function(n){return this.cmp(n)===0};I.floor=function(){return F(new this.constructor(this),this.e+1,3)};I.greaterThan=I.gt=function(n){return this.cmp(n)>0};I.greaterThanOrEqualTo=I.gte=function(n){var e=this.cmp(n);return e==1||e===0};I.hyperbolicCosine=I.cosh=function(){var n,e,t,i,r,o=this,s=o.constructor,a=new s(1);if(!o.isFinite())return new s(o.s?1/0:NaN);if(o.isZero())return a;t=s.precision,i=s.rounding,s.precision=t+Math.max(o.e,o.sd())+4,s.rounding=1,r=o.d.length,r<32?(n=Math.ceil(r/3),e=(1/js(4,n)).toString()):(n=16,e="2.3283064365386962890625e-10"),o=Tr(s,1,o.times(e),new s(1),!0);for(var u,l=n,c=new s(8);l--;)u=o.times(o),o=a.minus(u.times(c.minus(u.times(c))));return F(o,s.precision=t,s.rounding=i,!0)};I.hyperbolicSine=I.sinh=function(){var n,e,t,i,r=this,o=r.constructor;if(!r.isFinite()||r.isZero())return new o(r);if(e=o.precision,t=o.rounding,o.precision=e+Math.max(r.e,r.sd())+4,o.rounding=1,i=r.d.length,i<3)r=Tr(o,2,r,r,!0);else{n=1.4*Math.sqrt(i),n=n>16?16:n|0,r=r.times(1/js(5,n)),r=Tr(o,2,r,r,!0);for(var s,a=new o(5),u=new o(16),l=new o(20);n--;)s=r.times(r),r=r.times(a.plus(s.times(u.times(s).plus(l))))}return o.precision=e,o.rounding=t,F(r,e,t,!0)};I.hyperbolicTangent=I.tanh=function(){var n,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(n=i.precision,e=i.rounding,i.precision=n+7,i.rounding=1,xe(t.sinh(),t.cosh(),i.precision=n,i.rounding=e)):new i(t.s)};I.inverseCosine=I.acos=function(){var n=this,e=n.constructor,t=n.abs().cmp(1),i=e.precision,r=e.rounding;return t!==-1?t===0?n.isNeg()?vt(e,i,r):new e(0):new e(NaN):n.isZero()?vt(e,i+4,r).times(.5):(e.precision=i+6,e.rounding=1,n=new e(1).minus(n).div(n.plus(1)).sqrt().atan(),e.precision=i,e.rounding=r,n.times(2))};I.inverseHyperbolicCosine=I.acosh=function(){var n,e,t=this,i=t.constructor;return t.lte(1)?new i(t.eq(1)?0:NaN):t.isFinite()?(n=i.precision,e=i.rounding,i.precision=n+Math.max(Math.abs(t.e),t.sd())+4,i.rounding=1,U=!1,t=t.times(t).minus(1).sqrt().plus(t),U=!0,i.precision=n,i.rounding=e,t.ln()):new i(t)};I.inverseHyperbolicSine=I.asinh=function(){var n,e,t=this,i=t.constructor;return!t.isFinite()||t.isZero()?new i(t):(n=i.precision,e=i.rounding,i.precision=n+2*Math.max(Math.abs(t.e),t.sd())+6,i.rounding=1,U=!1,t=t.times(t).plus(1).sqrt().plus(t),U=!0,i.precision=n,i.rounding=e,t.ln())};I.inverseHyperbolicTangent=I.atanh=function(){var n,e,t,i,r=this,o=r.constructor;return r.isFinite()?r.e>=0?new o(r.abs().eq(1)?r.s/0:r.isZero()?r:NaN):(n=o.precision,e=o.rounding,i=r.sd(),Math.max(i,n)<2*-r.e-1?F(new o(r),n,e,!0):(o.precision=t=i-r.e,r=xe(r.plus(1),new o(1).minus(r),t+n,1),o.precision=n+4,o.rounding=1,r=r.ln(),o.precision=n,o.rounding=e,r.times(.5))):new o(NaN)};I.inverseSine=I.asin=function(){var n,e,t,i,r=this,o=r.constructor;return r.isZero()?new o(r):(e=r.abs().cmp(1),t=o.precision,i=o.rounding,e!==-1?e===0?(n=vt(o,t+4,i).times(.5),n.s=r.s,n):new o(NaN):(o.precision=t+6,o.rounding=1,r=r.div(new o(1).minus(r.times(r)).sqrt().plus(1)).atan(),o.precision=t,o.rounding=i,r.times(2)))};I.inverseTangent=I.atan=function(){var n,e,t,i,r,o,s,a,u,l=this,c=l.constructor,f=c.precision,p=c.rounding;if(l.isFinite()){if(l.isZero())return new c(l);if(l.abs().eq(1)&&f+4<=Eu)return s=vt(c,f+4,p).times(.25),s.s=l.s,s}else{if(!l.s)return new c(NaN);if(f+4<=Eu)return s=vt(c,f+4,p).times(.5),s.s=l.s,s}for(c.precision=a=f+10,c.rounding=1,t=Math.min(28,a/$+2|0),n=t;n;--n)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(U=!1,e=Math.ceil(a/$),i=1,u=l.times(l),s=new c(l),r=l;n!==-1;)if(r=r.times(u),o=s.minus(r.div(i+=2)),r=r.times(u),s=o.plus(r.div(i+=2)),s.d[e]!==void 0)for(n=e;s.d[n]===o.d[n]&&n--;);return t&&(s=s.times(2<<t-1)),U=!0,F(s,c.precision=f,c.rounding=p,!0)};I.isFinite=function(){return!!this.d};I.isInteger=I.isInt=function(){return!!this.d&&sn(this.e/$)>this.d.length-2};I.isNaN=function(){return!this.s};I.isNegative=I.isNeg=function(){return this.s<0};I.isPositive=I.isPos=function(){return this.s>0};I.isZero=function(){return!!this.d&&this.d[0]===0};I.lessThan=I.lt=function(n){return this.cmp(n)<0};I.lessThanOrEqualTo=I.lte=function(n){return this.cmp(n)<1};I.logarithm=I.log=function(n){var e,t,i,r,o,s,a,u,l=this,c=l.constructor,f=c.precision,p=c.rounding,d=5;if(n==null)n=new c(10),e=!0;else{if(n=new c(n),t=n.d,n.s<0||!t||!t[0]||n.eq(1))return new c(NaN);e=n.eq(10)}if(t=l.d,l.s<0||!t||!t[0]||l.eq(1))return new c(t&&!t[0]?-1/0:l.s!=1?NaN:t?0:1/0);if(e)if(t.length>1)o=!0;else{for(r=t[0];r%10===0;)r/=10;o=r!==1}if(U=!1,a=f+d,s=pi(l,a),i=e?Vs(c,a+10):pi(n,a),u=xe(s,i,a,1),So(u.d,r=f,p))do if(a+=10,s=pi(l,a),i=e?Vs(c,a+10):pi(n,a),u=xe(s,i,a,1),!o){+Ke(u.d).slice(r+1,r+15)+1==1e14&&(u=F(u,f+1,0));break}while(So(u.d,r+=10,p));return U=!0,F(u,f,p)};I.minus=I.sub=function(n){var e,t,i,r,o,s,a,u,l,c,f,p,d=this,m=d.constructor;if(n=new m(n),!d.d||!n.d)return!d.s||!n.s?n=new m(NaN):d.d?n.s=-n.s:n=new m(n.d||d.s!==n.s?d:NaN),n;if(d.s!=n.s)return n.s=-n.s,d.plus(n);if(l=d.d,p=n.d,a=m.precision,u=m.rounding,!l[0]||!p[0]){if(p[0])n.s=-n.s;else if(l[0])n=new m(d);else return new m(u===3?-0:0);return U?F(n,a,u):n}if(t=sn(n.e/$),c=sn(d.e/$),l=l.slice(),o=c-t,o){for(f=o<0,f?(e=l,o=-o,s=p.length):(e=p,t=c,s=l.length),i=Math.max(Math.ceil(a/$),s)+2,o>i&&(o=i,e.length=1),e.reverse(),i=o;i--;)e.push(0);e.reverse()}else{for(i=l.length,s=p.length,f=i<s,f&&(s=i),i=0;i<s;i++)if(l[i]!=p[i]){f=l[i]<p[i];break}o=0}for(f&&(e=l,l=p,p=e,n.s=-n.s),s=l.length,i=p.length-s;i>0;--i)l[s++]=0;for(i=p.length;i>o;){if(l[--i]<p[i]){for(r=i;r&&l[--r]===0;)l[r]=st-1;--l[r],l[i]+=st}l[i]-=p[i]}for(;l[--s]===0;)l.pop();for(;l[0]===0;l.shift())--t;return l[0]?(n.d=l,n.e=Us(l,t),U?F(n,a,u):n):new m(u===3?-0:0)};I.modulo=I.mod=function(n){var e,t=this,i=t.constructor;return n=new i(n),!t.d||!n.s||n.d&&!n.d[0]?new i(NaN):!n.d||t.d&&!t.d[0]?F(new i(t),i.precision,i.rounding):(U=!1,i.modulo==9?(e=xe(t,n.abs(),0,3,1),e.s*=n.s):e=xe(t,n,0,i.modulo,1),e=e.times(n),U=!0,t.minus(e))};I.naturalExponential=I.exp=function(){return _u(this)};I.naturalLogarithm=I.ln=function(){return pi(this)};I.negated=I.neg=function(){var n=new this.constructor(this);return n.s=-n.s,F(n)};I.plus=I.add=function(n){var e,t,i,r,o,s,a,u,l,c,f=this,p=f.constructor;if(n=new p(n),!f.d||!n.d)return!f.s||!n.s?n=new p(NaN):f.d||(n=new p(n.d||f.s===n.s?f:NaN)),n;if(f.s!=n.s)return n.s=-n.s,f.minus(n);if(l=f.d,c=n.d,a=p.precision,u=p.rounding,!l[0]||!c[0])return c[0]||(n=new p(f)),U?F(n,a,u):n;if(o=sn(f.e/$),i=sn(n.e/$),l=l.slice(),r=o-i,r){for(r<0?(t=l,r=-r,s=c.length):(t=c,i=o,s=l.length),o=Math.ceil(a/$),s=o>s?o+1:s+1,r>s&&(r=s,t.length=1),t.reverse();r--;)t.push(0);t.reverse()}for(s=l.length,r=c.length,s-r<0&&(r=s,t=c,c=l,l=t),e=0;r;)e=(l[--r]=l[r]+c[r]+e)/st|0,l[r]%=st;for(e&&(l.unshift(e),++i),s=l.length;l[--s]==0;)l.pop();return n.d=l,n.e=Us(l,i),U?F(n,a,u):n};I.precision=I.sd=function(n){var e,t=this;if(n!==void 0&&n!==!!n&&n!==1&&n!==0)throw Error(di+n);return t.d?(e=Bp(t.d),n&&t.e+1>e&&(e=t.e+1)):e=NaN,e};I.round=function(){var n=this,e=n.constructor;return F(new e(n),n.e+1,e.rounding)};I.sine=I.sin=function(){var n,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(n=i.precision,e=i.rounding,i.precision=n+Math.max(t.e,t.sd())+$,i.rounding=1,t=Ly(i,Cp(i,t)),i.precision=n,i.rounding=e,F($t>2?t.neg():t,n,e,!0)):new i(NaN)};I.squareRoot=I.sqrt=function(){var n,e,t,i,r,o,s=this,a=s.d,u=s.e,l=s.s,c=s.constructor;if(l!==1||!a||!a[0])return new c(!l||l<0&&(!a||a[0])?NaN:a?s:1/0);for(U=!1,l=Math.sqrt(+s),l==0||l==1/0?(e=Ke(a),(e.length+u)%2==0&&(e+="0"),l=Math.sqrt(e),u=sn((u+1)/2)-(u<0||u%2),l==1/0?e="5e"+u:(e=l.toExponential(),e=e.slice(0,e.indexOf("e")+1)+u),i=new c(e)):i=new c(l.toString()),t=(u=c.precision)+3;;)if(o=i,i=o.plus(xe(s,o,t+2,1)).times(.5),Ke(o.d).slice(0,t)===(e=Ke(i.d)).slice(0,t))if(e=e.slice(t-3,t+1),e=="9999"||!r&&e=="4999"){if(!r&&(F(o,u+1,0),o.times(o).eq(s))){i=o;break}t+=4,r=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(F(i,u+1,1),n=!i.times(i).eq(s));break}return U=!0,F(i,u,c.rounding,n)};I.tangent=I.tan=function(){var n,e,t=this,i=t.constructor;return t.isFinite()?t.isZero()?new i(t):(n=i.precision,e=i.rounding,i.precision=n+10,i.rounding=1,t=t.sin(),t.s=1,t=xe(t,new i(1).minus(t.times(t)).sqrt(),n+10,0),i.precision=n,i.rounding=e,F($t==2||$t==4?t.neg():t,n,e,!0)):new i(NaN)};I.times=I.mul=function(n){var e,t,i,r,o,s,a,u,l,c=this,f=c.constructor,p=c.d,d=(n=new f(n)).d;if(n.s*=c.s,!p||!p[0]||!d||!d[0])return new f(!n.s||p&&!p[0]&&!d||d&&!d[0]&&!p?NaN:!p||!d?n.s/0:n.s*0);for(t=sn(c.e/$)+sn(n.e/$),u=p.length,l=d.length,u<l&&(o=p,p=d,d=o,s=u,u=l,l=s),o=[],s=u+l,i=s;i--;)o.push(0);for(i=l;--i>=0;){for(e=0,r=u+i;r>i;)a=o[r]+d[i]*p[r-i-1]+e,o[r--]=a%st|0,e=a/st|0;o[r]=(o[r]+e)%st|0}for(;!o[--s];)o.pop();return e?++t:o.shift(),n.d=o,n.e=Us(o,t),U?F(n,f.precision,f.rounding):n};I.toBinary=function(n,e){return Nu(this,2,n,e)};I.toDecimalPlaces=I.toDP=function(n,e){var t=this,i=t.constructor;return t=new i(t),n===void 0?t:(_n(n,0,mi),e===void 0?e=i.rounding:_n(e,0,8),F(t,n+t.e+1,e))};I.toExponential=function(n,e){var t,i=this,r=i.constructor;return n===void 0?t=Et(i,!0):(_n(n,0,mi),e===void 0?e=r.rounding:_n(e,0,8),i=F(new r(i),n+1,e),t=Et(i,!0,n+1)),i.isNeg()&&!i.isZero()?"-"+t:t};I.toFixed=function(n,e){var t,i,r=this,o=r.constructor;return n===void 0?t=Et(r):(_n(n,0,mi),e===void 0?e=o.rounding:_n(e,0,8),i=F(new o(r),n+r.e+1,e),t=Et(i,!1,n+i.e+1)),r.isNeg()&&!r.isZero()?"-"+t:t};I.toFraction=function(n){var e,t,i,r,o,s,a,u,l,c,f,p,d=this,m=d.d,g=d.constructor;if(!m)return new g(d);if(l=t=new g(1),i=u=new g(0),e=new g(i),o=e.e=Bp(m)-d.e-1,s=o%$,e.d[0]=ze(10,s<0?$+s:s),n==null)n=o>0?e:l;else{if(a=new g(n),!a.isInt()||a.lt(l))throw Error(di+a);n=a.gt(e)?o>0?e:l:a}for(U=!1,a=new g(Ke(m)),c=g.precision,g.precision=o=m.length*$*2;f=xe(a,e,0,1,1),r=t.plus(f.times(i)),r.cmp(n)!=1;)t=i,i=r,r=l,l=u.plus(f.times(r)),u=r,r=e,e=a.minus(f.times(r)),a=r;return r=xe(n.minus(t),i,0,1,1),u=u.plus(r.times(l)),t=t.plus(r.times(i)),u.s=l.s=d.s,p=xe(l,i,o,1).minus(d).abs().cmp(xe(u,t,o,1).minus(d).abs())<1?[l,i]:[u,t],g.precision=c,U=!0,p};I.toHexadecimal=I.toHex=function(n,e){return Nu(this,16,n,e)};I.toNearest=function(n,e){var t=this,i=t.constructor;if(t=new i(t),n==null){if(!t.d)return t;n=new i(1),e=i.rounding}else{if(n=new i(n),e===void 0?e=i.rounding:_n(e,0,8),!t.d)return n.s?t:n;if(!n.d)return n.s&&(n.s=t.s),n}return n.d[0]?(U=!1,t=xe(t,n,0,e,1).times(n),U=!0,F(t)):(n.s=t.s,t=n),t};I.toNumber=function(){return+this};I.toOctal=function(n,e){return Nu(this,8,n,e)};I.toPower=I.pow=function(n){var e,t,i,r,o,s,a=this,u=a.constructor,l=+(n=new u(n));if(!a.d||!n.d||!a.d[0]||!n.d[0])return new u(ze(+a,l));if(a=new u(a),a.eq(1))return a;if(i=u.precision,o=u.rounding,n.eq(1))return F(a,i,o);if(e=sn(n.e/$),e>=n.d.length-1&&(t=l<0?-l:l)<=My)return r=Ap(u,a,t,i),n.s<0?new u(1).div(r):F(r,i,o);if(s=a.s,s<0){if(e<n.d.length-1)return new u(NaN);if((n.d[e]&1)==0&&(s=1),a.e==0&&a.d[0]==1&&a.d.length==1)return a.s=s,a}return t=ze(+a,l),e=t==0||!isFinite(t)?sn(l*(Math.log("0."+Ke(a.d))/Math.LN10+a.e+1)):new u(t+"").e,e>u.maxE+1||e<u.minE-1?new u(e>0?s/0:0):(U=!1,u.rounding=a.s=1,t=Math.min(12,(e+"").length),r=_u(n.times(pi(a,i+t)),i),r.d&&(r=F(r,i+5,1),So(r.d,i,o)&&(e=i+10,r=F(_u(n.times(pi(a,e+t)),e),e+5,1),+Ke(r.d).slice(i+1,i+15)+1==1e14&&(r=F(r,i+1,0)))),r.s=s,U=!0,u.rounding=o,F(r,i,o))};I.toPrecision=function(n,e){var t,i=this,r=i.constructor;return n===void 0?t=Et(i,i.e<=r.toExpNeg||i.e>=r.toExpPos):(_n(n,1,mi),e===void 0?e=r.rounding:_n(e,0,8),i=F(new r(i),n,e),t=Et(i,n<=i.e||i.e<=r.toExpNeg,n)),i.isNeg()&&!i.isZero()?"-"+t:t};I.toSignificantDigits=I.toSD=function(n,e){var t=this,i=t.constructor;return n===void 0?(n=i.precision,e=i.rounding):(_n(n,1,mi),e===void 0?e=i.rounding:_n(e,0,8)),F(new i(t),n,e)};I.toString=function(){var n=this,e=n.constructor,t=Et(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()&&!n.isZero()?"-"+t:t};I.truncated=I.trunc=function(){return F(new this.constructor(this),this.e+1,1)};I.valueOf=I.toJSON=function(){var n=this,e=n.constructor,t=Et(n,n.e<=e.toExpNeg||n.e>=e.toExpPos);return n.isNeg()?"-"+t:t};xe=(function(){function n(i,r,o){var s,a=0,u=i.length;for(i=i.slice();u--;)s=i[u]*r+a,i[u]=s%o|0,a=s/o|0;return a&&i.unshift(a),i}function e(i,r,o,s){var a,u;if(o!=s)u=o>s?1:-1;else for(a=u=0;a<o;a++)if(i[a]!=r[a]){u=i[a]>r[a]?1:-1;break}return u}function t(i,r,o,s){for(var a=0;o--;)i[o]-=a,a=i[o]<r[o]?1:0,i[o]=a*s+i[o]-r[o];for(;!i[0]&&i.length>1;)i.shift()}return function(i,r,o,s,a,u){var l,c,f,p,d,m,g,h,x,y,E,v,_,N,T,B,L,Y,H,Ae,qe=i.constructor,Fe=i.s==r.s?1:-1,ce=i.d,oe=r.d;if(!ce||!ce[0]||!oe||!oe[0])return new qe(!i.s||!r.s||(ce?oe&&ce[0]==oe[0]:!oe)?NaN:ce&&ce[0]==0||!oe?Fe*0:Fe/0);for(u?(d=1,c=i.e-r.e):(u=st,d=$,c=sn(i.e/d)-sn(r.e/d)),H=oe.length,L=ce.length,x=new qe(Fe),y=x.d=[],f=0;oe[f]==(ce[f]||0);f++);if(oe[f]>(ce[f]||0)&&c--,o==null?(N=o=qe.precision,s=qe.rounding):a?N=o+(i.e-r.e)+1:N=o,N<0)y.push(1),m=!0;else{if(N=N/d+2|0,f=0,H==1){for(p=0,oe=oe[0],N++;(f<L||p)&&N--;f++)T=p*u+(ce[f]||0),y[f]=T/oe|0,p=T%oe|0;m=p||f<L}else{for(p=u/(oe[0]+1)|0,p>1&&(oe=n(oe,p,u),ce=n(ce,p,u),H=oe.length,L=ce.length),B=H,E=ce.slice(0,H),v=E.length;v<H;)E[v++]=0;Ae=oe.slice(),Ae.unshift(0),Y=oe[0],oe[1]>=u/2&&++Y;do p=0,l=e(oe,E,H,v),l<0?(_=E[0],H!=v&&(_=_*u+(E[1]||0)),p=_/Y|0,p>1?(p>=u&&(p=u-1),g=n(oe,p,u),h=g.length,v=E.length,l=e(g,E,h,v),l==1&&(p--,t(g,H<h?Ae:oe,h,u))):(p==0&&(l=p=1),g=oe.slice()),h=g.length,h<v&&g.unshift(0),t(E,g,v,u),l==-1&&(v=E.length,l=e(oe,E,H,v),l<1&&(p++,t(E,H<v?Ae:oe,v,u))),v=E.length):l===0&&(p++,E=[0]),y[f++]=p,l&&E[0]?E[v++]=ce[B]||0:(E=[ce[B]],v=1);while((B++<L||E[0]!==void 0)&&N--);m=E[0]!==void 0}y[0]||y.shift()}if(d==1)x.e=c,_p=m;else{for(f=1,p=y[0];p>=10;p/=10)f++;x.e=f+c*d-1,F(x,a?o+x.e+1:o,s,m)}return x}})();I[Symbol.for("nodejs.util.inspect.custom")]=I.toString;I[Symbol.toStringTag]="Decimal";j=I.constructor=Rp(vu);qs=new j(qs);Fs=new j(Fs);Io=j});function Lp(n){if(!Su){let t=`^[${["Zyyy","Zinh","Arab","Armn","Beng","Bopo","Cyrl","Deva","Ethi","Geor","Grek","Gujr","Guru","Hang","Hani","Hebr","Hira","Kana","Knda","Khmr","Laoo","Latn","Mlym","Mymr","Orya","Sinh","Taml","Telu","Thaa","Thai","Tibt"].map(i=>`\\p{Script=${i}}`).join("")}]*$`;Su=new RegExp(t,"u")}return Su.test(n)}function Ze(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||Ir.test(n)?!0:Lp(n)?/^[\p{XIDS}_]\p{XIDC}*$/u.test(n):!1}function Gn(n){return typeof n!="string"?"not-a-string":n===""?"empty-string":n.normalize()!==n?"expected-nfc":/[\u200E\u200F\u2066-\u2069\u202A-\u202E]/.test(n)?"unexpected-bidi-marker":Ir.test(n)?"valid":/\p{XIDC}/u.test(n)&&wb.test(n)?"unexpected-mixed-emoji":Lp(n)?Ze(n)?"valid":Ze(n[0])?"invalid-char":"invalid-first-char":"unexpected-script"}var Su,Nb,Tb,Sb,Ib,Bb,Pp,Ab,Op,qp,wb,Ir,gi=k(()=>{Nb="\\u{FE0F}",Tb="\\u{20E3}",Sb="\\u{200D}",Ib="\\p{RI}\\p{RI}",Bb="(?:[\\u{E0020}-\\u{E007E}]+\\u{E007F})",Pp=`(?:\\p{EMod}|${Nb}${Tb}?|${Bb})`,Ab="(?:(?=\\P{XIDC})\\p{Emoji})",Op=`(?:${Ab}${Pp}*|\\p{Emoji}${Pp}+|${Ib})`,qp=`(?:${Op})(${Sb}${Op})*`,wb=new RegExp(`(?:${qp})+`,"u"),Ir=new RegExp(`^(?:${qp})+$`,"u")});function Fp(n){return typeof n!="string"?!1:hi.includes(n)}var zs,Iu,Zs,Hs,Bu,Au,hi,Br=k(()=>{zs=["number","finite_number","complex","finite_complex","imaginary","real","finite_real","rational","finite_rational","integer","finite_integer","non_finite_number"],Iu=["indexed_collection","list","tuple"],Zs=[...Iu,"collection","set","record","dictionary"],Hs=["scalar",...zs,"boolean","string"],Bu=["value",...Zs,...Hs],Au=["expression","symbol","function",...Bu],hi=["any","unknown","nothing","never","error",...Au]});function Ao(n,e){return e==="any"||n==="never"?!0:n==="unknown"||e==="unknown"?!1:n===e?!0:kb[e].includes(n)}function A(n,e){if(typeof n=="string"&&(n=V(n)),typeof e=="string"&&(e=V(e)),e==="any")return!0;if(e==="never")return!1;if(e==="error")return n==="error";if(e==="nothing")return n==="nothing";if(n==="nothing")return!1;if(e==="unknown")return!0;if(n==="unknown")return!1;if(typeof e=="string")return typeof n=="string"?Ao(n,e):n.kind==="value"?typeof n.value=="boolean"?e==="boolean":typeof n.value=="number"?Number.isInteger(n.value)?Ao("integer",e):Ao("number",e):typeof n.value=="boolean"?Ao("boolean",e):typeof n.value=="string"?Ao("string",e):!1:n.kind==="union"?n.types.every(t=>A(t,e)):n.kind==="intersection"?n.types.some(t=>A(t,e)):n.kind==="negation"?!A(n.type,e):n.kind==="numeric"?!!A(n.type,e):e==="number"?Vp(n):e==="symbol"?wu(n):e==="expression"?Cb(n):e==="function"?zp(n):e==="scalar"?$p(n):e==="value"?Gp(n):e==="indexed_collection"?jp(n):e==="collection"?Up(n):e==="tuple"?n.kind==="tuple":e==="list"?n.kind==="list":e==="set"?n.kind==="set":e==="record"?n.kind==="record":e==="dictionary"?n.kind==="dictionary":!1;if(e.kind==="union")return typeof n!="string"&&n.kind==="union"?n.types.every(t=>e.types.some(i=>A(t,i))):e.types.some(t=>A(n,t));if(e.kind==="expression"){if(n==="symbol")return!0;if(typeof n=="string")return!1;if(n.kind==="expression")return e.operator==="Symbol"?wu(n):n.operator===e.operator;if(n.kind==="symbol")return!0}if(typeof n=="string")return!1;if(e.kind==="reference"){if(n.kind==="reference")return n.name===e.name;if(e.alias===!0&&e.def)return A(n,e.def)}if(n.kind==="union")return n.types.some(t=>A(t,e));if(n.kind==="intersection"&&e.kind==="intersection")return e.types.every(t=>n.types.some(i=>A(i,t)));if(n.kind==="intersection")return n.types.every(t=>A(t,e));if(e.kind==="intersection")return e.types.every(t=>A(n,t));if(n.kind==="signature"&&e.kind==="signature"){if(!A(n.result,e.result))return!1;if(n.optArgs||n.variadicArg){if(e.args){if(!n.args||n.args.length!==e.args.length)return!1;for(let t=0;t<e.args.length;t++)if(!A(e.args[t].type,n.args[t].type))return!1}else if(n.args)return!1;if(e.optArgs){if(!n.optArgs||n.optArgs.length!==e.optArgs.length)return!1;for(let t=0;t<n.optArgs.length;t++)if(!A(e.optArgs[t].type,n.optArgs[t].type))return!1}else if(n.optArgs)return!1;if(e.variadicArg){if(!n.variadicArg||n.variadicMin!=e.variadicMin||!A(e.variadicArg.type,n.variadicArg.type))return!1}else if(n.variadicArg)return!1}else{if(e.args&&!n.args)return!1;let t=0;if(e.args){if(n.args.length<e.args.length)return!1;for(;t<e.args.length;){if(!A(e.args[t].type,n.args[t].type))return!1;t+=1}}if(e.optArgs){if(t>=n.args.length)return!0;for(let i=0;i<e.optArgs.length;i++){if(!A(e.optArgs[i].type,n.args[t].type))return!1;if(t+=1,t>=n.args.length)return!0}}if(e.variadicArg){if(t>=n.args.length&&e.variadicMin===0)return!0;if(e.variadicMin>0&&t+e.variadicMin>n.args.length)return!1;for(;t<n.args.length;){if(!A(e.variadicArg.type,n.args[t].type))return!1;t+=1}}}return!0}if(n.kind==="record"&&e.kind==="record"){for(let t of Object.keys(e.elements))if(!(t in n.elements)||!A(n.elements[t],e.elements[t]))return!1;return!0}if(n.kind==="dictionary"&&e.kind==="dictionary")return A(n.values,e.values);if(e.kind==="indexed_collection")return n.kind==="indexed_collection"||n.kind==="list"?A(n.elements,e.elements):n.kind==="tuple"?n.elements.every(t=>A(t.type,e.elements)):!1;if(e.kind==="collection"){if(n.kind==="collection"||n.kind==="indexed_collection"||n.kind==="list")return A(n.elements,e.elements);if(n.kind==="tuple")return n.elements.every(t=>A(t.type,e.elements));if(n.kind==="set")return A(n.elements,e.elements);if(n.kind==="dictionary")return A(V(`tuple<string, ${te(n.values)}>`),e.elements);if(n.kind==="record")return A(V(`tuple<$string, ${te(ve(...Object.values(n.elements)))}>`),e.elements)}if(n.kind==="tuple"&&e.kind==="tuple"){if(n.elements.length!==e.elements.length)return!1;for(let t=0;t<n.elements.length;t++){let i=n.elements[t],r=e.elements[t];if(!A(i.type,r.type)||i.name!==r.name)return!1}return!0}if(e.kind==="list"&&n.kind==="list"){if(!A(n.elements,e.elements))return!1;if(e.dimensions){if(!n.dimensions||n.dimensions.length!==e.dimensions.length)return!1;for(let t=0;t<n.dimensions.length;t++)if(e.dimensions[t]!==-1&&n.dimensions[t]!==e.dimensions[t])return!1}return!0}if(n.kind==="symbol"&&e.kind==="symbol")return n.name===e.name;if(n.kind==="numeric"&&e.kind==="numeric")return!(!A(n.type,e.type)||(n.lower??-1/0)<(e.lower??-1/0)||(n.upper??1/0)>(e.upper??1/0));if(e.kind==="set"&&n.kind==="set")return!!A(n.elements,e.elements);if(n.kind==="negation"&&e.kind==="negation")return A(n.type,e.type);if(e.kind==="negation")return!A(n,e.type);if(e.kind==="value"&&n.kind==="value")return e.value===n.value;if(n.kind==="value"){if(typeof n.value=="boolean")return A("boolean",e);if(typeof n.value=="number")return Number.isInteger(n.value)?A("integer",e):A("real",e);if(typeof n.value=="string")return A("string",e)}return!1}function Vp(n){return typeof n=="string"?zs.includes(n):n.kind==="value"?typeof n.value=="number":n.kind==="numeric"}function $p(n){return Vp(n)?!0:typeof n=="string"?Hs.includes(n):n.kind==="value"?["string","boolean","number"].includes(typeof n.value):!1}function Up(n){return jp(n)?!0:typeof n=="string"?Zs.includes(n):["collection","set","record","dictionary"].includes(n.kind)}function jp(n){return typeof n=="string"?!1:["indexed_collection","list","tuple"].includes(n.kind)}function Gp(n){return $p(n)||Up(n)}function zp(n){return n==="function"||typeof n!="string"&&n.kind==="signature"}function Cb(n){return typeof n=="string"&&["expression","symbol","function"].includes(n)||Gp(n)||zp(n)||wu(n)?!0:typeof n=="string"?!1:n.kind==="expression"}function wu(n){return n==="symbol"?!0:typeof n=="string"?!1:n.kind==="symbol"?!0:n.kind==="expression"?n.operator==="Symbol":!1}var kb,Tn=k(()=>{Sn();Br();xi();an();kb={number:zs,non_finite_number:[],finite_number:["finite_complex","finite_real","finite_integer","finite_rational"],complex:["finite_complex","imaginary","finite_real","finite_rational","finite_integer","non_finite_number"],finite_complex:["imaginary","finite_real","finite_rational","finite_integer"],imaginary:[],real:["rational","integer","finite_real","finite_rational","finite_integer","non_finite_number"],finite_real:["finite_rational","finite_integer"],rational:["finite_rational","finite_integer","integer","non_finite_number"],finite_rational:["finite_integer"],integer:["finite_integer","non_finite_number"],finite_integer:[],any:hi,unknown:[],nothing:[],never:[],error:[],value:Bu,scalar:Hs,collection:Zs,indexed_collection:Iu,list:[],set:[],tuple:[],record:[],dictionary:[],function:[],symbol:[],boolean:[],string:[],expression:Au}});function te(n,e=0){if(typeof n=="string")return n;let t="";switch(n.kind){case"value":typeof n.value=="string"?t=`"${n.value}"`:typeof n.value=="boolean"?t=n.value?"true":"false":t=n.value.toString();break;case"reference":t=n.name;break;case"negation":t=`!${te(n.type,Hp)}`;break;case"union":t=n.types.map(u=>te(u,Wp)).join(" | ");break;case"intersection":t=n.types.map(u=>te(u,Jp)).join(" & ");break;case"expression":t=`expression<${Zp(n.operator)}>`;break;case"symbol":t=`symbol<${Zp(n.name)}>`;break;case"numeric":Number.isFinite(n.lower)&&Number.isFinite(n.upper)?t=`${n.type}<${n.lower}..${n.upper}>`:Number.isFinite(n.lower)?t=`${n.type}<${n.lower}..>`:Number.isFinite(n.upper)?t=`${n.type}<..${n.upper}>`:t=`${n.type}`;break;case"list":if(n.dimensions&&A(n.elements,"number")){if(n.dimensions===void 0)n.elements==="number"&&(t="tensor");else if(n.dimensions.length===1)n.elements==="number"?n.dimensions[0]<0?t="vector":t=`vector<${n.dimensions[0]}>`:n.dimensions[0]<0?t=`vector<${te(n.elements)}>`:t=`vector<${te(n.elements)}^${n.dimensions[0]}>`;else if(n.dimensions.length===2){let u=n.dimensions;n.elements==="number"?u[0]<0&&u[1]<0?t="matrix":t=`matrix<${u[0]}x${u[1]}>`:u[0]<0&&u[1]<0?t=`matrix<${te(n.elements)}>`:t=`matrix<${te(n.elements)}^(${u[0]}x${u[1]})>`}}if(!t){let u=n.dimensions?n.dimensions.length===1?`^${n.dimensions[0].toString()}`:`^(${n.dimensions.join("x")})`:"";t=`list<${te(n.elements)}${u}>`}break;case"record":t=`record<${Object.entries(n.elements).map(([u,l])=>`${u}: ${te(l)}`).join(", ")}>`;break;case"dictionary":t=`dictionary<${te(n.values)}>`;break;case"set":t=`set<${te(n.elements)}>`;break;case"collection":t=`collection<${te(n.elements)}>`;break;case"indexed_collection":t=`indexed_collection<${te(n.elements)}>`;break;case"tuple":if(n.elements.length===0)t="tuple";else if(n.elements.length===1){let[u]=n.elements;t=`tuple<${Ar(u)}>`}else t="tuple<"+n.elements.map(u=>Ar(u)).join(", ")+">";break;case"signature":let r=n.args?n.args.map(u=>Ar(u)).join(", "):"",o=n.optArgs?n.optArgs.map(u=>Ar(u)+"?").join(", "):"",s=n.variadicArg?n.variadicMin===0?`${Ar(n.variadicArg)}*`:`${Ar(n.variadicArg)}+`:"";t=`(${[r,o,s].filter(u=>u).join(", ")}) -> ${te(n.result)}`;break;default:t="error"}return e>0&&e>Vb(n.kind)?`(${t})`:t}function Ar(n){return n.name?`${n.name}: ${te(n.type)}`:te(n.type)}function Zp(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)?n:`\`${n}\``}function Vb(n){switch(n){case"negation":return Hp;case"union":return Wp;case"intersection":return Jp;case"list":return Rb;case"record":return Mb;case"dictionary":return Db;case"set":return Pb;case"collection":case"indexed_collection":return Ob;case"tuple":return Lb;case"signature":return qb;case"value":return Fb;default:return 0}}var Hp,Wp,Jp,Rb,Mb,Db,Pb,Ob,Lb,qb,Fb,xi=k(()=>{Tn();Hp=3,Wp=1,Jp=2,Rb=4,Mb=5,Db=6,Pb=7,Ob=8,Lb=9,qb=10,Fb=11});function $b(n,e){if(n===e)return 0;if(n.length===0)return e.length;if(e.length===0)return n.length;let t=Array.from({length:n.length+1},(r,o)=>o),i=new Array(n.length+1);for(let r=1;r<=e.length;r++){i[0]=r;for(let o=1;o<=n.length;o++){let s=n[o-1]===e[r-1]?0:1;i[o]=Math.min(t[o]+1,i[o-1]+1,t[o-1]+s)}[t,i]=[i,t]}return t[n.length]}function Ws(n,e){let i=null,r=1/0,o=n.length;for(let s of e){if(Math.abs(o-s.length)>7)continue;let a=$b(n,s);if(a===0)return s;a<=7&&a<r&&(r=a,i=s)}return i}var ku=k(()=>{});var Js,Yp=k(()=>{Js=class{input;pos=0;line=1;column=1;tokens=[];constructor(e){this.input=e}saveState(){return{pos:this.pos,line:this.line,column:this.column,tokens:[...this.tokens]}}restoreState(e){this.pos=e.pos,this.line=e.line,this.column=e.column,this.tokens=e.tokens}error(e){throw new Error(`Lexer error at line ${this.line}, column ${this.column}: ${e}`)}peek(e=0){let t=this.pos+e;return t<this.input.length?this.input[t]:""}advance(){let e=this.input[this.pos++];return e===`
@@ -122,7 +122,7 @@ Error in definition of "${i}"`,"",JSON.stringify(r,void 0,4),"",o.message].join(
122
122
  `),u+=`void main() {
123
123
  `;for(let f of a){let p=this.compile(f.expression);u+=` ${f.variable} = ${p};
124
124
  `}return u+=`}
125
- `,u}};Mt();function M(n){return{kind:"interval",value:n}}function ff(n){return{lo:n,hi:n}}function dn(n,e,t){let i=Math.ceil((n.lo-e)/t),r=e+i*t,o=1e-15;return r>=n.lo-o&&r<=n.hi+o}function No(n,e){if(n.kind==="empty")return e;if(e.kind==="empty")return n;if(n.kind==="singular"||e.kind==="singular")return{kind:"singular"};if(n.kind==="entire"||e.kind==="entire")return{kind:"entire"};let t=n.value,i=e.value,r=n.kind==="partial"?n.domainClipped:null,o=e.kind==="partial"?e.domainClipped:null,s={lo:Math.min(t.lo,i.lo),hi:Math.max(t.hi,i.hi)};if(r||o){let a=au(r,o);return{kind:"partial",value:s,domainClipped:a}}return{kind:"interval",value:s}}function au(n,e){return n==="both"||e==="both"?"both":n===null?e:e===null||n===e?n:"both"}function pf(n){return n.lo===n.hi}function En(n){return n.lo<=0&&n.hi>=0}function df(n){return n.lo>0}function Cs(n){return n.hi<0}function mf(n){return n.lo>=0}function gf(n){return n.hi<=0}function hf(n){return n.hi-n.lo}function xf(n){return(n.lo+n.hi)/2}function yf(n){if(n.kind==="interval"||n.kind==="partial")return n.value}function bf(n){return"kind"in n?n.kind==="interval"||n.kind==="partial"?n.value:void 0:n}function P(...n){let e=[];for(let t of n)if("kind"in t){if(t.kind==="empty")return{kind:"empty"};if(t.kind==="entire")return{kind:"entire"};if(t.kind==="singular")return t;e.push(t.value)}else e.push(t);return e}function vf(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return M({lo:i.lo+r.lo,hi:i.hi+r.hi})}function Ef(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return M({lo:i.lo-r.hi,hi:i.hi-r.lo})}function _f(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:-t.hi,hi:-t.lo})}function Nf(n,e){let t=[n.lo*e.lo,n.lo*e.hi,n.hi*e.lo,n.hi*e.hi];return{lo:Math.min(...t),hi:Math.max(...t)}}function Tf(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return M(Nf(i,r))}function Un(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return A_(i,r)}function A_(n,e){return e.lo>0||e.hi<0?M(Nf(n,{lo:1/e.hi,hi:1/e.lo})):e.lo<0&&e.hi>0?{kind:"singular"}:e.lo===0&&e.hi>0?n.lo>=0?{kind:"partial",value:{lo:n.lo/e.hi,hi:1/0},domainClipped:"hi"}:n.hi<=0?{kind:"partial",value:{lo:-1/0,hi:n.hi/e.hi},domainClipped:"lo"}:{kind:"entire"}:e.hi===0&&e.lo<0?n.lo>=0?{kind:"partial",value:{lo:-1/0,hi:n.lo/e.lo},domainClipped:"lo"}:n.hi<=0?{kind:"partial",value:{lo:n.hi/e.lo,hi:1/0},domainClipped:"hi"}:{kind:"entire"}:{kind:"empty"}}function Sf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return w_(t)}function w_(n){return n.hi<0?{kind:"empty"}:n.lo>=0?M({lo:Math.sqrt(n.lo),hi:Math.sqrt(n.hi)}):{kind:"partial",value:{lo:0,hi:Math.sqrt(n.hi)},domainClipped:"lo"}}function If(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.lo>=0?M({lo:t.lo*t.lo,hi:t.hi*t.hi}):t.hi<=0?M({lo:t.hi*t.hi,hi:t.lo*t.lo}):M({lo:0,hi:Math.max(t.lo*t.lo,t.hi*t.hi)})}function gy(n,e){return e===0?{lo:1,hi:1}:e===1?n:e%2===0?n.lo>=0?{lo:Math.pow(n.lo,e),hi:Math.pow(n.hi,e)}:n.hi<=0?{lo:Math.pow(n.hi,e),hi:Math.pow(n.lo,e)}:{lo:0,hi:Math.max(Math.pow(n.lo,e),Math.pow(n.hi,e))}:{lo:Math.pow(n.lo,e),hi:Math.pow(n.hi,e)}}function Bf(n,e){let t=P(n);if(!Array.isArray(t))return t;let[i]=t;if(Number.isInteger(e)){if(e>=0)return M(gy(i,e));{if(En(i))return{kind:"singular"};let r=gy(i,-e);return M({lo:1/r.hi,hi:1/r.lo})}}else return Cs(i)?{kind:"empty"}:i.lo<0?{kind:"partial",value:e>0?{lo:0,hi:Math.pow(i.hi,e)}:{lo:Math.pow(i.hi,e),hi:1/0},domainClipped:"lo"}:e>0?M({lo:Math.pow(i.lo,e),hi:Math.pow(i.hi,e)}):i.lo===0?{kind:"partial",value:{lo:Math.pow(i.hi,e),hi:1/0},domainClipped:"hi"}:M({lo:Math.pow(i.hi,e),hi:Math.pow(i.lo,e)})}function Af(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;if(i.hi<=0)return{kind:"empty"};if(i.lo<=0){let s={lo:Math.max(i.lo,Number.EPSILON),hi:i.hi},a=[Math.pow(s.lo,r.lo),Math.pow(s.lo,r.hi),Math.pow(s.hi,r.lo),Math.pow(s.hi,r.hi)];return{kind:"partial",value:{lo:Math.min(...a),hi:Math.max(...a)},domainClipped:"lo"}}let o=[Math.pow(i.lo,r.lo),Math.pow(i.lo,r.hi),Math.pow(i.hi,r.lo),Math.pow(i.hi,r.hi)];return M({lo:Math.min(...o),hi:Math.max(...o)})}function wf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:Math.exp(t.lo),hi:Math.exp(t.hi)})}function kf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.hi<=0?{kind:"empty"}:t.lo>0?M({lo:Math.log(t.lo),hi:Math.log(t.hi)}):{kind:"partial",value:{lo:-1/0,hi:Math.log(t.hi)},domainClipped:"lo"}}function Cf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.hi<=0?{kind:"empty"}:t.lo>0?M({lo:Math.log10(t.lo),hi:Math.log10(t.hi)}):{kind:"partial",value:{lo:-1/0,hi:Math.log10(t.hi)},domainClipped:"lo"}}function Rf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.hi<=0?{kind:"empty"}:t.lo>0?M({lo:Math.log2(t.lo),hi:Math.log2(t.hi)}):{kind:"partial",value:{lo:-1/0,hi:Math.log2(t.hi)},domainClipped:"lo"}}function Mf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.lo>=0?M(t):t.hi<=0?M({lo:-t.hi,hi:-t.lo}):M({lo:0,hi:Math.max(-t.lo,t.hi)})}function Df(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e,i=Math.floor(t.lo),r=Math.floor(t.hi);return i===r?M({lo:i,hi:r}):{kind:"singular",at:i+1}}function Pf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e,i=Math.ceil(t.lo),r=Math.ceil(t.hi);return i===r?M({lo:i,hi:r}):{kind:"singular",at:i}}function Of(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e,i=Math.round(t.lo),r=Math.round(t.hi);return i===r?M({lo:i,hi:r}):{kind:"singular",at:i+.5}}function Lf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e,i=Math.floor(t.lo),r=Math.floor(t.hi);return i===r?M({lo:t.lo-i,hi:t.hi-i}):{kind:"singular",at:i+1}}function qf(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return M({lo:Math.min(i.lo,r.lo),hi:Math.min(i.hi,r.hi)})}function Ff(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return M({lo:Math.max(i.lo,r.lo),hi:Math.max(i.hi,r.hi)})}function Vf(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;if(En(r))return{kind:"singular"};let o=Math.abs(r.lo===r.hi?r.lo:Math.max(Math.abs(r.lo),Math.abs(r.hi))),s=Math.floor(i.lo/o),a=Math.floor(i.hi/o);if(s!==a)return{kind:"singular",at:(s+1)*o};let u=i.lo-o*s,l=i.hi-o*s;return M({lo:Math.min(u,l),hi:Math.max(u,l)})}function $f(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.lo>0?M({lo:1,hi:1}):t.hi<0?M({lo:-1,hi:-1}):t.lo===0&&t.hi===0?M({lo:0,hi:0}):{kind:"singular",at:0}}var qt=2*Math.PI,Ge=Math.PI,Vi=Math.PI/2,hy=3*Math.PI/2;function Uf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=qt)return M({lo:-1,hi:1});let i=Math.sin(t.lo),r=Math.sin(t.hi),o=Math.min(i,r),s=Math.max(i,r);return dn(t,Vi,qt)&&(s=1),dn(t,hy,qt)&&(o=-1),M({lo:o,hi:s})}function jf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=qt)return M({lo:-1,hi:1});let i=Math.cos(t.lo),r=Math.cos(t.hi),o=Math.min(i,r),s=Math.max(i,r);return dn(t,0,qt)&&(s=1),dn(t,Ge,qt)&&(o=-1),M({lo:o,hi:s})}function Gf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=Ge)return{kind:"singular"};if(dn(t,Vi,Ge)){let o=Math.ceil((t.lo-Vi)/Ge);return{kind:"singular",at:Vi+o*Ge}}let i=Math.tan(t.lo),r=Math.tan(t.hi);return i>1e10&&r<-1e10||i<-1e10&&r>1e10?{kind:"singular"}:M({lo:i,hi:r})}function zf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=Ge)return{kind:"singular"};if(dn(t,0,Ge))return{kind:"singular",at:Math.ceil(t.lo/Ge)*Ge};let i=1/Math.tan(t.lo),r=1/Math.tan(t.hi);return M({lo:Math.min(i,r),hi:Math.max(i,r)})}function Zf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=Ge)return{kind:"singular"};if(dn(t,Vi,Ge)){let a=Math.ceil((t.lo-Vi)/Ge);return{kind:"singular",at:Vi+a*Ge}}let i=1/Math.cos(t.lo),r=1/Math.cos(t.hi),o=Math.min(i,r),s=Math.max(i,r);return dn(t,0,qt)&&(o=Math.min(o,1),s=Math.max(s,1)),dn(t,Ge,qt)&&(o=Math.min(o,-1),s=Math.max(s,-1)),M({lo:o,hi:s})}function Hf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=Ge)return{kind:"singular"};if(dn(t,0,Ge))return{kind:"singular",at:Math.ceil(t.lo/Ge)*Ge};let i=1/Math.sin(t.lo),r=1/Math.sin(t.hi),o=Math.min(i,r),s=Math.max(i,r);return dn(t,Vi,qt)&&(o=Math.min(o,1),s=Math.max(s,1)),dn(t,hy,qt)&&(o=Math.min(o,-1),s=Math.max(s,-1)),M({lo:o,hi:s})}function uu(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.lo>1||t.hi<-1)return{kind:"empty"};if(t.lo<-1||t.hi>1){let i=Math.max(t.lo,-1),r=Math.min(t.hi,1);return{kind:"partial",value:{lo:Math.asin(i),hi:Math.asin(r)},domainClipped:t.lo<-1&&t.hi>1?"both":t.lo<-1?"lo":"hi"}}return M({lo:Math.asin(t.lo),hi:Math.asin(t.hi)})}function lu(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.lo>1||t.hi<-1)return{kind:"empty"};if(t.lo<-1||t.hi>1){let i=Math.max(t.lo,-1),r=Math.min(t.hi,1);return{kind:"partial",value:{lo:Math.acos(r),hi:Math.acos(i)},domainClipped:t.lo<-1&&t.hi>1?"both":t.lo<-1?"lo":"hi"}}return M({lo:Math.acos(t.hi),hi:Math.acos(t.lo)})}function cu(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:Math.atan(t.lo),hi:Math.atan(t.hi)})}function Wf(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;if(i.lo===i.hi&&r.lo===r.hi){let s=Math.atan2(i.lo,r.lo);return M({lo:s,hi:s})}let o=[];return o.push(Math.atan2(i.lo,r.lo)),o.push(Math.atan2(i.lo,r.hi)),o.push(Math.atan2(i.hi,r.lo)),o.push(Math.atan2(i.hi,r.hi)),r.lo<0&&i.lo<0&&i.hi>0?M({lo:-Ge,hi:Ge}):M({lo:Math.min(...o),hi:Math.max(...o)})}function Rs(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:Math.sinh(t.lo),hi:Math.sinh(t.hi)})}function Ms(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.lo>=0?M({lo:Math.cosh(t.lo),hi:Math.cosh(t.hi)}):t.hi<=0?M({lo:Math.cosh(t.hi),hi:Math.cosh(t.lo)}):M({lo:1,hi:Math.max(Math.cosh(t.lo),Math.cosh(t.hi))})}function Jf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:Math.tanh(t.lo),hi:Math.tanh(t.hi)})}function fu(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:Math.asinh(t.lo),hi:Math.asinh(t.hi)})}function pu(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.hi<1?{kind:"empty"}:t.lo<1?{kind:"partial",value:{lo:0,hi:Math.acosh(t.hi)},domainClipped:"lo"}:M({lo:Math.acosh(t.lo),hi:Math.acosh(t.hi)})}function du(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.lo>=1||t.hi<=-1)return{kind:"empty"};if(t.lo<=-1||t.hi>=1){let i=Math.max(t.lo,-1+Number.EPSILON),r=Math.min(t.hi,1-Number.EPSILON);return{kind:"partial",value:{lo:Math.atanh(i),hi:Math.atanh(r)},domainClipped:t.lo<=-1&&t.hi>=1?"both":t.lo<=-1?"lo":"hi"}}return M({lo:Math.atanh(t.lo),hi:Math.atanh(t.hi)})}function Yf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:cu(Un(M({lo:1,hi:1}),M(t)))}function Qf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:uu(Un(M({lo:1,hi:1}),M(t)))}function Xf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:lu(Un(M({lo:1,hi:1}),M(t)))}function Kf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:Un(Ms(t),Rs(t))}function ep(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:Un(M({lo:1,hi:1}),Rs(t))}function np(n){return Un(M({lo:1,hi:1}),Ms(n))}function tp(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:du(Un(M({lo:1,hi:1}),M(t)))}function ip(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:fu(Un(M({lo:1,hi:1}),M(t)))}function rp(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:pu(Un(M({lo:1,hi:1}),M(t)))}function op(n,e){let t=P(n,e);if(!Array.isArray(t))return"maybe";let[i,r]=t;return i.hi<r.lo?"true":i.lo>=r.hi?"false":"maybe"}function sp(n,e){let t=P(n,e);if(!Array.isArray(t))return"maybe";let[i,r]=t;return i.hi<=r.lo?"true":i.lo>r.hi?"false":"maybe"}function ap(n,e){let t=P(n,e);if(!Array.isArray(t))return"maybe";let[i,r]=t;return i.lo>r.hi?"true":i.hi<=r.lo?"false":"maybe"}function up(n,e){let t=P(n,e);if(!Array.isArray(t))return"maybe";let[i,r]=t;return i.lo>=r.hi?"true":i.hi<r.lo?"false":"maybe"}function mu(n,e){let t=P(n,e);if(!Array.isArray(t))return"maybe";let[i,r]=t;return i.lo===i.hi&&r.lo===r.hi&&i.lo===r.lo?"true":i.hi<r.lo||r.hi<i.lo?"false":"maybe"}function lp(n,e){let t=mu(n,e);return t==="true"?"false":t==="false"?"true":"maybe"}function cp(n,e){return n==="false"||e==="false"?"false":n==="true"&&e==="true"?"true":"maybe"}function fp(n,e){return n==="true"||e==="true"?"true":n==="false"&&e==="false"?"false":"maybe"}function pp(n){return n==="true"?"false":n==="false"?"true":"maybe"}function dp(n,e,t,i){if(n==="true"||n==="false"||n==="maybe"){let f=n,p=e,d=t;switch(f){case"true":return p();case"false":return d();case"maybe":return No(p(),d())}}let r=n,o=e,s=t,a=i,u=P(r);if(!Array.isArray(u))return u;let[l]=u;switch(o(l)){case"true":return s(l);case"false":return a(l);case"maybe":let f=s(l),p=a(l);return No(f,p)}}function mp(n,e,t){let i=P(n,e,t);if(!Array.isArray(i))return i;let[r,o,s]=i,a=Math.max(r.lo,o.lo),u=Math.min(r.hi,s.hi);return a>u?{kind:"empty"}:{kind:"interval",value:{lo:a,hi:u}}}var xy={ok:M,point:ff,containsExtremum:dn,unionResults:No,mergeDomainClip:au,isPoint:pf,containsZero:En,isPositive:df,isNegative:Cs,isNonNegative:mf,isNonPositive:gf,width:hf,midpoint:xf,getValue:yf,unwrap:bf,unwrapOrPropagate:P,add:vf,sub:Ef,mul:Tf,div:Un,negate:_f,sqrt:Sf,square:If,pow:Bf,powInterval:Af,exp:wf,ln:kf,log10:Cf,log2:Rf,abs:Mf,floor:Df,ceil:Pf,round:Of,fract:Lf,min:qf,max:Ff,mod:Vf,sign:$f,sin:Uf,cos:jf,tan:Gf,cot:zf,sec:Zf,csc:Hf,asin:uu,acos:lu,atan:cu,atan2:Wf,sinh:Rs,cosh:Ms,tanh:Jf,asinh:fu,acosh:pu,atanh:du,acot:Yf,acsc:Qf,asec:Xf,coth:Kf,csch:ep,sech:np,acoth:tp,acsch:ip,asech:rp,less:op,lessEqual:sp,greater:ap,greaterEqual:up,equal:mu,notEqual:lp,and:cp,or:fp,not:pp,piecewise:dp,clamp:mp};var k_={Add:["_IA.add",20],Negate:["_IA.negate",20],Subtract:["_IA.sub",20],Multiply:["_IA.mul",20],Divide:["_IA.div",20],Equal:["_IA.equal",20],NotEqual:["_IA.notEqual",20],LessEqual:["_IA.lessEqual",20],GreaterEqual:["_IA.greaterEqual",20],Less:["_IA.less",20],Greater:["_IA.greater",20],And:["_IA.and",20],Or:["_IA.or",20],Not:["_IA.not",20]},gp={Add:(n,e)=>{if(n.length===0)return"_IA.point(0)";if(n.length===1)return e(n[0]);let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.add(${t}, ${e(n[i])})`;return t},Subtract:(n,e)=>{if(n.length===0)return"_IA.point(0)";if(n.length===1)return`_IA.negate(${e(n[0])})`;if(n.length===2)return`_IA.sub(${e(n[0])}, ${e(n[1])})`;let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.sub(${t}, ${e(n[i])})`;return t},Multiply:(n,e)=>{if(n.length===0)return"_IA.point(1)";if(n.length===1)return e(n[0]);let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.mul(${t}, ${e(n[i])})`;return t},Divide:(n,e)=>{if(n.length===0)return"_IA.point(1)";if(n.length===1)return e(n[0]);if(n.length===2)return`_IA.div(${e(n[0])}, ${e(n[1])})`;let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.div(${t}, ${e(n[i])})`;return t},Negate:(n,e)=>`_IA.negate(${e(n[0])})`,Abs:(n,e)=>`_IA.abs(${e(n[0])})`,Ceiling:(n,e)=>`_IA.ceil(${e(n[0])})`,Exp:(n,e)=>`_IA.exp(${e(n[0])})`,Floor:(n,e)=>`_IA.floor(${e(n[0])})`,Ln:(n,e)=>`_IA.ln(${e(n[0])})`,Log:(n,e)=>n.length===1?`_IA.log10(${e(n[0])})`:`_IA.div(_IA.ln(${e(n[0])}), _IA.ln(${e(n[1])}))`,Lb:(n,e)=>`_IA.log2(${e(n[0])})`,Max:(n,e)=>{if(n.length===0)return"_IA.point(-Infinity)";if(n.length===1)return e(n[0]);let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.max(${t}, ${e(n[i])})`;return t},Min:(n,e)=>{if(n.length===0)return"_IA.point(Infinity)";if(n.length===1)return e(n[0]);let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.min(${t}, ${e(n[i])})`;return t},Power:(n,e)=>{let t=n[0],i=n[1];if(t===null)throw new Error("Power: no argument");if(t.symbol==="ExponentialE")return`_IA.exp(${e(i)})`;if(i?.isNumberLiteral&&i.im===0){let r=i.re;return r===.5?`_IA.sqrt(${e(t)})`:r===2?`_IA.square(${e(t)})`:`_IA.pow(${e(t)}, ${r})`}return`_IA.powInterval(${e(t)}, ${e(i)})`},Root:(n,e)=>{let[t,i]=n;if(t===null)throw new Error("Root: no argument");return i===null?`_IA.sqrt(${e(t)})`:i?.re===2?`_IA.sqrt(${e(t)})`:i?.isNumberLiteral&&i.im===0?`_IA.pow(${e(t)}, ${1/i.re})`:`_IA.powInterval(${e(t)}, _IA.div(_IA.point(1), ${e(i)}))`},Round:(n,e)=>`_IA.round(${e(n[0])})`,Sgn:(n,e)=>`_IA.sign(${e(n[0])})`,Sqrt:(n,e)=>`_IA.sqrt(${e(n[0])})`,Square:(n,e)=>`_IA.square(${e(n[0])})`,Sin:(n,e)=>`_IA.sin(${e(n[0])})`,Cos:(n,e)=>`_IA.cos(${e(n[0])})`,Tan:(n,e)=>`_IA.tan(${e(n[0])})`,Cot:(n,e)=>`_IA.cot(${e(n[0])})`,Sec:(n,e)=>`_IA.sec(${e(n[0])})`,Csc:(n,e)=>`_IA.csc(${e(n[0])})`,Arcsin:(n,e)=>`_IA.asin(${e(n[0])})`,Arccos:(n,e)=>`_IA.acos(${e(n[0])})`,Arctan:(n,e)=>`_IA.atan(${e(n[0])})`,Arccot:(n,e)=>`_IA.acot(${e(n[0])})`,Arccsc:(n,e)=>`_IA.acsc(${e(n[0])})`,Arcsec:(n,e)=>`_IA.asec(${e(n[0])})`,Sinh:(n,e)=>`_IA.sinh(${e(n[0])})`,Cosh:(n,e)=>`_IA.cosh(${e(n[0])})`,Tanh:(n,e)=>`_IA.tanh(${e(n[0])})`,Coth:(n,e)=>`_IA.coth(${e(n[0])})`,Csch:(n,e)=>`_IA.csch(${e(n[0])})`,Sech:(n,e)=>`_IA.sech(${e(n[0])})`,Arsinh:(n,e)=>`_IA.asinh(${e(n[0])})`,Arcosh:(n,e)=>`_IA.acosh(${e(n[0])})`,Artanh:(n,e)=>`_IA.atanh(${e(n[0])})`,Arcoth:(n,e)=>`_IA.acoth(${e(n[0])})`,Arcsch:(n,e)=>`_IA.acsch(${e(n[0])})`,Arsech:(n,e)=>`_IA.asech(${e(n[0])})`,Asin:(n,e)=>`_IA.asin(${e(n[0])})`,Acos:(n,e)=>`_IA.acos(${e(n[0])})`,Atan:(n,e)=>`_IA.atan(${e(n[0])})`,Fract:(n,e)=>`_IA.fract(${e(n[0])})`,Mod:(n,e)=>`_IA.mod(${e(n[0])}, ${e(n[1])})`,If:(n,e)=>{if(n.length!==3)throw new Error("If: wrong number of arguments");return`_IA.piecewise(
125
+ `,u}};Mt();function M(n){return{kind:"interval",value:n}}function ff(n){return{lo:n,hi:n}}function dn(n,e,t){let i=Math.ceil((n.lo-e)/t),r=e+i*t,o=1e-15;return r>=n.lo-o&&r<=n.hi+o}function No(n,e){if(n.kind==="empty")return e;if(e.kind==="empty")return n;if(n.kind==="singular"||e.kind==="singular")return{kind:"singular"};if(n.kind==="entire"||e.kind==="entire")return{kind:"entire"};let t=n.value,i=e.value,r=n.kind==="partial"?n.domainClipped:null,o=e.kind==="partial"?e.domainClipped:null,s={lo:Math.min(t.lo,i.lo),hi:Math.max(t.hi,i.hi)};if(r||o){let a=au(r,o);return{kind:"partial",value:s,domainClipped:a}}return{kind:"interval",value:s}}function au(n,e){return n==="both"||e==="both"?"both":n===null?e:e===null||n===e?n:"both"}function pf(n){return n.lo===n.hi}function En(n){return n.lo<=0&&n.hi>=0}function df(n){return n.lo>0}function Cs(n){return n.hi<0}function mf(n){return n.lo>=0}function gf(n){return n.hi<=0}function hf(n){return n.hi-n.lo}function xf(n){return(n.lo+n.hi)/2}function yf(n){if(n.kind==="interval"||n.kind==="partial")return n.value}function bf(n){return"kind"in n?n.kind==="interval"||n.kind==="partial"?n.value:void 0:n}function P(...n){let e=[];for(let t of n)if("kind"in t){if(t.kind==="empty")return{kind:"empty"};if(t.kind==="entire")return{kind:"entire"};if(t.kind==="singular")return t;e.push(t.value)}else e.push(t);return e}function vf(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return M({lo:i.lo+r.lo,hi:i.hi+r.hi})}function Ef(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return M({lo:i.lo-r.hi,hi:i.hi-r.lo})}function _f(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:-t.hi,hi:-t.lo})}function Nf(n,e){let t=[n.lo*e.lo,n.lo*e.hi,n.hi*e.lo,n.hi*e.hi];return{lo:Math.min(...t),hi:Math.max(...t)}}function Tf(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return M(Nf(i,r))}function Un(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return A_(i,r)}function A_(n,e){return e.lo>0||e.hi<0?M(Nf(n,{lo:1/e.hi,hi:1/e.lo})):e.lo<0&&e.hi>0?{kind:"singular"}:e.lo===0&&e.hi>0?n.lo>=0?{kind:"partial",value:{lo:n.lo/e.hi,hi:1/0},domainClipped:"hi"}:n.hi<=0?{kind:"partial",value:{lo:-1/0,hi:n.hi/e.hi},domainClipped:"lo"}:{kind:"entire"}:e.hi===0&&e.lo<0?n.lo>=0?{kind:"partial",value:{lo:-1/0,hi:n.lo/e.lo},domainClipped:"lo"}:n.hi<=0?{kind:"partial",value:{lo:n.hi/e.lo,hi:1/0},domainClipped:"hi"}:{kind:"entire"}:{kind:"empty"}}function Sf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return w_(t)}function w_(n){return n.hi<0?{kind:"empty"}:n.lo>=0?M({lo:Math.sqrt(n.lo),hi:Math.sqrt(n.hi)}):{kind:"partial",value:{lo:0,hi:Math.sqrt(n.hi)},domainClipped:"lo"}}function If(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.lo>=0?M({lo:t.lo*t.lo,hi:t.hi*t.hi}):t.hi<=0?M({lo:t.hi*t.hi,hi:t.lo*t.lo}):M({lo:0,hi:Math.max(t.lo*t.lo,t.hi*t.hi)})}function gy(n,e){return e===0?{lo:1,hi:1}:e===1?n:e%2===0?n.lo>=0?{lo:Math.pow(n.lo,e),hi:Math.pow(n.hi,e)}:n.hi<=0?{lo:Math.pow(n.hi,e),hi:Math.pow(n.lo,e)}:{lo:0,hi:Math.max(Math.pow(n.lo,e),Math.pow(n.hi,e))}:{lo:Math.pow(n.lo,e),hi:Math.pow(n.hi,e)}}function Bf(n,e){let t=P(n);if(!Array.isArray(t))return t;let[i]=t;if(Number.isInteger(e)){if(e>=0)return M(gy(i,e));{if(En(i))return{kind:"singular"};let r=gy(i,-e);return M({lo:1/r.hi,hi:1/r.lo})}}else return Cs(i)?{kind:"empty"}:i.lo<0?{kind:"partial",value:e>0?{lo:0,hi:Math.pow(i.hi,e)}:{lo:Math.pow(i.hi,e),hi:1/0},domainClipped:"lo"}:e>0?M({lo:Math.pow(i.lo,e),hi:Math.pow(i.hi,e)}):i.lo===0?{kind:"partial",value:{lo:Math.pow(i.hi,e),hi:1/0},domainClipped:"hi"}:M({lo:Math.pow(i.hi,e),hi:Math.pow(i.lo,e)})}function Af(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;if(i.hi<=0)return{kind:"empty"};if(i.lo<=0){let s={lo:Math.max(i.lo,Number.EPSILON),hi:i.hi},a=[Math.pow(s.lo,r.lo),Math.pow(s.lo,r.hi),Math.pow(s.hi,r.lo),Math.pow(s.hi,r.hi)];return{kind:"partial",value:{lo:Math.min(...a),hi:Math.max(...a)},domainClipped:"lo"}}let o=[Math.pow(i.lo,r.lo),Math.pow(i.lo,r.hi),Math.pow(i.hi,r.lo),Math.pow(i.hi,r.hi)];return M({lo:Math.min(...o),hi:Math.max(...o)})}function wf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:Math.exp(t.lo),hi:Math.exp(t.hi)})}function kf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.hi<=0?{kind:"empty"}:t.lo>0?M({lo:Math.log(t.lo),hi:Math.log(t.hi)}):{kind:"partial",value:{lo:-1/0,hi:Math.log(t.hi)},domainClipped:"lo"}}function Cf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.hi<=0?{kind:"empty"}:t.lo>0?M({lo:Math.log10(t.lo),hi:Math.log10(t.hi)}):{kind:"partial",value:{lo:-1/0,hi:Math.log10(t.hi)},domainClipped:"lo"}}function Rf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.hi<=0?{kind:"empty"}:t.lo>0?M({lo:Math.log2(t.lo),hi:Math.log2(t.hi)}):{kind:"partial",value:{lo:-1/0,hi:Math.log2(t.hi)},domainClipped:"lo"}}function Mf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.lo>=0?M(t):t.hi<=0?M({lo:-t.hi,hi:-t.lo}):M({lo:0,hi:Math.max(-t.lo,t.hi)})}function Df(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e,i=Math.floor(t.lo),r=Math.floor(t.hi);return i===r?M({lo:i,hi:r}):{kind:"singular",at:i+1,continuity:"right"}}function Pf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e,i=Math.ceil(t.lo),r=Math.ceil(t.hi);return i===r?M({lo:i,hi:r}):{kind:"singular",at:i,continuity:"left"}}function Of(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e,i=Math.round(t.lo),r=Math.round(t.hi);return i===r?M({lo:i,hi:r}):{kind:"singular",at:i+.5,continuity:"right"}}function Lf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e,i=Math.floor(t.lo),r=Math.floor(t.hi);return i===r?M({lo:t.lo-i,hi:t.hi-i}):{kind:"singular",at:i+1,continuity:"right"}}function qf(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return M({lo:Math.min(i.lo,r.lo),hi:Math.min(i.hi,r.hi)})}function Ff(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;return M({lo:Math.max(i.lo,r.lo),hi:Math.max(i.hi,r.hi)})}function Vf(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;if(En(r))return{kind:"singular"};let o=Math.abs(r.lo===r.hi?r.lo:Math.max(Math.abs(r.lo),Math.abs(r.hi))),s=Math.floor(i.lo/o),a=Math.floor(i.hi/o);if(s!==a)return{kind:"singular",at:(s+1)*o,continuity:"right"};let u=i.lo-o*s,l=i.hi-o*s;return M({lo:Math.min(u,l),hi:Math.max(u,l)})}function $f(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.lo>0?M({lo:1,hi:1}):t.hi<0?M({lo:-1,hi:-1}):t.lo===0&&t.hi===0?M({lo:0,hi:0}):{kind:"singular",at:0}}var qt=2*Math.PI,Ge=Math.PI,Vi=Math.PI/2,hy=3*Math.PI/2;function Uf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=qt)return M({lo:-1,hi:1});let i=Math.sin(t.lo),r=Math.sin(t.hi),o=Math.min(i,r),s=Math.max(i,r);return dn(t,Vi,qt)&&(s=1),dn(t,hy,qt)&&(o=-1),M({lo:o,hi:s})}function jf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=qt)return M({lo:-1,hi:1});let i=Math.cos(t.lo),r=Math.cos(t.hi),o=Math.min(i,r),s=Math.max(i,r);return dn(t,0,qt)&&(s=1),dn(t,Ge,qt)&&(o=-1),M({lo:o,hi:s})}function Gf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=Ge)return{kind:"singular"};if(dn(t,Vi,Ge)){let o=Math.ceil((t.lo-Vi)/Ge);return{kind:"singular",at:Vi+o*Ge}}let i=Math.tan(t.lo),r=Math.tan(t.hi);return i>1e10&&r<-1e10||i<-1e10&&r>1e10?{kind:"singular"}:M({lo:i,hi:r})}function zf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=Ge)return{kind:"singular"};if(dn(t,0,Ge))return{kind:"singular",at:Math.ceil(t.lo/Ge)*Ge};let i=1/Math.tan(t.lo),r=1/Math.tan(t.hi);return M({lo:Math.min(i,r),hi:Math.max(i,r)})}function Zf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=Ge)return{kind:"singular"};if(dn(t,Vi,Ge)){let a=Math.ceil((t.lo-Vi)/Ge);return{kind:"singular",at:Vi+a*Ge}}let i=1/Math.cos(t.lo),r=1/Math.cos(t.hi),o=Math.min(i,r),s=Math.max(i,r);return dn(t,0,qt)&&(o=Math.min(o,1),s=Math.max(s,1)),dn(t,Ge,qt)&&(o=Math.min(o,-1),s=Math.max(s,-1)),M({lo:o,hi:s})}function Hf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.hi-t.lo>=Ge)return{kind:"singular"};if(dn(t,0,Ge))return{kind:"singular",at:Math.ceil(t.lo/Ge)*Ge};let i=1/Math.sin(t.lo),r=1/Math.sin(t.hi),o=Math.min(i,r),s=Math.max(i,r);return dn(t,Vi,qt)&&(o=Math.min(o,1),s=Math.max(s,1)),dn(t,hy,qt)&&(o=Math.min(o,-1),s=Math.max(s,-1)),M({lo:o,hi:s})}function uu(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.lo>1||t.hi<-1)return{kind:"empty"};if(t.lo<-1||t.hi>1){let i=Math.max(t.lo,-1),r=Math.min(t.hi,1);return{kind:"partial",value:{lo:Math.asin(i),hi:Math.asin(r)},domainClipped:t.lo<-1&&t.hi>1?"both":t.lo<-1?"lo":"hi"}}return M({lo:Math.asin(t.lo),hi:Math.asin(t.hi)})}function lu(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.lo>1||t.hi<-1)return{kind:"empty"};if(t.lo<-1||t.hi>1){let i=Math.max(t.lo,-1),r=Math.min(t.hi,1);return{kind:"partial",value:{lo:Math.acos(r),hi:Math.acos(i)},domainClipped:t.lo<-1&&t.hi>1?"both":t.lo<-1?"lo":"hi"}}return M({lo:Math.acos(t.hi),hi:Math.acos(t.lo)})}function cu(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:Math.atan(t.lo),hi:Math.atan(t.hi)})}function Wf(n,e){let t=P(n,e);if(!Array.isArray(t))return t;let[i,r]=t;if(i.lo===i.hi&&r.lo===r.hi){let s=Math.atan2(i.lo,r.lo);return M({lo:s,hi:s})}let o=[];return o.push(Math.atan2(i.lo,r.lo)),o.push(Math.atan2(i.lo,r.hi)),o.push(Math.atan2(i.hi,r.lo)),o.push(Math.atan2(i.hi,r.hi)),r.lo<0&&i.lo<0&&i.hi>0?M({lo:-Ge,hi:Ge}):M({lo:Math.min(...o),hi:Math.max(...o)})}function Rs(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:Math.sinh(t.lo),hi:Math.sinh(t.hi)})}function Ms(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.lo>=0?M({lo:Math.cosh(t.lo),hi:Math.cosh(t.hi)}):t.hi<=0?M({lo:Math.cosh(t.hi),hi:Math.cosh(t.lo)}):M({lo:1,hi:Math.max(Math.cosh(t.lo),Math.cosh(t.hi))})}function Jf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:Math.tanh(t.lo),hi:Math.tanh(t.hi)})}function fu(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return M({lo:Math.asinh(t.lo),hi:Math.asinh(t.hi)})}function pu(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return t.hi<1?{kind:"empty"}:t.lo<1?{kind:"partial",value:{lo:0,hi:Math.acosh(t.hi)},domainClipped:"lo"}:M({lo:Math.acosh(t.lo),hi:Math.acosh(t.hi)})}function du(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;if(t.lo>=1||t.hi<=-1)return{kind:"empty"};if(t.lo<=-1||t.hi>=1){let i=Math.max(t.lo,-1+Number.EPSILON),r=Math.min(t.hi,1-Number.EPSILON);return{kind:"partial",value:{lo:Math.atanh(i),hi:Math.atanh(r)},domainClipped:t.lo<=-1&&t.hi>=1?"both":t.lo<=-1?"lo":"hi"}}return M({lo:Math.atanh(t.lo),hi:Math.atanh(t.hi)})}function Yf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:cu(Un(M({lo:1,hi:1}),M(t)))}function Qf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:uu(Un(M({lo:1,hi:1}),M(t)))}function Xf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:lu(Un(M({lo:1,hi:1}),M(t)))}function Kf(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:Un(Ms(t),Rs(t))}function ep(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:Un(M({lo:1,hi:1}),Rs(t))}function np(n){return Un(M({lo:1,hi:1}),Ms(n))}function tp(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:du(Un(M({lo:1,hi:1}),M(t)))}function ip(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:fu(Un(M({lo:1,hi:1}),M(t)))}function rp(n){let e=P(n);if(!Array.isArray(e))return e;let[t]=e;return En(t)?{kind:"singular",at:0}:pu(Un(M({lo:1,hi:1}),M(t)))}function op(n,e){let t=P(n,e);if(!Array.isArray(t))return"maybe";let[i,r]=t;return i.hi<r.lo?"true":i.lo>=r.hi?"false":"maybe"}function sp(n,e){let t=P(n,e);if(!Array.isArray(t))return"maybe";let[i,r]=t;return i.hi<=r.lo?"true":i.lo>r.hi?"false":"maybe"}function ap(n,e){let t=P(n,e);if(!Array.isArray(t))return"maybe";let[i,r]=t;return i.lo>r.hi?"true":i.hi<=r.lo?"false":"maybe"}function up(n,e){let t=P(n,e);if(!Array.isArray(t))return"maybe";let[i,r]=t;return i.lo>=r.hi?"true":i.hi<r.lo?"false":"maybe"}function mu(n,e){let t=P(n,e);if(!Array.isArray(t))return"maybe";let[i,r]=t;return i.lo===i.hi&&r.lo===r.hi&&i.lo===r.lo?"true":i.hi<r.lo||r.hi<i.lo?"false":"maybe"}function lp(n,e){let t=mu(n,e);return t==="true"?"false":t==="false"?"true":"maybe"}function cp(n,e){return n==="false"||e==="false"?"false":n==="true"&&e==="true"?"true":"maybe"}function fp(n,e){return n==="true"||e==="true"?"true":n==="false"&&e==="false"?"false":"maybe"}function pp(n){return n==="true"?"false":n==="false"?"true":"maybe"}function dp(n,e,t,i){if(n==="true"||n==="false"||n==="maybe"){let f=n,p=e,d=t;switch(f){case"true":return p();case"false":return d();case"maybe":return No(p(),d())}}let r=n,o=e,s=t,a=i,u=P(r);if(!Array.isArray(u))return u;let[l]=u;switch(o(l)){case"true":return s(l);case"false":return a(l);case"maybe":let f=s(l),p=a(l);return No(f,p)}}function mp(n,e,t){let i=P(n,e,t);if(!Array.isArray(i))return i;let[r,o,s]=i,a=Math.max(r.lo,o.lo),u=Math.min(r.hi,s.hi);return a>u?{kind:"empty"}:{kind:"interval",value:{lo:a,hi:u}}}var xy={ok:M,point:ff,containsExtremum:dn,unionResults:No,mergeDomainClip:au,isPoint:pf,containsZero:En,isPositive:df,isNegative:Cs,isNonNegative:mf,isNonPositive:gf,width:hf,midpoint:xf,getValue:yf,unwrap:bf,unwrapOrPropagate:P,add:vf,sub:Ef,mul:Tf,div:Un,negate:_f,sqrt:Sf,square:If,pow:Bf,powInterval:Af,exp:wf,ln:kf,log10:Cf,log2:Rf,abs:Mf,floor:Df,ceil:Pf,round:Of,fract:Lf,min:qf,max:Ff,mod:Vf,sign:$f,sin:Uf,cos:jf,tan:Gf,cot:zf,sec:Zf,csc:Hf,asin:uu,acos:lu,atan:cu,atan2:Wf,sinh:Rs,cosh:Ms,tanh:Jf,asinh:fu,acosh:pu,atanh:du,acot:Yf,acsc:Qf,asec:Xf,coth:Kf,csch:ep,sech:np,acoth:tp,acsch:ip,asech:rp,less:op,lessEqual:sp,greater:ap,greaterEqual:up,equal:mu,notEqual:lp,and:cp,or:fp,not:pp,piecewise:dp,clamp:mp};var k_={Add:["_IA.add",20],Negate:["_IA.negate",20],Subtract:["_IA.sub",20],Multiply:["_IA.mul",20],Divide:["_IA.div",20],Equal:["_IA.equal",20],NotEqual:["_IA.notEqual",20],LessEqual:["_IA.lessEqual",20],GreaterEqual:["_IA.greaterEqual",20],Less:["_IA.less",20],Greater:["_IA.greater",20],And:["_IA.and",20],Or:["_IA.or",20],Not:["_IA.not",20]},gp={Add:(n,e)=>{if(n.length===0)return"_IA.point(0)";if(n.length===1)return e(n[0]);let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.add(${t}, ${e(n[i])})`;return t},Subtract:(n,e)=>{if(n.length===0)return"_IA.point(0)";if(n.length===1)return`_IA.negate(${e(n[0])})`;if(n.length===2)return`_IA.sub(${e(n[0])}, ${e(n[1])})`;let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.sub(${t}, ${e(n[i])})`;return t},Multiply:(n,e)=>{if(n.length===0)return"_IA.point(1)";if(n.length===1)return e(n[0]);let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.mul(${t}, ${e(n[i])})`;return t},Divide:(n,e)=>{if(n.length===0)return"_IA.point(1)";if(n.length===1)return e(n[0]);if(n.length===2)return`_IA.div(${e(n[0])}, ${e(n[1])})`;let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.div(${t}, ${e(n[i])})`;return t},Negate:(n,e)=>`_IA.negate(${e(n[0])})`,Abs:(n,e)=>`_IA.abs(${e(n[0])})`,Ceiling:(n,e)=>`_IA.ceil(${e(n[0])})`,Exp:(n,e)=>`_IA.exp(${e(n[0])})`,Floor:(n,e)=>`_IA.floor(${e(n[0])})`,Ln:(n,e)=>`_IA.ln(${e(n[0])})`,Log:(n,e)=>n.length===1?`_IA.log10(${e(n[0])})`:`_IA.div(_IA.ln(${e(n[0])}), _IA.ln(${e(n[1])}))`,Lb:(n,e)=>`_IA.log2(${e(n[0])})`,Max:(n,e)=>{if(n.length===0)return"_IA.point(-Infinity)";if(n.length===1)return e(n[0]);let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.max(${t}, ${e(n[i])})`;return t},Min:(n,e)=>{if(n.length===0)return"_IA.point(Infinity)";if(n.length===1)return e(n[0]);let t=e(n[0]);for(let i=1;i<n.length;i++)t=`_IA.min(${t}, ${e(n[i])})`;return t},Power:(n,e)=>{let t=n[0],i=n[1];if(t===null)throw new Error("Power: no argument");if(t.symbol==="ExponentialE")return`_IA.exp(${e(i)})`;if(i?.isNumberLiteral&&i.im===0){let r=i.re;return r===.5?`_IA.sqrt(${e(t)})`:r===2?`_IA.square(${e(t)})`:`_IA.pow(${e(t)}, ${r})`}return`_IA.powInterval(${e(t)}, ${e(i)})`},Root:(n,e)=>{let[t,i]=n;if(t===null)throw new Error("Root: no argument");return i===null?`_IA.sqrt(${e(t)})`:i?.re===2?`_IA.sqrt(${e(t)})`:i?.isNumberLiteral&&i.im===0?`_IA.pow(${e(t)}, ${1/i.re})`:`_IA.powInterval(${e(t)}, _IA.div(_IA.point(1), ${e(i)}))`},Round:(n,e)=>`_IA.round(${e(n[0])})`,Sgn:(n,e)=>`_IA.sign(${e(n[0])})`,Sqrt:(n,e)=>`_IA.sqrt(${e(n[0])})`,Square:(n,e)=>`_IA.square(${e(n[0])})`,Sin:(n,e)=>`_IA.sin(${e(n[0])})`,Cos:(n,e)=>`_IA.cos(${e(n[0])})`,Tan:(n,e)=>`_IA.tan(${e(n[0])})`,Cot:(n,e)=>`_IA.cot(${e(n[0])})`,Sec:(n,e)=>`_IA.sec(${e(n[0])})`,Csc:(n,e)=>`_IA.csc(${e(n[0])})`,Arcsin:(n,e)=>`_IA.asin(${e(n[0])})`,Arccos:(n,e)=>`_IA.acos(${e(n[0])})`,Arctan:(n,e)=>`_IA.atan(${e(n[0])})`,Arccot:(n,e)=>`_IA.acot(${e(n[0])})`,Arccsc:(n,e)=>`_IA.acsc(${e(n[0])})`,Arcsec:(n,e)=>`_IA.asec(${e(n[0])})`,Sinh:(n,e)=>`_IA.sinh(${e(n[0])})`,Cosh:(n,e)=>`_IA.cosh(${e(n[0])})`,Tanh:(n,e)=>`_IA.tanh(${e(n[0])})`,Coth:(n,e)=>`_IA.coth(${e(n[0])})`,Csch:(n,e)=>`_IA.csch(${e(n[0])})`,Sech:(n,e)=>`_IA.sech(${e(n[0])})`,Arsinh:(n,e)=>`_IA.asinh(${e(n[0])})`,Arcosh:(n,e)=>`_IA.acosh(${e(n[0])})`,Artanh:(n,e)=>`_IA.atanh(${e(n[0])})`,Arcoth:(n,e)=>`_IA.acoth(${e(n[0])})`,Arcsch:(n,e)=>`_IA.acsch(${e(n[0])})`,Arsech:(n,e)=>`_IA.asech(${e(n[0])})`,Asin:(n,e)=>`_IA.asin(${e(n[0])})`,Acos:(n,e)=>`_IA.acos(${e(n[0])})`,Atan:(n,e)=>`_IA.atan(${e(n[0])})`,Fract:(n,e)=>`_IA.fract(${e(n[0])})`,Mod:(n,e)=>`_IA.mod(${e(n[0])}, ${e(n[1])})`,If:(n,e)=>{if(n.length!==3)throw new Error("If: wrong number of arguments");return`_IA.piecewise(
126
126
  ${e(n[0])},
127
127
  () => ${e(n[1])},
128
128
  () => ${e(n[2])}
@@ -140,6 +140,8 @@ const float IA_SINGULAR = 3.0;
140
140
  const float IA_PARTIAL_LO = 4.0;
141
141
  const float IA_PARTIAL_HI = 5.0;
142
142
  const float IA_PARTIAL_BOTH = 6.0;
143
+ const float IA_SINGULAR_RIGHT = 7.0;
144
+ const float IA_SINGULAR_LEFT = 8.0;
143
145
 
144
146
  // Interval result struct
145
147
  struct IntervalResult {
@@ -173,12 +175,20 @@ IntervalResult ia_singular(float at) {
173
175
  return IntervalResult(vec2(at, at), IA_SINGULAR);
174
176
  }
175
177
 
178
+ IntervalResult ia_singular_right(float at) {
179
+ return IntervalResult(vec2(at, at), IA_SINGULAR_RIGHT);
180
+ }
181
+
182
+ IntervalResult ia_singular_left(float at) {
183
+ return IntervalResult(vec2(at, at), IA_SINGULAR_LEFT);
184
+ }
185
+
176
186
  IntervalResult ia_partial(vec2 v, float clip) {
177
187
  return IntervalResult(v, clip);
178
188
  }
179
189
 
180
190
  bool ia_is_error(float status) {
181
- return status == IA_EMPTY || status == IA_ENTIRE || status == IA_SINGULAR;
191
+ return status == IA_EMPTY || status == IA_ENTIRE || status == IA_SINGULAR || status == IA_SINGULAR_RIGHT || status == IA_SINGULAR_LEFT;
182
192
  }
183
193
 
184
194
  // Addition
@@ -318,7 +328,8 @@ IntervalResult ia_floor(vec2 x) {
318
328
  return ia_ok(vec2(flo, fhi));
319
329
  }
320
330
  // Interval spans an integer boundary - discontinuity at first integer > x.x
321
- return ia_singular(flo + 1.0);
331
+ // floor is right-continuous
332
+ return ia_singular_right(flo + 1.0);
322
333
  }
323
334
 
324
335
  // Ceiling - has jump discontinuities at every integer
@@ -329,7 +340,8 @@ IntervalResult ia_ceil(vec2 x) {
329
340
  return ia_ok(vec2(clo, chi));
330
341
  }
331
342
  // Interval spans an integer boundary - discontinuity at ceil(x.x)
332
- return ia_singular(clo);
343
+ // ceil is left-continuous
344
+ return ia_singular_left(clo);
333
345
  }
334
346
 
335
347
  // Round - has jump discontinuities at every half-integer
@@ -343,7 +355,8 @@ IntervalResult ia_round(vec2 x) {
343
355
  return ia_ok(vec2(rlo, rhi));
344
356
  }
345
357
  // Interval spans a half-integer boundary - discontinuity
346
- return ia_singular(rlo + 0.5);
358
+ // round is right-continuous (with round-half-up convention)
359
+ return ia_singular_right(rlo + 0.5);
347
360
  }
348
361
 
349
362
  // Fract - sawtooth discontinuities at every integer
@@ -356,7 +369,8 @@ IntervalResult ia_fract(vec2 x) {
356
369
  return ia_ok(vec2(fract(x.x) - IA_EPS, fract(x.y) + IA_EPS));
357
370
  }
358
371
  // Interval spans an integer - sawtooth discontinuity
359
- return ia_singular(flo + 1.0);
372
+ // fract is right-continuous (inherits from floor)
373
+ return ia_singular_right(flo + 1.0);
360
374
  }
361
375
 
362
376
  // Mod - periodic discontinuities at multiples of the modulus
@@ -379,7 +393,8 @@ IntervalResult ia_mod(vec2 x, vec2 y) {
379
393
  return ia_ok(vec2(min(mlo, mhi) - IA_EPS, max(mlo, mhi) + IA_EPS));
380
394
  }
381
395
  // Discontinuity at first multiple of period in the interval
382
- return ia_singular((flo + 1.0) * period);
396
+ // mod has sawtooth discontinuities, right-continuous
397
+ return ia_singular_right((flo + 1.0) * period);
383
398
  }
384
399
 
385
400
  // General case: compose from existing operations
@@ -1054,7 +1069,7 @@ IntervalResult ${i}(${u}) {
1054
1069
  `}};Mt();var To=class n{True;False;Pi;E;Nothing;Zero;One;Half;NegativeOne;Two;I;NaN;PositiveInfinity;NegativeInfinity;ComplexInfinity;decimalSeparator=".";_BIGNUM_NAN;_BIGNUM_ZERO;_BIGNUM_ONE;_BIGNUM_TWO;_BIGNUM_HALF;_BIGNUM_PI;_BIGNUM_NEGATIVE_ONE;_precision;_angularUnit;_tolerance;_bignumTolerance;_negBignumTolerance;__cache={};_configurationChangeTracker=new Xs;_cost;_compilationTargets=new Map;_commonSymbols={Pi:null,True:null,False:null,All:null,Nothing:null,None:null,Undefined:null,ImaginaryUnit:null,ExponentialE:null};_commonNumbers={"-5":null,"-4":null,"-3":null,"-2":null,2:null,3:null,4:null,5:null,6:null,7:null,8:null,9:null,10:null,11:null,12:null,36:null};_evalContextStack=[];get context(){return this._evalContextStack[this._evalContextStack.length-1]}get contextStack(){return[...this._evalContextStack]}set contextStack(e){this._evalContextStack=[...e]}get _typeResolver(){let e=this;return{get names(){let t=[],i=e.context.lexicalScope;for(;i;)i.types&&t.push(...Object.keys(i.types)),i=i.parent;return t},resolve:t=>{let i=e.context.lexicalScope;for(;i;){if(i.types?.[t])return i.types[t];i=i.parent}},forward:t=>{let i={kind:"reference",name:t,alias:!1,def:void 0};return e.context.lexicalScope.types??={},e.context.lexicalScope.types[t]=i,i}}}declareType(e,t,{alias:i}={}){if(!td(e))throw Error(`The type name "${e}" is invalid`);let r=this.context.lexicalScope;if(r.types?.[e])throw Error(`The type "${e}" is already defined in the current scope`);r.types??={},i??=!1,r.types[e]={kind:"reference",name:e,alias:i,def:void 0};let o=t instanceof R?t.type:typeof t=="string"?V(t,this._typeResolver):t;r.types[e].def=o}get trace(){return this._evalContextStack.map(e=>e.name).filter(e=>e!==void 0).reverse()}_generation=0;strict;deadline;_latexDictionaryInput;__indexedLatexDictionary;_bignum;static getStandardLibrary(e="all"){return Uc(e)}static getLatexDictionary(e="all"){return um(e)}constructor(e){if(e!==void 0&&typeof e!="object")throw Error("Unexpected argument");this.strict=!0;let t=e?.precision??Ou;t==="machine"&&(t=Math.floor(_t)),this._bignum=j.clone({precision:t}),this._precision=t,this.tolerance=e?.tolerance??"auto",this._angularUnit="rad",this.Zero=new vn(this,0),this.One=new vn(this,1),this.Half=new vn(this,{rational:[1,2]}),this.NegativeOne=new vn(this,-1),this.Two=new vn(this,2),this.NaN=new vn(this,Number.NaN),this.PositiveInfinity=new vn(this,Number.POSITIVE_INFINITY),this.NegativeInfinity=new vn(this,Number.NEGATIVE_INFINITY),this.I=new vn(this,{im:1}),this.ComplexInfinity=new vn(this,{re:1/0,im:1/0}),this._reset(),this.pushScope(void 0,"system"),this.declareType("limits","expression<Limits>");for(let r of n.getStandardLibrary("domains"))jc(this,r);let i=e?.ids??n.getStandardLibrary();for(let r of i)jc(this,r);for(let r of Object.keys(this._commonSymbols))this._commonSymbols[r]=new xr(this,r,{def:this.lookupDefinition(r)});this.True=this._commonSymbols.True,this.False=this._commonSymbols.False,this.Pi=this._commonSymbols.Pi,this.E=this._commonSymbols.ExponentialE,this.Nothing=this._commonSymbols.Nothing,this.pushScope(void 0,"global"),this._compilationTargets.set("javascript",new yr),this._compilationTargets.set("glsl",new br),this._compilationTargets.set("interval-js",new Ds),this._compilationTargets.set("interval-glsl",new Ps),od(this)}toJSON(){return"[ComputeEngine]"}[Symbol.toStringTag]="ComputeEngine";get latexDictionary(){return this._latexDictionaryInput??n.getLatexDictionary()}set latexDictionary(e){this._latexDictionaryInput=e,this.__indexedLatexDictionary=ol(e,t=>{throw Error(typeof t.message=="string"?t.message:t.message.join(","))})}get _indexedLatexDictionary(){return this.__indexedLatexDictionary??=ol(this.latexDictionary,e=>console.error(e)),this.__indexedLatexDictionary}_reset(){this._bignum,this._generation+=1,this._BIGNUM_NEGATIVE_ONE=this.bignum(-1),this._BIGNUM_NAN=this.bignum(NaN),this._BIGNUM_ZERO=this.bignum(0),this._BIGNUM_ONE=this.bignum(1),this._BIGNUM_TWO=this.bignum(2),this._BIGNUM_HALF=this._BIGNUM_ONE.div(this._BIGNUM_TWO),this._BIGNUM_PI=this._BIGNUM_NEGATIVE_ONE.acos();for(let e of Object.values(this._commonSymbols))e?.reset();for(let e of Object.keys(this.__cache))this.__cache[e].value&&(this.__cache[e].purge?this.__cache[e].value=this.__cache[e].purge(this.__cache[e].value):delete this.__cache[e]);this._configurationChangeTracker.notifyNow()}listenToConfigurationChange(e){return this._configurationChangeTracker.listen(e)}registerCompilationTarget(e,t){this._compilationTargets.set(e,t)}_getCompilationTarget(e){return this._compilationTargets.get(e)}get precision(){return this._precision}set precision(e){e==="machine"&&(e=_t),e==="auto"&&(e=Ou);let t=this._precision;if(e!==t){if(typeof e!="number"||e<=0)throw Error('Expected "machine" or a positive number');this._precision=Math.max(e,_t),this._bignum=this._bignum.config({precision:this._precision}),this.tolerance="auto",this._reset()}}get angularUnit(){return this._angularUnit}set angularUnit(e){if(e!==this._angularUnit){if(typeof e!="string")throw Error("Expected a string");this._angularUnit=e,this._reset()}}get timeLimit(){return this._timeLimit}set timeLimit(e){e<=0&&(e=Number.POSITIVE_INFINITY),this._timeLimit=e}_timeLimit=2e3;_deadline=void 0;get _timeRemaining(){return this.deadline===void 0?Number.POSITIVE_INFINITY:this.deadline-Date.now()}get iterationLimit(){return this._iterationLimit}set iterationLimit(e){e<=0&&(e=Number.POSITIVE_INFINITY),this._iterationLimit=e}_iterationLimit=1024;get recursionLimit(){return this._recursionLimit}set recursionLimit(e){e<=0&&(e=Number.POSITIVE_INFINITY),this._recursionLimit=e}_recursionLimit=1024;_isVerifying=!1;get isVerifying(){return this._isVerifying}get tolerance(){return this._tolerance}set tolerance(e){e==="auto"&&(e=Lu),(!Number.isFinite(e)||e<0)&&(e=Math.pow(10,-this._precision+2)),this._tolerance=e,this._bignumTolerance=this.bignum(e),this._negBignumTolerance=this.bignum(-e)}chop(e){return typeof e=="number"?Math.abs(e)<=this._tolerance?0:e:e instanceof j?e.isPositive()&&e.lte(this._bignumTolerance)||e.isNegative()&&e.gte(this._negBignumTolerance)||e.isZero()?0:e:e instanceof ie&&Math.abs(e.re)<=this._tolerance&&Math.abs(e.im)<=this._tolerance?0:e}bignum(e){if(typeof e=="bigint")return new this._bignum(e.toString());try{return new this._bignum(e)}catch(t){console.error(t.message)}return this._BIGNUM_NAN}complex(e,t){return e instanceof j&&(e=e.toNumber()),t instanceof j&&(t=t.toNumber()),new ie(e,t)}_numericValue(e){if(e instanceof ae)return e.asExact??e;let t=r=>this.bignum(r),i=this._precision>_t?r=>new Ki(r,t):r=>new er(r,t);if(typeof e=="number")return Number.isInteger(e)?new ye(e,i,t):i(e);if(typeof e=="bigint")return new ye(e,i,t);if(Kt(e))return new ye({rational:e},i,t);if(e instanceof j){if(e.isInteger()&&e.e<=fd){let r=Ee(e.toString());if(r!==null)return new ye(r,i,t)}return i(e)}if(e instanceof ie)return e.im===0?this._numericValue(e.re):i({re:e.re,im:e.im});if("im"in e||"re"in e)return e.im!==void 0&&e.im!==0?i(e):e.re instanceof j&&e.re.isInteger()?new ye({rational:[Ee(e.re.toString()),BigInt(1)]},i,t):typeof e.re=="number"&&Number.isInteger(e.re)?new ye({rational:[e.re,1]},i,t):i(e);if("radical"in e||"rational"in e){if(e.radical!==void 0&&(!Number.isInteger(e.radical)||e.radical>=K))throw Error("Unexpected value for radical part:"+e.radical);return e.rational&&Ne(e.rational)&&(!Number.isInteger(e.rational[0])||!Number.isInteger(e.rational[1]))?i(e):new ye(e,i,t)}throw Error("Unexpected value")}get costFunction(){return this._cost??Gc}set costFunction(e){typeof e!="function"&&(this._cost=Gc),this._cost=e}lookupDefinition(e){return us(e,this.context.lexicalScope)}_declareSymbolValue(e,t,i){i??=this.context.lexicalScope,i.bindings.set(e,{value:new pt(this,e,{type:"unknown",inferred:!0})});let r=i.bindings.get(e);return ur(this,e,r,t),i===this.context.lexicalScope&&re(r)&&r.value.value&&!r.value.isConstant&&(this.context.values[e]=r.value.value),this._generation+=1,r}_declareSymbolOperator(e,t,i){i??=this.context.lexicalScope,i.bindings.set(e,{value:new pt(this,e,{type:"function"})});let r=i.bindings.get(e);return ur(this,e,r,t),this._generation+=1,r}pushScope(e,t){this._pushEvalContext(e??{parent:this.context?.lexicalScope,bindings:new Map},t)}popScope(){this._popEvalContext()}_pushEvalContext(e,t){if(!t){let r=this._evalContextStack.length;r===0&&(t="system"),r===1&&(t="global"),t??=`anonymous_${r-1}`}let i={};for(let[r,o]of e.bindings.entries())re(o)&&!o.value.isConstant&&(i[r]=o.value.value);this._evalContextStack.push({lexicalScope:e,name:t,assumptions:new ks(this.context?.assumptions??[]),values:i})}_popEvalContext(){this._evalContextStack.pop()}_inScope(e,t){if(!e)return t();this._evalContextStack.push({lexicalScope:e,name:"",assumptions:new ks([]),values:{}});try{return t()}finally{this._evalContextStack.pop()}}_printStack(e){e?(e={...e},e.maxDepth??=1,e.details??=!1):e={details:!1,maxDepth:-2},e.maxDepth!==void 0&&e.maxDepth<0&&(e.maxDepth=this._evalContextStack.length+e.maxDepth),e.maxDepth=Math.min(this._evalContextStack.length-1,e.maxDepth);let t=0;for(;t<=e.maxDepth;){let i=this._evalContextStack[this._evalContextStack.length-1-t];t===0?console.group(`${Gs}${Tu}${i.name}${mn}`):console.groupCollapsed(`${Gs}${Tu}${i.name}${mn} ${Sr}(${t})${mn}`);let r=[...i.assumptions.entries()].map(([s,a])=>`${s}: ${a}`);if(r.length>0){console.groupCollapsed(`${Gs}${r.length} assumptions${mn}`);for(let s of r)console.info(s);console.groupEnd()}let o=Object.entries(i.values);if(o.length+i.lexicalScope.bindings.size===0){console.groupEnd(),t+=1;continue}for(let[s,a]of o)i.lexicalScope.bindings.has(s)?console.info(_y(s,i.lexicalScope.bindings.get(s),a)):console.info(a===void 0?`${Bo}${s}${mn}: ${Sr}undefined${mn}`:`${Bo}${s}${mn}: ${Sr}${a.toString()}${mn}`);for(let[s,a]of i.lexicalScope.bindings)s in i.values||console.info(_y(s,a));console.groupEnd(),t+=1}}_getSymbolValue(e){let t=this._evalContextStack.length-1;if(!(t<0))for(let i=t;i>=0;i--){let r=this._evalContextStack[i].values;if(e in r)return r[e]}}_setSymbolValue(e,t){let i=this._evalContextStack.length-1;if(i<0)throw new Error(`Unknown symbol "${e}"`);typeof t=="number"?t=this.number(t):typeof t=="boolean"&&(t=t?this.True:this.False);for(let o=i;o>=0;o--){let s=this._evalContextStack[o].values;if(e in s){s[e]=t,this._generation+=1;return}}let r=this.lookupContext(e);if(!r)throw new Error(`Unknown symbol "${e}"`);r.values[e]=t}_setCurrentContextValue(e,t){let i=this._evalContextStack.length-1;if(i<0)throw new Error("No evaluation context");typeof t=="number"?t=this.number(t):typeof t=="boolean"&&(t=t?this.True:this.False),this._evalContextStack[i].values[e]=t,this._generation+=1}declare(e,t,i){if(typeof e!="string"){for(let[a,u]of Object.entries(e))this.declare(a,u);return this}let r=e;if(r==="Nothing")return this;if(t==null)throw Error(`Expected a definition or type for "${r}"`);if(typeof r!="string"||r.length===0||!Ze(r))throw new Error(`Invalid symbol "${r}": ${Gn(r)}`);if(i??=this.context.lexicalScope,i.bindings.has(r))throw new Error(`The symbol "${r}" is already declared in this scope`);let s=t;if(ps(s))return this._declareSymbolValue(r,s,i),this;if(fs(s))return this._declareSymbolOperator(r,s,i),this;{let a=V(s,this._typeResolver);if(!yi(a))throw Error([`Invalid argument for "${r}"`,JSON.stringify(s,void 0,4),"Use a type, a `OperatorDefinition` or a `ValueDefinition`"].join(`
1055
1070
  | `));this._declareSymbolValue(r,{type:a},i)}return this}declareSequence(e,t){if(!t.base||Object.keys(t.base).length===0)throw new Error(`Sequence "${e}" requires at least one base case`);if(!t.recurrence)throw new Error(`Sequence "${e}" requires a recurrence relation`);this.declare(e,{subscriptEvaluate:()=>{}});let i=Ic(this,e,t);if(!i.valid)throw new Error(i.error);let r=Sc(this,e,t),o=this.lookupDefinition(e);return o&&re(o)&&(o.value.subscriptEvaluate=r),this}getSequenceStatus(e){return wh(this,e)}getSequence(e){return kh(this,e)}listSequences(){return Ch(this)}isSequence(e){return kc(this,e)}clearSequenceCache(e){Rh(this,e)}getSequenceCache(e){return Mh(this,e)}getSequenceTerms(e,t,i,r){return Dh(this,e,t,i,r)}lookupOEIS(e,t){return py(this,e,t)}checkSequenceOEIS(e,t,i){return dy(this,e,t,i)}lookupContext(e){if(e.length===0||!Ze(e))throw Error(`Invalid symbol "${e}": ${Gn(e)}}`);let t=this._evalContextStack.length-1;if(!(t<0))for(let i=t;i>=0;i--){let r=this._evalContextStack[i];if(r.lexicalScope.bindings.has(e))return r}}_swapContext(e){for(;this._evalContextStack.length>0&&this._evalContextStack[this._evalContextStack.length-1]!==e;)this._evalContextStack.pop();this._evalContextStack.length===0&&(this._evalContextStack=[e])}assign(e,t){if(typeof e=="object"){for(let[a,u]of Object.entries(e))this.assign(a,u);return this}let i=e;if(i==="Nothing")return this;let r=this.lookupDefinition(i);if(le(r)){if(vy(this,t))throw Error(`Cannot change the operator "${i}" to a value`);let u=Ey(this,t);if(!u)throw Error(`Cannot change the operator "${i}" to a value`);return ur(this,i,r,u),this}let o=vy(this,t);if(o!==void 0){if(!r)return this._declareSymbolValue(i,{value:o}),this;if(r.value.isConstant)throw Error(`Cannot assign a value to the constant "${i}"`);return r.value.inferredType&&(r.value.type=this.type(ve(r.value.type.type,o.type.type))),this._setSymbolValue(i,o),this}let s=Ey(this,t);if(s===void 0)throw Error(`Invalid definition for symbol "${i}"`);return r?(re(r),ur(this,i,r,s),this._setSymbolValue(i,void 0)):this.declare(i,s),this}_shouldContinueExecution(){return this.deadline===void 0||this.deadline>=Date.now()}_checkContinueExecution(){if(!this._shouldContinueExecution())throw new Error("timeout")}_cache(e,t,i){if(this.__cache[e]===void 0)try{this.__cache[e]={build:t,purge:i,value:t()}}catch(r){console.error(`Fatal error building cache "${e}":
1056
1071
  ${r.toString()}`)}return this.__cache[e]?.value}box(e,t){return yt(this,e,t)}function(e,t,i){return ru(this,e,t,i)}error(e,t){let i;typeof e=="string"?i=this.string(e):i=this.function("ErrorCode",e.map(s=>this.string(s)));let r;t&&Pr(t)?r=this.function("LatexString",[this.string(Ni(t))]):typeof t=="string"&&t.length>0&&(r=this.string(t));let o=[this.box(i)];return r&&o.push(r),this.function("Error",o)}typeError(e,t,i){return t?this.error(["incompatible-type",te(e),t.toString()],i):this.error(["incompatible-type",te(e)],i)}hold(e){return this._fn("Hold",[this.box(e,{canonical:!1})])}tuple(...e){return new Me(this,"Tuple",e.map(t=>typeof t=="number"?this.number(t):t.canonical),{canonical:!0})}type(e){return e instanceof R?e:new R(e,this._typeResolver)}string(e,t){return new Fi(this,e,t)}symbol(e,t){let i=t?.canonical??!0,r=t?.metadata;e=e.normalize();let o=e.toLowerCase();if(o==="infinity"||o==="+infinity")return this.PositiveInfinity;if(o==="-infinity")return this.NegativeInfinity;if(this.strict&&!Ze(e))return this.error(["invalid-symbol",Gn(e)],e);if(!i)return new xr(this,e,{metadata:r});let s=this._commonSymbols[e];if(s)return s;let a=this.lookupDefinition(e);return re(a)&&a.value.holdUntil==="never"?a.value.value??this.Nothing:a?new xr(this,e,{metadata:r,def:a}):(a=this._declareSymbolValue(e,{type:"unknown",inferred:!0}),new xr(this,e,{metadata:r,def:a}))}number(e,t){let i=t?.metadata,r=!1;if((!t||t.canonical===void 0||t.canonical==="Number"||t.canonical===!0||Array.isArray(t.canonical)&&t.canonical.includes("Number"))&&(r=!0),!r&&Kt(e))return this._fn("Rational",[this.number(e[0]),this.number(e[1])],{...i,canonical:!1});if(e=ou(this,e),i===void 0){if(typeof e=="number"){let o=e;if(o===1)return this.One;if(o===0)return this.Zero;if(o===-1)return this.NegativeOne;if(o===2)return this.Two;if(Number.isInteger(o)&&this._commonNumbers[o]!==void 0)return this._commonNumbers[o]??=new vn(this,e),this._commonNumbers[o];if(Number.isNaN(o))return this.NaN;if(!Number.isFinite(o))return o<0?this.NegativeInfinity:this.PositiveInfinity}else if(e instanceof ae){if(e.isZero)return this.Zero;if(e.isOne)return this.One;if(e.isNegativeOne)return this.NegativeOne;if(e.isNaN)return this.NaN;if(e.isNegativeInfinity)return this.NegativeInfinity;if(e.isPositiveInfinity)return this.PositiveInfinity}}return new vn(this,e,{metadata:i})}rules(e,t){return ss(this,e,t)}getRuleSet(e){if(e??="standard-simplification",e==="standard-simplification")return this._cache("standard-simplification-rules",()=>ss(this,ly,{canonical:!0}));if(e==="solve-univariate")return this._cache("univariate-roots-rules",()=>ss(this,Zg));if(e==="harmonization")return this._cache("harmonization-rules",()=>ss(this,Hg))}_fn(e,t,i){let r=i?.canonical??!0;return new Me(this,e,t,{...i,canonical:r})}parse(e,t){if(e==null)return null;if(typeof e!="string")throw Error("ce.parse(): expected a LaTeX string");let i={imaginaryUnit:"\\imaginaryI",positiveInfinity:"\\infty",negativeInfinity:"-\\infty",notANumber:"\\operatorname{NaN}",decimalSeparator:this.decimalSeparator,digitGroup:3,digitGroupSeparator:"\\,",exponentProduct:"\\cdot",beginExponentMarker:"10^{",endExponentMarker:"}",truncationMarker:"\\ldots",repeatingDecimal:"auto",strict:!0,skipSpace:!0,parseNumbers:"auto",getSymbolType:o=>{let s=this.lookupDefinition(o);return s?le(s)?s.operator.signature:re(s)?s.value.type:R.unknown:R.unknown},hasSubscriptEvaluate:o=>{let s=this.lookupDefinition(o);return!!(re(s)&&s.value.subscriptEvaluate)},parseUnexpectedToken:(o,s)=>null,preserveLatex:!1,quantifierScope:"tight",timeDerivativeVariable:"t"},r=pm(Ni(e)??e,this._indexedLatexDictionary,{...i,...t});if(r===null)throw Error("Failed to parse LaTeX string");return this.box(r,{canonical:t?.canonical??!0})}ask(e){let t=this.box(e,{canonical:!1}),i=[],r=c=>c.operator?.startsWith("_")||We(c)?!0:c.ops?c.ops.some(r):!1,o=c=>{let f=Object.keys(c).sort();for(let p of i){let d=Object.keys(p).sort();if(d.length!==f.length)continue;let m=!0;for(let g=0;g<f.length;g++){if(d[g]!==f[g]){m=!1;break}let h=f[g];if(!c[h].isSame(p[h])){m=!1;break}}if(m)return}i.push(c)},s=this.context.assumptions,a=()=>{let c=new Set;for(let[f,p]of s)if(p===!0)for(let d of f.symbols)c.add(d);return[...c]},u=c=>{let f=c.operator;if(f!=="Less"&&f!=="LessEqual"&&f!=="Greater"&&f!=="GreaterEqual")return[{pattern:c}];let p=f==="Greater"||f==="GreaterEqual"?c.op2:c.op1,d=f==="Greater"||f==="GreaterEqual"?c.op1:c.op2,m=f==="Less"||f==="Greater"?"Less":"LessEqual",g=this.box(["Add",p,["Negate",d]],{canonical:!1});return[{pattern:c},{pattern:this.box([m,g,0],{canonical:!1}),matchPermutations:!1}]};if(t.operator==="Element"&&t.op1?.symbol&&We(t.op2)){let c=pn(t.op2);if(c&&!c.startsWith("__")){let f=this.box(t.op1.symbol).type;f.isUnknown||o({[c]:this.box(f.toString(),{canonical:!1})})}}if((t.operator==="Greater"||t.operator==="GreaterEqual"||t.operator==="Less"||t.operator==="LessEqual")&&We(t.op2)){let c=pn(t.op2);if(c&&!c.startsWith("__")){let f=t.operator==="Greater"||t.operator==="GreaterEqual",p=t.operator==="Greater"||t.operator==="Less";if(t.op1?.symbol){let d=as(this,t.op1.symbol),m=f?d.lowerBound:d.upperBound,g=f?d.lowerStrict:d.upperStrict;m!==void 0&&(!p||g===!0)&&o({[c]:m})}if(We(t.op1)){let d=pn(t.op1);if(d&&!d.startsWith("__"))for(let m of a()){let g=as(this,m),h=f?g.lowerBound:g.upperBound,x=f?g.lowerStrict:g.upperStrict;h===void 0||p&&x!==!0||o({[d]:this.box(m,{canonical:!0}),[c]:h})}}}}let l=u(t);for(let[c,f]of s)if(f===!0)for(let{pattern:p,matchPermutations:d}of l){let m=c.match(p,{useVariations:!0,matchPermutations:d});m!==null&&o(m)}return i.length===0&&!r(t)&&!this._isVerifying&&this.verify(this.box(e,{canonical:!0}))===!0&&o({}),i}verify(e){if(!this._isVerifying){this._isVerifying=!0;try{let i=(Pr(e)?this.parse(e,{canonical:!1}):this.box(e,{canonical:!1})).evaluate();if(i.symbol==="True")return!0;if(i.symbol==="False")return!1;let r=i.operator;if(r==="Not"){let o=this.verify(i.op1);return o===void 0?void 0:!o}if(r==="And"){let o=!1;for(let s of i.ops??[]){let a=this.verify(s);if(a===!1)return!1;a===void 0&&(o=!0)}return o?void 0:!0}if(r==="Or"){let o=!1;for(let s of i.ops??[]){let a=this.verify(s);if(a===!0)return!0;a===void 0&&(o=!0)}return o?void 0:!1}return}finally{this._isVerifying=!1}}}assume(e){try{let t=Pr(e)?this.parse(e,{canonical:!1}):this.box(e,{canonical:!1});return this._generation+=1,gc(t)}catch(t){throw console.error(t.message.toString()),t}}forget(e){if(e===void 0){this.context.assumptions?.clear(),this._generation+=1;return}if(Array.isArray(e)){for(let t of e)this.forget(t);return}if(typeof e=="string"){for(let[t,i]of this.context.assumptions)t.has(e)&&this.context.assumptions.delete(t);for(let t of this._evalContextStack)e in t.values&&delete t.values[e]}this._generation+=1}};function vy(n,e){if(e==null||typeof e=="function")return;if(typeof e=="boolean")return e?n.True:n.False;if(typeof e=="number"||typeof e=="bigint")return n.number(e);let t=n.box(e);if(t.operator!=="Function"&&!t.unknowns.some(i=>i.startsWith("_")))return t}function Ey(n,e){if(typeof e=="function")return{evaluate:e,signature:"function"};if(e==null||typeof e=="boolean")return;let t=Le(n.box(e));if(t!==void 0)return{evaluate:t}}function _y(n,e,t){let i="";if(re(e)){let r=[];e.value.holdUntil==="never"&&r.push("(hold never)"),e.value.holdUntil==="N"&&r.push("(hold until N)"),e.value.inferredType&&r.push("inferred");let o=r.length>0?` ${r.join(" ")}`:"";i=`${Bo}${n}${mn}:${o}`,e.value.isConstant?(i+=` const ${e.value.type.toString()}`,e.value.value!==void 0&&(i+=` = ${e.value.value?.toString()}`)):i+=` ${e.value.type.toString()}`}else if(le(e)){let r=[];e.operator.inferredSignature&&r.push("(inferred)");let o=r.length>0?` (${r.join(" ")})`:"";i=`${Bo}${n}${mn}:${o} ${e.operator.signature.toString()}`;let s=[];e.operator.lazy&&s.push("lazy"),e.operator.scoped&&s.push("scoped"),e.operator.broadcastable&&s.push("broadcastable"),e.operator.associative&&s.push("associative"),e.operator.commutative&&s.push("commutative"),e.operator.idempotent&&s.push("idempotent"),e.operator.involution&&s.push("involution"),e.operator.pure||s.push("not pure");let a=s.map(u=>`${Sr}${u}${mn}`).join(" ");a.length>0&&(i+=`
1057
- \u2514 ${a}`)}else i="unknown";return t&&(t.isValid?t.isCanonical?i+=` = ${Sr}${t.toString()}${mn}`:i+=` = ${Mp}${t.toString()}${mn} (not canonical)`:i+=` = ${Dp}${t.toString()}${mn} (not valid)`),i}Zl();Mt();var M_="0.35.3";globalThis[Symbol.for("io.cortexjs.compute-engine")]={ComputeEngine:To.prototype.constructor,version:"0.35.3"};return ot(D_);})();
1072
+ \u2514 ${a}`)}else i="unknown";return t&&(t.isValid?t.isCanonical?i+=` = ${Sr}${t.toString()}${mn}`:i+=` = ${Mp}${t.toString()}${mn} (not canonical)`:i+=` = ${Dp}${t.toString()}${mn} (not valid)`),i}Zl();Mt();var M_="0.35.4";globalThis[Symbol.for("io.cortexjs.compute-engine")]={ComputeEngine:To.prototype.constructor,version:"0.35.4"};return ot(D_);})();
1058
1073
  /*! Bundled license information:
1059
1074
 
1060
1075
  complex-esm/dist/src/complex.js:
@@ -1,4 +1,4 @@
1
- /** Compute Engine 0.35.3 */
1
+ /** Compute Engine 0.35.4 */
2
2
  (function(global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'],factory):(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ComputeEngine = {}));})(this, (function (exports) { 'use strict';
3
3
  var ComputeEngine = (() => {
4
4
  var __defProp = Object.defineProperty;
@@ -52569,7 +52569,7 @@ Error in definition of "${name}"`,
52569
52569
  const flo = Math.floor(xVal.lo);
52570
52570
  const fhi = Math.floor(xVal.hi);
52571
52571
  if (flo === fhi) return ok({ lo: flo, hi: fhi });
52572
- return { kind: "singular", at: flo + 1 };
52572
+ return { kind: "singular", at: flo + 1, continuity: "right" };
52573
52573
  }
52574
52574
  function ceil2(x) {
52575
52575
  const unwrapped = unwrapOrPropagate(x);
@@ -52578,7 +52578,7 @@ Error in definition of "${name}"`,
52578
52578
  const clo = Math.ceil(xVal.lo);
52579
52579
  const chi = Math.ceil(xVal.hi);
52580
52580
  if (clo === chi) return ok({ lo: clo, hi: chi });
52581
- return { kind: "singular", at: clo };
52581
+ return { kind: "singular", at: clo, continuity: "left" };
52582
52582
  }
52583
52583
  function round2(x) {
52584
52584
  const unwrapped = unwrapOrPropagate(x);
@@ -52587,7 +52587,7 @@ Error in definition of "${name}"`,
52587
52587
  const rlo = Math.round(xVal.lo);
52588
52588
  const rhi = Math.round(xVal.hi);
52589
52589
  if (rlo === rhi) return ok({ lo: rlo, hi: rhi });
52590
- return { kind: "singular", at: rlo + 0.5 };
52590
+ return { kind: "singular", at: rlo + 0.5, continuity: "right" };
52591
52591
  }
52592
52592
  function fract(x) {
52593
52593
  const unwrapped = unwrapOrPropagate(x);
@@ -52598,7 +52598,7 @@ Error in definition of "${name}"`,
52598
52598
  if (flo === fhi) {
52599
52599
  return ok({ lo: xVal.lo - flo, hi: xVal.hi - flo });
52600
52600
  }
52601
- return { kind: "singular", at: flo + 1 };
52601
+ return { kind: "singular", at: flo + 1, continuity: "right" };
52602
52602
  }
52603
52603
  function min2(a, b) {
52604
52604
  const unwrapped = unwrapOrPropagate(a, b);
@@ -52629,7 +52629,7 @@ Error in definition of "${name}"`,
52629
52629
  const flo = Math.floor(aVal.lo / period);
52630
52630
  const fhi = Math.floor(aVal.hi / period);
52631
52631
  if (flo !== fhi) {
52632
- return { kind: "singular", at: (flo + 1) * period };
52632
+ return { kind: "singular", at: (flo + 1) * period, continuity: "right" };
52633
52633
  }
52634
52634
  const modLo = aVal.lo - period * flo;
52635
52635
  const modHi = aVal.hi - period * flo;
@@ -53482,6 +53482,8 @@ const float IA_SINGULAR = 3.0;
53482
53482
  const float IA_PARTIAL_LO = 4.0;
53483
53483
  const float IA_PARTIAL_HI = 5.0;
53484
53484
  const float IA_PARTIAL_BOTH = 6.0;
53485
+ const float IA_SINGULAR_RIGHT = 7.0;
53486
+ const float IA_SINGULAR_LEFT = 8.0;
53485
53487
 
53486
53488
  // Interval result struct
53487
53489
  struct IntervalResult {
@@ -53515,12 +53517,20 @@ IntervalResult ia_singular(float at) {
53515
53517
  return IntervalResult(vec2(at, at), IA_SINGULAR);
53516
53518
  }
53517
53519
 
53520
+ IntervalResult ia_singular_right(float at) {
53521
+ return IntervalResult(vec2(at, at), IA_SINGULAR_RIGHT);
53522
+ }
53523
+
53524
+ IntervalResult ia_singular_left(float at) {
53525
+ return IntervalResult(vec2(at, at), IA_SINGULAR_LEFT);
53526
+ }
53527
+
53518
53528
  IntervalResult ia_partial(vec2 v, float clip) {
53519
53529
  return IntervalResult(v, clip);
53520
53530
  }
53521
53531
 
53522
53532
  bool ia_is_error(float status) {
53523
- return status == IA_EMPTY || status == IA_ENTIRE || status == IA_SINGULAR;
53533
+ return status == IA_EMPTY || status == IA_ENTIRE || status == IA_SINGULAR || status == IA_SINGULAR_RIGHT || status == IA_SINGULAR_LEFT;
53524
53534
  }
53525
53535
 
53526
53536
  // Addition
@@ -53660,7 +53670,8 @@ IntervalResult ia_floor(vec2 x) {
53660
53670
  return ia_ok(vec2(flo, fhi));
53661
53671
  }
53662
53672
  // Interval spans an integer boundary - discontinuity at first integer > x.x
53663
- return ia_singular(flo + 1.0);
53673
+ // floor is right-continuous
53674
+ return ia_singular_right(flo + 1.0);
53664
53675
  }
53665
53676
 
53666
53677
  // Ceiling - has jump discontinuities at every integer
@@ -53671,7 +53682,8 @@ IntervalResult ia_ceil(vec2 x) {
53671
53682
  return ia_ok(vec2(clo, chi));
53672
53683
  }
53673
53684
  // Interval spans an integer boundary - discontinuity at ceil(x.x)
53674
- return ia_singular(clo);
53685
+ // ceil is left-continuous
53686
+ return ia_singular_left(clo);
53675
53687
  }
53676
53688
 
53677
53689
  // Round - has jump discontinuities at every half-integer
@@ -53685,7 +53697,8 @@ IntervalResult ia_round(vec2 x) {
53685
53697
  return ia_ok(vec2(rlo, rhi));
53686
53698
  }
53687
53699
  // Interval spans a half-integer boundary - discontinuity
53688
- return ia_singular(rlo + 0.5);
53700
+ // round is right-continuous (with round-half-up convention)
53701
+ return ia_singular_right(rlo + 0.5);
53689
53702
  }
53690
53703
 
53691
53704
  // Fract - sawtooth discontinuities at every integer
@@ -53698,7 +53711,8 @@ IntervalResult ia_fract(vec2 x) {
53698
53711
  return ia_ok(vec2(fract(x.x) - IA_EPS, fract(x.y) + IA_EPS));
53699
53712
  }
53700
53713
  // Interval spans an integer - sawtooth discontinuity
53701
- return ia_singular(flo + 1.0);
53714
+ // fract is right-continuous (inherits from floor)
53715
+ return ia_singular_right(flo + 1.0);
53702
53716
  }
53703
53717
 
53704
53718
  // Mod - periodic discontinuities at multiples of the modulus
@@ -53721,7 +53735,8 @@ IntervalResult ia_mod(vec2 x, vec2 y) {
53721
53735
  return ia_ok(vec2(min(mlo, mhi) - IA_EPS, max(mlo, mhi) + IA_EPS));
53722
53736
  }
53723
53737
  // Discontinuity at first multiple of period in the interval
53724
- return ia_singular((flo + 1.0) * period);
53738
+ // mod has sawtooth discontinuities, right-continuous
53739
+ return ia_singular_right((flo + 1.0) * period);
53725
53740
  }
53726
53741
 
53727
53742
  // General case: compose from existing operations
@@ -56411,10 +56426,10 @@ IntervalResult ${functionName}(${params}) {
56411
56426
  // src/compute-engine.ts
56412
56427
  init_types6();
56413
56428
  init_base_compiler();
56414
- var version = "0.35.3";
56429
+ var version = "0.35.4";
56415
56430
  globalThis[Symbol.for("io.cortexjs.compute-engine")] = {
56416
56431
  ComputeEngine: ComputeEngine.prototype.constructor,
56417
- version: "0.35.3"
56432
+ version: "0.35.4"
56418
56433
  };
56419
56434
  return __toCommonJS(compute_engine_exports);
56420
56435
  })();
@@ -1,4 +1,4 @@
1
- /** Compute Engine 0.35.3 */
1
+ /** Compute Engine 0.35.4 */
2
2
 
3
3
  // src/math-json/utils.ts
4
4
  function isNumberObject(expr) {
@@ -115,7 +115,7 @@ function expressionToDictionaryValue(expr) {
115
115
  }
116
116
 
117
117
  // src/math-json.ts
118
- var version = "0.35.3";
118
+ var version = "0.35.4";
119
119
  export {
120
120
  dictionaryFromExpression,
121
121
  isFunctionObject,
@@ -1,2 +1,2 @@
1
- /** Compute Engine 0.35.3 */
2
- function d(n){return n!==null&&typeof n=="object"&&"num"in n}function s(n){return n!==null&&typeof n=="object"&&"sym"in n}function a(n){return n!==null&&typeof n=="object"&&"str"in n}function m(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function u(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):M(n)||b(n)?null:n}function l(n){return Array.isArray(n)?n[0]:n==null?"":u(n)?n.fn[0]:""}function y(n){return Array.isArray(n)?n.slice(1):n!==void 0&&u(n)?n.fn.slice(1):[]}function E(n,t){return Array.isArray(n)?n[t]??null:n===null||!u(n)?null:n.fn[t]??null}function h(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):u(n)?Math.max(0,n.fn.length-1):0}function g(n){return typeof n=="string"&&b(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:s(n)?n.sym:null}function f(n){let t=l(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,r]=y(n),e=c(i);return e?[e,r??"Nothing"]:null}return null}function j(n){if(n===null)return null;if(m(n))return n;let t=f(n);if(t)return{[t[0]]:t[1]};if(l(n)==="Dictionary"){let i={},r=y(n);for(let e=1;e<h(n);e++){let o=f(r[e]);o&&(i[o[0]]=A(o[1])??"Nothing")}return{dict:i}}return null}function O(n,t){let i=null;if(Array.isArray(n)&&(i=n),u(n)&&(i=n.fn),i===null)return[];let r=1,e=[];for(;r<i.length;)e.push(t(i[r])),r+=1;return e}function M(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function b(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function A(n){return n==null?null:a(n)?n.str:d(n)?parseFloat(n.num):s(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var S="0.35.3";export{j as dictionaryFromExpression,u as isFunctionObject,a as isStringObject,s as isSymbolObject,O as mapArgs,E as operand,l as operator,c as stringValue,g as symbol,S as version};
1
+ /** Compute Engine 0.35.4 */
2
+ function d(n){return n!==null&&typeof n=="object"&&"num"in n}function s(n){return n!==null&&typeof n=="object"&&"sym"in n}function a(n){return n!==null&&typeof n=="object"&&"str"in n}function m(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function u(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):M(n)||b(n)?null:n}function l(n){return Array.isArray(n)?n[0]:n==null?"":u(n)?n.fn[0]:""}function y(n){return Array.isArray(n)?n.slice(1):n!==void 0&&u(n)?n.fn.slice(1):[]}function E(n,t){return Array.isArray(n)?n[t]??null:n===null||!u(n)?null:n.fn[t]??null}function h(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):u(n)?Math.max(0,n.fn.length-1):0}function g(n){return typeof n=="string"&&b(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:s(n)?n.sym:null}function f(n){let t=l(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,r]=y(n),e=c(i);return e?[e,r??"Nothing"]:null}return null}function j(n){if(n===null)return null;if(m(n))return n;let t=f(n);if(t)return{[t[0]]:t[1]};if(l(n)==="Dictionary"){let i={},r=y(n);for(let e=1;e<h(n);e++){let o=f(r[e]);o&&(i[o[0]]=A(o[1])??"Nothing")}return{dict:i}}return null}function O(n,t){let i=null;if(Array.isArray(n)&&(i=n),u(n)&&(i=n.fn),i===null)return[];let r=1,e=[];for(;r<i.length;)e.push(t(i[r])),r+=1;return e}function M(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function b(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function A(n){return n==null?null:a(n)?n.str:d(n)?parseFloat(n.num):s(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var S="0.35.4";export{j as dictionaryFromExpression,u as isFunctionObject,a as isStringObject,s as isSymbolObject,O as mapArgs,E as operand,l as operator,c as stringValue,g as symbol,S as version};
@@ -1,4 +1,4 @@
1
- /** MathJSON 0.35.3 */
1
+ /** MathJSON 0.35.4 */
2
2
  (function(global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'],factory):(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.MathJson = {}));})(this, (function (exports) { 'use strict';
3
- var MathJson=(()=>{var f=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var A=(n,t)=>{for(var i in t)f(n,i,{get:t[i],enumerable:!0})},J=(n,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of O(t))!M.call(n,e)&&e!==i&&f(n,e,{get:()=>t[e],enumerable:!(r=j(t,e))||r.enumerable});return n};var S=n=>J(f({},"__esModule",{value:!0}),n);var T={};A(T,{dictionaryFromExpression:()=>E,isFunctionObject:()=>u,isStringObject:()=>a,isSymbolObject:()=>o,mapArgs:()=>h,operand:()=>d,operator:()=>s,stringValue:()=>c,symbol:()=>m,version:()=>V});function N(n){return n!==null&&typeof n=="object"&&"num"in n}function o(n){return n!==null&&typeof n=="object"&&"sym"in n}function a(n){return n!==null&&typeof n=="object"&&"str"in n}function p(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function u(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):k(n)||g(n)?null:n}function s(n){return Array.isArray(n)?n[0]:n==null?"":u(n)?n.fn[0]:""}function b(n){return Array.isArray(n)?n.slice(1):n!==void 0&&u(n)?n.fn.slice(1):[]}function d(n,t){return Array.isArray(n)?n[t]??null:n===null||!u(n)?null:n.fn[t]??null}function D(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):u(n)?Math.max(0,n.fn.length-1):0}function m(n){return typeof n=="string"&&g(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:o(n)?n.sym:null}function y(n){let t=s(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,r]=b(n),e=c(i);return e?[e,r??"Nothing"]:null}return null}function E(n){if(n===null)return null;if(p(n))return n;let t=y(n);if(t)return{[t[0]]:t[1]};if(s(n)==="Dictionary"){let i={},r=b(n);for(let e=1;e<D(n);e++){let l=y(r[e]);l&&(i[l[0]]=F(l[1])??"Nothing")}return{dict:i}}return null}function h(n,t){let i=null;if(Array.isArray(n)&&(i=n),u(n)&&(i=n.fn),i===null)return[];let r=1,e=[];for(;r<i.length;)e.push(t(i[r])),r+=1;return e}function k(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function g(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function F(n){return n==null?null:a(n)?n.str:N(n)?parseFloat(n.num):o(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var V="0.35.3";return S(T);})();
3
+ var MathJson=(()=>{var f=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var A=(n,t)=>{for(var i in t)f(n,i,{get:t[i],enumerable:!0})},J=(n,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of O(t))!M.call(n,e)&&e!==i&&f(n,e,{get:()=>t[e],enumerable:!(r=j(t,e))||r.enumerable});return n};var S=n=>J(f({},"__esModule",{value:!0}),n);var T={};A(T,{dictionaryFromExpression:()=>E,isFunctionObject:()=>u,isStringObject:()=>a,isSymbolObject:()=>o,mapArgs:()=>h,operand:()=>d,operator:()=>s,stringValue:()=>c,symbol:()=>m,version:()=>V});function N(n){return n!==null&&typeof n=="object"&&"num"in n}function o(n){return n!==null&&typeof n=="object"&&"sym"in n}function a(n){return n!==null&&typeof n=="object"&&"str"in n}function p(n){return n!==null&&typeof n=="object"&&"dict"in n&&typeof n.dict=="object"&&!Array.isArray(n.dict)&&n.dict!==null}function u(n){return n!==null&&typeof n=="object"&&"fn"in n&&Array.isArray(n.fn)&&n.fn.length>0&&typeof n.fn[0]=="string"}function c(n){return n==null?null:typeof n=="object"&&"str"in n?n.str:typeof n!="string"?null:n.length>=2&&n.at(0)==="'"&&n.at(-1)==="'"?n.substring(1,n.length-1):k(n)||g(n)?null:n}function s(n){return Array.isArray(n)?n[0]:n==null?"":u(n)?n.fn[0]:""}function b(n){return Array.isArray(n)?n.slice(1):n!==void 0&&u(n)?n.fn.slice(1):[]}function d(n,t){return Array.isArray(n)?n[t]??null:n===null||!u(n)?null:n.fn[t]??null}function D(n){return n==null?0:Array.isArray(n)?Math.max(0,n.length-1):u(n)?Math.max(0,n.fn.length-1):0}function m(n){return typeof n=="string"&&g(n)?n.length>=2&&n.at(0)==="`"&&n.at(-1)==="`"?n.slice(1,-1):n:n==null?null:o(n)?n.sym:null}function y(n){let t=s(n);if(t==="KeyValuePair"||t==="Tuple"||t==="Pair"){let[i,r]=b(n),e=c(i);return e?[e,r??"Nothing"]:null}return null}function E(n){if(n===null)return null;if(p(n))return n;let t=y(n);if(t)return{[t[0]]:t[1]};if(s(n)==="Dictionary"){let i={},r=b(n);for(let e=1;e<D(n);e++){let l=y(r[e]);l&&(i[l[0]]=F(l[1])??"Nothing")}return{dict:i}}return null}function h(n,t){let i=null;if(Array.isArray(n)&&(i=n),u(n)&&(i=n.fn),i===null)return[];let r=1,e=[];for(;r<i.length;)e.push(t(i[r])),r+=1;return e}function k(n){return/^(nan|oo|\+oo|-oo|infinity|\+infinity|-infinity)$/i.test(n)||/^[+-]?(0|[1-9][0-9]*)(\.[0-9]+)?(\([0-9]+\))?([eE][+-]?[0-9]+)?$/.test(n)}function g(n){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(n)||n.length>=2&&n[0]==="`"&&n[n.length-1]==="`"}function F(n){return n==null?null:a(n)?n.str:N(n)?parseFloat(n.num):o(n)?n.sym:typeof n=="string"||typeof n=="number"?n:Array.isArray(n)?{fn:n}:n}var V="0.35.4";return S(T);})();
4
4
  Object.assign(exports, MathJson); Object.defineProperty(exports, '__esModule', { value: true });}));
@@ -1,4 +1,4 @@
1
- /** MathJSON 0.35.3 */
1
+ /** MathJSON 0.35.4 */
2
2
  (function(global,factory){typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : typeof define === 'function' && define.amd ? define(['exports'],factory):(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.MathJson = {}));})(this, (function (exports) { 'use strict';
3
3
  var MathJson = (() => {
4
4
  var __defProp = Object.defineProperty;
@@ -149,7 +149,7 @@ var MathJson = (() => {
149
149
  }
150
150
 
151
151
  // src/math-json.ts
152
- var version = "0.35.3";
152
+ var version = "0.35.4";
153
153
  return __toCommonJS(math_json_exports);
154
154
  })();
155
155
  Object.assign(exports, MathJson); Object.defineProperty(exports, '__esModule', { value: true });}));
@@ -1,4 +1,4 @@
1
- /* 0.35.3 */
1
+ /* 0.35.4 */
2
2
  export declare const DEFAULT_COLOR = "\u001B[39m";
3
3
  export declare const DEFAULT_BG = "\u001B[49m";
4
4
  export declare const WHITE_BG = "\u001B[47m";
@@ -1,4 +1,4 @@
1
- /* 0.35.3 */
1
+ /* 0.35.4 */
2
2
  private _listeners;
3
3
  private _pending;
4
4
  private _version;
@@ -1,2 +1,2 @@
1
- /* 0.35.3 */
1
+ /* 0.35.4 */
2
2
  export declare function fuzzyStringMatch(invalidWord: string, validWords: string[]): string | null;