Hyperbolic tangent

Time bar (total: 5.4s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
100%100%0%0%0%0%0%2
Compiler

Compiled 15 to 8 computations (46.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-div, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation ival-exp, time spent: 0.0ms, 0.0% of total-time
Operation ival-neg, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample3.9s (71.3%)

Results
639.0ms7623×256unsamplable
1.9s4008×1024valid
784.0ms2079×512valid
273.0ms1939×256valid
101.0ms229×2048valid
0.0ms1024valid
Precisions
Click to see histograms. Total time spent on operations: 2.4s
Operation ival-exp, time spent: 1.3s, 54.0% of total-time
Operation ival-div, time spent: 572.0ms, 24.0% of total-time
Operation ival-sub, time spent: 185.0ms, 8.0% of total-time
Operation ival-add, time spent: 178.0ms, 7.0% of total-time
Operation ival-neg, time spent: 139.0ms, 6.0% of total-time
Operation const, time spent: 27.0ms, 1.0% of total-time
Bogosity

preprocess287.0ms (5.3%)

Algorithm
egg-herbie
Rules
1566×div-sub
1010×fma-neg
638×cancel-sign-sub-inv
606×sub-neg
578×neg-mul-1
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2470-1(0.00774429691122579)(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
60-0-(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
00-0-x
00-0-(exp.f64 (neg.f64 x))
00-0-(neg.f64 x)
00-0-(exp.f64 x)
00-0-(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018220
149220
297220
3196220
4544220
52344220
66420220
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))))
(neg.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x))))))
Outputs
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))))
(/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 x)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(neg.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))) (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x))))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Symmetry

(negabs x)

Compiler

