Hyperbolic secant

Time bar (total: 2.6s)

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 10 to 8 computations (20% 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-exp, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time
Operation ival-neg, time spent: 0.0ms, 0.0% of total-time

sample889.0ms (34.2%)

Results
814.0ms8255×256valid
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 313.0ms
Operation ival-exp, time spent: 139.0ms, 44.0% of total-time
Operation ival-div, time spent: 69.0ms, 22.0% of total-time
Operation ival-add, time spent: 51.0ms, 16.0% of total-time
Operation ival-neg, time spent: 40.0ms, 13.0% of total-time
Operation const, time spent: 14.0ms, 4.0% of total-time
Bogosity

preprocess142.0ms (5.5%)

Algorithm
egg-herbie
Rules
80×fma-neg
80×fma-define
48×sub-neg
28×distribute-lft-neg-in
28×cancel-sign-sub-inv
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
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)))
00-0-(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
00-0-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017124
135124
267124
3113124
4170124
5231124
6286124
7302124
8309124
9320124
10332124
11334124
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))))
(neg.f64 (/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x))))))
Outputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x)))))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(neg.f64 (/.f64 2 (+.f64 (exp.f64 (neg.f64 x)) (exp.f64 (neg.f64 (neg.f64 x))))))
(/.f64 -2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Symmetry

(abs x)

Compiler

Compiled 59 to 25 computations (57.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
Operation ival-add, time spent: 11.0ms, 42.0% of total-time
Operation ival-exp, time spent: 8.0ms, 30.0% of total-time
Operation ival-div, time spent: 4.0ms, 15.0% of total-time
Operation ival-neg, time spent: 2.0ms, 8.0% of total-time
Operation const, time spent: 1.0ms, 4.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
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 9 to 7 computations (22.2% saved)

localize36.0ms (1.4%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Compiler

Compiled 25 to 9 computations (64% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
Operation ival-exp, time spent: 5.0ms, 46.0% of total-time
Operation ival-div, time spent: 2.0ms, 18.0% of total-time
Operation ival-add, time spent: 2.0ms, 18.0% of total-time
Operation const, time spent: 1.0ms, 9.0% of total-time
Operation ival-neg, time spent: 1.0ms, 9.0% of total-time

series6.0ms (0.2%)

Counts
2 → 16
Calls

6 calls:

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

rewrite137.0ms (5.3%)

Algorithm
batch-egg-rewrite
Rules
94×associate-*r*
62×add-exp-log
62×add-log-exp
62×log1p-expm1-u
62×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01240
114440
2234340
Stop Event
unsound
Counts
2 → 20
Calls
Call 1
Inputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Outputs
-4
-2
-1
0
1/2
1
3/2
2
3
4
-4
-2
-1
0
1/2
1
3/2
2
3
4

eval8.0ms (0.3%)

Compiler

Compiled 199 to 164 computations (17.6% saved)

prune10.0ms (0.4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New28836
Fresh000
Picked011
Done000
Total28937
Accuracy
100.0%
Counts
37 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
79.5%
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
11.9%
(/.f64 2 3)
52.9%
(+.f64 1 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) (+.f64 5/24 (*.f64 -61/720 (pow.f64 x 2)))) 1/2)))
52.9%
(+.f64 1 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 5/24 (pow.f64 x 2)) 1/2)))
52.8%
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
52.8%
1
11.4%
1/2
48.5%
0
Compiler

Compiled 129 to 113 computations (12.4% saved)

localize184.0ms (7.1%)

Localize:

Found 6 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 5/24 (*.f64 -61/720 (pow.f64 x 2)))
99.9%
(*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) (+.f64 5/24 (*.f64 -61/720 (pow.f64 x 2)))) 1/2))
99.8%
(*.f64 (pow.f64 x 2) (+.f64 5/24 (*.f64 -61/720 (pow.f64 x 2))))
99.7%
(*.f64 -61/720 (pow.f64 x 2))
100.0%
(*.f64 -1/2 (pow.f64 x 2))
99.4%
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
Compiler

Compiled 121 to 99 computations (18.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 88.0ms
Operation ival-pow, time spent: 33.0ms, 37.0% of total-time
Operation ival-mult, time spent: 29.0ms, 33.0% of total-time
Operation ival-add, time spent: 13.0ms, 15.0% of total-time
Operation const, time spent: 7.0ms, 8.0% of total-time
Operation ival-sub, time spent: 4.0ms, 5.0% of total-time
Operation ival-div, time spent: 2.0ms, 2.0% of total-time

series14.0ms (0.5%)

Counts
6 → 40
Calls

18 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(*.f64 -61/720 (pow.f64 x 2))
1.0ms
x
@inf
(*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) (+.f64 5/24 (*.f64 -61/720 (pow.f64 x 2)))) 1/2))
1.0ms
x
@inf
(*.f64 (pow.f64 x 2) (+.f64 5/24 (*.f64 -61/720 (pow.f64 x 2))))
1.0ms
x
@inf
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
1.0ms
x
@0
(/.f64 2 (+.f64 2 (pow.f64 x 2)))

