Hyperbolic tangent

Time bar (total: 7.3s)

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
100%100%0%0%0%0%0%2
Compiler

Compiled 15 to 9 computations (40% saved)

sample4.8s (66.1%)

Memory
53.9MiB live, 5 762.2MiB allocated
Samples
2.1s3 146×2valid
1.1s4 642×1valid
651.0ms7 763×0exit
30.0ms468×0valid
Precisions
Click to see histograms. Total time spent on operations: 3.4s
ival-exp: 2.0s (60.7% of total)
adjust: 412.0ms (12.2% of total)
ival-add: 276.0ms (8.2% of total)
ival-sub: 274.0ms (8.1% of total)
ival-div: 240.0ms (7.1% of total)
ival-neg: 104.0ms (3.1% of total)
ival-true: 12.0ms (0.4% of total)
ival-assert: 6.0ms (0.2% of total)
Bogosity

preprocess152.0ms (2.1%)

Memory
-23.4MiB live, 125.2MiB allocated
Algorithm
egg-herbie
Rules
689×fma-define
254×fmm-def
158×div-sub
128×times-frac
115×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018220
151220
2108220
3238220
4576220
51291220
62486220
72564220
82599220
92630220
102668220
112684220
122692220
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))))
(neg.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x))))))
Outputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(neg.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x))))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Symmetry

(negabs x)

explain280.0ms (3.8%)

Memory
34.6MiB live, 347.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2520-0-(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
30-0-(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
00-0-(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
00-0-(exp.f64 x)
01(708.4110764929958)0-(exp.f64 (neg.f64 x))
00-0-(neg.f64 x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))cancellation2520
/.f64(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))o/o30
(exp.f64 x)overflow3
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))overflow3
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))overflow3
(exp.f64 x)overflow3
exp.f64(exp.f64 (neg.f64 x))sensitivity10
Confusion
Predicted +Predicted -
+2550
-10
Precision
0.99609375
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+25500
-100
Precision?
0.99609375
Recall?
1.0
Freqs
test
numberfreq
1256
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
135.0ms338×1valid
58.0ms148×2valid
2.0ms26×0valid
Compiler

Compiled 98 to 32 computations (67.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 94.0ms
ival-exp: 62.0ms (65.8% of total)
ival-div: 9.0ms (9.5% of total)
adjust: 7.0ms (7.4% of total)
ival-add: 5.0ms (5.3% of total)
ival-neg: 5.0ms (5.3% of total)
ival-sub: 5.0ms (5.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

eval4.0ms (0.1%)

Memory
-37.3MiB live, 0.4MiB allocated
Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.7%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 14 to 7 computations (50% saved)

simplify77.0ms (1.1%)

Memory
7.1MiB live, 44.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(exp.f64 (neg.f64 x))
cost-diff0
(exp.f64 x)
cost-diff0
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
cost-diff0
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Rules
318×fma-define
299×fmm-def
100×div-sub
98×times-frac
62×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012137
124137
244137
371137
4132137
5304137
6573137
7877137
81325137
91596137
101746137
111831137
121845137
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 x)
x
(exp.f64 (neg.f64 x))
(neg.f64 x)
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 x)
x
(exp.f64 (neg.f64 x))
(neg.f64 x)
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))

localize157.0ms (2.2%)

Memory
1.7MiB live, 84.1MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(exp.f64 x)
accuracy100.0%
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
accuracy98.9%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
accuracy9.9%
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Samples
112.0ms74×2valid
28.0ms169×1valid
1.0ms13×0valid
Compiler

Compiled 35 to 9 computations (74.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 130.0ms
ival-exp: 116.0ms (89% of total)
ival-div: 3.0ms (2.3% of total)
adjust: 3.0ms (2.3% of total)
ival-add: 3.0ms (2.3% of total)
ival-sub: 3.0ms (2.3% of total)
ival-neg: 2.0ms (1.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series5.0ms (0.1%)

Memory
13.1MiB live, 13.1MiB allocated
Counts
5 → 36
Calls
Call 1
Inputs
#<alt (/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))>
#<alt (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))>
#<alt (exp.f64 x)>
#<alt (exp.f64 (neg.f64 x))>
#<alt (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))>
Outputs
#<alt x>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 2/15 binary64) (*.f64 #s(literal -17/315 binary64) (pow.f64 x #s(literal 2 binary64))))) #s(literal 1/3 binary64)))))>
#<alt (/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))>
#<alt (/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))>
#<alt (/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))>
#<alt (/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))>
#<alt (*.f64 #s(literal 2 binary64) x)>
#<alt (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))>
#<alt (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/3 binary64) (*.f64 #s(literal 1/60 binary64) (pow.f64 x #s(literal 2 binary64)))))))>
#<alt (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/3 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 #s(literal 1/2520 binary64) (pow.f64 x #s(literal 2 binary64)))))))))>
#<alt (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))>
#<alt (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))>
#<alt (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))>
#<alt (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))>
#<alt #s(literal 1 binary64)>
#<alt (+.f64 #s(literal 1 binary64) x)>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x))))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))))))>
#<alt #s(literal 1 binary64)>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64))))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) x))) #s(literal 1 binary64))))>
#<alt (exp.f64 (*.f64 #s(literal -1 binary64) x))>
#<alt (exp.f64 (*.f64 #s(literal -1 binary64) x))>
#<alt (exp.f64 (*.f64 #s(literal -1 binary64) x))>
#<alt (exp.f64 (*.f64 #s(literal -1 binary64) x))>
#<alt #s(literal 2 binary64)>
#<alt (+.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 2 binary64)))>
#<alt (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/360 binary64) (pow.f64 x #s(literal 2 binary64))))))))>
#<alt (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))>
#<alt (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))>
#<alt (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))>
#<alt (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))>
Calls

15 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
1.0ms
x
@inf
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
1.0ms
x
@0
(/ (- (exp x) (exp (neg x))) (+ (exp x) (exp (neg x))))
0.0ms
x
@0
(- (exp x) (exp (neg x)))
0.0ms
x
@0
(+ (exp x) (exp (neg x)))

rewrite226.0ms (3.1%)

Memory
-28.6MiB live, 221.5MiB allocated
Algorithm
batch-egg-rewrite
Rules
80×add-exp-log
80×add-log-exp
80×add-cube-cbrt
78×log1p-expm1-u
78×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01240
117440
2340440
Stop Event
unsound
Counts
5 → 45
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 x)
(exp.f64 (neg.f64 x))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)

