Details

Time bar (total: 11.8s)

analyze11.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%50%0%4
50%50%0%5
81.2%18.7%0%6
100%0%0%7
Compiler

Compiled 175 to 47 computations (73.1% saved)

sample2.0s (16.5%)

Results
1.9s8256×body128valid
Compiler

Compiled 524 to 140 computations (73.3% saved)

simplify67.0ms (0.6%)

Algorithm
egg-herbie
Rules
755×unswap-sqr_binary64
705×fma-def_binary64
691×distribute-rgt-out_binary64
576×+-commutative_binary64
488×*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
046256
1133150
2549101
3242790
4370584
5452984
6487484
7588784

prune8.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
27.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
27.3b
(*.f64 x (/.f64 (fma.f64 1789971/10000000000 (pow.f64 x 10) (fma.f64 2532017/5000000000 (pow.f64 x 8) (fma.f64 36322091/5000000000 (pow.f64 x 6) (fma.f64 106015151/2500000000 (pow.f64 x 4) (fma.f64 1049934947/10000000000 (*.f64 x x) 1))))) (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 (pow.f64 x 10) 1665589/2000000000 (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1))))))))
27.3b
(*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x)
Compiler

Compiled 704 to 274 computations (61.1% saved)

localize45.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))
0.3b
(*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))
13.0b
(*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x)
26.5b
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))

series31.0ms (0.3%)

Counts
4 → 48
Calls

4 calls:

14.0ms
(*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x)
9.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))
4.0ms
(*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))
4.0ms
(*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))

rewrite1.4s (11.9%)

Algorithm
rewrite-expression-head
Rules
717×add-cbrt-cube_binary64
717×add-exp-log_binary64
712×pow1_binary64
614×cbrt-unprod_binary64
614×prod-exp_binary64
Counts
4 → 379
Calls

4 calls:

540.0ms
(*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))
505.0ms
(*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))
105.0ms
(/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))
74.0ms
(*.f64 (/.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 7715471019/10000000000 (*.f64 x x))) (*.f64 2909738639/10000000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 694555761/10000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 70002721/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1665589/2000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 (*.f64 2 1789971/10000000000) (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) x)

simplify427.0ms (3.6%)

Algorithm
egg-herbie
Rules
571×associate-*r*_binary64
538×associate-*l*_binary64
455×fma-neg_binary64
215×unswap-sqr_binary64
195×*-commutative_binary64
Counts
427 → 384
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
060617619
181910154
2344110147
3498310147
4495810147

prune720.0ms (6.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New3822384
Fresh101
Picked101
Done000
Total3842386
Error
0b
Counts
386 → 2
Alt Table
StatusErrorProgram
27.3b
(*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x)
33.6b
(+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3)))
Compiler

Compiled 74337 to 19595 computations (73.6% saved)

localize57.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.6b
(sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))
13.0b
(*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x)
20.6b
(/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))
24.8b
(/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1))))))))

series46.0ms (0.4%)

Counts
4 → 48
Calls

4 calls:

16.0ms
(/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))
12.0ms
(sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))
9.0ms
(*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x)
9.0ms
(/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1))))))))

rewrite402.0ms (3.4%)

Algorithm
rewrite-expression-head
Rules
526×times-frac_binary64
306×add-sqr-sqrt_binary64
281×*-un-lft-identity_binary64
281×add-cube-cbrt_binary64
272×sqrt-prod_binary64
Counts
4 → 402
Calls

4 calls:

40.0ms
(*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x)
33.0ms
(/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1))))))))
26.0ms
(sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))))
3.0ms
(/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))

simplify1.4s (11.9%)

Algorithm
egg-herbie
Rules
371×fma-neg_binary64
321×*-commutative_binary64
287×associate-*r*_binary64
269×associate-*l*_binary64
267×associate-/r/_binary64
Counts
450 → 619
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
056372771
1143663219
2460263217
3491563217

prune3.8s (32.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New6190619
Fresh011
Picked011
Done000
Total6192621
Error
0b
Counts
621 → 2
Alt Table
StatusErrorProgram
27.3b
(*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x)
33.6b
(+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3)))
Compiler

Compiled 123615 to 67034 computations (45.8% saved)

localize5.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3)))
0.4b
(/.f64 600041/2386628 (pow.f64 x 3))

series6.0ms (0.1%)

Counts
2 → 12
Calls

2 calls:

3.0ms
(+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3)))
3.0ms
(/.f64 600041/2386628 (pow.f64 x 3))

rewrite34.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
47×times-frac_binary64
40×*-un-lft-identity_binary64
34×add-sqr-sqrt_binary64
34×add-cube-cbrt_binary64
13×fma-def_binary64
Counts
2 → 96
Calls

2 calls:

23.0ms
(+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3)))
6.0ms
(/.f64 600041/2386628 (pow.f64 x 3))

simplify75.0ms (0.6%)

Algorithm
egg-herbie
Rules
683×associate-*l*_binary64
353×associate-/l*_binary64
342×associate-*r/_binary64
342×associate-*l/_binary64
272×associate-/l/_binary64
Counts
108 → 112
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01291319
12421280
29651242
347061242
449471242

prune139.0ms (1.2%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1120112
Fresh000
Picked011
Done011
Total1122114
Error
0b
Counts
114 → 2
Alt Table
StatusErrorProgram
27.3b
(*.f64 (/.f64 (sqrt.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 1 (*.f64 1049934947/10000000000 (*.f64 x x))) (*.f64 106015151/2500000000 (*.f64 (*.f64 x x) (*.f64 x x)))) (*.f64 36322091/5000000000 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)))) (*.f64 2532017/5000000000 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)))) (*.f64 1789971/10000000000 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 x x) (*.f64 x x)) (*.f64 x x)) (*.f64 x x)) (*.f64 x x))))) (/.f64 (fma.f64 1789971/5000000000 (pow.f64 x 12) (fma.f64 1665589/2000000000 (pow.f64 x 10) (fma.f64 (pow.f64 x 8) 70002721/5000000000 (fma.f64 (pow.f64 x 6) 694555761/10000000000 (fma.f64 (pow.f64 x 4) 2909738639/10000000000 (fma.f64 (*.f64 x x) 7715471019/10000000000 1)))))) (sqrt.f64 (fma.f64 (pow.f64 x 10) 1789971/10000000000 (fma.f64 (pow.f64 x 8) 2532017/5000000000 (fma.f64 (pow.f64 x 6) 36322091/5000000000 (fma.f64 (pow.f64 x 4) 106015151/2500000000 (fma.f64 (*.f64 x x) 1049934947/10000000000 1)))))))) x)
33.6b
(+.f64 (/.f64 1/2 x) (/.f64 600041/2386628 (pow.f64 x 3)))
Compiler

Compiled 1966 to 1489 computations (24.3% saved)

regimes948.0ms (8%)

Accuracy

Total -0.0b remaining (-10.4%)

Threshold costs -0.0b (-10.4%)

Counts
124 → 3
Compiler

Compiled 19278 to 13290 computations (31.1% saved)

bsearch51.0ms (0.4%)

Steps
ItersRangePoint
3
2.7052058842937174e-11
859199.6711708462
7337.244956243336
4
-29461113174.98556
-3604731.7552016075
-188524467.3595718
Compiler

Compiled 2 to 1 computations (50% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053116
158116
257116

end189.0ms (1.6%)

Compiler

Compiled 311 to 203 computations (34.7% saved)

Profiling

Loading profile data...