rewrite144.0ms (5.6%)

Algorithm
batch-egg-rewrite
Rules
829×log1p-expm1-u
829×expm1-log1p-u
752×fma-define
738×prod-diff
440×log1p-undefine
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
019167
1268154
23707154
Stop Event
node limit
Counts
6 → 163
Calls
Call 1
Inputs
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
(*.f64 -1/2 (pow.f64 x 2))
(*.f64 -61/720 (pow.f64 x 2))
(*.f64 (pow.f64 x 2) (+.f64 5/24 (*.f64 -61/720 (pow.f64 x 2))))
(*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) (+.f64 5/24 (*.f64 -61/720 (pow.f64 x 2)))) 1/2))
(+.f64 5/24 (*.f64 -61/720 (pow.f64 x 2)))
Outputs
(-.f64 (exp.f64 (log1p.f64 (/.f64 2 (fma.f64 x x 2)))) 1)
(*.f64 2 (/.f64 1 (fma.f64 x x 2)))
(*.f64 (/.f64 2 (fma.f64 x x 2)) 1)
(*.f64 1 (/.f64 2 (fma.f64 x x 2)))
(*.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 2) (cbrt.f64 (/.f64 2 (fma.f64 x x 2))))
(*.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2))) (sqrt.f64 (/.f64 2 (fma.f64 x x 2))))
(*.f64 -2 (/.f64 1 (neg.f64 (fma.f64 x x 2))))
(*.f64 (/.f64 1 (fma.f64 x x 2)) 2)
(*.f64 (/.f64 2 (+.f64 8 (pow.f64 x 6))) (fma.f64 (pow.f64 x 2) (fma.f64 x x -2) 4))
(*.f64 (/.f64 2 (-.f64 4 (pow.f64 x 4))) (-.f64 2 (pow.f64 x 2)))
(pow.f64 (/.f64 2 (fma.f64 x x 2)) 1)
(pow.f64 (cbrt.f64 (/.f64 2 (fma.f64 x x 2))) 3)
(pow.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3) 1/3)
(pow.f64 (sqrt.f64 (/.f64 2 (fma.f64 x x 2))) 2)
(pow.f64 (*.f64 (fma.f64 x x 2) 1/2) -1)
(neg.f64 (/.f64 -2 (fma.f64 x x 2)))
(sqrt.f64 (/.f64 4 (pow.f64 (fma.f64 x x 2) 2)))
(log.f64 (exp.f64 (/.f64 2 (fma.f64 x x 2))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 2 (fma.f64 x x 2)))))
(cbrt.f64 (pow.f64 (/.f64 2 (fma.f64 x x 2)) 3))
(expm1.f64 (log1p.f64 (/.f64 2 (fma.f64 x x 2))))
(log1p.f64 (expm1.f64 (/.f64 2 (fma.f64 x x 2))))
(exp.f64 (log.f64 (/.f64 2 (fma.f64 x x 2))))
(exp.f64 (*.f64 (log.f64 (/.f64 2 (fma.f64 x x 2))) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 x 2) -1/2))) 1)
(pow.f64 (*.f64 (pow.f64 x 2) -1/2) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 2) -1/2)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 2) -1/2) 3) 1/3)
(pow.f64 (*.f64 x (sqrt.f64 -1/2)) 2)
(sqrt.f64 (*.f64 (pow.f64 x 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 2)) -1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 x 2) -1/2))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 2) -1/2) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 2) -1/2)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 2) -1/2)))
(exp.f64 (fma.f64 2 (log.f64 x) (log.f64 -1/2)))
(exp.f64 (*.f64 (fma.f64 2 (log.f64 x) (log.f64 -1/2)) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 x 2) -61/720))) 1)
(pow.f64 (*.f64 (pow.f64 x 2) -61/720) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 2) -61/720)) 3)
(pow.f64 (*.f64 (pow.f64 x 6) -226981/373248000) 1/3)
(pow.f64 (*.f64 x (sqrt.f64 -61/720)) 2)
(sqrt.f64 (*.f64 (pow.f64 x 4) 3721/518400))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 2)) -61/720))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 x 2) -61/720))))
(cbrt.f64 (*.f64 (pow.f64 x 6) -226981/373248000))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 2) -61/720)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 2) -61/720)))
(exp.f64 (fma.f64 2 (log.f64 x) (log.f64 -61/720)))
(exp.f64 (*.f64 (fma.f64 2 (log.f64 x) (log.f64 -61/720)) 1))
(+.f64 (*.f64 -61/720 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) 5/24))
(+.f64 (*.f64 (pow.f64 x 2) 5/24) (*.f64 -61/720 (pow.f64 x 4)))
(+.f64 (*.f64 (*.f64 (pow.f64 x 2) 5/24) 1) (*.f64 (*.f64 -61/720 (pow.f64 x 4)) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 x 2) 5/24) 3) (pow.f64 (*.f64 -61/720 (pow.f64 x 4)) 3)) (fma.f64 (*.f64 (pow.f64 x 2) 5/24) (*.f64 (pow.f64 x 2) 5/24) (-.f64 (*.f64 (*.f64 -61/720 (pow.f64 x 4)) (*.f64 -61/720 (pow.f64 x 4))) (*.f64 (*.f64 (pow.f64 x 2) 5/24) (*.f64 -61/720 (pow.f64 x 4))))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 x 2) 5/24) (*.f64 (pow.f64 x 2) 5/24)) (*.f64 (*.f64 -61/720 (pow.f64 x 4)) (*.f64 -61/720 (pow.f64 x 4)))) (-.f64 (*.f64 (pow.f64 x 2) 5/24) (*.f64 -61/720 (pow.f64 x 4))))
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 6) -226981/373248000 125/13824)) (fma.f64 (*.f64 (pow.f64 x 2) -61/720) (fma.f64 (pow.f64 x 2) -61/720 -5/24) 25/576))
(/.f64 (*.f64 (pow.f64 x 2) (-.f64 25/576 (*.f64 (pow.f64 x 4) 3721/518400))) (+.f64 5/24 (*.f64 61/720 (pow.f64 x 2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 x 6) -226981/373248000 125/13824) (pow.f64 x 2)) (fma.f64 (*.f64 (pow.f64 x 2) -61/720) (fma.f64 (pow.f64 x 2) -61/720 -5/24) 25/576))
(/.f64 (*.f64 (-.f64 25/576 (*.f64 (pow.f64 x 4) 3721/518400)) (pow.f64 x 2)) (+.f64 5/24 (*.f64 61/720 (pow.f64 x 2))))
(pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24))) 3)
(pow.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 3) (pow.f64 x 6)) 1/3)
(pow.f64 (*.f64 x (sqrt.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24))) 2)
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24)) 2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 2)) (fma.f64 (pow.f64 x 2) -61/720 5/24)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24)))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 3) (pow.f64 x 6)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24))))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24))) 1))
(fma.f64 x (*.f64 x (*.f64 (pow.f64 x 2) -61/720)) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 x (*.f64 x 5/24) (*.f64 -61/720 (pow.f64 x 4)))
(fma.f64 (pow.f64 x 2) (*.f64 (pow.f64 x 2) -61/720) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))
(fma.f64 -61/720 (pow.f64 x 4) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (*.f64 (pow.f64 x 2) -61/720) (pow.f64 x 2) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 5/24 (pow.f64 x 2) (*.f64 -61/720 (pow.f64 x 4)))
(fma.f64 1 (*.f64 -61/720 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 1 (*.f64 (pow.f64 x 2) 5/24) (*.f64 -61/720 (pow.f64 x 4)))
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (pow.f64 x 2) -61/720)) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (*.f64 (pow.f64 (cbrt.f64 x) 2) 5/24) (*.f64 -61/720 (pow.f64 x 4)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 3721/518400)) (*.f64 (cbrt.f64 (*.f64 (pow.f64 x 2) -61/720)) (pow.f64 x 2)) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (pow.f64 x 4) -61/720 (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (*.f64 x (sqrt.f64 -61/720)) (*.f64 (*.f64 x (sqrt.f64 -61/720)) (pow.f64 x 2)) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (*.f64 (pow.f64 x 2) 5/24) 1 (*.f64 (*.f64 -61/720 (pow.f64 x 4)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 -61/720 (pow.f64 x 4))) (cbrt.f64 (*.f64 -61/720 (pow.f64 x 4)))) (cbrt.f64 (*.f64 -61/720 (pow.f64 x 4))) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 x 2) 5/24)) (cbrt.f64 (*.f64 (pow.f64 x 2) 5/24))) (cbrt.f64 (*.f64 (pow.f64 x 2) 5/24)) (*.f64 -61/720 (pow.f64 x 4)))
(fma.f64 (sqrt.f64 (*.f64 -61/720 (pow.f64 x 4))) (sqrt.f64 (*.f64 -61/720 (pow.f64 x 4))) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 x 2) 5/24)) (sqrt.f64 (*.f64 (pow.f64 x 2) 5/24)) (*.f64 -61/720 (pow.f64 x 4)))
(fma.f64 (*.f64 x (*.f64 x (sqrt.f64 -61/720))) (*.f64 x (*.f64 x (sqrt.f64 -61/720))) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (*.f64 (*.f64 x (sqrt.f64 -61/720)) x) (*.f64 (*.f64 x (sqrt.f64 -61/720)) x) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (*.f64 (pow.f64 x 2) (cbrt.f64 (*.f64 (pow.f64 x 4) 3721/518400))) (cbrt.f64 (*.f64 (pow.f64 x 2) -61/720)) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (*.f64 (pow.f64 x 2) (*.f64 x (sqrt.f64 -61/720))) (*.f64 x (sqrt.f64 -61/720)) (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (*.f64 5/24 x) x (*.f64 -61/720 (pow.f64 x 4)))
(fma.f64 (*.f64 5/24 (cbrt.f64 (pow.f64 x 4))) (pow.f64 (cbrt.f64 x) 2) (*.f64 -61/720 (pow.f64 x 4)))
(fma.f64 (*.f64 (*.f64 (pow.f64 x 2) -61/720) x) x (*.f64 (pow.f64 x 2) 5/24))
(fma.f64 (*.f64 (*.f64 (pow.f64 x 2) -61/720) (cbrt.f64 (pow.f64 x 4))) (pow.f64 (cbrt.f64 x) 2) (*.f64 (pow.f64 x 2) 5/24))
(+.f64 (*.f64 (pow.f64 x 2) (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24))) (*.f64 (pow.f64 x 2) -1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24)) (pow.f64 x 2)) (*.f64 (pow.f64 x 2) -1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))))) 1)
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 3) (pow.f64 x 6) -1/8)) (fma.f64 (pow.f64 x 4) (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 2) (fma.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) (*.f64 (pow.f64 x 2) 1/2) 1/4)))
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 4) (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 2) -1/4)) (fma.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24) 1/2))
(/.f64 (*.f64 (fma.f64 (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 3) (pow.f64 x 6) -1/8) (pow.f64 x 2)) (fma.f64 (pow.f64 x 4) (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 2) (fma.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) (*.f64 (pow.f64 x 2) 1/2) 1/4)))
(/.f64 (*.f64 (fma.f64 (pow.f64 x 4) (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 2) -1/4) (pow.f64 x 2)) (fma.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24) 1/2))
(pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))) 3) 1/3)
(pow.f64 (*.f64 x (sqrt.f64 (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))) 2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 2)) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))) 3))
(cbrt.f64 (*.f64 (pow.f64 x 6) (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)) 3) (pow.f64 x 6)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))) 1))
(fma.f64 (pow.f64 x 2) (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24)) (*.f64 (pow.f64 x 2) -1/2))
(fma.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) -61/720 5/24)) (pow.f64 x 2) (*.f64 (pow.f64 x 2) -1/2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24))) 1)
(-.f64 (/.f64 25/576 (+.f64 5/24 (*.f64 61/720 (pow.f64 x 2)))) (/.f64 (*.f64 (pow.f64 x 4) 3721/518400) (+.f64 5/24 (*.f64 61/720 (pow.f64 x 2)))))
(*.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 1)
(*.f64 1 (fma.f64 (pow.f64 x 2) -61/720 5/24))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)) 2) (cbrt.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)) (sqrt.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)))
(*.f64 (fma.f64 (pow.f64 x 6) -226981/373248000 125/13824) (/.f64 1 (fma.f64 (*.f64 (pow.f64 x 2) -61/720) (fma.f64 (pow.f64 x 2) -61/720 -5/24) 25/576)))
(*.f64 (-.f64 25/576 (*.f64 (pow.f64 x 4) 3721/518400)) (/.f64 1 (+.f64 5/24 (*.f64 61/720 (pow.f64 x 2)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (pow.f64 x 2) -61/720) (fma.f64 (pow.f64 x 2) -61/720 -5/24) 25/576) (fma.f64 (pow.f64 x 6) -226981/373248000 125/13824)))
(/.f64 1 (/.f64 (+.f64 5/24 (*.f64 61/720 (pow.f64 x 2))) (-.f64 25/576 (*.f64 (pow.f64 x 4) 3721/518400))))
(/.f64 (fma.f64 (pow.f64 x 6) -226981/373248000 125/13824) (fma.f64 (*.f64 (pow.f64 x 2) -61/720) (fma.f64 (pow.f64 x 2) -61/720 -5/24) 25/576))
(/.f64 (fma.f64 (pow.f64 x 6) -226981/373248000 125/13824) (fma.f64 (pow.f64 x 4) 3721/518400 (-.f64 25/576 (*.f64 -61/3456 (pow.f64 x 2)))))
(/.f64 (-.f64 25/576 (*.f64 (pow.f64 x 4) 3721/518400)) (+.f64 5/24 (*.f64 61/720 (pow.f64 x 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x 6) -226981/373248000 125/13824)) (neg.f64 (fma.f64 (*.f64 (pow.f64 x 2) -61/720) (fma.f64 (pow.f64 x 2) -61/720 -5/24) 25/576)))
(/.f64 (neg.f64 (-.f64 25/576 (*.f64 (pow.f64 x 4) 3721/518400))) (neg.f64 (+.f64 5/24 (*.f64 61/720 (pow.f64 x 2)))))
(/.f64 (fma.f64 (pow.f64 x 4) 3721/518400 -25/576) (fma.f64 (pow.f64 x 2) -61/720 -5/24))
(pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 1)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)) 3)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)) 2)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24))))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24) 3))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)))
(exp.f64 (log.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 x 2) -61/720 5/24)) 1))
(fma.f64 x (*.f64 x -61/720) 5/24)
(fma.f64 (pow.f64 x 2) -61/720 5/24)
(fma.f64 -61/720 (pow.f64 x 2) 5/24)
(fma.f64 (*.f64 (pow.f64 x 2) -61/720) 1 5/24)
(fma.f64 1 (*.f64 (pow.f64 x 2) -61/720) 5/24)
(fma.f64 (cbrt.f64 (pow.f64 x 4)) (*.f64 (pow.f64 (cbrt.f64 x) 2) -61/720) 5/24)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 x 2) -61/720)) (cbrt.f64 (*.f64 (pow.f64 x 4) 3721/518400)) 5/24)
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 x 4) 3721/518400)) (cbrt.f64 (*.f64 (pow.f64 x 2) -61/720)) 5/24)
(fma.f64 (*.f64 x (sqrt.f64 -61/720)) (*.f64 x (sqrt.f64 -61/720)) 5/24)
(fma.f64 (*.f64 -61/720 x) x 5/24)
(fma.f64 (*.f64 -61/720 (cbrt.f64 (pow.f64 x 4))) (pow.f64 (cbrt.f64 x) 2) 5/24)