Compiled 84 to 23 computations (72.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 90.0ms
Operation ival-exp, time spent: 57.0ms, 63.0% of total-time
Operation ival-div, time spent: 11.0ms, 12.0% of total-time
Operation ival-sub, time spent: 9.0ms, 10.0% of total-time
Operation ival-add, time spent: 7.0ms, 8.0% of total-time
Operation ival-neg, time spent: 5.0ms, 6.0% of total-time
Operation const, time spent: 1.0ms, 1.0% of total-time

eval0.0ms (0%)

Compiler

Compiled 1 to 1 computations (0% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
9.4%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 14 to 7 computations (50% saved)

localize89.0ms (1.6%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
97.7%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
11.7%
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 35 to 8 computations (77.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 47.0ms
Operation ival-exp, time spent: 31.0ms, 66.0% of total-time
Operation ival-div, time spent: 4.0ms, 9.0% of total-time
Operation ival-sub, time spent: 4.0ms, 9.0% of total-time
Operation ival-neg, time spent: 4.0ms, 9.0% of total-time
Operation ival-add, time spent: 3.0ms, 6.0% of total-time
Operation const, time spent: 1.0ms, 2.0% of total-time

series3.0ms (0.1%)

Counts
3 → 24
Calls

9 calls:

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

rewrite140.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
110×associate-*r*
108×times-frac
80×add-exp-log
80×add-log-exp
80×add-cube-cbrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01242
117442
2342442
Stop Event
unsound
Counts
3 → 30
Calls
Call 1
Inputs
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
-2
-1
0
1/2
1
3/2
2
3
4
5
-2
-1
0
1/2
1
3/2
2
3
4
5
-2
-1
0
1/2
1
3/2
2
3
4
5

simplify106.0ms (2%)

Algorithm
egg-herbie
Rules
1396×fma-def
1008×unswap-sqr
912×associate-*r*
740×associate-*l*
520×distribute-rgt-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
061822
1142817
2334811
3964807
43187807
55283807
67064807
Stop Event
node limit
Counts
54 → 53
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x))))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
x
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
2
(+.f64 2 (pow.f64 x 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
-2
-1
0
1/2
1
3/2
2
3
4
5
-2
-1
0
1/2
1
3/2
2
3
4
5
-2
-1
0
1/2
1
3/2
2
3
4
5
Outputs
(*.f64 2 x)
(+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x))
(fma.f64 1/3 (pow.f64 x 3) (*.f64 2 x))
(fma.f64 2 x (*.f64 1/3 (pow.f64 x 3)))
(+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))
(fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/3 (pow.f64 x 3) (*.f64 2 x)))
(fma.f64 1/60 (pow.f64 x 5) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3))))
(fma.f64 2 x (fma.f64 1/3 (pow.f64 x 3) (*.f64 1/60 (pow.f64 x 5))))
(+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x))))
(fma.f64 1/2520 (pow.f64 x 7) (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/3 (pow.f64 x 3) (*.f64 2 x))))
(fma.f64 1/2520 (pow.f64 x 7) (fma.f64 1/60 (pow.f64 x 5) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3)))))
(fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (fma.f64 2 x (*.f64 1/3 (pow.f64 x 3)))))
(fma.f64 2 x (fma.f64 1/3 (pow.f64 x 3) (fma.f64 1/60 (pow.f64 x 5) (*.f64 1/2520 (pow.f64 x 7)))))
(fma.f64 1/3 (pow.f64 x 3) (fma.f64 1/60 (pow.f64 x 5) (fma.f64 1/2520 (pow.f64 x 7) (*.f64 2 x))))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(-.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
x
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(+.f64 x (*.f64 (pow.f64 x 3) -1/3))
(fma.f64 (pow.f64 x 3) -1/3 x)
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
(+.f64 x (fma.f64 -1/3 (pow.f64 x 3) (*.f64 (pow.f64 x 5) 2/15)))
(+.f64 (fma.f64 (pow.f64 x 3) -1/3 x) (*.f64 (pow.f64 x 5) 2/15))
(fma.f64 (pow.f64 x 3) -1/3 (fma.f64 (pow.f64 x 5) 2/15 x))
(fma.f64 (pow.f64 x 5) 2/15 (fma.f64 (pow.f64 x 3) -1/3 x))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 x (fma.f64 -1/3 (pow.f64 x 3) (fma.f64 -17/315 (pow.f64 x 7) (*.f64 (pow.f64 x 5) 2/15))))
(+.f64 (fma.f64 (pow.f64 x 3) -1/3 x) (fma.f64 (pow.f64 x 5) 2/15 (*.f64 (pow.f64 x 7) -17/315)))
(+.f64 x (fma.f64 (pow.f64 x 3) -1/3 (fma.f64 (pow.f64 x 5) 2/15 (*.f64 (pow.f64 x 7) -17/315))))
(fma.f64 (pow.f64 x 3) -1/3 (fma.f64 (pow.f64 x 5) 2/15 (fma.f64 (pow.f64 x 7) -17/315 x)))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
2
(+.f64 2 (pow.f64 x 2))
(fma.f64 x x 2)
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2)))
(fma.f64 x x (fma.f64 1/12 (pow.f64 x 4) 2))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 4)) (pow.f64 x 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 x 6) (fma.f64 1/12 (pow.f64 x 4) (pow.f64 x 2))))
(fma.f64 1/360 (pow.f64 x 6) (fma.f64 x x (fma.f64 1/12 (pow.f64 x 4) 2)))
(fma.f64 x x (fma.f64 1/12 (pow.f64 x 4) (fma.f64 1/360 (pow.f64 x 6) 2)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
(+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
-2
-1
0
1/2
1
3/2
2
3
4
5
-2
-1
0
1/2
1
3/2
2
3
4
5
-2
-1
0
1/2
1
3/2
2
3
4
5

eval15.0ms (0.3%)

Compiler

Compiled 782 to 418 computations (46.5% saved)

prune10.0ms (0.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New48553
Fresh000
Picked011
Done000
Total48654
Accuracy
97.9%
Counts
54 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
9.4%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
97.7%
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
97.5%
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
97.5%
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
97.0%
(+.f64 x (*.f64 (pow.f64 x 3) -1/3))
96.4%
x
Compiler

Compiled 160 to 121 computations (24.4% saved)

localize415.0ms (7.6%)

Localize:

Found 12 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5))))
99.9%
(*.f64 -17/315 (pow.f64 x 7))
99.9%
(*.f64 2/15 (pow.f64 x 5))
99.8%
(*.f64 -1/3 (pow.f64 x 3))
100.0%
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5)))
99.9%
(*.f64 2/15 (pow.f64 x 5))
99.8%
(*.f64 -1/3 (pow.f64 x 3))
99.8%
(*.f64 (pow.f64 x 3) -1/3)
100.0%
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
99.9%
(*.f64 1/2520 (pow.f64 x 7))
99.9%
(*.f64 1/60 (pow.f64 x 5))
99.8%
(*.f64 1/3 (pow.f64 x 3))
Compiler