simplify134.0ms (1.8%)

Memory
22.8MiB live, 61.8MiB allocated
Algorithm
egg-herbie
Rules
573×distribute-lft-in
537×distribute-rgt-in
508×fmm-def
396×fma-define
345×sub-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0951127
12621030
27131006
321171006
430931006
546061006
652881006
766931006
Stop Event
node limit
Counts
81 → 70
Calls
Call 1
Inputs
x
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 2/15 binary64) (*.f64 #s(literal -17/315 binary64) (pow.f64 x #s(literal 2 binary64))))) #s(literal 1/3 binary64)))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/3 binary64) (*.f64 #s(literal 1/60 binary64) (pow.f64 x #s(literal 2 binary64)))))))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/3 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 #s(literal 1/2520 binary64) (pow.f64 x #s(literal 2 binary64)))))))))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) x)
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x))))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))))))
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))
(+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) x))) #s(literal 1 binary64))))
(exp.f64 (*.f64 #s(literal -1 binary64) x))
(exp.f64 (*.f64 #s(literal -1 binary64) x))
(exp.f64 (*.f64 #s(literal -1 binary64) x))
(exp.f64 (*.f64 #s(literal -1 binary64) x))
#s(literal 2 binary64)
(+.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 2 binary64)))
(+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 x #s(literal 2 binary64))))))
(+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/360 binary64) (pow.f64 x #s(literal 2 binary64))))))))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
Outputs
x
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 x (fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64)))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x)
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64)))))
(*.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 2/15 binary64) (*.f64 #s(literal -17/315 binary64) (pow.f64 x #s(literal 2 binary64))))) #s(literal 1/3 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 2/15 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal -17/315 binary64))) #s(literal -1/3 binary64)))))
(*.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal -17/315 binary64) #s(literal 2/15 binary64)) #s(literal -1/3 binary64)) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) (fma.f64 #s(literal -17/315 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal -1/3 binary64))) (pow.f64 x #s(literal 3 binary64)) x)
(fma.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal -17/315 binary64) #s(literal 2/15 binary64)) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/3 binary64))))
(*.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/3 binary64) #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/3 binary64) (*.f64 #s(literal 1/60 binary64) (pow.f64 x #s(literal 2 binary64)))))))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/3 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/60 binary64))))))
(*.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/60 binary64) #s(literal 1/3 binary64)) #s(literal 2 binary64)))
(*.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/3 binary64) (fma.f64 #s(literal 1/60 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/3 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 #s(literal 1/2520 binary64) (pow.f64 x #s(literal 2 binary64)))))))))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/3 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/2520 binary64))))))))
(*.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/2520 binary64) #s(literal 1/60 binary64)) #s(literal 1/3 binary64)) #s(literal 2 binary64)))
(*.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/3 binary64) (fma.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/2520 binary64) #s(literal 1/60 binary64)) (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64))))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) x)
(+.f64 x #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x))))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x #s(literal 1/2 binary64)))))
(fma.f64 x (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))))))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 x #s(literal 1/6 binary64)))))))
(fma.f64 x (fma.f64 x (fma.f64 x #s(literal 1/6 binary64) #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))
(+.f64 #s(literal 1 binary64) (neg.f64 x))
(-.f64 #s(literal 1 binary64) x)
(+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 x (fma.f64 #s(literal 1/2 binary64) x #s(literal -1 binary64))))
(fma.f64 x (fma.f64 x #s(literal 1/2 binary64) #s(literal -1 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) x))) #s(literal 1 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 x (fma.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 x #s(literal -1/6 binary64))) #s(literal -1 binary64))))
(fma.f64 x (fma.f64 x (fma.f64 x #s(literal -1/6 binary64) #s(literal 1/2 binary64)) #s(literal -1 binary64)) #s(literal 1 binary64))
(exp.f64 (*.f64 #s(literal -1 binary64) x))
(exp.f64 (neg.f64 x))
(exp.f64 (*.f64 #s(literal -1 binary64) x))
(exp.f64 (neg.f64 x))
(exp.f64 (*.f64 #s(literal -1 binary64) x))
(exp.f64 (neg.f64 x))
(exp.f64 (*.f64 #s(literal -1 binary64) x))
(exp.f64 (neg.f64 x))
#s(literal 2 binary64)
(+.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 2 binary64)))
(fma.f64 x x #s(literal 2 binary64))
(+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 x #s(literal 2 binary64))))))
(+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/12 binary64)))))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/12 binary64) #s(literal 1 binary64)) #s(literal 2 binary64))
(fma.f64 x x (fma.f64 #s(literal 1/12 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)))
(+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/360 binary64) (pow.f64 x #s(literal 2 binary64))))))))
(+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/360 binary64)))))))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/360 binary64) #s(literal 1/12 binary64)) #s(literal 1 binary64)) #s(literal 2 binary64))
(fma.f64 x x (fma.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 1/360 binary64) #s(literal 1/12 binary64)) (pow.f64 x #s(literal 4 binary64)) #s(literal 2 binary64)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)

eval40.0ms (0.5%)

Memory
-16.0MiB live, 23.7MiB allocated
Compiler

Compiled 1 426 to 302 computations (78.8% saved)

prune14.0ms (0.2%)

Memory
-6.0MiB live, 32.5MiB allocated
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New85590
Fresh000
Picked101
Done000
Total86591
Accuracy
99.1%
Counts
91 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.6%
(/.f64 (-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
98.6%
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
98.4%
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
97.7%
x
5.8%
#s(literal 3/2 binary64)
Compiler

Compiled 88 to 62 computations (29.5% saved)

simplify395.0ms (5.4%)

Memory
31.2MiB live, 68.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(literal 1 binary64) x)
cost-diff0
(exp.f64 x)
cost-diff128
(-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x))
cost-diff128
(/.f64 (-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
cost-diff-6272
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64))))
cost-diff-6144
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
cost-diff0
(pow.f64 x #s(literal 2 binary64))
cost-diff0
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
cost-diff-6272
(-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64))
cost-diff-6272
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
cost-diff0
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))
cost-diff0
(pow.f64 x #s(literal 2 binary64))
Rules
1 460×fma-define
866×unsub-neg
340×fmm-def
309×distribute-lft-in
250×distribute-lft-neg-out
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
028407
168379
2135367
3342367
4952367
52678367
64514367
74950367
85195367
95298367
105360367
116717367
126845367
136857367
146863367
156867367
166867367
176877367
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
x
(+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64))))
#s(literal 1 binary64)
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(pow.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
(-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))
#s(literal 2/15 binary64)
#s(literal 1/3 binary64)
#s(literal 3/2 binary64)
x
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
x
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64))))
#s(literal 1 binary64)
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
#s(literal -1/3 binary64)
(pow.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 (-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x))
(exp.f64 x)
x
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 (neg.f64 x))
(neg.f64 x)
Outputs
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64)))))
(*.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) (pow.f64 x #s(literal 3 binary64)) x)
(fma.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 5 binary64)) (fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x))
x
(+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64))))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64)) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64)))
(pow.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
(-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64))
(fma.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64))
#s(literal 2/15 binary64)
#s(literal 1/3 binary64)
#s(literal 3/2 binary64)
x
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64))))
(*.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64) #s(literal 1 binary64)))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x)
x
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64))))
(+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64)))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64))
#s(literal -1/3 binary64)
(pow.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 (-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (+.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (+.f64 x (expm1.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x))
(+.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
(+.f64 x (expm1.f64 x))
(exp.f64 x)
x
(-.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 (neg.f64 x))
(neg.f64 x)

localize156.0ms (2.1%)

Memory
-1.7MiB live, 308.0MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(exp.f64 x)
accuracy100.0%
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
accuracy98.9%
(/.f64 (-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
accuracy9.8%
(-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x))
accuracy100.0%
(pow.f64 x #s(literal 2 binary64))
accuracy100.0%
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64))))
accuracy100.0%
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
accuracy99.6%
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
accuracy100.0%
(-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64))
accuracy100.0%
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
accuracy99.7%
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))
accuracy99.6%
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
Samples
66.0ms170×1valid
48.0ms74×2valid
2.0ms12×0valid
Compiler