eval107.0ms (4.1%)

Compiler

Compiled 4031 to 3381 computations (16.1% saved)

prune31.0ms (1.2%)

Pruning

10 alts after pruning (5 fresh and 5 done)

PrunedKeptTotal
New2003203
Fresh123
Picked145
Done011
Total20210212
Accuracy
100.0%
Counts
212 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
29.9%
(/.f64 2 (pow.f64 x 2))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
79.5%
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
11.9%
(/.f64 2 3)
52.9%
(+.f64 1 (*.f64 (pow.f64 x 2) (-.f64 (fma.f64 (*.f64 5/24 x) x (*.f64 -61/720 (pow.f64 x 4))) 1/2)))
52.9%
(+.f64 1 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) 5/24) 1/2)))
52.8%
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
52.8%
1
11.4%
1/2
48.5%
0
Compiler

Compiled 119 to 101 computations (15.1% saved)

localize226.0ms (8.7%)

Localize:

Found 7 expressions with local error:

NewAccuracyProgram
99.9%
(*.f64 (pow.f64 x 2) (-.f64 (fma.f64 (*.f64 5/24 x) x (*.f64 -61/720 (pow.f64 x 4))) 1/2))
99.9%
(fma.f64 (*.f64 5/24 x) x (*.f64 -61/720 (pow.f64 x 4)))
99.8%
(*.f64 -61/720 (pow.f64 x 4))
99.5%
(*.f64 5/24 x)
99.3%
(/.f64 2 (pow.f64 x 2))
99.9%
(*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) 5/24) 1/2))
99.8%
(*.f64 (pow.f64 x 2) 5/24)
Compiler