Compiled 265 to 197 computations (25.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 218.0ms
Operation ival-pow, time spent: 105.0ms, 48.0% of total-time
Operation ival-mult, time spent: 63.0ms, 29.0% of total-time
Operation ival-add, time spent: 29.0ms, 13.0% of total-time
Operation const, time spent: 13.0ms, 6.0% of total-time
Operation ival-exp, time spent: 5.0ms, 2.0% of total-time
Operation ival-div, time spent: 2.0ms, 1.0% of total-time
Operation ival-neg, time spent: 1.0ms, 0.0% of total-time

series19.0ms (0.4%)

Counts
12 → 33
Calls

36 calls:

TimeVariablePointExpression
6.0ms
x
@-inf
(*.f64 2/15 (pow.f64 x 5))
2.0ms
x
@0
(*.f64 -17/315 (pow.f64 x 7))
1.0ms
x
@inf
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
1.0ms
x
@-inf
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
1.0ms
x
@inf
(*.f64 1/60 (pow.f64 x 5))

rewrite62.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
426×associate-*r*
286×prod-diff
278×associate-*l*
260×log1p-expm1-u
260×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038192
1578192
Stop Event
node limit
Counts
12 → 480
Calls
Call 1
Inputs
(*.f64 1/3 (pow.f64 x 3))
(*.f64 1/60 (pow.f64 x 5))
(*.f64 1/2520 (pow.f64 x 7))
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(*.f64 (pow.f64 x 3) -1/3)
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 2/15 (pow.f64 x 5))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5)))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 2/15 (pow.f64 x 5))
(*.f64 -17/315 (pow.f64 x 7))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5))))
Outputs
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14

simplify131.0ms (2.4%)