Compiled 128 to 25 computations (80.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 88.0ms
ival-mult: 22.0ms (24.9% of total)
...in/eval/compile.rkt:111:19: 15.0ms (17% of total)
ival-exp: 14.0ms (15.9% of total)
adjust: 9.0ms (10.2% of total)
ival-sub: 8.0ms (9.1% of total)
ival-add: 8.0ms (9.1% of total)
ival-pow2: 6.0ms (6.8% of total)
ival-div: 5.0ms (5.7% of total)
ival-neg: 1.0ms (1.1% of total)
...in/eval/compile.rkt:110:19: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series15.0ms (0.2%)

Memory
-7.2MiB live, 30.9MiB allocated
Counts
11 → 82
Calls
Call 1
Inputs
#<alt (pow.f64 x #s(literal 2 binary64))>
#<alt (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))>
#<alt (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64))>
#<alt (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64))))>
#<alt (/.f64 (-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))>
#<alt (-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x))>
#<alt (-.f64 #s(literal 1 binary64) x)>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))>
Outputs
#<alt (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))>
#<alt (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 4 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 4 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt #s(literal -1/3 binary64)>
#<alt (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt x>
#<alt (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))>
#<alt (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt #s(literal 1 binary64)>
#<alt (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))>
#<alt (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))>
#<alt x>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/4 binary64) x)))>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/4 binary64) (*.f64 #s(literal -5/12 binary64) x)))))>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/4 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -5/48 binary64) x) #s(literal 5/12 binary64)))))))>
#<alt (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))>
#<alt (*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))) (/.f64 #s(literal 1 binary64) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))>
#<alt (*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))) (/.f64 #s(literal 1 binary64) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))>
#<alt (*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))) (/.f64 #s(literal 1 binary64) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))>
#<alt (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))) x)) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))) x)) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))) x)) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))>
#<alt (*.f64 #s(literal 2 binary64) x)>
#<alt (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x)))>
#<alt (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x)))))>
#<alt (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) x)))))))>
#<alt x>
#<alt (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)) (/.f64 #s(literal 1 binary64) x)))>
#<alt (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)) (/.f64 #s(literal 1 binary64) x)))>
#<alt (*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)) (/.f64 #s(literal 1 binary64) x)))>
#<alt x>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)) #s(literal 1 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)) #s(literal 1 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)) #s(literal 1 binary64))))>
#<alt #s(literal 1 binary64)>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 x (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))>
#<alt (*.f64 x (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))>
#<alt (*.f64 x (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))>
#<alt x>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))>
#<alt (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 5 binary64)))>
#<alt (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 5 binary64)))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))) #s(literal 2/15 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))))))>
Calls

33 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
(- (exp x) (- 1 x))
2.0ms
x
@-inf
(* x (+ 1 (* (pow x 2) (- (* 2/15 (pow x 2)) 1/3))))
1.0ms
x
@inf
(/ (- (exp x) (- 1 x)) (+ (exp x) (exp (neg x))))
1.0ms
x
@-inf
(/ (- (exp x) (- 1 x)) (+ (exp x) (exp (neg x))))
1.0ms
x
@inf
(* 2/15 (pow x 2))

rewrite57.0ms (0.8%)

Memory
-5.7MiB live, 43.6MiB allocated
Algorithm
batch-egg-rewrite
Rules
203×log1p-expm1-u
203×expm1-log1p-u
199×add-exp-log
199×add-cube-cbrt
198×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027203
1441203
Stop Event
node limit
Counts
11 → 57
Calls
Call 1
Inputs
(pow.f64 x #s(literal 2 binary64))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64))
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64))))
(/.f64 (-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x))
(-.f64 #s(literal 1 binary64) x)
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
Outputs
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal 8/3375 binary64)
#s(literal 4/225 binary64)
#s(literal 2/15 binary64)
#s(literal -1/5 binary64)
#s(literal -1/5 binary64)
#s(literal -1/3 binary64)
#s(literal -1/27 binary64)
#s(literal 1/729 binary64)
#s(literal 1/81 binary64)
#s(literal 1/9 binary64)
#s(literal -1/3 binary64)
#s(literal -1/27 binary64)
#s(literal 1/729 binary64)
#s(literal 1/81 binary64)
#s(literal 1/9 binary64)
#s(literal -1/3 binary64)
#s(literal -1/27 binary64)
#s(literal 1/729 binary64)
#s(literal 1/81 binary64)
#s(literal 1/9 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -1/5 binary64)