Compiled 139 to 109 computations (21.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 121.0ms
Operation ival-mult, time spent: 39.0ms, 32.0% of total-time
Operation ival-pow, time spent: 36.0ms, 30.0% of total-time
Operation composed, time spent: 15.0ms, 12.0% of total-time
Operation ival-sub, time spent: 10.0ms, 8.0% of total-time
Operation ival-add, time spent: 9.0ms, 7.0% of total-time
Operation const, time spent: 8.0ms, 7.0% of total-time
Operation ival-div, time spent: 4.0ms, 3.0% of total-time

series15.0ms (0.6%)

Counts
7 → 48
Calls

21 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(*.f64 (pow.f64 x 2) 5/24)
1.0ms
x
@inf
(*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) 5/24) 1/2))
1.0ms
x
@0
(/.f64 2 (pow.f64 x 2))
1.0ms
x
@inf
(fma.f64 (*.f64 5/24 x) x (*.f64 -61/720 (pow.f64 x 4)))
1.0ms
x
@0
(*.f64 -61/720 (pow.f64 x 4))

rewrite148.0ms (5.7%)

Algorithm
batch-egg-rewrite
Rules
848×prod-diff
812×log1p-expm1-u
812×expm1-log1p-u
676×fma-define
468×log1p-undefine
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
022184
1290184
23683174
Stop Event
node limit
Counts
7 → 132
Calls
Call 1
Inputs
(*.f64 (pow.f64 x 2) 5/24)
(*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) 5/24) 1/2))
(/.f64 2 (pow.f64 x 2))
(*.f64 5/24 x)
(*.f64 -61/720 (pow.f64 x 4))
(fma.f64 (*.f64 5/24 x) x (*.f64 -61/720 (pow.f64 x 4)))
(*.f64 (pow.f64 x 2) (-.f64 (fma.f64 (*.f64 5/24 x) x (*.f64 -61/720 (pow.f64 x 4))) 1/2))
Outputs
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 x 2) 5/24))) 1)
(pow.f64 (*.f64 (pow.f64 x 2) 5/24) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 2) 5/24)) 3)
(pow.f64 (*.f64 (pow.f64 x 6) 125/13824) 1/3)
(pow.f64 (*.f64 x (sqrt.f64 5/24)) 2)
(sqrt.f64 (*.f64 (pow.f64 x 4) 25/576))
(log.f64 (pow.f64 (exp.f64 5/24) (pow.f64 x 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 x 2) 5/24))))
(cbrt.f64 (*.f64 (pow.f64 x 6) 125/13824))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 x 5/24) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 2) 5/24)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 2) 5/24)))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 2) 5/24)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) 5/24)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 x 5/24)) (log.f64 x)))
(+.f64 (*.f64 (pow.f64 x 2) (*.f64 (pow.f64 x 2) 5/24)) (*.f64 (pow.f64 x 2) -1/2))
(+.f64 (*.f64 (*.f64 (pow.f64 x 2) 5/24) (pow.f64 x 2)) (*.f64 -1/2 (pow.f64 x 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2)))) 1)
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 6) 125/13824 -1/8)) (fma.f64 (pow.f64 x 4) 25/576 (fma.f64 (pow.f64 x 2) 5/48 1/4)))
(/.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 4) 25/576 -1/4)) (fma.f64 (pow.f64 x 2) 5/24 1/2))
(/.f64 (*.f64 (fma.f64 (pow.f64 x 6) 125/13824 -1/8) (pow.f64 x 2)) (fma.f64 (pow.f64 x 4) 25/576 (fma.f64 (pow.f64 x 2) 5/48 1/4)))
(/.f64 (*.f64 (fma.f64 (pow.f64 x 4) 25/576 -1/4) (pow.f64 x 2)) (fma.f64 (pow.f64 x 2) 5/24 1/2))
(pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2)) 3) 1/3)
(pow.f64 (*.f64 x (sqrt.f64 (fma.f64 (pow.f64 x 2) 5/24 -1/2))) 2)
(sqrt.f64 (*.f64 (pow.f64 x 4) (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 -1/2) 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 2)) (fma.f64 (pow.f64 x 2) 5/24 -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 6) (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 -1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 -1/2) 3) (pow.f64 x 6)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2))))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 -1/2))) 1))
(fma.f64 (pow.f64 x 2) (*.f64 (pow.f64 x 2) 5/24) (*.f64 (pow.f64 x 2) -1/2))
(fma.f64 (*.f64 (pow.f64 x 2) 5/24) (pow.f64 x 2) (*.f64 -1/2 (pow.f64 x 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 2 (pow.f64 x -2)))) 1)
(*.f64 2 (pow.f64 x -2))
(*.f64 (*.f64 2 (pow.f64 x -2)) 1)
(*.f64 1 (*.f64 2 (pow.f64 x -2)))
(*.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) (cbrt.f64 (/.f64 4 (pow.f64 x 4))))
(*.f64 (cbrt.f64 (/.f64 4 (pow.f64 x 4))) (cbrt.f64 (*.f64 2 (pow.f64 x -2))))
(*.f64 (/.f64 (sqrt.f64 2) x) (/.f64 (sqrt.f64 2) x))
(*.f64 -2 (/.f64 1 (neg.f64 (pow.f64 x 2))))
(*.f64 (pow.f64 x -2) 2)
(pow.f64 (*.f64 2 (pow.f64 x -2)) 1)
(pow.f64 (cbrt.f64 (*.f64 2 (pow.f64 x -2))) 3)
(pow.f64 (pow.f64 (*.f64 2 (pow.f64 x -2)) 3) 1/3)
(pow.f64 (/.f64 (sqrt.f64 2) x) 2)
(pow.f64 (*.f64 (pow.f64 x 2) 1/2) -1)
(neg.f64 (/.f64 -2 (pow.f64 x 2)))
(sqrt.f64 (/.f64 4 (pow.f64 x 4)))
(log.f64 (pow.f64 (exp.f64 2) (pow.f64 x -2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 2 (pow.f64 x -2)))))
(cbrt.f64 (pow.f64 (*.f64 2 (pow.f64 x -2)) 3))
(expm1.f64 (log1p.f64 (*.f64 2 (pow.f64 x -2))))
(log1p.f64 (expm1.f64 (*.f64 2 (pow.f64 x -2))))
(exp.f64 (log.f64 (*.f64 2 (pow.f64 x -2))))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (pow.f64 x -2))) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x 5/24))) 1)
(pow.f64 (*.f64 x 5/24) 1)
(pow.f64 (cbrt.f64 (*.f64 x 5/24)) 3)
(pow.f64 (pow.f64 (*.f64 x 5/24) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x 5/24)) 2)
(sqrt.f64 (*.f64 (pow.f64 x 2) 25/576))
(log.f64 (pow.f64 (exp.f64 5/24) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x 5/24))))
(cbrt.f64 (pow.f64 (*.f64 x 5/24) 3))
(expm1.f64 (log1p.f64 (*.f64 x 5/24)))
(log1p.f64 (expm1.f64 (*.f64 x 5/24)))
(exp.f64 (log.f64 (*.f64 x 5/24)))
(exp.f64 (*.f64 (log.f64 (*.f64 x 5/24)) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -61/720 (pow.f64 x 4)))) 1)
(pow.f64 (*.f64 -61/720 (pow.f64 x 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 -61/720 (pow.f64 x 4))) 3)
(pow.f64 (pow.f64 (*.f64 -61/720 (pow.f64 x 4)) 3) 1/3)
(pow.f64 (*.f64 (pow.f64 x 2) (sqrt.f64 -61/720)) 2)
(sqrt.f64 (*.f64 (pow.f64 x 8) 3721/518400))
(log.f64 (pow.f64 (exp.f64 -61/720) (pow.f64 x 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -61/720 (pow.f64 x 4)))))
(cbrt.f64 (pow.f64 (*.f64 -61/720 (pow.f64 x 4)) 3))
(expm1.f64 (log1p.f64 (*.f64 -61/720 (pow.f64 x 4))))
(log1p.f64 (expm1.f64 (*.f64 -61/720 (pow.f64 x 4))))
(exp.f64 (fma.f64 4 (log.f64 x) (log.f64 -61/720)))
(exp.f64 (*.f64 (fma.f64 4 (log.f64 x) (log.f64 -61/720)) 1))
(+.f64 (*.f64 (pow.f64 x 2) 5/24) (*.f64 -61/720 (pow.f64 x 4)))
(+.f64 (*.f64 -61/720 (pow.f64 x 4)) (*.f64 (pow.f64 x 2) 5/24))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))))) 1)
(*.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 1)
(*.f64 1 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))) 2) (cbrt.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))) (sqrt.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))))
(/.f64 (fma.f64 (pow.f64 x 6) 125/13824 (pow.f64 (*.f64 -61/720 (pow.f64 x 4)) 3)) (fma.f64 (pow.f64 x 4) 25/576 (-.f64 (*.f64 (pow.f64 x 8) 3721/518400) (*.f64 (*.f64 (pow.f64 x 2) 5/24) (*.f64 -61/720 (pow.f64 x 4))))))
(/.f64 (-.f64 (*.f64 (pow.f64 x 4) 25/576) (*.f64 (pow.f64 x 8) 3721/518400)) (-.f64 (*.f64 (pow.f64 x 2) 5/24) (*.f64 -61/720 (pow.f64 x 4))))
(pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 1)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))) 3)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))) 2)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))))))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 3))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))))
(exp.f64 (log.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))) 1))
(+.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4)))) (*.f64 (pow.f64 x 2) -1/2))
(+.f64 (*.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) (pow.f64 x 2)) (*.f64 -1/2 (pow.f64 x 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))))) 1)
(/.f64 (*.f64 (pow.f64 x 2) (+.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 3) -1/8)) (+.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 2) (fma.f64 1/2 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 1/4)))
(/.f64 (*.f64 (pow.f64 x 2) (+.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 2) -1/4)) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) 1/2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 3) -1/8) (pow.f64 x 2)) (+.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 2) (fma.f64 1/2 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 1/4)))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) 2) -1/4) (pow.f64 x 2)) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) 1/2)))
(pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))) 3) 1/3)
(pow.f64 (*.f64 x (sqrt.f64 (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))) 2)
(sqrt.f64 (*.f64 (pow.f64 x 4) (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)) 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 x 2)) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2))) 3))
(cbrt.f64 (*.f64 (pow.f64 x 6) (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)) 3) (pow.f64 x 6)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))))
(exp.f64 (log.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (fma.f64 -61/720 (pow.f64 x 4) -1/2)))) 1))
(fma.f64 (pow.f64 x 2) (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) (*.f64 (pow.f64 x 2) -1/2))
(fma.f64 (fma.f64 (pow.f64 x 2) 5/24 (*.f64 -61/720 (pow.f64 x 4))) (pow.f64 x 2) (*.f64 -1/2 (pow.f64 x 2)))