Algorithm
egg-herbie
Rules
1894×times-frac
1530×fma-neg
1294×fma-def
1190×associate-*r*
866×associate-/r/
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0931917
12041913
23451909
36941905
413511859
536461859
651991853
763851853
Stop Event
node limit
Counts
513 → 89
Calls
Call 1
Inputs
x
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
(*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (+.f64 (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (*.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (+.f64 (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (*.f64 2 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))))
(*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (+.f64 (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (*.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))))))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (+.f64 (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (*.f64 2 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))))))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 2/15 (pow.f64 x 5))
(*.f64 2/15 (pow.f64 x 5))
(*.f64 -1/3 (pow.f64 x 3))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5)))
(*.f64 -17/315 (pow.f64 x 7))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))
(*.f64 -17/315 (pow.f64 x 7))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
Outputs
x
(+.f64 x (*.f64 -1/3 (pow.f64 x 3)))
(fma.f64 -1/3 (pow.f64 x 3) x)
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
(+.f64 x (fma.f64 -1/3 (pow.f64 x 3) (*.f64 2/15 (pow.f64 x 5))))
(+.f64 (fma.f64 -1/3 (pow.f64 x 3) x) (*.f64 2/15 (pow.f64 x 5)))
(fma.f64 -1/3 (pow.f64 x 3) (fma.f64 2/15 (pow.f64 x 5) x))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 x (fma.f64 -1/3 (pow.f64 x 3) (fma.f64 -17/315 (pow.f64 x 7) (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 (fma.f64 -1/3 (pow.f64 x 3) x) (fma.f64 -17/315 (pow.f64 x 7) (*.f64 2/15 (pow.f64 x 5))))
(fma.f64 -1/3 (pow.f64 x 3) (fma.f64 2/15 (pow.f64 x 5) (fma.f64 -17/315 (pow.f64 x 7) x)))
(fma.f64 -1/3 (pow.f64 x 3) (fma.f64 -17/315 (pow.f64 x 7) (fma.f64 2/15 (pow.f64 x 5) x)))
(*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(/.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (*.f64 (pow.f64 x 7) 1/2520) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (pow.f64 x 7) (/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2520))
(*.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(/.f64 1/2520 (/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (pow.f64 x 7)))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (*.f64 (pow.f64 x 7) 1/2520) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (pow.f64 x 7) (/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2520)))
(fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 1/2520 (/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (pow.f64 x 7))))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (+.f64 (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (*.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (/.f64 1/3 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (pow.f64 x 3))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (pow.f64 x 3) (/.f64 1/3 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(fma.f64 (pow.f64 x 3) (/.f64 1/3 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(fma.f64 (pow.f64 x 3) (/.f64 1/3 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 1/2520 (/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (pow.f64 x 7)))))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (+.f64 (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))) (*.f64 2 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (*.f64 2 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (*.f64 x 2) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 (*.f64 1/3 (*.f64 x x)) 2))))
(fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 2 (*.f64 1/3 (*.f64 x x))))))
(fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) 1/3)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))))
(/.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (*.f64 (pow.f64 x 7) 1/2520) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (pow.f64 x 7) (/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2520))
(*.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(/.f64 1/2520 (/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (pow.f64 x 7)))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (*.f64 (pow.f64 x 7) 1/2520) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))
(fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (pow.f64 x 7) (/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) 1/2520)))
(fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 1/2520 (/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (pow.f64 x 7))))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (+.f64 (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (*.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x)))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (*.f64 1/3 (pow.f64 x 3)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (*.f64 (pow.f64 x 3) 1/3) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (/.f64 1/3 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (pow.f64 x 3))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (pow.f64 x 3) (/.f64 1/3 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(fma.f64 (pow.f64 x 3) (/.f64 1/3 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(fma.f64 (pow.f64 x 3) (/.f64 1/3 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 1/2520 (/.f64 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (pow.f64 x 7)))))
(+.f64 (*.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (+.f64 (*.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (+.f64 (*.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))) (*.f64 2 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (*.f64 -1 x))))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (*.f64 2 x) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(fma.f64 1/2520 (/.f64 (pow.f64 x 7) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/60 (/.f64 (pow.f64 x 5) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 1/3 (/.f64 (pow.f64 x 3) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (*.f64 x 2) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))))))
(fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 (*.f64 1/3 (*.f64 x x)) 2))))
(fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (*.f64 (/.f64 x (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (+.f64 2 (*.f64 1/3 (*.f64 x x))))))
(fma.f64 (pow.f64 x 5) (/.f64 1/60 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (fma.f64 (pow.f64 x 7) (/.f64 1/2520 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))) (/.f64 (+.f64 (*.f64 x 2) (*.f64 (pow.f64 x 3) 1/3)) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 -1/3 (pow.f64 x 3))
(*.f64 2/15 (pow.f64 x 5))
(*.f64 2/15 (pow.f64 x 5))
(*.f64 -1/3 (pow.f64 x 3))
(+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5)))
(fma.f64 -1/3 (pow.f64 x 3) (*.f64 2/15 (pow.f64 x 5)))
(*.f64 -17/315 (pow.f64 x 7))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))
(fma.f64 -17/315 (pow.f64 x 7) (*.f64 2/15 (pow.f64 x 5)))
(fma.f64 2/15 (pow.f64 x 5) (*.f64 -17/315 (pow.f64 x 7)))
(*.f64 -17/315 (pow.f64 x 7))
(+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))
(fma.f64 -17/315 (pow.f64 x 7) (*.f64 2/15 (pow.f64 x 5)))
(fma.f64 2/15 (pow.f64 x 5) (*.f64 -17/315 (pow.f64 x 7)))
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14
-4
-2
-1
-1/2
-1/3
-2/15
-17/315
-1/27
-4913/31255875
0
1/16003008000
1/6350400
1/216000
1/3600
1/2520
8/3375
289/99225
1/60
4/225
1/27
1/9
2/15
1/3
1/2
3/4
1
5/4
3/2
7/4
2
5/2
3
7/2
4
5
6
7
8
10
14

