expm1 (example 3.7)

Time bar (total: 3.1s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

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

Compiled 9 to 6 computations (33.3% saved)

sample452.0ms (14.5%)

Memory
19.6MiB live, 474.1MiB allocated
Samples
268.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 132.0ms
ival-expm1: 50.0ms (37.8% of total)
ival-fabs: 49.0ms (37.1% of total)
ival-<=: 25.0ms (18.9% of total)
exact: 5.0ms (3.8% of total)
ival-assert: 3.0ms (2.3% of total)
Bogosity

explain64.0ms (2%)

Memory
-3.5MiB live, 72.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2560-1(-0.011693928724154371)(-.f64 (exp.f64 x) #s(literal 1 binary64))
00-0-#s(literal 1 binary64)
00-0-(exp.f64 x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (exp.f64 x) #s(literal 1 binary64))cancellation2551
Confusion
Predicted +Predicted -
+2551
-00
Precision
1.0
Recall
0.99609375
Confusion?
Predicted +Predicted MaybePredicted -
+25510
-000
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
01
1255
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
21.0ms512×0valid
Compiler

Compiled 24 to 16 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-exp: 6.0ms (56.9% of total)
ival-expm1: 3.0ms (28.5% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess17.0ms (0.5%)

Memory
-19.9MiB live, 18.7MiB allocated
Algorithm
egg-herbie
Rules
26×sub-neg
18×+-commutative
10×*-commutative
10×associate--r+
--rgt-identity
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
11711
23510
35410
47010
59010
610810
712310
813510
913710
044
064
1114
2124
0122
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(-.f64 (exp.f64 x) #s(literal 1 binary64))
Outputs
(-.f64 (exp.f64 x) #s(literal 1 binary64))
(expm1.f64 x)
Compiler

Compiled 4 to 4 computations (0% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.2%
(-.f64 (exp.f64 x) #s(literal 1 binary64))
Compiler

Compiled 4 to 4 computations (0% saved)

simplify3.0ms (0.1%)

Memory
3.4MiB live, 3.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(exp.f64 x)
cost-diff192
(-.f64 (exp.f64 x) #s(literal 1 binary64))
Rules
lower-+.f64
lower-+.f32
lower-expm1.f64
lift-exp.f64
lower-expm1.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048
068
1118
2128
0126
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(-.f64 (exp.f64 x) #s(literal 1 binary64))
(exp.f64 x)
x
#s(literal 1 binary64)
Outputs
(-.f64 (exp.f64 x) #s(literal 1 binary64))
(expm1.f64 x)
(exp.f64 x)
x
#s(literal 1 binary64)

localize13.0ms (0.4%)

Memory
17.1MiB live, 17.0MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0
(exp.f64 x)
accuracy59.37578155035569
(-.f64 (exp.f64 x) #s(literal 1 binary64))
Samples
8.0ms256×0valid
Compiler

Compiled 10 to 6 computations (40% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-exp: 2.0ms (52% of total)
ival-expm1: 2.0ms (52% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Counts
2 → 24
Calls
Call 1
Inputs
#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))) (taylor 0 x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 (exp.f64 x) #s(literal 1 binary64)) (patch (-.f64 (exp.f64 x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt (exp.f64 x) (patch (exp.f64 x) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
((- (exp x) 1) (exp x))
0.0ms
x
@-inf
((- (exp x) 1) (exp x))
0.0ms
x
@inf
((- (exp x) 1) (exp x))

simplify17.0ms (0.5%)

Memory
14.1MiB live, 14.1MiB allocated
Algorithm
egg-herbie
Rules
1 308×lower-fma.f64
1 308×lower-fma.f32
364×lower-*.f64
364×lower-*.f32
308×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025108
177108
2168108
3371108
4587108
5720108
6725108
072581
Stop Event
iter limit
saturated
Counts
24 → 23
Calls
Call 1
Inputs
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
1
(+ 1 x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(exp x)
(exp x)
(exp x)
(exp x)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(exp x)
(exp x)
(exp x)
(exp x)
Outputs
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 x)
(+.f64 #s(literal 1 binary64) x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x #s(literal 1 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)

rewrite123.0ms (3.9%)

Memory
-48.5MiB live, 48.8MiB allocated
Rules
594×lower-fma.f64
594×lower-fma.f32
574×lower-/.f64
574×lower-/.f32
536×lower-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046
066
1246
21306
011434
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
2 → 84
Calls
Call 1
Inputs
(-.f64 (exp.f64 x) #s(literal 1 binary64))
(exp.f64 x)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval13.0ms (0.4%)

Memory
15.5MiB live, 15.5MiB allocated
Compiler

Compiled 1 848 to 251 computations (86.4% saved)

prune6.0ms (0.2%)

Memory
10.1MiB live, 10.1MiB allocated
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1016107
Fresh000
Picked101
Done000
Total1026108
Accuracy
100.0%
Counts
108 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
6.9%
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
5.6%
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
100.0%
(expm1.f64 x)
99.9%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
99.8%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
99.7%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
Compiler

Compiled 84 to 70 computations (16.7% saved)

simplify9.0ms (0.3%)

Memory
5.1MiB live, 5.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
cost-diff0
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
cost-diff0
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
cost-diff0
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
cost-diff0
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
cost-diff0
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
cost-diff0
(+.f64 #s(literal 1 binary64) x)
cost-diff0
#s(approx (exp x) (+.f64 #s(literal 1 binary64) x))
cost-diff0
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
cost-diff0
#s(approx (exp x) #s(literal 1 binary64))
cost-diff0
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
cost-diff0
(expm1.f64 x)
Rules
212×lower-fma.f32
206×lower-fma.f64
138×lower-*.f32
134×lower-*.f64
68×lower-+.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01991
03091
14691
26991
311091
419091
522191
622291
022291
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(expm1.f64 x)
x
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (exp x) #s(literal 1 binary64))
#s(literal 1 binary64)
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
#s(approx (exp x) (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(literal 1/2 binary64)
x
#s(literal 1 binary64)
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
#s(literal 1/6 binary64)
x
#s(literal 1/2 binary64)
#s(literal 1 binary64)
Outputs
(expm1.f64 x)
x
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (exp x) #s(literal 1 binary64))
#s(literal 1 binary64)
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
#s(approx (exp x) (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
x
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(literal 1/2 binary64)
x
#s(literal 1 binary64)
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
#s(literal 1/6 binary64)
x
#s(literal 1/2 binary64)
#s(literal 1 binary64)

localize49.0ms (1.6%)

Memory
-16.2MiB live, 58.6MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
accuracy0
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
accuracy0.00390625
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
accuracy0.11226281262226123
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
accuracy0
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
accuracy0.0078125
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
accuracy0.18073308481577488
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
accuracy0
(+.f64 #s(literal 1 binary64) x)
accuracy0.19643543722593093
#s(approx (exp x) (+.f64 #s(literal 1 binary64) x))
accuracy59.37578155035569
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
accuracy0.6463779338457343
#s(approx (exp x) #s(literal 1 binary64))
accuracy59.37578155035569
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
accuracy0
(expm1.f64 x)
Samples
38.0ms256×0valid
Compiler

Compiled 77 to 17 computations (77.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-mult: 7.0ms (29.4% of total)
ival-exp: 6.0ms (25.2% of total)
ival-add: 5.0ms (21% of total)
const: 4.0ms (16.8% of total)
ival-expm1: 2.0ms (8.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series8.0ms (0.2%)

Memory
15.1MiB live, 15.1MiB allocated
Counts
13 → 156
Calls
Call 1
Inputs
#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())
#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())
#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())
#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())
#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))) (taylor 0 x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1 (* 1/2 x)))) (taylor 0 x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))) (taylor 0 x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (+ 1 x) (taylor 0 x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/2 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/2 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/2 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/2 x)) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1/2 (* 1/6 x)))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1/2 (* 1/6 x)))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt 1/2 (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* 1/6 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* 1/6 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* 1/6 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor inf x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/6 (pow x 3)) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/6 (pow x 2)) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/6 x) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/6 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/6 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/6 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (expm1.f64 x) (patch (expm1.f64 x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt #s(approx (exp x) #s(literal 1 binary64)) (patch #s(approx (exp x) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) (patch (-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (exp x) (taylor -inf x) (#s(alt #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) (patch #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ 1 x))) (taylor -inf x) (#s(alt (+.f64 #s(literal 1 binary64) x) (patch (+.f64 #s(literal 1 binary64) x) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/2 x) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) (patch (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/6 (pow x 3)) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/6 (pow x 2)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/6 x) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/6 (* 1/2 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/6 (* 1/2 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/6 (* 1/2 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (patch (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
((- (exp x) 1) (- (exp x) 1) (exp x) (- (exp x) 1) (exp x) (+ 1 x) (- (exp x) 1) (* (+ (* 1/2 x) 1) x) (+ (* 1/2 x) 1) (- (exp x) 1) (* (+ (* (+ (* 1/6 x) 1/2) x) 1) x) (+ (* (+ (* 1/6 x) 1/2) x) 1) (+ (* 1/6 x) 1/2))
1.0ms
x
@inf
((- (exp x) 1) (- (exp x) 1) (exp x) (- (exp x) 1) (exp x) (+ 1 x) (- (exp x) 1) (* (+ (* 1/2 x) 1) x) (+ (* 1/2 x) 1) (- (exp x) 1) (* (+ (* (+ (* 1/6 x) 1/2) x) 1) x) (+ (* (+ (* 1/6 x) 1/2) x) 1) (+ (* 1/6 x) 1/2))
1.0ms
x
@0
((- (exp x) 1) (- (exp x) 1) (exp x) (- (exp x) 1) (exp x) (+ 1 x) (- (exp x) 1) (* (+ (* 1/2 x) 1) x) (+ (* 1/2 x) 1) (- (exp x) 1) (* (+ (* (+ (* 1/6 x) 1/2) x) 1) x) (+ (* (+ (* 1/6 x) 1/2) x) 1) (+ (* 1/6 x) 1/2))

simplify177.0ms (5.7%)

Memory
-14.2MiB live, 134.2MiB allocated
Algorithm
egg-herbie
Rules
19 428×lower-fma.f64
19 428×lower-fma.f32
3 742×lower-*.f64
3 742×lower-*.f32
2 080×lower-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054812
1177808
2424808
31442808
44464808
57833808
08021631
Stop Event
iter limit
node limit
Counts
156 → 147
Calls
Call 1
Inputs
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
1
(+ 1 x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
1
(+ 1 x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
1
(+ 1 x)
(+ 1 x)
(+ 1 x)
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* 1/2 x)))
1
(+ 1 (* 1/2 x))
(+ 1 (* 1/2 x))
(+ 1 (* 1/2 x))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
1/2
(+ 1/2 (* 1/6 x))
(+ 1/2 (* 1/6 x))
(+ 1/2 (* 1/6 x))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(exp x)
(exp x)
(exp x)
(exp x)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(exp x)
(exp x)
(exp x)
(exp x)
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* 1/2 x)
(* x (+ 1/2 (/ 1 x)))
(* x (+ 1/2 (/ 1 x)))
(* x (+ 1/2 (/ 1 x)))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/6 (pow x 3))
(* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x))))
(* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* 1/6 (pow x 2))
(* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x))))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* 1/6 x)
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(exp x)
(exp x)
(exp x)
(exp x)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(exp x)
(exp x)
(exp x)
(exp x)
x
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(* x (+ 1 (/ 1 x)))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* 1/2 x)
(* x (+ 1/2 (/ 1 x)))
(* x (+ 1/2 (/ 1 x)))
(* x (+ 1/2 (/ 1 x)))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/6 (pow x 3))
(* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x))))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6)))
(* 1/6 (pow x 2))
(* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x))))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* 1/6 x)
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
Outputs
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 x)
(+.f64 #s(literal 1 binary64) x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x #s(literal 1 binary64))
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 x)
(+.f64 #s(literal 1 binary64) x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x #s(literal 1 binary64))
1
#s(literal 1 binary64)
(+ 1 x)
(+.f64 #s(literal 1 binary64) x)
(+ 1 x)
(+.f64 #s(literal 1 binary64) x)
(+ 1 x)
(+.f64 #s(literal 1 binary64) x)
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
1
#s(literal 1 binary64)
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/6 x))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(+ 1/2 (* 1/6 x))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(+ 1/2 (* 1/6 x))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
x
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/6 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x))))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x)
(* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
(* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(* 1/6 x)
(*.f64 #s(literal 1/6 binary64) x)
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
(exp x)
(exp.f64 x)
x
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(* x (+ 1 (/ 1 x)))
(+.f64 #s(literal 1 binary64) x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/6 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x))))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x)
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x x)
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(* 1/6 x)
(*.f64 #s(literal 1/6 binary64) x)
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))

rewrite180.0ms (5.8%)

Memory
-12.8MiB live, 194.9MiB allocated
Rules
6 944×lower-fma.f32
6 938×lower-fma.f64
5 340×lower-*.f32
5 336×lower-*.f64
4 618×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01980
03080
112380
289680
0841980
Stop Event
iter limit
node limit
iter limit
Counts
13 → 661
Calls
Call 1
Inputs
(expm1.f64 x)
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (exp x) #s(literal 1 binary64))
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
#s(approx (exp x) (+.f64 #s(literal 1 binary64) x))
(+.f64 #s(literal 1 binary64) x)
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval157.0ms (5%)

Memory
9.1MiB live, 162.2MiB allocated
Compiler

Compiled 16 828 to 2 475 computations (85.3% saved)

prune16.0ms (0.5%)

Memory
-0.9MiB live, 38.6MiB allocated
Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New8062808
Fresh011
Picked235
Done000
Total8086814
Accuracy
100.0%
Counts
814 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.6%
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
100.0%
(expm1.f64 x)
99.7%
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
99.9%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
99.8%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
99.1%
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
Compiler

Compiled 41 to 34 computations (17.1% saved)

simplify16.0ms (0.5%)

Memory
13.5MiB live, 13.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)
cost-diff0
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
cost-diff0
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
cost-diff0
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
cost-diff0
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
cost-diff0
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64))
cost-diff0
(*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)
cost-diff0
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
Rules
1 068×lower-fma.f32
1 060×lower-fma.f64
348×lower-*.f32
342×lower-*.f64
324×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022121
033121
154121
288121
3165121
4370121
5715121
6833121
0833109
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64))
#s(literal 1 binary64)
x
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
#s(literal 1/24 binary64)
x
#s(literal 1/6 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
(fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)
(*.f64 x x)
x
#s(literal 1/2 binary64)
Outputs
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64))
#s(literal 1 binary64)
x
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
#s(literal 1/24 binary64)
x
#s(literal 1/6 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
(fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)
(*.f64 x x)
x
#s(literal 1/2 binary64)