simplify105.0ms (1.4%)

Memory
6.7MiB live, 83.1MiB allocated
Algorithm
egg-herbie
Rules
904×fmm-def
614×distribute-lft-in
580×distribute-rgt-in
283×fma-define
278×associate-*r*
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01372957
13552823
29002459
326752327
462932315
Stop Event
node limit
Counts
139 → 91
Calls
Call 1
Inputs
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
#s(literal -1/3 binary64)
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
x
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
#s(literal 1 binary64)
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
x
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/4 binary64) x)))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/4 binary64) (*.f64 #s(literal -5/12 binary64) x)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/4 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -5/48 binary64) x) #s(literal 5/12 binary64)))))))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))) (/.f64 #s(literal 1 binary64) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))) (/.f64 #s(literal 1 binary64) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))) (/.f64 #s(literal 1 binary64) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))) x)) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))) x)) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))) x)) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x)))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x)))))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) x)))))))
x
(*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)) (/.f64 #s(literal 1 binary64) x)))
(*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)) (/.f64 #s(literal 1 binary64) x)))
(*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)) (/.f64 #s(literal 1 binary64) x)))
x
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)) #s(literal 1 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)) #s(literal 1 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)) #s(literal 1 binary64))))
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))
(*.f64 #s(literal -1 binary64) x)
(*.f64 x (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
(*.f64 x (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
(*.f64 x (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))
x
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 5 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))) #s(literal 2/15 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))))))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))))))
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal 8/3375 binary64)
#s(literal 4/225 binary64)
#s(literal 2/15 binary64)
#s(literal -1/5 binary64)
#s(literal -1/5 binary64)
#s(literal -1/3 binary64)
#s(literal -1/27 binary64)
#s(literal 1/729 binary64)
#s(literal 1/81 binary64)
#s(literal 1/9 binary64)
#s(literal -1/3 binary64)
#s(literal -1/27 binary64)
#s(literal 1/729 binary64)
#s(literal 1/81 binary64)
#s(literal 1/9 binary64)
#s(literal -1/3 binary64)
#s(literal -1/27 binary64)
#s(literal 1/729 binary64)
#s(literal 1/81 binary64)
#s(literal 1/9 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -1/5 binary64)
Outputs
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 4 binary64)))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
#s(literal -1/3 binary64)
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64) #s(literal -1/3 binary64))
x
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x)
(*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x)
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x)
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x)
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x)
#s(literal 1 binary64)
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64))
x
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/4 binary64) x)))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x #s(literal 1/4 binary64))))
(*.f64 x (fma.f64 x #s(literal 1/4 binary64) #s(literal 1 binary64)))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/4 binary64) (*.f64 #s(literal -5/12 binary64) x)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal -5/12 binary64))))))
(*.f64 x (fma.f64 x (fma.f64 x #s(literal -5/12 binary64) #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/4 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -5/48 binary64) x) #s(literal 5/12 binary64)))))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/4 binary64) (*.f64 x (fma.f64 #s(literal -5/48 binary64) x #s(literal -5/12 binary64)))))))
(*.f64 x (fma.f64 x (fma.f64 x (fma.f64 x #s(literal -5/48 binary64) #s(literal -5/12 binary64)) #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))) (/.f64 #s(literal 1 binary64) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (-.f64 (+.f64 (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 (/.f64 #s(literal 1 binary64) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) x)))
(fma.f64 x (+.f64 (/.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) x) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))) (/.f64 #s(literal 1 binary64) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (-.f64 (+.f64 (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 (/.f64 #s(literal 1 binary64) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) x)))
(fma.f64 x (+.f64 (/.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) x) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 x (-.f64 (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))) (/.f64 #s(literal 1 binary64) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (-.f64 (+.f64 (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 (/.f64 #s(literal 1 binary64) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) x)))
(fma.f64 x (+.f64 (/.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) x) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))) x)) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 x (-.f64 (+.f64 (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 (/.f64 #s(literal 1 binary64) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) x)))
(fma.f64 x (+.f64 (/.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) x) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))) x)) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 x (-.f64 (+.f64 (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 (/.f64 #s(literal 1 binary64) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) x)))
(fma.f64 x (+.f64 (/.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) x) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))) x)) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 x (-.f64 (+.f64 (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 (/.f64 #s(literal 1 binary64) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) x)))
(fma.f64 x (+.f64 (/.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) x) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 (/.f64 (exp.f64 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x)))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x #s(literal 1/2 binary64))))
(*.f64 x (fma.f64 x #s(literal 1/2 binary64) #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x)))))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 x #s(literal 1/6 binary64))))))
(*.f64 x (fma.f64 x (fma.f64 x #s(literal 1/6 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) x)))))))
(*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1/6 binary64) (*.f64 x #s(literal 1/24 binary64))))))))
(*.f64 x (fma.f64 x (fma.f64 x (fma.f64 x #s(literal 1/24 binary64) #s(literal 1/6 binary64)) #s(literal 1/2 binary64)) #s(literal 2 binary64)))
x
(*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)) (/.f64 #s(literal 1 binary64) x)))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (expm1.f64 x) x)))
(-.f64 x (neg.f64 (expm1.f64 x)))
(fma.f64 (expm1.f64 x) #s(literal 1 binary64) x)
(*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)) (/.f64 #s(literal 1 binary64) x)))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (expm1.f64 x) x)))
(-.f64 x (neg.f64 (expm1.f64 x)))
(fma.f64 (expm1.f64 x) #s(literal 1 binary64) x)
(*.f64 x (-.f64 (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)) (/.f64 #s(literal 1 binary64) x)))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (expm1.f64 x) x)))
(-.f64 x (neg.f64 (expm1.f64 x)))
(fma.f64 (expm1.f64 x) #s(literal 1 binary64) x)
x
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)) #s(literal 1 binary64))))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (expm1.f64 x) x)))
(-.f64 x (neg.f64 (expm1.f64 x)))
(fma.f64 (expm1.f64 x) #s(literal 1 binary64) x)
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)) #s(literal 1 binary64))))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (expm1.f64 x) x)))
(-.f64 x (neg.f64 (expm1.f64 x)))
(fma.f64 (expm1.f64 x) #s(literal 1 binary64) x)
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)) #s(literal 1 binary64))))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (expm1.f64 x) x)))
(-.f64 x (neg.f64 (expm1.f64 x)))
(fma.f64 (expm1.f64 x) #s(literal 1 binary64) x)
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))
(+.f64 #s(literal 1 binary64) (neg.f64 x))
(-.f64 #s(literal 1 binary64) x)
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))
(+.f64 #s(literal 1 binary64) (neg.f64 x))
(-.f64 #s(literal 1 binary64) x)
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))
(+.f64 #s(literal 1 binary64) (neg.f64 x))
(-.f64 #s(literal 1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 x (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
(+.f64 #s(literal 1 binary64) (neg.f64 x))
(-.f64 #s(literal 1 binary64) x)
(*.f64 x (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
(+.f64 #s(literal 1 binary64) (neg.f64 x))
(-.f64 #s(literal 1 binary64) x)
(*.f64 x (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal 1 binary64)))
(+.f64 #s(literal 1 binary64) (neg.f64 x))
(-.f64 #s(literal 1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))
(+.f64 #s(literal 1 binary64) (neg.f64 x))
(-.f64 #s(literal 1 binary64) x)
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))
(+.f64 #s(literal 1 binary64) (neg.f64 x))
(-.f64 #s(literal 1 binary64) x)
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) x))))
(+.f64 #s(literal 1 binary64) (neg.f64 x))
(-.f64 #s(literal 1 binary64) x)
x
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal -1/3 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 #s(literal -1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 3 binary64)) x)
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 #s(literal 2/15 binary64) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 #s(literal 2/15 binary64) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 #s(literal 2/15 binary64) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 #s(literal 2/15 binary64) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 #s(literal 2/15 binary64) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 5 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))) #s(literal 2/15 binary64))))
(*.f64 (-.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64)))) (pow.f64 x #s(literal 5 binary64)))
(*.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))) (pow.f64 x #s(literal 5 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 #s(literal 2/15 binary64) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 #s(literal 2/15 binary64) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 #s(literal -1 binary64) (*.f64 (pow.f64 x #s(literal 5 binary64)) (-.f64 (*.f64 #s(literal 1/3 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 2 binary64)))) (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 #s(literal 2/15 binary64) (-.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal 1/3 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 #s(literal 2/15 binary64) (+.f64 (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64))) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64))))))
(*.f64 (pow.f64 x #s(literal 5 binary64)) (+.f64 (+.f64 #s(literal 2/15 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal 4 binary64)))) (/.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal 8/3375 binary64)
#s(literal 4/225 binary64)
#s(literal 2/15 binary64)
#s(literal -1/5 binary64)
#s(literal -1/5 binary64)
#s(literal -1/3 binary64)
#s(literal -1/27 binary64)
#s(literal 1/729 binary64)
#s(literal 1/81 binary64)
#s(literal 1/9 binary64)
#s(literal -1/3 binary64)
#s(literal -1/27 binary64)
#s(literal 1/729 binary64)
#s(literal 1/81 binary64)
#s(literal 1/9 binary64)
#s(literal -1/3 binary64)
#s(literal -1/27 binary64)
#s(literal 1/729 binary64)
#s(literal 1/81 binary64)
#s(literal 1/9 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -1/5 binary64)

eval16.0ms (0.2%)

Memory
-4.1MiB live, 33.7MiB allocated
Compiler

Compiled 1 980 to 506 computations (74.4% saved)

prune25.0ms (0.3%)

Memory
8.6MiB live, 49.7MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New1371138
Fresh000
Picked145
Done000
Total1385143
Accuracy
99.1%
Counts
143 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.9%
(/.f64 (-.f64 (exp.f64 x) (neg.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
98.6%
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
98.4%
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
97.7%
x
5.8%
#s(literal 3/2 binary64)
Compiler

Compiled 43 to 29 computations (32.6% saved)

simplify57.0ms (0.8%)

Memory
-11.7MiB live, 26.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(neg.f64 x)
cost-diff0
(exp.f64 x)
cost-diff64
(-.f64 (exp.f64 x) (neg.f64 x))
cost-diff64
(/.f64 (-.f64 (exp.f64 x) (neg.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Rules
286×fma-define
220×fmm-def
120×times-frac
90×div-sub
58×distribute-lft-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
012129
124121
249121
398121
4186121
5394121
6764121
71246121
81498121
91644121
101671121
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (neg.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (neg.f64 x))
(exp.f64 x)
x
(neg.f64 x)
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 (neg.f64 x))
Outputs
(/.f64 (-.f64 (exp.f64 x) (neg.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (+.f64 x (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (neg.f64 x))
(+.f64 x (exp.f64 x))
(exp.f64 x)
x
(neg.f64 x)
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 (neg.f64 x))

localize25.0ms (0.3%)

Memory
1.6MiB live, 39.5MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(exp.f64 x)
accuracy100.0%
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
accuracy100.0%
(-.f64 (exp.f64 x) (neg.f64 x))
accuracy98.9%
(/.f64 (-.f64 (exp.f64 x) (neg.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Samples
16.0ms256×0valid
Compiler

Compiled 33 to 9 computations (72.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-exp: 4.0ms (38.6% of total)
ival-div: 3.0ms (29% of total)
ival-sub: 1.0ms (9.7% of total)
ival-add: 1.0ms (9.7% of total)
ival-neg: 1.0ms (9.7% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series3.0ms (0%)

Memory
5.2MiB live, 5.2MiB allocated
Counts
3 → 36
Calls
Call 1
Inputs
#<alt (/.f64 (-.f64 (exp.f64 x) (neg.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))>
#<alt (-.f64 (exp.f64 x) (neg.f64 x))>
#<alt (neg.f64 x)>
Outputs
#<alt #s(literal 1/2 binary64)>
#<alt (+.f64 #s(literal 1/2 binary64) x)>
#<alt (+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 41/240 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 5/12 binary64))))))>
#<alt (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))>
#<alt (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))>
#<alt (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))>
#<alt (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))>
#<alt (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))>
#<alt #s(literal 1 binary64)>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) x))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x))))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))))))>
#<alt x>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))>
#<alt x>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
#<alt (*.f64 #s(literal -1 binary64) x)>
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(/ (- (exp x) (neg x)) (+ (exp x) (exp (neg x))))
1.0ms
x
@inf
(/ (- (exp x) (neg x)) (+ (exp x) (exp (neg x))))
0.0ms
x
@0
(/ (- (exp x) (neg x)) (+ (exp x) (exp (neg x))))
0.0ms
x
@-inf
(- (exp x) (neg x))
0.0ms
x
@0
(- (exp x) (neg x))

rewrite38.0ms (0.5%)

Memory
4.1MiB live, 38.2MiB allocated
Algorithm
batch-egg-rewrite
Rules
82×add-exp-log
82×add-log-exp
82×log1p-expm1-u
82×expm1-log1p-u
81×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012120
1176120
23611120
Stop Event
unsound
Counts
3 → 33
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (neg.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(-.f64 (exp.f64 x) (neg.f64 x))
(neg.f64 x)
Outputs
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)

simplify93.0ms (1.3%)

Memory
20.6MiB live, 62.8MiB allocated
Algorithm
egg-herbie
Rules
953×unsub-neg
821×fmm-def
463×fma-define
305×distribute-lft-neg-out
274×neg-mul-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0731145
11911105
24181089
31108801
42980777
55609777
Stop Event
node limit
Counts
69 → 44
Calls
Call 1
Inputs
#s(literal 1/2 binary64)
(+.f64 #s(literal 1/2 binary64) x)
(+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 2 binary64))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 41/240 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 5/12 binary64))))))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) x))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x))))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))))))
x
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
x
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal -1 binary64) x)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
Outputs
#s(literal 1/2 binary64)
(+.f64 #s(literal 1/2 binary64) x)
(+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 2 binary64))))))
(fma.f64 x (fma.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 3 binary64)) x))
(fma.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 3 binary64)) (+.f64 #s(literal 1/2 binary64) x))
(+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 41/240 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 5/12 binary64))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 41/240 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal -5/12 binary64))))))
(fma.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 41/240 binary64) #s(literal -5/12 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (fma.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 41/240 binary64) #s(literal -5/12 binary64)) (pow.f64 x #s(literal 3 binary64)) x))
(+.f64 x (fma.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 41/240 binary64) #s(literal -5/12 binary64)) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/2 binary64)))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) x))
(+.f64 #s(literal 1 binary64) (*.f64 x #s(literal 2 binary64)))
(fma.f64 x #s(literal 2 binary64) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x))))
(fma.f64 x (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))))))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 x #s(literal 1/6 binary64)))))))
(fma.f64 x (fma.f64 x (fma.f64 x #s(literal 1/6 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))
x
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
x
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
(*.f64 #s(literal -1 binary64) x)
(neg.f64 x)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)

eval10.0ms (0.1%)

Memory
-18.8MiB live, 20.0MiB allocated
Compiler

Compiled 1 038 to 227 computations (78.1% saved)

prune10.0ms (0.1%)

Memory
23.1MiB live, 23.1MiB allocated
Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New76177
Fresh000
Picked101
Done044
Total77582
Accuracy
99.1%
Counts
82 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.9%
(/.f64 (+.f64 x (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
98.6%
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
98.4%
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
97.7%
x
5.8%
#s(literal 3/2 binary64)
Compiler

Compiled 42 to 29 computations (31% saved)

simplify86.0ms (1.2%)

Memory
-23.4MiB live, 15.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
cost-diff0
(exp.f64 x)
cost-diff0
(+.f64 x (exp.f64 x))
cost-diff0
(/.f64 (+.f64 x (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Rules
475×fma-define
408×fmm-def
136×div-sub
126×times-frac
74×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012121
120121
229121
333121
441121
548121
661121
792121
8141121
9222121
10458121
111102121
121204121
131305121
141429121
151584121
161967121
172073121
182146121
192153121
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 x (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 x (exp.f64 x))
x
(exp.f64 x)
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 (neg.f64 x))
(neg.f64 x)
Outputs
(/.f64 (+.f64 x (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 x (exp.f64 x))
x
(exp.f64 x)
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(exp.f64 (neg.f64 x))
(neg.f64 x)

localize24.0ms (0.3%)

Memory
2.7MiB live, 41.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(exp.f64 x)
accuracy100.0%
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
accuracy100.0%
(+.f64 x (exp.f64 x))
accuracy98.9%
(/.f64 (+.f64 x (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Samples
16.0ms256×0valid
Compiler

Compiled 31 to 9 computations (71% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-exp: 4.0ms (40.3% of total)
ival-add: 3.0ms (30.2% of total)
ival-div: 2.0ms (20.2% of total)
ival-neg: 1.0ms (10.1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series1.0ms (0%)

Memory
2.8MiB live, 2.8MiB allocated
Counts
2 → 24
Calls
Call 1
Inputs
#<alt (/.f64 (+.f64 x (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))>
#<alt (+.f64 x (exp.f64 x))>
Outputs
#<alt #s(literal 1/2 binary64)>
#<alt (+.f64 #s(literal 1/2 binary64) x)>
#<alt (+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 2 binary64))))))>
#<alt (+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 41/240 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 5/12 binary64))))))>
#<alt (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))>
#<alt (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))>
#<alt (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))>
#<alt (*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))>
#<alt (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))>
#<alt #s(literal 1 binary64)>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) x))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x))))>
#<alt (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))))))>
#<alt x>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))>
#<alt (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))>
#<alt x>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))>
#<alt (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))>
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
(/ (+ x (exp x)) (+ (exp x) (exp (neg x))))
0.0ms
x
@inf
(/ (+ x (exp x)) (+ (exp x) (exp (neg x))))
0.0ms
x
@0
(/ (+ x (exp x)) (+ (exp x) (exp (neg x))))
0.0ms
x
@-inf
(+ x (exp x))
0.0ms
x
@inf
(+ x (exp x))

rewrite39.0ms (0.5%)

Memory
-5.7MiB live, 35.6MiB allocated
Algorithm
batch-egg-rewrite
Rules
79×add-exp-log
79×add-log-exp
79×log1p-expm1-u
79×expm1-log1p-u
78×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01253
117253
2335953
Stop Event
unsound
Counts
2 → 7
Calls
Call 1
Inputs
(/.f64 (+.f64 x (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 x (exp.f64 x))
Outputs
#s(literal -2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 4 binary64)
#s(literal -1 binary64)
#s(literal 1 binary64)

simplify82.0ms (1.1%)

Memory
11.9MiB live, 51.0MiB allocated
Algorithm
egg-herbie
Rules
953×unsub-neg
822×fmm-def
463×fma-define
299×distribute-lft-neg-out
274×neg-mul-1
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0691023
1187983
2414967
31107679
42994655
55603655
Stop Event
node limit
Counts
31 → 38
Calls
Call 1
Inputs
#s(literal 1/2 binary64)
(+.f64 #s(literal 1/2 binary64) x)
(+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 2 binary64))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 41/240 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 5/12 binary64))))))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) x))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x))))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))))))
x
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
x
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
#s(literal -2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 4 binary64)
#s(literal -1 binary64)
#s(literal 1 binary64)
Outputs
#s(literal 1/2 binary64)
(+.f64 #s(literal 1/2 binary64) x)
(+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 2 binary64))))))
(fma.f64 x (fma.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 3 binary64)) x))
(+.f64 x (fma.f64 #s(literal -5/12 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/2 binary64)))
(+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 41/240 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 5/12 binary64))))))
(+.f64 #s(literal 1/2 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 41/240 binary64) (pow.f64 x #s(literal 2 binary64)) #s(literal -5/12 binary64))))))
(fma.f64 x (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 41/240 binary64) #s(literal -5/12 binary64)) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (fma.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 41/240 binary64) #s(literal -5/12 binary64)) (pow.f64 x #s(literal 3 binary64)) x))
(fma.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 41/240 binary64) #s(literal -5/12 binary64)) (pow.f64 x #s(literal 3 binary64)) (+.f64 #s(literal 1/2 binary64) x))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x))))
(/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))) (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (*.f64 #s(literal -1 binary64) x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(*.f64 x (+.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (/.f64 (exp.f64 x) x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 x (/.f64 (exp.f64 x) (*.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(*.f64 (/.f64 #s(literal -1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (-.f64 (neg.f64 x) (exp.f64 x)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 x (exp.f64 x)))
#s(literal 1 binary64)
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) x))
(+.f64 #s(literal 1 binary64) (*.f64 x #s(literal 2 binary64)))
(fma.f64 x #s(literal 2 binary64) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) x))))
(fma.f64 x (fma.f64 #s(literal 1/2 binary64) x #s(literal 2 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))))))
(+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 2 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 x #s(literal 1/6 binary64)))))))
(fma.f64 x (fma.f64 x (fma.f64 x #s(literal 1/6 binary64) #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))
x
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
x
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
(*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (exp.f64 x) x)) #s(literal 1 binary64))))
(*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (exp.f64 x) x)))
(fma.f64 x (/.f64 (exp.f64 x) x) x)
(+.f64 x (exp.f64 x))
#s(literal -2 binary64)
#s(literal 0 binary64)
#s(literal 1/2 binary64)
#s(literal 2 binary64)
#s(literal 4 binary64)
#s(literal -1 binary64)
#s(literal 1 binary64)

eval10.0ms (0.1%)

Memory
-20.0MiB live, 18.7MiB allocated
Compiler

Compiled 960 to 219 computations (77.2% saved)

prune10.0ms (0.1%)

Memory
24.5MiB live, 24.5MiB allocated
Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New69069
Fresh000
Picked011
Done044
Total69574
Accuracy
99.1%
Counts
74 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.9%
(/.f64 (+.f64 x (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
98.6%
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
98.4%
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
97.7%
x
5.8%
#s(literal 3/2 binary64)
Compiler

Compiled 118 to 58 computations (50.8% saved)

regimes6.0ms (0.1%)

Memory
12.1MiB live, 12.1MiB allocated
Counts
8 → 1
Calls
Call 1
Inputs
#s(literal 3/2 binary64)
x
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
(/.f64 (+.f64 x (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (neg.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (-.f64 #s(literal 1 binary64) x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Outputs
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
Calls

2 calls:

3.0ms
x
2.0ms
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Results
AccuracySegmentsBranch
98.6%1x
98.6%1(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 16 to 8 computations (50% saved)

regimes3.0ms (0%)

Memory
-34.7MiB live, 4.7MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(literal 3/2 binary64)
x
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
Outputs
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
98.4%1x
Compiler

Compiled 2 to 1 computations (50% saved)

regimes2.0ms (0%)

Memory
4.0MiB live, 4.0MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(literal 3/2 binary64)
x
Outputs
x
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
97.7%1x
Compiler

Compiled 2 to 1 computations (50% saved)

regimes2.0ms (0%)

Memory
3.7MiB live, 3.7MiB allocated
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(literal 3/2 binary64)
Outputs
#s(literal 3/2 binary64)
Calls

1 calls:

1.0ms
x
Results
AccuracySegmentsBranch
5.8%1x
Compiler

Compiled 2 to 1 computations (50% saved)

simplify3.0ms (0%)

Memory
4.3MiB live, 4.3MiB allocated
Algorithm
egg-herbie
Rules
*-commutative
+-commutative
1-exp
sub-neg
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02088
13588
23988
34188
44288
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
x
#s(literal 3/2 binary64)
Outputs
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 2/15 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1/3 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal 2/15 binary64)) #s(literal 1/3 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/3 binary64) (pow.f64 x #s(literal 2 binary64)))))
(*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) #s(literal -1/3 binary64))))
x
#s(literal 3/2 binary64)

soundness84.0ms (1.2%)

Memory
-9.5MiB live, 43.0MiB allocated
Rules
80×add-exp-log
80×add-log-exp
80×add-cube-cbrt
78×log1p-expm1-u
78×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01240
117440
2340440
Stop Event
done
unsound
Compiler

Compiled 27 to 16 computations (40.7% saved)

preprocess32.0ms (0.4%)

Memory
4.6MiB live, 82.7MiB allocated
Remove

(negabs x)

Compiler

Compiled 210 to 134 computations (36.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...