eval33.0ms (0.6%)

Compiler

Compiled 2057 to 1175 computations (42.9% saved)

prune22.0ms (0.4%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New89089
Fresh000
Picked055
Done011
Total89695
Accuracy
97.9%
Counts
95 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
9.4%
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
97.7%
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
97.5%
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
97.5%
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
97.0%
(+.f64 x (*.f64 (pow.f64 x 3) -1/3))
96.4%
x
Compiler

Compiled 169 to 119 computations (29.6% saved)

regimes6.0ms (0.1%)

Counts
6 → 1
Calls
Call 1
Inputs
x
(+.f64 x (*.f64 (pow.f64 x 3) -1/3))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Outputs
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Calls

2 calls:

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

Compiled 16 to 8 computations (50% saved)

regimes7.0ms (0.1%)

Counts
5 → 1
Calls
Call 1
Inputs
x
(+.f64 x (*.f64 (pow.f64 x 3) -1/3))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
(/.f64 (-.f64 (exp.f64 x) (exp.f64 (neg.f64 x))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Outputs
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
Calls

2 calls:

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

Compiled 16 to 8 computations (50% saved)

regimes3.0ms (0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
x
(+.f64 x (*.f64 (pow.f64 x 3) -1/3))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
Outputs
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
97.5%1x
Compiler

Compiled 2 to 1 computations (50% saved)

regimes3.0ms (0%)

Counts
2 → 1
Calls
Call 1
Inputs
x
(+.f64 x (*.f64 (pow.f64 x 3) -1/3))
Outputs
(+.f64 x (*.f64 (pow.f64 x 3) -1/3))
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
97.0%1x
Compiler

Compiled 2 to 1 computations (50% saved)

regimes2.0ms (0%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
x
Outputs
x
Calls

1 calls:

2.0ms
x
Results
AccuracySegmentsBranch
96.4%1x
Compiler

Compiled 2 to 1 computations (50% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
22×+-commutative
16×*-commutative
sub-neg
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041245
163245
265245
366245
Stop Event
done
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
(+.f64 x (*.f64 (pow.f64 x 3) -1/3))
x
Outputs
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 2 x)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 (+.f64 (*.f64 1/2520 (pow.f64 x 7)) (+.f64 (*.f64 1/60 (pow.f64 x 5)) (+.f64 (*.f64 1/3 (pow.f64 x 3)) (*.f64 x 2)))) (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (+.f64 (*.f64 -17/315 (pow.f64 x 7)) (*.f64 2/15 (pow.f64 x 5)))))
(+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/3) (+.f64 (*.f64 (pow.f64 x 7) -17/315) (*.f64 (pow.f64 x 5) 2/15))))
(+.f64 x (+.f64 (*.f64 -1/3 (pow.f64 x 3)) (*.f64 2/15 (pow.f64 x 5))))
(+.f64 x (+.f64 (*.f64 (pow.f64 x 3) -1/3) (*.f64 (pow.f64 x 5) 2/15)))
(+.f64 x (*.f64 (pow.f64 x 3) -1/3))
x
Compiler

Compiled 73 to 57 computations (21.9% saved)

soundness126.0ms (2.3%)

Rules
1396×fma-def
1008×unswap-sqr
912×associate-*r*
740×associate-*l*
520×distribute-rgt-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
061822
1142817
2334811
3964807
43187807
55283807
67064807
Stop Event
node limit
Compiler

Compiled 15 to 11 computations (26.7% saved)

end0.0ms (0%)

preprocess76.0ms (1.4%)

Remove

(negabs x)

Compiler

Compiled 514 to 396 computations (23% saved)

Profiling

Loading profile data...