localize64.0ms (2%)

Memory
17.5MiB live, 55.2MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0
(fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)
accuracy0
(*.f64 x x)
accuracy0.18073308481577488
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
accuracy0
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
accuracy0.00390625
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
accuracy0.0078125
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
accuracy0.07812429052690825
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
accuracy0.00390625
(*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)
accuracy0.11226281262226123
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
accuracy0.615151555391215
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64))
Samples
52.0ms256×0valid
Compiler

Compiled 95 to 23 computations (75.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
ival-mult: 25.0ms (59.6% of total)
ival-add: 8.0ms (19.1% of total)
const: 6.0ms (14.3% of total)
ival-expm1: 2.0ms (4.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series12.0ms (0.4%)

Memory
-24.0MiB live, 11.7MiB allocated
Counts
11 → 132
Calls
Call 1
Inputs
#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())
#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())
#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())
#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())
#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())
#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())
Outputs
#s(alt x (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/2 x)) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1/2 (* 1/6 x)))) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1/2 (* 1/6 x)))) (taylor 0 x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/2 x)) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1/2 (* 1/6 x)))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt 1/2 (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* 1/6 x)) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* x (+ 1/6 (* 1/24 x)))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/2 (* x (+ 1/6 (* 1/24 x)))) (taylor 0 x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor 0 x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt 1/6 (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/6 (* 1/24 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/6 (* 1/24 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/6 (* 1/24 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/6 (pow x 3)) (taylor inf x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/6 (pow x 2)) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x)))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor inf x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 4)) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 3)) (taylor inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x))))) (taylor inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 x) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/6 (pow x 3)) (taylor -inf x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6))) (taylor -inf x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6))) (taylor -inf x) (#s(alt (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) (patch (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/6 (pow x 2)) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x)))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2))))) (taylor -inf x) (#s(alt #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) (patch #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) (patch (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 3)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (* 1/2 (/ 1 x))) x)) 1/24))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))) x)) 1/24))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) (patch (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x))))) (taylor -inf x) (#s(alt (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) (patch (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) (patch #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/2 (pow x 2)) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/2 (/ 1 x))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) (patch (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (pow x 2) (taylor -inf x) (#s(alt (*.f64 x x) (patch (*.f64 x x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 x) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((- (exp x) 1) (* (+ (* (+ (* 1/6 x) 1/2) x) 1) x) (+ (* (+ (* 1/6 x) 1/2) x) 1) (- (exp x) 1) (* (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (- (exp x) 1) (+ (* (* x x) 1/2) x) (* x x) (+ (* 1/24 x) 1/6))
1.0ms
x
@-inf
((- (exp x) 1) (* (+ (* (+ (* 1/6 x) 1/2) x) 1) x) (+ (* (+ (* 1/6 x) 1/2) x) 1) (- (exp x) 1) (* (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (- (exp x) 1) (+ (* (* x x) 1/2) x) (* x x) (+ (* 1/24 x) 1/6))
1.0ms
x
@0
((- (exp x) 1) (* (+ (* (+ (* 1/6 x) 1/2) x) 1) x) (+ (* (+ (* 1/6 x) 1/2) x) 1) (- (exp x) 1) (* (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (- (exp x) 1) (+ (* (* x x) 1/2) x) (* x x) (+ (* 1/24 x) 1/6))

simplify98.0ms (3.1%)

Memory
16.3MiB live, 100.1MiB allocated
Algorithm
egg-herbie
Rules
7 960×lower-fma.f64
7 960×lower-fma.f32
2 668×lower-*.f64
2 668×lower-*.f32
1 712×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
084884
1292884
2846868
32583868
46990852
08279697
Stop Event
iter limit
node limit
Counts
132 → 126
Calls
Call 1
Inputs
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))
1/2
(+ 1/2 (* 1/6 x))
(+ 1/2 (* x (+ 1/6 (* 1/24 x))))
(+ 1/2 (* x (+ 1/6 (* 1/24 x))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* 1/2 x)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
1/6
(+ 1/6 (* 1/24 x))
(+ 1/6 (* 1/24 x))
(+ 1/6 (* 1/24 x))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/6 (pow x 3))
(* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x))))
(* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* 1/6 (pow x 2))
(* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x))))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/24 (pow x 4))
(* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3))))))
(* 1/24 (pow x 3))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3))))))
(* 1/24 (pow x 2))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 1/24 x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/6 (pow x 3))
(* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x))))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6)))
(* 1/6 (pow x 2))
(* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x))))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/24 (pow x 4))
(* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x))))
(* 1/24 (pow x 3))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (* 1/2 (/ 1 x))) x)) 1/24)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))) x)) 1/24)))
(* 1/24 (pow x 2))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/2 (pow x 2))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(pow x 2)
(pow x 2)
(pow x 2)
(pow x 2)
(* 1/24 x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
Outputs
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 (* 1/2 x))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
1/2
#s(literal 1/2 binary64)
(+ 1/2 (* 1/6 x))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(+ 1/2 (* x (+ 1/6 (* 1/24 x))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
(+ 1/2 (* x (+ 1/6 (* 1/24 x))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
1/6
#s(literal 1/6 binary64)
(+ 1/6 (* 1/24 x))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(+ 1/6 (* 1/24 x))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(+ 1/6 (* 1/24 x))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/6 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (*.f64 x x))
(* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* (pow x 3) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/24 binary64))
(* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (+.f64 (/.f64 #s(literal 1/6 binary64) x) #s(literal 1/24 binary64)) (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(*.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/6 binary64)) x) #s(literal -1/24 binary64)) (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/24 binary64)))
(* 1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x))
(* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)
(* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 1/24 x)
(*.f64 #s(literal 1/24 binary64) x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/6 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow x 3) (+ 1/6 (* 1/2 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (*.f64 x x))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6)))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6)))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/24 binary64))
(* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (+.f64 (/.f64 #s(literal 1/6 binary64) x) #s(literal 1/24 binary64)) (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(*.f64 (-.f64 (/.f64 (+.f64 (/.f64 #s(literal 1/2 binary64) x) #s(literal 1/6 binary64)) x) #s(literal -1/24 binary64)) (pow.f64 x #s(literal 4 binary64)))
(* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/24 binary64)))
(* 1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (* 1/2 (/ 1 x))) x)) 1/24)))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))) x)) 1/24)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/2 binary64))
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(* (pow x 2) (+ 1/2 (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(pow x 2)
(*.f64 x x)
(* 1/24 x)
(*.f64 #s(literal 1/24 binary64) x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))

rewrite396.0ms (12.7%)

Memory
18.2MiB live, 207.3MiB allocated
Rules
6 044×lower-fma.f32
6 036×lower-fma.f64
4 612×lower-*.f32
4 606×lower-*.f64
4 066×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022112
033112
1138112
2989112
08219100
Stop Event
iter limit
node limit
iter limit
Counts
11 → 281
Calls
Call 1
Inputs
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x)
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
(fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x)
(*.f64 x x)
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval60.0ms (1.9%)

Memory
-12.7MiB live, 73.6MiB allocated
Compiler

Compiled 8 812 to 1 455 computations (83.5% saved)

prune9.0ms (0.3%)

Memory
-14.8MiB live, 24.3MiB allocated
Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New4061407
Fresh000
Picked033
Done033
Total4067413
Accuracy
100.0%
Counts
413 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.6%
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
100.0%
(expm1.f64 x)
99.7%
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
99.9%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
99.8%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
99.9%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
99.1%
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
Compiler

Compiled 56 to 45 computations (19.6% saved)

simplify15.0ms (0.5%)

Memory
16.9MiB live, 16.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))
cost-diff0
(*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)
cost-diff0
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
cost-diff320
(fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)))
Rules
1 068×lower-fma.f32
1 062×lower-fma.f64
336×lower-*.f32
332×lower-*.f64
274×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01369
02169
13869
27169
315069
443869
580369
689169
089161
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
(*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)
(fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)))
x
#s(literal 1/2 binary64)
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
#s(literal 1/24 binary64)
#s(literal 1/6 binary64)
#s(literal 1 binary64)
Outputs
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
x
#s(literal 1/2 binary64)
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
#s(literal 1/24 binary64)
#s(literal 1/6 binary64)
#s(literal 1 binary64)

