Kahan's exp quotient

Time bar (total: 4.5s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
50%50%50%0%0%0%0%2
75%75%25%0%0%0%0%3
87.5%87.5%12.5%0%0%0%0%4
93.8%93.7%6.2%0%0%0%0%5
96.9%96.8%3.1%0%0%0%0%6
98.4%98.4%1.6%0%0%0%0%7
99.2%99.2%0.8%0%0%0%0%8
99.6%99.6%0.4%0%0%0%0%9
99.8%99.8%0.2%0%0%0%0%10
99.9%99.9%0.1%0%0%0%0%11
100%99.9%0%0%0%0%0%12
Compiler

Compiled 8 to 5 computations (37.5% saved)

sample751.0ms (16.5%)

Memory
20.1MiB live, 896.1MiB allocated; 220ms collecting garbage
Samples
512.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 280.0ms
ival-expm1: 142.0ms (50.7% of total)
ival-div: 127.0ms (45.4% of total)
ival-true: 6.0ms (2.1% of total)
adjust: 3.0ms (1.1% of total)
ival-assert: 3.0ms (1.1% of total)
Bogosity

explain80.0ms (1.8%)

Memory
-18.2MiB live, 89.3MiB allocated; 24ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1320-0-(-.f64 (exp.f64 x) #s(literal 1 binary64))
00-0-(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
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))cancellation1321
Confusion
Predicted +Predicted -
+1321
-0123
Precision
1.0
Recall
0.9924812030075187
Confusion?
Predicted +Predicted MaybePredicted -
+13210
-00123
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0124
1132
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
33.0ms512×0valid
Compiler

Compiled 38 to 19 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-div: 4.0ms (33% of total)
ival-exp: 4.0ms (33% of total)
ival-expm1: 3.0ms (24.7% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess267.0ms (5.9%)

Memory
41.2MiB live, 271.3MiB allocated; 25ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
12615
26815
320515
492915
056
086
1166
2326
3766
42996
530466
084974
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
Outputs
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
(/.f64 (expm1.f64 x) x)
Compiler

Compiled 6 to 5 computations (16.7% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.1%
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify250.0ms (5.5%)

Memory
-6.6MiB live, 228.1MiB allocated; 32ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(exp.f64 x)
cost-diff0
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
cost-diff2
(-.f64 (exp.f64 x) #s(literal 1 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0514
0814
11614
23214
37614
429914
5304614
0849710
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
(-.f64 (exp.f64 x) #s(literal 1 binary64))
(exp.f64 x)
x
#s(literal 1 binary64)
Outputs
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
(/.f64 (expm1.f64 x) x)
(-.f64 (exp.f64 x) #s(literal 1 binary64))
(expm1.f64 x)
(exp.f64 x)
x
#s(literal 1 binary64)

localize168.0ms (3.7%)

Memory
-72.4MiB live, 74.6MiB allocated; 61ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(exp.f64 x)
accuracy0.0078125
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
accuracy30.53246863938661
(-.f64 (exp.f64 x) #s(literal 1 binary64))
Samples
163.0ms256×0valid
Compiler

Compiled 16 to 7 computations (56.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 157.0ms
ival-div: 153.0ms (97.3% of total)
ival-exp: 2.0ms (1.3% of total)
ival-expm1: 2.0ms (1.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series2.0ms (0%)

Memory
3.8MiB live, 3.8MiB allocated; 0ms collecting garbage
Counts
3 → 14
Calls
Call 1
Inputs
(-.f64 (exp.f64 x) #s(literal 1 binary64))
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
(exp.f64 x)
Outputs
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 x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
(- (exp x) 1)
(/ (- (exp x) 1) x)
(exp x)
Calls

3 calls:

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

simplify186.0ms (4.1%)

Memory
21.3MiB live, 166.8MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02699
110499
233799
3114299
4464799
0820178
Stop Event
iter limit
node limit
Counts
14 → 13
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 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))
(+ 1 x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
(- (exp x) 1)
(/ (- (exp x) 1) 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 (* 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 x)
(-.f64 x #s(literal -1 binary64))
(+ 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) x)
(/.f64 (expm1.f64 x) x)
(exp x)
(exp.f64 x)

rewrite102.0ms (2.2%)

Memory
-15.6MiB live, 69.0MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0512
0812
13312
02338
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 32
Calls
Call 1
Inputs
(-.f64 (exp.f64 x) #s(literal 1 binary64))
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
(exp.f64 x)
Outputs
(/.f64 (neg.f64 (expm1.f64 (+.f64 x x))) (neg.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))))
(/.f64 (expm1.f64 (+.f64 x x)) (-.f64 (exp.f64 x) #s(literal -1 binary64)))
(/.f64 (expm1.f64 (*.f64 x #s(literal 3 binary64))) (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64))))
(fma.f64 #s(literal 1 binary64) (exp.f64 x) #s(literal -1 binary64))
(fma.f64 (exp.f64 x) #s(literal 1 binary64) #s(literal -1 binary64))
(expm1.f64 (+.f64 x #s(literal 0 binary64)))
(expm1.f64 x)
(-.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) (-.f64 (exp.f64 x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (exp.f64 x) #s(literal -1 binary64))))
(-.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))))
(-.f64 (exp.f64 x) #s(literal 1 binary64))
(+.f64 (cosh.f64 x) (-.f64 (sinh.f64 x) #s(literal 1 binary64)))
(+.f64 (exp.f64 x) #s(literal -1 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (exp.f64 x) x) (/.f64 (exp.f64 x) x)) (*.f64 (pow.f64 x #s(literal -1 binary64)) (pow.f64 x #s(literal -1 binary64)))) (+.f64 (/.f64 (exp.f64 x) x) (pow.f64 x #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (exp.f64 x) x) #s(literal 3 binary64)) (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (exp.f64 x) x) (/.f64 (exp.f64 x) x) (fma.f64 (pow.f64 x #s(literal -1 binary64)) (pow.f64 x #s(literal -1 binary64)) (*.f64 (/.f64 (exp.f64 x) x) (pow.f64 x #s(literal -1 binary64))))))
(/.f64 (neg.f64 (neg.f64 (expm1.f64 x))) (neg.f64 (neg.f64 x)))
(/.f64 (-.f64 (*.f64 (exp.f64 x) x) (*.f64 x #s(literal 1 binary64))) (*.f64 x x))
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
(/.f64 (expm1.f64 (*.f64 x #s(literal 3 binary64))) (*.f64 (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64))) x))
(/.f64 (neg.f64 (expm1.f64 x)) (neg.f64 x))
(/.f64 (expm1.f64 x) x)
(neg.f64 (/.f64 (neg.f64 (expm1.f64 x)) x))
(neg.f64 (/.f64 (expm1.f64 x) (neg.f64 x)))
(-.f64 (/.f64 (exp.f64 x) x) (pow.f64 x #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (exp.f64 x))
(*.f64 (exp.f64 x) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 x) (cosh.f64 x)) (*.f64 (sinh.f64 x) (sinh.f64 x))) (-.f64 (cosh.f64 x) (sinh.f64 x)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 x) #s(literal 3 binary64)) (pow.f64 (sinh.f64 x) #s(literal 3 binary64))) (fma.f64 (cosh.f64 x) (cosh.f64 x) (-.f64 (*.f64 (sinh.f64 x) (sinh.f64 x)) (*.f64 (cosh.f64 x) (sinh.f64 x)))))
(exp.f64 (+.f64 x #s(literal 0 binary64)))
(exp.f64 x)
(+.f64 (sinh.f64 x) (cosh.f64 x))
(+.f64 (cosh.f64 x) (sinh.f64 x))

eval5.0ms (0.1%)

Memory
9.9MiB live, 9.8MiB allocated; 0ms collecting garbage
Compiler

Compiled 556 to 162 computations (70.9% saved)

prune5.0ms (0.1%)

Memory
9.2MiB live, 9.2MiB allocated; 0ms collecting garbage
Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New38745
Fresh000
Picked101
Done000
Total39746
Accuracy
100.0%
Counts
46 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.2%
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
100.0%
(/.f64 (expm1.f64 x) x)
71.9%
(/.f64 #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)) x)
70.8%
#s(approx (/ (- (exp x) 1) 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)))
67.8%
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
53.3%
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
52.9%
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
Compiler

Compiled 168 to 130 computations (22.6% saved)

simplify247.0ms (5.4%)

Memory
15.4MiB live, 253.9MiB allocated; 33ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
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
#s(approx (/ (- (exp x) 1) 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)))
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
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
cost-diff0
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
cost-diff0
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
cost-diff0
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
cost-diff0
(expm1.f64 x)
cost-diff0
(/.f64 (expm1.f64 x) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02098
03398
15398
212098
333398
4103098
5465698
0818298
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (expm1.f64 x) x)
(expm1.f64 x)
x
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
(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) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
(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)
#s(approx (/ (- (exp x) 1) 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 (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)
Outputs
(/.f64 (expm1.f64 x) x)
(expm1.f64 x)
x
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
(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) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
(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)
#s(approx (/ (- (exp x) 1) 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 (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)

localize88.0ms (1.9%)

Memory
-21.7MiB live, 172.6MiB allocated; 19ms collecting garbage
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.04296875
(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))
accuracy0.07421875
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
accuracy0.13671875
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
accuracy18.671463813762085
#s(approx (/ (- (exp x) 1) 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)))
accuracy0.07421875
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
accuracy0.12890625
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
accuracy20.59558432296504
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
accuracy0.0
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
accuracy29.91751139033716
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
accuracy30.119094179556892
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
accuracy0.0
(expm1.f64 x)
accuracy0.0078125
(/.f64 (expm1.f64 x) x)
Samples
77.0ms256×0valid
Compiler

Compiled 96 to 21 computations (78.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 64.0ms
const: 36.0ms (56.5% of total)
ival-mult: 17.0ms (26.7% of total)
ival-add: 7.0ms (11% of total)
ival-div: 2.0ms (3.1% of total)
ival-expm1: 2.0ms (3.1% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series5.0ms (0.1%)

Memory
11.1MiB live, 11.1MiB allocated; 0ms collecting garbage
Counts
12 → 33
Calls
Call 1
Inputs
(/.f64 (expm1.f64 x) x)
(expm1.f64 x)
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
(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(approx (/ (- (exp x) 1) 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 (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))
Outputs
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)))))))
1/2
(+ 1/2 (* 1/6 x))
(+ 1/2 (* x (+ 1/6 (* 1/24 x))))
1/6
(+ 1/6 (* 1/24 x))
(/ (- (exp x) 1) x)
(- (exp x) 1)
(* 1/2 x)
(* x (+ 1/2 (/ 1 x)))
(* 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)))))
(* 1/6 x)
(* x (+ 1/6 (* 1/2 (/ 1 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))))))
(* 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)))))
(* 1/24 x)
(* x (+ 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)))
Calls

3 calls:

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

simplify167.0ms (3.7%)

Memory
4.8MiB live, 202.7MiB allocated; 18ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067241
1253235
2849230
33614229
08231194
Stop Event
iter limit
node limit
Counts
33 → 32
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)))))))
1/2
(+ 1/2 (* 1/6 x))
(+ 1/2 (* x (+ 1/6 (* 1/24 x))))
1/6
(+ 1/6 (* 1/24 x))
(/ (- (exp x) 1) x)
(- (exp x) 1)
(* 1/2 x)
(* x (+ 1/2 (/ 1 x)))
(* 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)))))
(* 1/6 x)
(* x (+ 1/6 (* 1/2 (/ 1 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))))))
(* 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)))))
(* 1/24 x)
(* x (+ 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)))
Outputs
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))
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/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/6
#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) x)
(/.f64 (expm1.f64 x) x)
(- (exp x) 1)
(expm1.f64 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))
(* 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))
(* 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))
(* 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 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) 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))
(* 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))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (* 1/2 (/ 1 x))) x)) 1/24)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 (/.f64 #s(literal -1/2 binary64) x) #s(literal 1/6 binary64)) x) #s(literal 1/24 binary64)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))) x)) 1/24)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 #s(literal -1/6 binary64) (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) x) #s(literal -1/2 binary64)) x)) x) #s(literal 1/24 binary64)))

rewrite70.0ms (1.5%)

Memory
-38.9MiB live, 102.7MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02084
03384
113884
0109384
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
12 → 126
Calls
Call 1
Inputs
(/.f64 (expm1.f64 x) x)
(expm1.f64 x)
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
(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(approx (/ (- (exp x) 1) 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 (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))
Outputs
(/.f64 (-.f64 (*.f64 (/.f64 (exp.f64 x) x) (/.f64 (exp.f64 x) x)) (*.f64 (pow.f64 x #s(literal -1 binary64)) (pow.f64 x #s(literal -1 binary64)))) (+.f64 (/.f64 (exp.f64 x) x) (pow.f64 x #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (exp.f64 x) x) #s(literal 3 binary64)) (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (exp.f64 x) x) (/.f64 (exp.f64 x) x) (fma.f64 (pow.f64 x #s(literal -1 binary64)) (pow.f64 x #s(literal -1 binary64)) (*.f64 (/.f64 (exp.f64 x) x) (pow.f64 x #s(literal -1 binary64))))))
(/.f64 (neg.f64 (neg.f64 (expm1.f64 x))) (neg.f64 (neg.f64 x)))
(/.f64 (-.f64 (*.f64 (exp.f64 x) x) (*.f64 x #s(literal 1 binary64))) (*.f64 x x))
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
(/.f64 (expm1.f64 (*.f64 x #s(literal 3 binary64))) (*.f64 (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64))) x))
(/.f64 (neg.f64 (expm1.f64 x)) (neg.f64 x))
(/.f64 (expm1.f64 x) x)
(neg.f64 (/.f64 (neg.f64 (expm1.f64 x)) x))
(neg.f64 (/.f64 (expm1.f64 x) (neg.f64 x)))
(-.f64 (/.f64 (exp.f64 x) x) (pow.f64 x #s(literal -1 binary64)))
(/.f64 (neg.f64 (expm1.f64 (+.f64 x x))) (neg.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))))
(/.f64 (expm1.f64 (+.f64 x x)) (-.f64 (exp.f64 x) #s(literal -1 binary64)))
(/.f64 (expm1.f64 (*.f64 x #s(literal 3 binary64))) (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64))))
(fma.f64 #s(literal 1 binary64) (exp.f64 x) #s(literal -1 binary64))
(fma.f64 (exp.f64 x) #s(literal 1 binary64) #s(literal -1 binary64))
(expm1.f64 (+.f64 x #s(literal 0 binary64)))
(expm1.f64 x)
(-.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) (-.f64 (exp.f64 x) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 (exp.f64 x) #s(literal -1 binary64))))
(-.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))))
(-.f64 (exp.f64 x) #s(literal 1 binary64))
(+.f64 (cosh.f64 x) (-.f64 (sinh.f64 x) #s(literal 1 binary64)))
(+.f64 (exp.f64 x) #s(literal -1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))
(/.f64 (neg.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64))) (neg.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))))
(/.f64 (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1 binary64)) (fma.f64 #s(literal 1/2 binary64) x #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64)) (*.f64 #s(literal 1/2 binary64) x))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64) #s(literal 1 binary64)) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64))
(fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) x #s(literal -1 binary64))))
(-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) #s(literal 1/2 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 3 binary64)) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(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 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 1 binary64))
(fma.f64 x (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 x (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x)))
(/.f64 (neg.f64 (fma.f64 (*.f64 x x) #s(literal 1/36 binary64) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 (*.f64 x x) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal 1/12 binary64))))))
(/.f64 (fma.f64 (*.f64 x x) #s(literal 1/36 binary64) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 2 binary64)) (*.f64 x #s(literal 1/12 binary64)))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64) #s(literal 1/8 binary64)) (fma.f64 (*.f64 x x) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal 1/12 binary64)))))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(fma.f64 x #s(literal 1/6 binary64) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) x))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 x) #s(literal 1/6 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 3 binary64)) (fma.f64 (*.f64 x x) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal 1/12 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 (*.f64 x x) #s(literal 1/36 binary64) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal 1/12 binary64))))))
(+.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))
#s(approx (/ (- (exp x) 1) 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)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.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 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64))) (neg.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))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.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 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.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 2 binary64)) #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)))
(/.f64 (-.f64 (pow.f64 (*.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 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.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 2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.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 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
(fma.f64 (*.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) #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)) (*.f64 x #s(literal 1 binary64)) #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))
(fma.f64 #s(literal 1 binary64) (*.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 x (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 x (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.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 2 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))) (/.f64 #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))))
(-.f64 (*.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))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.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 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x))))
(+.f64 (*.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))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
(fma.f64 x (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)) (-.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))) x))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 x) (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x))
(/.f64 (-.f64 #s(literal 1/36 binary64) (pow.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 2 binary64))) (-.f64 #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64))) (neg.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64))))))
(/.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64)))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64)) (+.f64 #s(literal 1/36 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 2 binary64)) (*.f64 x #s(literal 1/144 binary64)))))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64)) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64)))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(fma.f64 x #s(literal 1/24 binary64) #s(literal 1/6 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))))
(-.f64 #s(literal 1/6 binary64) (*.f64 #s(literal -1/24 binary64) x))
(-.f64 #s(literal 1/6 binary64) (*.f64 (neg.f64 x) #s(literal 1/24 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 3 binary64)) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64))))) (/.f64 #s(literal 1/216 binary64) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64))))))
(+.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))
(+.f64 #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) x))

eval16.0ms (0.4%)

Memory
39.7MiB live, 39.7MiB allocated; 0ms collecting garbage
Compiler

Compiled 3 270 to 588 computations (82% saved)

prune12.0ms (0.3%)

Memory
-28.1MiB live, 17.2MiB allocated; 4ms collecting garbage
Pruning

15 alts after pruning (10 fresh and 5 done)

PrunedKeptTotal
New1438151
Fresh022
Picked055
Done000
Total14315158
Accuracy
100.0%
Counts
158 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.2%
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
100.0%
(/.f64 (expm1.f64 x) x)
71.9%
(/.f64 #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)) x)
70.8%
#s(approx (/ (- (exp x) 1) 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)))
70.8%
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
67.8%
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
69.9%
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
53.3%
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
21.0%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
20.8%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
21.2%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
18.1%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
18.3%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
3.9%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
52.9%
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
Compiler

Compiled 506 to 379 computations (25.1% saved)

simplify145.0ms (3.2%)

Memory
26.3MiB live, 170.3MiB allocated; 14ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
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
(/.f64 #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)) x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
cost-diff0
#s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))
cost-diff0
(fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64))
cost-diff0
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
cost-diff0
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
cost-diff0
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
cost-diff0
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))
cost-diff0
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
cost-diff0
(*.f64 #s(literal 1/2 binary64) x)
cost-diff0
#s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))
cost-diff0
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
cost-diff0
(*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)
cost-diff0
(+.f64 x x)
cost-diff0
(expm1.f64 (+.f64 x x))
cost-diff0
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043249
064249
1106249
2249249
3775249
43892249
08373235
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
(expm1.f64 (+.f64 x x))
(+.f64 x x)
x
(*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)
(-.f64 (exp.f64 x) #s(literal -1 binary64))
(exp.f64 x)
#s(literal -1 binary64)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
x
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
(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(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
(fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64))
#s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(*.f64 x x)
x
#s(literal 1/24 binary64)
#s(literal 1 binary64)
(/.f64 #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)) 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)
Outputs
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
(/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
(expm1.f64 (+.f64 x x))
(expm1.f64 (*.f64 #s(literal 2 binary64) x))
(+.f64 x x)
(*.f64 #s(literal 2 binary64) x)
x
(*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)
(-.f64 (exp.f64 x) #s(literal -1 binary64))
(exp.f64 x)
#s(literal -1 binary64)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(literal 1/2 binary64)
x
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
(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(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
(fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64))
#s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(*.f64 x x)
x
#s(literal 1/24 binary64)
#s(literal 1 binary64)
(/.f64 #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)) 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)

localize109.0ms (2.4%)

Memory
-16.6MiB live, 83.5MiB allocated; 6ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.01953125
(*.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.046875
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
accuracy0.07421875
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
accuracy14.225589458165262
#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.015625
(fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64))
accuracy0.1953125
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
accuracy14.16411625975553
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
accuracy32.142435783812225
#s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))
accuracy0.0546875
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
accuracy0.06640625
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
accuracy13.954447665453122
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
accuracy32.13330380150684
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))
accuracy0.0
(*.f64 #s(literal 1/2 binary64) x)
accuracy14.395935144679715
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
accuracy32.2355302123712
#s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))
accuracy0.0
(expm1.f64 (+.f64 x x))
accuracy0.0
(exp.f64 x)
accuracy0.00390625
(-.f64 (exp.f64 x) #s(literal -1 binary64))
accuracy0.0078125
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
Samples
60.0ms190×0valid
13.0ms66×0exit
Compiler

Compiled 180 to 31 computations (82.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 58.0ms
ival-mult: 35.0ms (59.9% of total)
ival-add: 8.0ms (13.7% of total)
const: 6.0ms (10.3% of total)
ival-div: 3.0ms (5.1% of total)
ival-expm1: 3.0ms (5.1% of total)
ival-exp: 2.0ms (3.4% of total)
ival-sub: 1.0ms (1.7% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series11.0ms (0.2%)

Memory
17.0MiB live, 17.0MiB allocated; 0ms collecting garbage
Counts
23 → 60
Calls
Call 1
Inputs
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
(expm1.f64 (+.f64 x x))
(+.f64 x x)
(*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
(fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64))
#s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(/.f64 #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)) 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))
(-.f64 (exp.f64 x) #s(literal -1 binary64))
(exp.f64 x)
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
Outputs
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))
(* 2 x)
(* x (+ 2 (* 2 x)))
(* x (+ 2 (* x (+ 2 (* 4/3 x)))))
(* x (+ 2 (* x (+ 2 (* x (+ 4/3 (* 2/3 x)))))))
(* x (+ 2 x))
(* x (+ 2 (* x (+ 1 (* 1/2 x)))))
(* x (+ 2 (* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))))
(* 1/2 x)
(* x (+ 1/2 (* 1/6 x)))
1/2
(+ 1/2 (* 1/6 x))
(+ 1/2 (* x (+ 1/6 (* 1/24 x))))
(* 1/24 (pow x 2))
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)))))))
2
(+ 2 x)
(+ 2 (* x (+ 1 (* 1/2 x))))
(+ 2 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
(+ 1 x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
1/6
(+ 1/6 (* 1/24 x))
(/ (- (exp (* 2 x)) 1) (* x (+ 1 (exp x))))
(- (exp (* 2 x)) 1)
(* x (+ 1 (exp x)))
(/ (- (exp x) 1) x)
(* x (+ 1/2 (/ 1 x)))
(* 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)))))
(* 1/6 x)
(* x (+ 1/6 (* 1/2 (/ 1 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))))))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(- (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 (exp x))
(exp x)
(* 1/24 x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(/ (- (exp (neg (* -2 x))) 1) (* x (+ 1 (exp x))))
(- (exp (neg (* -2 x))) 1)
(* -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)))
(* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x))))
Calls

3 calls:

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

simplify172.0ms (3.8%)

Memory
-16.4MiB live, 175.2MiB allocated; 26ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0117485
1467469
21641465
37854465
08040396
Stop Event
iter limit
node limit
Counts
60 → 59
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))))))
(* 2 x)
(* x (+ 2 (* 2 x)))
(* x (+ 2 (* x (+ 2 (* 4/3 x)))))
(* x (+ 2 (* x (+ 2 (* x (+ 4/3 (* 2/3 x)))))))
(* x (+ 2 x))
(* x (+ 2 (* x (+ 1 (* 1/2 x)))))
(* x (+ 2 (* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))))
(* 1/2 x)
(* x (+ 1/2 (* 1/6 x)))
1/2
(+ 1/2 (* 1/6 x))
(+ 1/2 (* x (+ 1/6 (* 1/24 x))))
(* 1/24 (pow x 2))
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)))))))
2
(+ 2 x)
(+ 2 (* x (+ 1 (* 1/2 x))))
(+ 2 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
(+ 1 x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
1/6
(+ 1/6 (* 1/24 x))
(/ (- (exp (* 2 x)) 1) (* x (+ 1 (exp x))))
(- (exp (* 2 x)) 1)
(* x (+ 1 (exp x)))
(/ (- (exp x) 1) x)
(* x (+ 1/2 (/ 1 x)))
(* 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)))))
(* 1/6 x)
(* x (+ 1/6 (* 1/2 (/ 1 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))))))
(* (pow x 2) (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(- (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 (exp x))
(exp x)
(* 1/24 x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(/ (- (exp (neg (* -2 x))) 1) (* x (+ 1 (exp x))))
(- (exp (neg (* -2 x))) 1)
(* -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)))
(* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x))))
Outputs
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))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* x (+ 2 (* 2 x)))
(*.f64 (fma.f64 #s(literal 2 binary64) x #s(literal 2 binary64)) x)
(* x (+ 2 (* x (+ 2 (* 4/3 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 4/3 binary64) x #s(literal 2 binary64)) x #s(literal 2 binary64)) x)
(* x (+ 2 (* x (+ 2 (* x (+ 4/3 (* 2/3 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 2/3 binary64) x #s(literal 4/3 binary64)) x #s(literal 2 binary64)) x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (-.f64 x #s(literal -2 binary64)) x)
(* x (+ 2 (* x (+ 1 (* 1/2 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x #s(literal 2 binary64)) x)
(* x (+ 2 (* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))))
(*.f64 (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 2 binary64)) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* 1/6 x)))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
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/24 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/24 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)
2
#s(literal 2 binary64)
(+ 2 x)
(-.f64 x #s(literal -2 binary64))
(+ 2 (* x (+ 1 (* 1/2 x))))
(fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x #s(literal 2 binary64))
(+ 2 (* 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 2 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 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/6
#s(literal 1/6 binary64)
(+ 1/6 (* 1/24 x))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(/ (- (exp (* 2 x)) 1) (* x (+ 1 (exp x))))
(/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (fma.f64 (exp.f64 x) x x))
(- (exp (* 2 x)) 1)
(expm1.f64 (*.f64 #s(literal 2 binary64) x))
(* x (+ 1 (exp x)))
(fma.f64 (exp.f64 x) x x)
(/ (- (exp x) 1) x)
(/.f64 (expm1.f64 x) x)
(* x (+ 1/2 (/ 1 x)))
(fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64))
(* 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))
(* 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))
(* 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 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) 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))
(* (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))
(- (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 3 binary64)) (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)))
(* (pow x 4) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #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)) (/ 1 (pow x 3))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.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)))
(+ 1 (exp x))
(-.f64 (exp.f64 x) #s(literal -1 binary64))
(exp x)
(exp.f64 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))
(/ (- (exp (neg (* -2 x))) 1) (* x (+ 1 (exp x))))
(/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (fma.f64 (exp.f64 x) x x))
(- (exp (neg (* -2 x))) 1)
(expm1.f64 (*.f64 #s(literal 2 binary64) x))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (* 1/2 (/ 1 x))) x)) 1/24)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 #s(literal -1/6 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/24 binary64)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))) x)) 1/24)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x) #s(literal 1/6 binary64)) x) #s(literal 1/24 binary64)))
(* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.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)))

rewrite93.0ms (2%)

Memory
14.1MiB live, 105.2MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043231
064231
1230226
01758210
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
23 → 238
Calls
Call 1
Inputs
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
(expm1.f64 (+.f64 x x))
(+.f64 x x)
(*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) x)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
(fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64))
#s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(/.f64 #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)) 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))
(-.f64 (exp.f64 x) #s(literal -1 binary64))
(exp.f64 x)
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
Outputs
(/.f64 (/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))
(/.f64 (-.f64 (*.f64 (/.f64 (exp.f64 x) x) (/.f64 (exp.f64 x) x)) (*.f64 (pow.f64 x #s(literal -1 binary64)) (pow.f64 x #s(literal -1 binary64)))) (+.f64 (/.f64 (exp.f64 x) x) (pow.f64 x #s(literal -1 binary64))))
(/.f64 (-.f64 (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) x) (-.f64 (exp.f64 x) #s(literal -1 binary64))) (/.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))) (*.f64 (pow.f64 (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x) #s(literal -1 binary64)) (pow.f64 (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x) #s(literal -1 binary64)))) (fma.f64 (/.f64 (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64))) (/.f64 (exp.f64 x) x) (pow.f64 (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x) #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (exp.f64 x) x) #s(literal 3 binary64)) (pow.f64 (pow.f64 x #s(literal -1 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (exp.f64 x) x) (/.f64 (exp.f64 x) x) (fma.f64 (pow.f64 x #s(literal -1 binary64)) (pow.f64 x #s(literal -1 binary64)) (*.f64 (/.f64 (exp.f64 x) x) (pow.f64 x #s(literal -1 binary64))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) x) (-.f64 (exp.f64 x) #s(literal -1 binary64))) #s(literal 3 binary64)) (pow.f64 (pow.f64 (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x) #s(literal -1 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) x) (-.f64 (exp.f64 x) #s(literal -1 binary64))) (/.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) x) (-.f64 (exp.f64 x) #s(literal -1 binary64))) (fma.f64 (pow.f64 (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x) #s(literal -1 binary64)) (pow.f64 (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x) #s(literal -1 binary64)) (*.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) x) (-.f64 (exp.f64 x) #s(literal -1 binary64))) (pow.f64 (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x) #s(literal -1 binary64))))))
(/.f64 (neg.f64 (neg.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)))) (neg.f64 (*.f64 (neg.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))))
(/.f64 (neg.f64 (neg.f64 (expm1.f64 x))) (neg.f64 (neg.f64 x)))
(/.f64 (-.f64 (*.f64 (exp.f64 x) x) (*.f64 x #s(literal 1 binary64))) (*.f64 x x))
(/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)) (*.f64 (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x) #s(literal 1 binary64))) (*.f64 (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)))
(/.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 2 binary64))) (*.f64 (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)))
(/.f64 (expm1.f64 x) x)
(/.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 3 binary64))) (*.f64 (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)))
(/.f64 (expm1.f64 (*.f64 x #s(literal 3 binary64))) (*.f64 (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64))) x))
(/.f64 (neg.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x))) (*.f64 (neg.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64))))
(/.f64 (neg.f64 (expm1.f64 x)) (neg.f64 x))
(/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
(neg.f64 (/.f64 (neg.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x))) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)))
(neg.f64 (/.f64 (neg.f64 (expm1.f64 x)) x))
(neg.f64 (/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (*.f64 (neg.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))))
(neg.f64 (/.f64 (expm1.f64 x) (neg.f64 x)))
(-.f64 (/.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) x) (-.f64 (exp.f64 x) #s(literal -1 binary64))) (pow.f64 (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x) #s(literal -1 binary64)))
(-.f64 (/.f64 (exp.f64 x) x) (pow.f64 x #s(literal -1 binary64)))
(*.f64 (expm1.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))
(*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) (expm1.f64 x))
(/.f64 (neg.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)))))
(/.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 2 binary64))) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)))
(/.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 3 binary64))) (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))))
(fma.f64 (*.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal -1 binary64)) #s(literal -1 binary64) #s(literal -1 binary64))
(fma.f64 (neg.f64 (exp.f64 x)) (neg.f64 (exp.f64 x)) #s(literal -1 binary64))
(fma.f64 (fabs.f64 (exp.f64 x)) (fabs.f64 (exp.f64 x)) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal -1 binary64) (exp.f64 x)) (*.f64 #s(literal -1 binary64) (exp.f64 x)) #s(literal -1 binary64))
(fma.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal -1 binary64))
(fma.f64 (exp.f64 x) (exp.f64 x) #s(literal -1 binary64))
(expm1.f64 (fma.f64 #s(literal 2 binary64) x #s(literal 0 binary64)))
(expm1.f64 (*.f64 #s(literal 2 binary64) x))
(-.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64)) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))))
(-.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)))))
(-.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal 1 binary64))
(+.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) x)) (-.f64 (sinh.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)))
(+.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal -1 binary64))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x x #s(literal 0 binary64))))
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x #s(literal 0 binary64)))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(-.f64 (/.f64 (*.f64 x x) #s(literal 0 binary64)) (/.f64 (*.f64 x x) #s(literal 0 binary64)))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal 0 binary64))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal 0 binary64))))
(+.f64 x x)
(*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x)
(*.f64 x (-.f64 (exp.f64 x) #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 #s(literal -1 binary64) (expm1.f64 x) (pow.f64 (exp.f64 x) #s(literal 2 binary64))))
(/.f64 (*.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) x) (expm1.f64 x))
(/.f64 (*.f64 x (-.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 #s(literal -1 binary64) (expm1.f64 x) (pow.f64 (exp.f64 x) #s(literal 2 binary64))))
(/.f64 (*.f64 x (expm1.f64 (*.f64 #s(literal 2 binary64) x))) (expm1.f64 x))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 x #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) x)
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x))
(*.f64 x #s(literal 1/2 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x) #s(literal 1 binary64))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (*.f64 x #s(literal 1 binary64)))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
(*.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))
(*.f64 x (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) #s(literal 1 binary64)))
(*.f64 x (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 x x) #s(literal -1/4 binary64)) x) (-.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64)) x) (fma.f64 #s(literal 1/36 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal 1/12 binary64)))))
(/.f64 (*.f64 x (fma.f64 #s(literal 1/36 binary64) (*.f64 x x) #s(literal -1/4 binary64))) (-.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64)))
(/.f64 (*.f64 x (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64))) (fma.f64 #s(literal 1/36 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal 1/12 binary64)))))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) #s(literal -1 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal -1 binary64)) #s(literal -1 binary64) (*.f64 x (*.f64 #s(literal 1/6 binary64) x)))
(fma.f64 (*.f64 #s(literal 1/6 binary64) x) x (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(fma.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64) (*.f64 x (*.f64 #s(literal 1/6 binary64) x)))
(fma.f64 #s(literal 1/2 binary64) (*.f64 x #s(literal 1 binary64)) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(fma.f64 #s(literal 1/2 binary64) (*.f64 x #s(literal 1 binary64)) (*.f64 x (*.f64 #s(literal 1/6 binary64) x)))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(fma.f64 #s(literal 1/2 binary64) x (*.f64 x (*.f64 #s(literal 1/6 binary64) x)))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x) (*.f64 x (*.f64 #s(literal 1/6 binary64) x)))
(fma.f64 x (*.f64 #s(literal 1/6 binary64) x) (*.f64 #s(literal 1/2 binary64) x))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(fma.f64 x #s(literal 1/2 binary64) (*.f64 x (*.f64 #s(literal 1/6 binary64) x)))
(+.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) x) x) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 x (*.f64 #s(literal 1/6 binary64) x)) (*.f64 #s(literal 1/2 binary64) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(+.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 x (*.f64 #s(literal 1/6 binary64) x)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/36 binary64) (*.f64 x x))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 x x) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal 1/12 binary64))))))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (*.f64 x x) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 x x)) (*.f64 x #s(literal 1/12 binary64)))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/36 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal 1/12 binary64)))))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(fma.f64 x #s(literal 1/6 binary64) #s(literal 1/2 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) x))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 x) #s(literal 1/6 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 3 binary64)) (fma.f64 #s(literal 1/36 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal 1/12 binary64))))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/36 binary64) (*.f64 x x) (-.f64 #s(literal 1/4 binary64) (*.f64 x #s(literal 1/12 binary64))))))
(+.f64 (*.f64 #s(literal 1/6 binary64) x) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x)) (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x)) (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal -1 binary64)) #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 1 binary64))
(fma.f64 x (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 x #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 2 binary64)) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal -1 binary64))))
(-.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x)) (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x)) (pow.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x))
#s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))
(*.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal 1/24 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1/24 binary64)))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1/24 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(*.f64 (*.f64 #s(literal 1/24 binary64) x) x)
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
(*.f64 x (*.f64 #s(literal 1/24 binary64) x))
(/.f64 (neg.f64 (neg.f64 #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)))) (neg.f64 (neg.f64 x)))
(/.f64 (neg.f64 #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))) (neg.f64 x))
(/.f64 #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)) x)
(neg.f64 (/.f64 (neg.f64 #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))) x))
(neg.f64 (/.f64 #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)) (neg.f64 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)
(*.f64 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)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.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 2 binary64)) #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)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.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 3 binary64)) #s(literal -1 binary64)) x) (-.f64 (+.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.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 2 binary64)) #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)))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.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 3 binary64)) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x) x (*.f64 #s(literal 1 binary64) x))
(fma.f64 #s(literal 1 binary64) x (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x) x))
(fma.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x) (*.f64 x #s(literal 1 binary64)))
(fma.f64 x #s(literal 1 binary64) (*.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x) x) (*.f64 #s(literal 1 binary64) x))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x) x))
(+.f64 (*.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.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 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64))) (neg.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))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.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 3 binary64)) #s(literal -1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.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 2 binary64)) #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)))
(/.f64 (-.f64 (pow.f64 (*.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 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.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 2 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.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 3 binary64)) #s(literal -1 binary64)) (-.f64 (+.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
(fma.f64 (*.f64 (*.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)) #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 (*.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) #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)) (*.f64 x #s(literal 1 binary64)) #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))
(fma.f64 #s(literal 1 binary64) (*.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 x (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 x (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.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 2 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))) (/.f64 #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))))
(-.f64 (*.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))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.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 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.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 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x))))
(+.f64 (*.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))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x))
(*.f64 #s(literal 1 binary64) (-.f64 (exp.f64 x) #s(literal -1 binary64)))
(*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (exp.f64 x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (exp.f64 x)))
(/.f64 (+.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 (exp.f64 x) (exp.f64 x) (-.f64 #s(literal 1 binary64) (exp.f64 x))))
(/.f64 (+.f64 #s(literal 1 binary64) (pow.f64 (exp.f64 x) #s(literal 3 binary64))) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) (exp.f64 x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal -1 binary64) (expm1.f64 x) (pow.f64 (exp.f64 x) #s(literal 2 binary64)))))
(/.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 2 binary64))) (*.f64 (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)) (expm1.f64 x)))
(/.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 3 binary64))) (*.f64 (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))) (expm1.f64 x)))
(/.f64 (-.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal -1 binary64) (expm1.f64 x) (pow.f64 (exp.f64 x) #s(literal 2 binary64))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x))) (neg.f64 (expm1.f64 x)))
(/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (expm1.f64 x))
(fma.f64 (*.f64 #s(literal -1 binary64) (exp.f64 x)) #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (exp.f64 x) #s(literal 1 binary64))
(fma.f64 (exp.f64 x) #s(literal 1 binary64) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (fma.f64 #s(literal -1 binary64) (expm1.f64 x) (pow.f64 (exp.f64 x) #s(literal 2 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal -1 binary64) (expm1.f64 x) (pow.f64 (exp.f64 x) #s(literal 2 binary64)))))
(-.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) (expm1.f64 x)) (/.f64 #s(literal 1 binary64) (expm1.f64 x)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (exp.f64 x)) #s(literal 1 binary64)))
(-.f64 (exp.f64 x) #s(literal -1 binary64))
(+.f64 (cosh.f64 x) (-.f64 (sinh.f64 x) #s(literal -1 binary64)))
(+.f64 (cosh.f64 x) (+.f64 (sinh.f64 x) #s(literal 1 binary64)))
(+.f64 #s(literal 1 binary64) (exp.f64 x))
(+.f64 (exp.f64 x) #s(literal 1 binary64))
(*.f64 (*.f64 #s(literal -1 binary64) (exp.f64 x)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (exp.f64 x))
(*.f64 (exp.f64 x) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 x) (cosh.f64 x)) (*.f64 (sinh.f64 x) (sinh.f64 x))) (-.f64 (cosh.f64 x) (sinh.f64 x)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 x) #s(literal 3 binary64)) (pow.f64 (sinh.f64 x) #s(literal 3 binary64))) (fma.f64 (cosh.f64 x) (cosh.f64 x) (-.f64 (*.f64 (sinh.f64 x) (sinh.f64 x)) (*.f64 (cosh.f64 x) (sinh.f64 x)))))
(exp.f64 (+.f64 x #s(literal 0 binary64)))
(exp.f64 x)
(+.f64 (sinh.f64 x) (cosh.f64 x))
(+.f64 (cosh.f64 x) (sinh.f64 x))
(/.f64 (-.f64 #s(literal 1/36 binary64) (*.f64 #s(literal 1/576 binary64) (*.f64 x x))) (-.f64 #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64))) (neg.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64))))))
(/.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64)))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64)) (+.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (*.f64 x #s(literal 1/144 binary64)))))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64)) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64)))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(fma.f64 x #s(literal 1/24 binary64) #s(literal 1/6 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))))
(-.f64 #s(literal 1/6 binary64) (*.f64 #s(literal -1/24 binary64) x))
(-.f64 #s(literal 1/6 binary64) (*.f64 (neg.f64 x) #s(literal 1/24 binary64)))
(+.f64 (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64))))) (/.f64 #s(literal 1/216 binary64) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64))))))
(+.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))
(+.f64 #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) x))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64))))
(fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64))
(fma.f64 x (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)) (-.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))) x))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 x) (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x))

eval38.0ms (0.8%)

Memory
-3.3MiB live, 94.5MiB allocated; 11ms collecting garbage
Compiler

Compiled 7 162 to 1 198 computations (83.3% saved)

prune27.0ms (0.6%)

Memory
-15.0MiB live, 31.9MiB allocated; 2ms collecting garbage
Pruning

16 alts after pruning (8 fresh and 8 done)

PrunedKeptTotal
New2863289
Fresh055
Picked235
Done055
Total28816304
Accuracy
100.0%
Counts
304 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.2%
(/.f64 (expm1.f64 (+.f64 x x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
100.0%
(/.f64 (expm1.f64 x) x)
71.4%
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
70.8%
#s(approx (/ (- (exp x) 1) 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)))
70.8%
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
67.8%
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
69.9%
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
53.3%
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
21.0%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
20.8%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
21.2%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
18.1%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
18.3%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
18.3%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
3.9%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
52.9%
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
Compiler

Compiled 520 to 379 computations (27.1% saved)

simplify164.0ms (3.6%)

Memory
30.4MiB live, 217.2MiB allocated; 20ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(pow.f64 x #s(literal 3 binary64))
cost-diff0
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
cost-diff0
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64)))
cost-diff0
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
cost-diff0
(fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
cost-diff0
(*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) 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(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
cost-diff0
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
cost-diff0
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
cost-diff0
(*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)
cost-diff0
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x))
cost-diff0
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
cost-diff0
#s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x))
cost-diff0
(*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)
cost-diff0
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x))
cost-diff0
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
cost-diff0
#s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))
cost-diff0
(+.f64 x x)
cost-diff0
(expm1.f64 (+.f64 x x))
cost-diff0
(/.f64 (expm1.f64 (+.f64 x x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049342
071342
1115342
2255342
3817340
44011340
08385314
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (expm1.f64 (+.f64 x x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
(expm1.f64 (+.f64 x x))
(+.f64 x x)
x
#s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))
(fma.f64 (exp.f64 x) x x)
(exp.f64 x)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x))
(*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)
#s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x))
(*.f64 #s(literal 1/6 binary64) x)
#s(literal 1/6 binary64)
x
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x))
(*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)
(*.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)
x
#s(literal 1/6 binary64)
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64))
#s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x))
(*.f64 #s(literal 1/24 binary64) x)
#s(literal 1/24 binary64)
x
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
#s(literal 1/24 binary64)
Outputs
(/.f64 (expm1.f64 (+.f64 x x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
(/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
(expm1.f64 (+.f64 x x))
(expm1.f64 (*.f64 #s(literal 2 binary64) x))
(+.f64 x x)
(*.f64 #s(literal 2 binary64) x)
x
#s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))
(fma.f64 (exp.f64 x) x x)
(exp.f64 x)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x))
(*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)
#s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x))
(*.f64 #s(literal 1/6 binary64) x)
#s(literal 1/6 binary64)
x
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x))
(*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)
(*.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)
x
#s(literal 1/6 binary64)
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
(/.f64 #s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)) x)
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
#s(approx (- (exp x) 1) (fma.f64 (*.f64 x x) (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (*.f64 x x) (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)
(fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64))
#s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x))
(*.f64 #s(literal 1/24 binary64) x)
#s(literal 1/24 binary64)
x
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(pow.f64 x #s(literal 3 binary64))
x
#s(literal 3 binary64)
#s(literal 1/24 binary64)

localize89.0ms (2%)

Memory
-32.9MiB live, 160.4MiB allocated; 21ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(pow.f64 x #s(literal 3 binary64))
accuracy0.12109375
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
accuracy14.16411625975553
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
accuracy32.40005970031755
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64)))
accuracy0.046875
(fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64))
accuracy0.2265625
(*.f64 #s(literal 1/24 binary64) x)
accuracy14.225589458165262
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
accuracy32.25160143213001
#s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x))
accuracy0.07421875
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
accuracy0.19921875
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
accuracy14.16411625975553
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
accuracy32.033806947972955
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x))
accuracy0.2265625
(*.f64 #s(literal 1/6 binary64) x)
accuracy13.954447665453122
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
accuracy32.13330380150684
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x))
accuracy32.247269536805355
#s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x))
accuracy0.0
(expm1.f64 (+.f64 x x))
accuracy0.0
(exp.f64 x)
accuracy0.0
#s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))
accuracy0.0078125
(/.f64 (expm1.f64 (+.f64 x x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
Samples
51.0ms190×0valid
15.0ms66×0exit
Compiler

Compiled 203 to 33 computations (83.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 50.0ms
ival-mult: 15.0ms (30% of total)
const: 11.0ms (22% of total)
ival-add: 8.0ms (16% of total)
ival-expm1: 4.0ms (8% of total)
ival-pow: 4.0ms (8% of total)
ival-div: 3.0ms (6% of total)
ival-sub: 3.0ms (6% of total)
ival-exp: 2.0ms (4% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series9.0ms (0.2%)

Memory
20.8MiB live, 20.8MiB allocated; 0ms collecting garbage
Counts
26 → 57
Calls
Call 1
Inputs
(/.f64 (expm1.f64 (+.f64 x x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
(expm1.f64 (+.f64 x x))
(+.f64 x x)
#s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x))
(*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)
#s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x))
(*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(pow.f64 x #s(literal 3 binary64))
(exp.f64 x)
(*.f64 #s(literal 1/6 binary64) x)
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
#s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x))
(*.f64 #s(literal 1/24 binary64) x)
(fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64))
Outputs
1
(+ 1 (* 1/2 x))
(+ 1 (* x (+ 1/2 (* 1/6 x))))
(+ 1 (* x (+ 1/2 (* x (+ 1/6 (* 1/24 x))))))
(* 2 x)
(* x (+ 2 (* 2 x)))
(* x (+ 2 (* x (+ 2 (* 4/3 x)))))
(* x (+ 2 (* x (+ 2 (* x (+ 4/3 (* 2/3 x)))))))
(* x (+ 2 x))
(* x (+ 2 (* x (+ 1 (* 1/2 x)))))
(* x (+ 2 (* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))))
(* 1/2 x)
(* x (+ 1/2 (* 1/6 x)))
1/2
(+ 1/2 (* 1/6 x))
(* 1/6 (pow x 2))
(* (pow x 2) (+ 1/6 (* 1/24 x)))
(* 1/6 x)
(* 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/24 (pow x 3))
(pow x 3)
(+ 1 x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
1/6
(+ 1/6 (* 1/24 x))
(* 1/24 x)
(+ 1/2 (* x (+ 1/6 (* 1/24 x))))
(/ (- (exp (* 2 x)) 1) (* x (+ 1 (exp x))))
(- (exp (* 2 x)) 1)
(* x (+ 1 (exp x)))
(/ (- (exp x) 1) x)
(* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x))))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(* (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))))
(- (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))))))
(exp x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(/ (- (exp (neg (* -2 x))) 1) (* x (+ 1 (exp x))))
(- (exp (neg (* -2 x))) 1)
(* -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)))
(* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x))))
Calls

3 calls:

TimeVariablePointExpression
4.0ms
x
@-inf
((/ (- (exp (+ x x)) 1) (* (- (exp x) -1) x)) (- (exp (+ x x)) 1) (+ x x) (* (- (exp x) -1) x) (/ (- (exp x) 1) x) (+ (* (+ (* 1/6 x) 1/2) x) 1) (* (+ (* 1/6 x) 1/2) x) (+ (* 1/6 x) 1/2) (/ (- (exp x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (* (* (+ (* 1/24 x) 1/6) x) x) (* (+ (* 1/24 x) 1/6) x) (/ (- (exp x) 1) x) (- (exp x) 1) (* (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (/ (- (exp x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (* (pow x 3) 1/24) (pow x 3) (exp x) (* 1/6 x) (+ (* 1/24 x) 1/6) (+ (* 1/24 x) 1/6) (* 1/24 x) (+ (* (+ (* 1/24 x) 1/6) x) 1/2))
3.0ms
x
@inf
((/ (- (exp (+ x x)) 1) (* (- (exp x) -1) x)) (- (exp (+ x x)) 1) (+ x x) (* (- (exp x) -1) x) (/ (- (exp x) 1) x) (+ (* (+ (* 1/6 x) 1/2) x) 1) (* (+ (* 1/6 x) 1/2) x) (+ (* 1/6 x) 1/2) (/ (- (exp x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (* (* (+ (* 1/24 x) 1/6) x) x) (* (+ (* 1/24 x) 1/6) x) (/ (- (exp x) 1) x) (- (exp x) 1) (* (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (/ (- (exp x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (* (pow x 3) 1/24) (pow x 3) (exp x) (* 1/6 x) (+ (* 1/24 x) 1/6) (+ (* 1/24 x) 1/6) (* 1/24 x) (+ (* (+ (* 1/24 x) 1/6) x) 1/2))
2.0ms
x
@0
((/ (- (exp (+ x x)) 1) (* (- (exp x) -1) x)) (- (exp (+ x x)) 1) (+ x x) (* (- (exp x) -1) x) (/ (- (exp x) 1) x) (+ (* (+ (* 1/6 x) 1/2) x) 1) (* (+ (* 1/6 x) 1/2) x) (+ (* 1/6 x) 1/2) (/ (- (exp x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (* (* (+ (* 1/24 x) 1/6) x) x) (* (+ (* 1/24 x) 1/6) x) (/ (- (exp x) 1) x) (- (exp x) 1) (* (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (/ (- (exp x) 1) x) (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (* (pow x 3) 1/24) (pow x 3) (exp x) (* 1/6 x) (+ (* 1/24 x) 1/6) (+ (* 1/24 x) 1/6) (* 1/24 x) (+ (* (+ (* 1/24 x) 1/6) x) 1/2))

simplify180.0ms (4%)

Memory
5.6MiB live, 195.7MiB allocated; 32ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0117467
1467453
21643449
37520449
08299385
Stop Event
iter limit
node limit
Counts
57 → 56
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))))))
(* 2 x)
(* x (+ 2 (* 2 x)))
(* x (+ 2 (* x (+ 2 (* 4/3 x)))))
(* x (+ 2 (* x (+ 2 (* x (+ 4/3 (* 2/3 x)))))))
(* x (+ 2 x))
(* x (+ 2 (* x (+ 1 (* 1/2 x)))))
(* x (+ 2 (* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))))
(* 1/2 x)
(* x (+ 1/2 (* 1/6 x)))
1/2
(+ 1/2 (* 1/6 x))
(* 1/6 (pow x 2))
(* (pow x 2) (+ 1/6 (* 1/24 x)))
(* 1/6 x)
(* 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/24 (pow x 3))
(pow x 3)
(+ 1 x)
(+ 1 (* x (+ 1 (* 1/2 x))))
(+ 1 (* x (+ 1 (* x (+ 1/2 (* 1/6 x))))))
1/6
(+ 1/6 (* 1/24 x))
(* 1/24 x)
(+ 1/2 (* x (+ 1/6 (* 1/24 x))))
(/ (- (exp (* 2 x)) 1) (* x (+ 1 (exp x))))
(- (exp (* 2 x)) 1)
(* x (+ 1 (exp x)))
(/ (- (exp x) 1) x)
(* (pow x 2) (+ 1/6 (* 1/2 (/ 1 x))))
(* (pow x 2) (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(* (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))))
(- (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))))))
(exp x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(* (pow x 2) (+ 1/24 (+ (/ 1/2 (pow x 2)) (* 1/6 (/ 1 x)))))
(/ (- (exp (neg (* -2 x))) 1) (* x (+ 1 (exp x))))
(- (exp (neg (* -2 x))) 1)
(* -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)))
(* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x))))
Outputs
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))
(* 2 x)
(*.f64 #s(literal 2 binary64) x)
(* x (+ 2 (* 2 x)))
(*.f64 (fma.f64 #s(literal 2 binary64) x #s(literal 2 binary64)) x)
(* x (+ 2 (* x (+ 2 (* 4/3 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 4/3 binary64) x #s(literal 2 binary64)) x #s(literal 2 binary64)) x)
(* x (+ 2 (* x (+ 2 (* x (+ 4/3 (* 2/3 x)))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 2/3 binary64) x #s(literal 4/3 binary64)) x #s(literal 2 binary64)) x #s(literal 2 binary64)) x)
(* x (+ 2 x))
(*.f64 (-.f64 x #s(literal -2 binary64)) x)
(* x (+ 2 (* x (+ 1 (* 1/2 x)))))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)) x #s(literal 2 binary64)) x)
(* x (+ 2 (* x (+ 1 (* x (+ 1/2 (* 1/6 x)))))))
(*.f64 (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 2 binary64)) x)
(* 1/2 x)
(*.f64 #s(literal 1/2 binary64) x)
(* x (+ 1/2 (* 1/6 x)))
(*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)
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/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(* (pow x 2) (+ 1/6 (* 1/24 x)))
(*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)
(* 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
(* 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 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) (*.f64 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/24 (pow x 3))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(+ 1 x)
(-.f64 x #s(literal -1 binary64))
(+ 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/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/24 x)
(*.f64 #s(literal 1/24 binary64) x)
(+ 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))
(/ (- (exp (* 2 x)) 1) (* x (+ 1 (exp x))))
(/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (fma.f64 (exp.f64 x) x x))
(- (exp (* 2 x)) 1)
(expm1.f64 (*.f64 #s(literal 2 binary64) x))
(* x (+ 1 (exp x)))
(fma.f64 (exp.f64 x) x x)
(/ (- (exp x) 1) x)
(/.f64 (expm1.f64 x) x)
(* (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))
(* x (+ 1/6 (* 1/2 (/ 1 x))))
(fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64))
(* (pow x 3) (+ 1/24 (* 1/6 (/ 1 x))))
(*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) 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)
(- (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)))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/2 binary64) x) #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)) (/ 1 (pow x 3))))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.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)))
(exp x)
(exp.f64 x)
(* x (+ 1/24 (* 1/6 (/ 1 x))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 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 (neg (* -2 x))) 1) (* x (+ 1 (exp x))))
(/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (fma.f64 (exp.f64 x) x x))
(- (exp (neg (* -2 x))) 1)
(expm1.f64 (*.f64 #s(literal 2 binary64) x))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (* 1/2 (/ 1 x))) x)) 1/24)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 #s(literal -1/6 binary64) (/.f64 #s(literal 1/2 binary64) x)) x) #s(literal 1/24 binary64)))
(* -1 (* (pow x 3) (- (* -1 (/ (+ 1/6 (+ (* 1/2 (/ 1 x)) (/ 1 (pow x 2)))) x)) 1/24)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 (/.f64 (-.f64 #s(literal -1/2 binary64) (/.f64 #s(literal 1 binary64) x)) x) #s(literal 1/6 binary64)) x) #s(literal 1/24 binary64)))
(* (pow x 4) (+ 1/24 (* -1 (/ (- (* -1 (/ (+ 1/2 (/ 1 x)) x)) 1/6) x))))
(*.f64 (pow.f64 x #s(literal 4 binary64)) (+.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)))

rewrite115.0ms (2.5%)

Memory
-8.2MiB live, 82.8MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049324
071324
1253322
01853296
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
26 → 172
Calls
Call 1
Inputs
(/.f64 (expm1.f64 (+.f64 x x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
(expm1.f64 (+.f64 x x))
(+.f64 x x)
#s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x))
(*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)
#s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x))
(*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64)))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(pow.f64 x #s(literal 3 binary64))
(exp.f64 x)
(*.f64 #s(literal 1/6 binary64) x)
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
#s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x))
(*.f64 #s(literal 1/24 binary64) x)
(fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64))
Outputs
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))) (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))) (*.f64 (pow.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)) #s(literal -1 binary64)) (pow.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)) #s(literal -1 binary64)))) (fma.f64 (exp.f64 x) (/.f64 (exp.f64 x) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))) (pow.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)) #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))) #s(literal 3 binary64)) (pow.f64 (pow.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)) #s(literal -1 binary64)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))) (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))) (fma.f64 (pow.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)) #s(literal -1 binary64)) (pow.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)) #s(literal -1 binary64)) (*.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))) (pow.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)) #s(literal -1 binary64))))))
(/.f64 (neg.f64 (neg.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)))) (neg.f64 (neg.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))) (*.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)) #s(literal 1 binary64))) (*.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))))
(/.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 2 binary64))) (*.f64 (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))))
(/.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 3 binary64))) (*.f64 (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x))) (neg.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))))
(/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
(neg.f64 (/.f64 (neg.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x))) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))))
(neg.f64 (/.f64 (expm1.f64 (*.f64 #s(literal 2 binary64) x)) (neg.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))))
(-.f64 (/.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))) (pow.f64 #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)) #s(literal -1 binary64)))
(*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) (expm1.f64 x))
(*.f64 (expm1.f64 x) (-.f64 (exp.f64 x) #s(literal -1 binary64)))
(/.f64 (neg.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))))
(/.f64 (neg.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)))))
(/.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 2 binary64))) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)))
(/.f64 (expm1.f64 (*.f64 (*.f64 #s(literal 2 binary64) x) #s(literal 3 binary64))) (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))))
(fma.f64 (*.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal -1 binary64)) #s(literal -1 binary64) #s(literal -1 binary64))
(fma.f64 (neg.f64 (exp.f64 x)) (neg.f64 (exp.f64 x)) #s(literal -1 binary64))
(fma.f64 (fabs.f64 (exp.f64 x)) (fabs.f64 (exp.f64 x)) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal -1 binary64) (exp.f64 x)) (*.f64 #s(literal -1 binary64) (exp.f64 x)) #s(literal -1 binary64))
(fma.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal -1 binary64))
(fma.f64 (exp.f64 x) (exp.f64 x) #s(literal -1 binary64))
(expm1.f64 (fma.f64 #s(literal 2 binary64) x #s(literal 0 binary64)))
(expm1.f64 (*.f64 #s(literal 2 binary64) x))
(-.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64)) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64))))
(-.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)))) (/.f64 #s(literal 1 binary64) (fma.f64 (pow.f64 (exp.f64 x) #s(literal 3 binary64)) (exp.f64 x) (fma.f64 (exp.f64 x) (exp.f64 x) #s(literal 1 binary64)))))
(-.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal 1 binary64))
(+.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) x)) (-.f64 (sinh.f64 (*.f64 #s(literal 2 binary64) x)) #s(literal 1 binary64)))
(+.f64 (pow.f64 (exp.f64 x) #s(literal 2 binary64)) #s(literal -1 binary64))
(*.f64 #s(literal 2 binary64) x)
(*.f64 x #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x x #s(literal 0 binary64))))
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x #s(literal 0 binary64)))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(-.f64 (/.f64 (*.f64 x x) #s(literal 0 binary64)) (/.f64 (*.f64 x x) #s(literal 0 binary64)))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal 0 binary64))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x #s(literal 0 binary64))))
(+.f64 x x)
#s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x))
(*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)
(*.f64 x #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)))
#s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x))
(*.f64 (*.f64 x x) (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)))
(*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) (*.f64 x x))
(*.f64 x (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x))
(/.f64 (*.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64)) (*.f64 x x)) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64)))))
(*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x)
(*.f64 x (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) x) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64)) x) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64)))))
(/.f64 (*.f64 x (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64))) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64)))
(/.f64 (*.f64 x (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64))) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64)))))
(fma.f64 (*.f64 #s(literal 1/24 binary64) x) x (*.f64 #s(literal 1/6 binary64) x))
(fma.f64 #s(literal 1/6 binary64) x (*.f64 (*.f64 #s(literal 1/24 binary64) x) x))
(fma.f64 #s(literal 1/6 binary64) x (*.f64 x (*.f64 #s(literal 1/24 binary64) x)))
(fma.f64 x (*.f64 #s(literal 1/24 binary64) x) (*.f64 #s(literal 1/6 binary64) x))
(fma.f64 x #s(literal 1/6 binary64) (*.f64 (*.f64 #s(literal 1/24 binary64) x) x))
(fma.f64 x #s(literal 1/6 binary64) (*.f64 x (*.f64 #s(literal 1/24 binary64) x)))
(+.f64 (*.f64 (*.f64 #s(literal 1/24 binary64) x) x) (*.f64 #s(literal 1/6 binary64) x))
(+.f64 (*.f64 x (*.f64 #s(literal 1/24 binary64) x)) (*.f64 #s(literal 1/6 binary64) x))
(+.f64 (*.f64 #s(literal 1/6 binary64) x) (*.f64 (*.f64 #s(literal 1/24 binary64) x) x))
(+.f64 (*.f64 #s(literal 1/6 binary64) x) (*.f64 x (*.f64 #s(literal 1/24 binary64) x)))
(/.f64 (neg.f64 (neg.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)))) (neg.f64 (neg.f64 x)))
(/.f64 (neg.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))) (neg.f64 x))
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
(neg.f64 (/.f64 (neg.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))) x))
(neg.f64 (/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) (neg.f64 x)))
#s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x))
(*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)
(*.f64 x (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) x) (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) x) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64))))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal -1 binary64)))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64))) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) x (*.f64 #s(literal 1 binary64) x))
(fma.f64 #s(literal 1 binary64) x (*.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) x))
(fma.f64 x (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) (*.f64 x #s(literal 1 binary64)))
(fma.f64 x #s(literal 1 binary64) (*.f64 x (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) x) (*.f64 #s(literal 1 binary64) x))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) x))
(+.f64 (*.f64 x (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 x (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal -1 binary64)) #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 1 binary64))
(fma.f64 x (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 x (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal -1 binary64))))
(-.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64))) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x)) (pow.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
#s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64)))
(*.f64 (*.f64 #s(literal 1/24 binary64) (pow.f64 x #s(literal 3/2 binary64))) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x)
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (*.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 1/24 binary64)))
(*.f64 (*.f64 x x) (*.f64 #s(literal 1/24 binary64) x))
(*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))
(*.f64 (*.f64 #s(literal 1/24 binary64) x) (*.f64 x x))
(*.f64 #s(literal 1/24 binary64) (pow.f64 x #s(literal 3 binary64)))
(*.f64 x (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))
(*.f64 (neg.f64 (pow.f64 x #s(literal 3/2 binary64))) (neg.f64 (pow.f64 x #s(literal 3/2 binary64))))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 3/2 binary64))) (fabs.f64 (pow.f64 x #s(literal 3/2 binary64))))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (*.f64 x x) x)
(*.f64 x (*.f64 x x))
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 3 binary64))
(pow.f64 (pow.f64 x #s(literal 3/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 3/2 binary64))
(pow.f64 x #s(literal 3 binary64))
(exp.f64 (*.f64 (log.f64 x) #s(literal 3 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 3 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 3 binary64))))
(*.f64 (*.f64 #s(literal -1 binary64) (exp.f64 x)) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) (exp.f64 x))
(*.f64 (exp.f64 x) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 x) (cosh.f64 x)) (*.f64 (sinh.f64 x) (sinh.f64 x))) (-.f64 (cosh.f64 x) (sinh.f64 x)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 x) #s(literal 3 binary64)) (pow.f64 (sinh.f64 x) #s(literal 3 binary64))) (fma.f64 (cosh.f64 x) (cosh.f64 x) (-.f64 (*.f64 (sinh.f64 x) (sinh.f64 x)) (*.f64 (cosh.f64 x) (sinh.f64 x)))))
(exp.f64 (+.f64 x #s(literal 0 binary64)))
(exp.f64 x)
(+.f64 (sinh.f64 x) (cosh.f64 x))
(+.f64 (cosh.f64 x) (sinh.f64 x))
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 x #s(literal 1/6 binary64))
(/.f64 (-.f64 #s(literal 1/36 binary64) (*.f64 #s(literal 1/576 binary64) (*.f64 x x))) (-.f64 #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64))) (neg.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64))))))
(/.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64)))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64)) (+.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (*.f64 x #s(literal 1/144 binary64)))))
(/.f64 (fma.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64)) #s(literal 1/216 binary64)) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64)))))
(fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64))
(fma.f64 x #s(literal 1/24 binary64) #s(literal 1/6 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/576 binary64) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))))
(-.f64 #s(literal 1/6 binary64) (*.f64 #s(literal -1/24 binary64) x))
(-.f64 #s(literal 1/6 binary64) (*.f64 (neg.f64 x) #s(literal 1/24 binary64)))
(+.f64 (/.f64 (*.f64 #s(literal 1/13824 binary64) (pow.f64 x #s(literal 3 binary64))) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64))))) (/.f64 #s(literal 1/216 binary64) (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) (-.f64 #s(literal 1/36 binary64) (*.f64 x #s(literal 1/144 binary64))))))
(+.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))
(+.f64 #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) x))
#s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x))
(*.f64 #s(literal 1/24 binary64) x)
(*.f64 x #s(literal 1/24 binary64))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 2 binary64))) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 1/2 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x)) (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 1/2 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 2 binary64)) (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) (*.f64 x #s(literal 1/2 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x)) (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 2 binary64))))
(fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64))
(fma.f64 x #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) #s(literal 1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 2 binary64)) (-.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 1/2 binary64))))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x))) x))
(-.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 x) #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x))))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 3 binary64)) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x)) (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 2 binary64)))) (/.f64 #s(literal 1/8 binary64) (fma.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x)) (pow.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (*.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x))

eval30.0ms (0.7%)

Memory
-4.9MiB live, 53.4MiB allocated; 7ms collecting garbage
Compiler

Compiled 6 778 to 950 computations (86% saved)

prune16.0ms (0.4%)

Memory
-2.6MiB live, 44.1MiB allocated; 2ms collecting garbage
Pruning

17 alts after pruning (5 fresh and 12 done)

PrunedKeptTotal
New2154219
Fresh213
Picked055
Done178
Total21817235
Accuracy
100.0%
Counts
235 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.2%
(/.f64 (expm1.f64 (+.f64 x x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
100.0%
(/.f64 (expm1.f64 x) x)
71.4%
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
70.8%
#s(approx (/ (- (exp x) 1) 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)))
67.8%
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
53.3%
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
22.2%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (/.f64 (*.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64)))))
21.0%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
20.8%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
21.2%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
20.8%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 x x) (*.f64 #s(literal 1/24 binary64) x))))
20.8%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x)))
18.3%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) #s(approx (* (* (+ (* 1/24 x) 1/6) x) x) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))))
18.1%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
18.3%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
3.9%
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
52.9%
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
Compiler

Compiled 860 to 383 computations (55.5% saved)

regimes14.0ms (0.3%)

Memory
-13.8MiB live, 32.1MiB allocated; 3ms collecting garbage
Counts
23 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) #s(approx (* (* (+ (* 1/24 x) 1/6) x) x) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 x x) (*.f64 #s(literal 1/24 binary64) x))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) 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)))
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
(/.f64 #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)) x)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (/.f64 (*.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64)))))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
(/.f64 (expm1.f64 x) x)
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
(/.f64 (expm1.f64 (+.f64 x x)) #s(approx (* (- (exp x) -1) x) (fma.f64 (exp.f64 x) x x)))
(/.f64 (expm1.f64 (+.f64 x x)) (*.f64 (-.f64 (exp.f64 x) #s(literal -1 binary64)) x))
Outputs
(/.f64 (expm1.f64 x) x)
Calls

2 calls:

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

Compiled 7 to 6 computations (14.3% saved)

regimes11.0ms (0.2%)

Memory
28.2MiB live, 28.2MiB allocated; 0ms collecting garbage
Counts
19 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) #s(approx (* (* (+ (* 1/24 x) 1/6) x) x) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 x x) (*.f64 #s(literal 1/24 binary64) x))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) 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)))
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
(/.f64 #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)) x)
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (/.f64 (*.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (*.f64 x x)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64)))))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 (/.f64 (fma.f64 #s(literal 1/576 binary64) (*.f64 x x) #s(literal -1/36 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) x) #s(literal 1/6 binary64))) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/24 binary64))))
Outputs
(/.f64 #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)) x)
Calls

2 calls:

5.0ms
x
4.0ms
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
Results
AccuracySegmentsBranch
71.9%1(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
71.9%1x
Compiler

Compiled 7 to 6 computations (14.3% saved)

regimes11.0ms (0.3%)

Memory
-18.1MiB live, 28.0MiB allocated; 4ms collecting garbage
Counts
15 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) #s(approx (* (* (+ (* 1/24 x) 1/6) x) x) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 x x) (*.f64 #s(literal 1/24 binary64) x))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) 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)))
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
Outputs
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
Calls

2 calls:

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

Compiled 7 to 6 computations (14.3% saved)

regimes9.0ms (0.2%)

Memory
27.4MiB live, 27.4MiB allocated; 0ms collecting garbage
Counts
14 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) #s(approx (* (* (+ (* 1/24 x) 1/6) x) x) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 x x) (*.f64 #s(literal 1/24 binary64) x))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) 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)))
Outputs
#s(approx (/ (- (exp x) 1) 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)))
Calls

2 calls:

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

Compiled 7 to 6 computations (14.3% saved)

regimes32.0ms (0.7%)

Memory
-24.2MiB live, 23.7MiB allocated; 10ms collecting garbage
Counts
13 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) #s(approx (* (* (+ (* 1/24 x) 1/6) x) x) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 x x) (*.f64 #s(literal 1/24 binary64) x))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (fma.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x #s(literal 1/2 binary64)) x)))
Outputs
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
Calls

2 calls:

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

Compiled 7 to 6 computations (14.3% saved)

regimes7.0ms (0.2%)

Memory
24.4MiB live, 24.4MiB allocated; 0ms collecting garbage
Counts
11 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) #s(approx (* (* (+ (* 1/24 x) 1/6) x) x) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 x x) (*.f64 #s(literal 1/24 binary64) x))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
Outputs
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x)))
Calls

2 calls:

4.0ms
x
3.0ms
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
Results
AccuracySegmentsBranch
71.2%2(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
71.2%2x
Compiler

Compiled 7 to 6 computations (14.3% saved)

regimes24.0ms (0.5%)

Memory
-6.0MiB live, 29.3MiB allocated; 19ms collecting garbage
Counts
10 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) #s(approx (* (* (+ (* 1/24 x) 1/6) x) x) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 x x) (*.f64 #s(literal 1/24 binary64) x))))
Outputs
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x)))
Calls

2 calls:

21.0ms
x
3.0ms
(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
Results
AccuracySegmentsBranch
71.2%2(/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x)
71.2%2x
Compiler

Compiled 7 to 6 computations (14.3% saved)

regimes17.0ms (0.4%)

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

2 calls:

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

Compiled 7 to 6 computations (14.3% saved)

regimes5.0ms (0.1%)

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

2 calls:

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

Compiled 7 to 6 computations (14.3% saved)

regimes5.0ms (0.1%)

Memory
20.1MiB live, 20.1MiB allocated; 0ms collecting garbage
Counts
6 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) #s(approx (* (* (+ (* 1/24 x) 1/6) x) x) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))))
Outputs
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x)))
Calls

2 calls:

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

Compiled 7 to 6 computations (14.3% saved)

regimes34.0ms (0.8%)

Memory
-30.9MiB live, 12.0MiB allocated; 11ms collecting garbage
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
#s(approx (/ (- (exp x) 1) x) #s(approx (+ (* 1/2 x) 1) (*.f64 #s(literal 1/2 binary64) x)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
Outputs
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
Calls

2 calls:

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

Compiled 7 to 6 computations (14.3% saved)

regimes3.0ms (0.1%)

Memory
8.2MiB live, 8.2MiB allocated; 0ms collecting garbage
Accuracy

Total -31.9b remaining (-105.8%)

Threshold costs -31.9b (-105.8%)

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

2 calls:

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

Compiled 7 to 6 computations (14.3% saved)

bsearch12.0ms (0.3%)

Memory
12.8MiB live, 12.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
11.0ms
9.320343633295029e-5
333.52049544764657
Samples
5.0ms144×0valid
Compiler

Compiled 396 to 313 computations (21% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-div: 1.0ms (37.3% of total)
ival-expm1: 1.0ms (37.3% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch6.0ms (0.1%)

Memory
3.8MiB live, 3.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
6.0ms
9.320343633295029e-5
333.52049544764657
Samples
2.0ms64×0valid
Compiler

Compiled 387 to 304 computations (21.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
ival-expm1: 1.0ms (85.3% of total)
ival-div: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.000046603164939
2.103721508868346e+142
Compiler

Compiled 9 to 9 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.000046603164939
2.103721508868346e+142
Compiler

Compiled 9 to 9 computations (0% saved)

simplify85.0ms (1.9%)

Memory
-31.6MiB live, 32.0MiB allocated; 29ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074300
195300
2160300
3407300
41308300
56756300
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (expm1.f64 x) x)
(/.f64 #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)) x)
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
#s(approx (/ (- (exp x) 1) 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)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
(if (<=.f64 x #s(literal 4841369599423283/1125899906842624 binary64)) #s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))) #s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x))))
(if (<=.f64 x #s(literal 13/2 binary64)) #s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))) #s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x))))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
(if (<=.f64 (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x) #s(literal 2 binary64)) #s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64)) #s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))))
(if (<=.f64 (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x) #s(literal 2 binary64)) #s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64)) #s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x))))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))
Outputs
(/.f64 (expm1.f64 x) x)
(/.f64 #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)) x)
(/.f64 #s(approx (- (exp x) 1) (*.f64 (fma.f64 (fma.f64 #s(approx (+ (* 1/24 x) 1/6) (*.f64 #s(literal 1/24 binary64) x)) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)) x)) x)
#s(approx (/ (- (exp x) 1) 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)))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(approx (+ (* (+ (* 1/24 x) 1/6) x) 1/2) (*.f64 (*.f64 x x) #s(literal 1/24 binary64))) x #s(literal 1 binary64)))
(if (<=.f64 x #s(literal 4841369599423283/1125899906842624 binary64)) #s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))) #s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 (fma.f64 #s(literal 1/24 binary64) x #s(literal 1/6 binary64)) x) x))))
(if (<=.f64 x #s(literal 13/2 binary64)) #s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64))) #s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* (+ (* 1/24 x) 1/6) x) 1/2) x) 1) (*.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) x))))
#s(approx (/ (- (exp x) 1) x) (fma.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x #s(literal 1 binary64)))
(if (<=.f64 (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x) #s(literal 2 binary64)) #s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64)) #s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 (fma.f64 #s(literal 1/6 binary64) x #s(literal 1/2 binary64)) x))))
(if (<=.f64 (/.f64 (-.f64 (exp.f64 x) #s(literal 1 binary64)) x) #s(literal 2 binary64)) #s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64)) #s(approx (/ (- (exp x) 1) x) #s(approx (+ (* (+ (* 1/6 x) 1/2) x) 1) (*.f64 #s(approx (+ (* 1/6 x) 1/2) (*.f64 #s(literal 1/6 binary64) x)) x))))
#s(approx (/ (- (exp x) 1) x) (fma.f64 #s(literal 1/2 binary64) x #s(literal 1 binary64)))
#s(approx (/ (- (exp x) 1) x) #s(literal 1 binary64))

derivations567.0ms (12.5%)

Memory
15.5MiB live, 257.6MiB allocated; 66ms collecting garbage
Stop Event
fuel
Compiler

Compiled 300 to 78 computations (74% saved)

preprocess85.0ms (1.9%)

Memory
-26.9MiB live, 65.1MiB allocated; 9ms collecting garbage
Compiler

Compiled 656 to 190 computations (71% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...