eval79.0ms (3%)

Compiler

Compiled 3105 to 2617 computations (15.7% saved)

prune37.0ms (1.4%)

Pruning

10 alts after pruning (0 fresh and 10 done)

PrunedKeptTotal
New1800180
Fresh000
Picked055
Done055
Total18010190
Accuracy
100.0%
Counts
190 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
29.9%
(/.f64 2 (pow.f64 x 2))
100.0%
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
79.5%
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
11.9%
(/.f64 2 3)
52.9%
(+.f64 1 (*.f64 (pow.f64 x 2) (-.f64 (fma.f64 (*.f64 5/24 x) x (*.f64 -61/720 (pow.f64 x 4))) 1/2)))
52.9%
(+.f64 1 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) 5/24) 1/2)))
52.8%
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
52.8%
1
11.4%
1/2
48.5%
0
Compiler

Compiled 171 to 144 computations (15.8% saved)

regimes19.0ms (0.7%)

Counts
12 → 1
Calls
Call 1
Inputs
0
1/2
1
(/.f64 2 3)
(/.f64 2 (pow.f64 x 2))
(+.f64 1 (*.f64 -1/2 (pow.f64 x 2)))
(/.f64 2 (+.f64 2 (pow.f64 x 2)))
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
(+.f64 1 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 5/24 (pow.f64 x 2)) 1/2)))
(+.f64 1 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) 5/24) 1/2)))
(+.f64 1 (*.f64 (pow.f64 x 2) (-.f64 (fma.f64 (*.f64 5/24 x) x (*.f64 -61/720 (pow.f64 x 4))) 1/2)))
(+.f64 1 (*.f64 (pow.f64 x 2) (-.f64 (*.f64 (pow.f64 x 2) (+.f64 5/24 (*.f64 -61/720 (pow.f64 x 2)))) 1/2)))
Outputs
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Calls