localize41.0ms (1.3%)

Memory
2.4MiB live, 40.2MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)
accuracy0.0078125
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
accuracy0.07812429052690825
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
accuracy0.34375
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
Samples
32.0ms256×0valid
Compiler

Compiled 66 to 16 computations (75.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 25.0ms
ival-mult: 13.0ms (52.6% of total)
const: 6.0ms (24.3% of total)
ival-add: 3.0ms (12.1% of total)
ival-expm1: 2.0ms (8.1% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.2%)

Memory
4.7MiB live, 4.7MiB allocated
Counts
6 → 72
Calls
Call 1
Inputs
#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())
#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())
#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())
#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())
Outputs
#s(alt 1 (taylor 0 x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/2 x)) (taylor 0 x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1/2 (* 1/6 x)))) (taylor 0 x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))) (taylor 0 x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* 1/2 x))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt 1 (taylor 0 x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* 1/6 (pow x 2))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* (pow x 2) (+ 1/6 (* 1/24 x)))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1 (* (pow x 2) (+ 1/6 (* 1/24 x)))) (taylor 0 x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/6 x) (taylor 0 x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/6 (* 1/24 x))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/6 (* 1/24 x))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/6 (* 1/24 x))) (taylor 0 x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt 1/6 (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/6 (* 1/24 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/6 (* 1/24 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ 1/6 (* 1/24 x)) (taylor 0 x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 3)) (taylor inf x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x))))) (taylor inf x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 4)) (taylor inf x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3)))))) (taylor inf x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 3)) (taylor inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3))))) (taylor inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 x) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 3)) (taylor -inf x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (* 1/2 (/ 1 x))) x)) 1/24))) (taylor -inf x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))) x)) 1/24))) (taylor -inf x) (#s(alt (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) (patch (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (- (exp x) 1) (taylor -inf x) (#s(alt #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) (patch #s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 4)) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x))))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) (patch (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 3)) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (/ 1 (pow x 2))) x)) 1/24))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (/ 1 (pow x 2))) x)) 1/24))) (taylor -inf x) (#s(alt (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) (patch (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/24 (pow x 2)) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) (patch (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #<representation binary64>) () ())) ())
#s(alt (* 1/24 x) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/24 (* 1/6 (/ 1 x)))) (taylor -inf x) (#s(alt (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (patch (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #<representation binary64>) () ())) ())
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((+ (* x 1/2) (+ (* (* (+ (* 1/24 x) 1/6) x) x) 1)) (- (exp x) 1) (* (+ (* x 1/2) (+ (* (* (+ (* 1/24 x) 1/6) x) x) 1)) x) (+ (* (* (+ (* 1/24 x) 1/6) x) x) 1) (* (+ (* 1/24 x) 1/6) x) (+ (* 1/24 x) 1/6))
1.0ms
x
@inf
((+ (* x 1/2) (+ (* (* (+ (* 1/24 x) 1/6) x) x) 1)) (- (exp x) 1) (* (+ (* x 1/2) (+ (* (* (+ (* 1/24 x) 1/6) x) x) 1)) x) (+ (* (* (+ (* 1/24 x) 1/6) x) x) 1) (* (+ (* 1/24 x) 1/6) x) (+ (* 1/24 x) 1/6))
1.0ms
x
@0
((+ (* x 1/2) (+ (* (* (+ (* 1/24 x) 1/6) x) x) 1)) (- (exp x) 1) (* (+ (* x 1/2) (+ (* (* (+ (* 1/24 x) 1/6) x) x) 1)) x) (+ (* (* (+ (* 1/24 x) 1/6) x) x) 1) (* (+ (* 1/24 x) 1/6) x) (+ (* 1/24 x) 1/6))

simplify154.0ms (4.9%)

Memory
-0.4MiB live, 116.4MiB allocated
Algorithm
egg-herbie
Rules
10 152×lower-fma.f64
10 152×lower-fma.f32
3 522×lower-*.f64
3 522×lower-*.f32
1 438×lower-/.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
085540
1277539
2764538
32371530
45376520
08354440
Stop Event
iter limit
node limit
Counts
72 → 70
Calls
Call 1
Inputs
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
x
(* x (+ 1 (* 1/2 x)))
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
1
(+ 1 (* 1/6 (pow x 2)))
(+ 1 (* (pow x 2) (+ 1/6 (* 1/24 x))))
(+ 1 (* (pow x 2) (+ 1/6 (* 1/24 x))))
(* 1/6 x)
(* x (+ 1/6 (* 1/24 x)))
(* x (+ 1/6 (* 1/24 x)))
(* x (+ 1/6 (* 1/24 x)))
1/6
(+ 1/6 (* 1/24 x))
(+ 1/6 (* 1/24 x))
(+ 1/6 (* 1/24 x))
(* 1/24 (pow x 3))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3))))))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/24 (pow x 4))
(* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3))))))
(* 1/24 (pow x 3))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 3) (+ 1/24 (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3)))))
(* (pow x 3) (+ 1/24 (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3)))))
(* 1/24 (pow x 2))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(* 1/24 x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* 1/24 (pow x 3))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (* 1/2 (/ 1 x))) x)) 1/24)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))) x)) 1/24)))
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(- (exp x) 1)
(* 1/24 (pow x 4))
(* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x))))
(* 1/24 (pow x 3))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (/ 1 (pow x 2))) x)) 1/24)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (/ 1 (pow x 2))) x)) 1/24)))
(* 1/24 (pow x 2))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(* 1/24 x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
Outputs
1
#s(literal 1 binary64)
(+ 1 (* 1/2 x))
(fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
x
(* x (+ 1 (* 1/2 x)))
(*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(* x (+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 (* 1/6 (pow x 2)))
(fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal 1 binary64))
(+ 1 (* (pow x 2) (+ 1/6 (* 1/24 x))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x) #s(literal 1 binary64))
(+ 1 (* (pow x 2) (+ 1/6 (* 1/24 x))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x) #s(literal 1 binary64))
(* 1/6 x)
(*.f64 #s(literal 1/6 binary64) x)
(* x (+ 1/6 (* 1/24 x)))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(* x (+ 1/6 (* 1/24 x)))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(* x (+ 1/6 (* 1/24 x)))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
1/6
#s(literal 1/6 binary64)
(+ 1/6 (* 1/24 x))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(+ 1/6 (* 1/24 x))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(+ 1/6 (* 1/24 x))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(* 1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x))
(* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)
(* (pow x 3) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/24 binary64))
(* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 (/.f64 #s(literal 1/6 binary64) x) #s(literal 1/24 binary64)))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/24 binary64)))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/24 binary64)))
(* 1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x))
(* (pow x 3) (+ 1/24 (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3)))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x) #s(literal 1 binary64))
(* (pow x 3) (+ 1/24 (+ (* 1/6 (/ 1 x)) (/ 1 (pow x 3)))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x) #s(literal 1 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(* 1/24 x)
(*.f64 #s(literal 1/24 binary64) x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(* 1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (* 1/2 (/ 1 x))) x)) 1/24)))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))) x)) 1/24)))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(- (exp x) 1)
(expm1.f64 x)
(* 1/24 (pow x 4))
(*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/24 binary64))
(* (pow x 4) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 (/.f64 #s(literal 1/6 binary64) x) #s(literal 1/24 binary64)))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) x (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/24 binary64)))
(* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x))))
(*.f64 (-.f64 (/.f64 (-.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal -1/2 binary64)) x) #s(literal -1/6 binary64)) x) #s(literal -1/24 binary64)) (pow.f64 x #s(literal 4 binary64)))
(* 1/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (/ 1 (pow x 2))) x)) 1/24)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x) #s(literal 1 binary64))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (/ 1 (pow x 2))) x)) 1/24)))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x) #s(literal 1 binary64))
(* 1/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(* 1/24 x)
(*.f64 #s(literal 1/24 binary64) x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))

rewrite163.0ms (5.2%)

Memory
6.0MiB live, 163.3MiB allocated
Rules
9 070×lower-fma.f32
9 064×lower-fma.f64
5 732×lower-*.f32
5 728×lower-*.f64
4 146×lower-/.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01364
02164
18764
267464
0827656
Stop Event
iter limit
node limit
iter limit
Counts
6 → 391
Calls
Call 1
Inputs
(fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64)))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
(*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x)
(fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval78.0ms (2.5%)

Memory
-15.7MiB live, 140.6MiB allocated
Compiler

Compiled 13 172 to 2 021 computations (84.7% saved)

prune11.0ms (0.3%)

Memory
-6.4MiB live, 32.9MiB allocated
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New4610461
Fresh000
Picked011
Done066
Total4617468
Accuracy
100.0%
Counts
468 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
5.6%
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
100.0%
(expm1.f64 x)
99.7%
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
99.9%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
99.8%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
99.9%
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
99.1%
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
Compiler

Compiled 129 to 81 computations (37.2% saved)

regimes9.0ms (0.3%)

Memory
13.4MiB live, 13.4MiB allocated
Counts
10 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
(expm1.f64 x)
(-.f64 (exp.f64 x) #s(literal 1 binary64))
Outputs
(expm1.f64 x)
Calls

3 calls:

3.0ms
x
3.0ms
(exp.f64 x)
3.0ms
(-.f64 (exp.f64 x) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(-.f64 (exp.f64 x) #s(literal 1 binary64))
100.0%1(exp.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

regimes8.0ms (0.3%)

Memory
8.5MiB live, 8.5MiB allocated
Counts
8 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
Outputs
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
Calls

3 calls:

3.0ms
x
2.0ms
(-.f64 (exp.f64 x) #s(literal 1 binary64))
2.0ms
(exp.f64 x)
Results
AccuracySegmentsBranch
99.9%1x
99.9%1(-.f64 (exp.f64 x) #s(literal 1 binary64))
99.9%1(exp.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

regimes7.0ms (0.2%)

Memory
8.1MiB live, 8.1MiB allocated
Counts
7 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
Outputs
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
Calls

3 calls:

3.0ms
x
2.0ms
(-.f64 (exp.f64 x) #s(literal 1 binary64))
2.0ms
(exp.f64 x)
Results
AccuracySegmentsBranch
99.9%1x
99.9%1(-.f64 (exp.f64 x) #s(literal 1 binary64))
99.9%1(exp.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

regimes7.0ms (0.2%)

Memory
7.6MiB live, 7.6MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
Outputs
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
Calls

3 calls:

2.0ms
x
2.0ms
(-.f64 (exp.f64 x) #s(literal 1 binary64))
2.0ms
(exp.f64 x)
Results
AccuracySegmentsBranch
99.8%1x
99.8%1(-.f64 (exp.f64 x) #s(literal 1 binary64))
99.8%1(exp.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

regimes10.0ms (0.3%)

Memory
-31.4MiB live, 7.2MiB allocated
Counts
5 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
Outputs
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
Calls

3 calls:

5.0ms
(exp.f64 x)
2.0ms
x
2.0ms
(-.f64 (exp.f64 x) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
99.7%1x
99.7%1(-.f64 (exp.f64 x) #s(literal 1 binary64))
99.7%1(exp.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

regimes5.0ms (0.2%)

Memory
6.5MiB live, 6.5MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
Outputs
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
Calls

3 calls:

2.0ms
x
2.0ms
(-.f64 (exp.f64 x) #s(literal 1 binary64))
1.0ms
(exp.f64 x)
Results
AccuracySegmentsBranch
99.7%1x
99.7%1(-.f64 (exp.f64 x) #s(literal 1 binary64))
99.7%1(exp.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

regimes5.0ms (0.2%)

Memory
6.0MiB live, 6.0MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(-.f64 #s(approx (exp x) (+.f64 #s(literal 1 binary64) x)) #s(literal 1 binary64))
Outputs
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
Calls

3 calls:

2.0ms
x
1.0ms
(exp.f64 x)
1.0ms
(-.f64 (exp.f64 x) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
99.1%1x
99.1%1(-.f64 (exp.f64 x) #s(literal 1 binary64))
99.1%1(exp.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

regimes3.0ms (0.1%)

Memory
4.8MiB live, 4.8MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
Outputs
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
Calls

3 calls:

1.0ms
x
1.0ms
(-.f64 (exp.f64 x) #s(literal 1 binary64))
1.0ms
(exp.f64 x)
Results
AccuracySegmentsBranch
5.6%1x
5.6%1(-.f64 (exp.f64 x) #s(literal 1 binary64))
5.6%1(exp.f64 x)
Compiler

Compiled 7 to 7 computations (0% saved)

simplify29.0ms (0.9%)

Memory
-9.5MiB live, 35.4MiB allocated
Algorithm
egg-herbie
Rules
14×*-commutative-binary64-*.f64
+-commutative-binary64-+.f64
neg-mul-1-binary64-*.f64-neg.f64
unsub-neg-binary64--.f64-neg.f64-+.f64
sub-neg-binary64-neg.f64-+.f64--.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03798
14898
25298
35598
45898
56198
Stop Event
saturated
Calls
Call 1
Inputs
(expm1.f64 x)
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))
Outputs
(expm1.f64 x)
#s(approx (- (exp x) 1) (*.f64 (fma.f64 x #s(literal 1/2 binary64) (fma.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x #s(literal 1 binary64))) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) #s(literal 1/2 binary64) x))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (*.f64 #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) #s(literal 1 binary64)) x))
(-.f64 #s(approx (exp x) #s(literal 1 binary64)) #s(literal 1 binary64))

soundness528.0ms (16.9%)

Memory
6.8MiB live, 275.6MiB allocated
Rules
19 428×lower-fma.f64
19 428×lower-fma.f32
6 944×lower-fma.f32
6 938×lower-fma.f64
6 044×lower-fma.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01980
03080
112380
289680
0841980
054812
1177808
2424808
31442808
44464808
57833808
08021631
025108
177108
2168108
3371108
4587108
5720108
6725108
072581
022112
033112
1138112
2989112
08219100
046
066
1246
21306
011434
Stop Event
done
iter limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
saturated
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 150 to 101 computations (32.7% saved)

preprocess85.0ms (2.7%)

Memory
12.4MiB live, 92.9MiB allocated
Compiler

Compiled 138 to 74 computations (46.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...