3 calls:

13.0ms
x
2.0ms
(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
2.0ms
(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
Results
AccuracySegmentsBranch
100.0%1x
100.0%1(/.f64 2 (+.f64 (exp.f64 x) (exp.f64 (neg.f64 x))))
100.0%1(+.f64 (exp.f64 x) (exp.f64 (neg.f64 x)))
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes9.0ms (0.4%)

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

1 calls:

9.0ms
x
Results
AccuracySegmentsBranch
98.9%2x
Compiler

Compiled 2 to 1 computations (50% saved)

regimes12.0ms (0.5%)

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

1 calls:

12.0ms
x
Results
AccuracySegmentsBranch
98.7%2x
Compiler

Compiled 2 to 1 computations (50% saved)

regimes8.0ms (0.3%)

Counts
5 → 2
Calls
Call 1
Inputs
0
1/2
1
(/.f64 2 3)
(/.f64 2 (pow.f64 x 2))
Outputs
1
0
Calls

1 calls:

8.0ms
x
Results
AccuracySegmentsBranch
98.2%2x
Compiler

Compiled 2 to 1 computations (50% saved)

regimes9.0ms (0.3%)

Counts
2 → 2
Calls
Call 1
Inputs
0
1/2
Outputs
1/2
0
Calls

1 calls:

9.0ms
x
Results
AccuracySegmentsBranch
56.8%2x
Compiler

Compiled 2 to 1 computations (50% saved)

regimes3.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
0
Outputs
0
Calls

1 calls:

3.0ms
x
Results
AccuracySegmentsBranch
48.5%1x
Compiler

Compiled 2 to 1 computations (50% saved)

bsearch16.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
16.0ms
23.172211773014595
4989.799279029466
Results
13.0ms111×256valid
0.0ms256valid
Compiler

Compiled 97 to 87 computations (10.3% saved)

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

bsearch20.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
20.0ms
0.6234669718554128
13.118517080768891
Results
18.0ms111×256valid
0.0ms256valid
Compiler

Compiled 97 to 87 computations (10.3% saved)

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

bsearch15.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
15.0ms
23.172211773014595
4989.799279029466
Results
13.0ms111×256valid
0.0ms256valid
Compiler

Compiled 55 to 52 computations (5.5% saved)

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

bsearch17.0ms (0.7%)

Algorithm
binary-search
Stop Event
done
narrow-enough
Steps
TimeLeftRight
15.0ms
23.172211773014595
4989.799279029466
Results
13.0ms111×256valid
0.0ms256valid
Compiler

Compiled 106 to 95 computations (10.4% saved)

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

soundness202.0ms (7.8%)

Rules
94×associate-*r*
62×add-exp-log
62×add-log-exp
62×log1p-expm1-u
62×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01240
114440
2234340
Stop Event
unsound

end0.0ms (0%)

preprocess54.0ms (2.1%)

Remove

(abs x)

Compiler

Compiled 146 to 118 computations (19.2% saved)

Profiling

Loading profile data...