Details

Time bar (total: 17.7s)

analyze2.8s (15.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0%99.7%0.3%11
0%99.7%0.3%12
0.8%98.9%0.3%13
1.2%98.5%0.3%14
Compiler

Compiled 44 to 31 computations (29.5% saved)

sample1.9s (10.9%)

Results
1.6s8256×body128valid
172.0ms940×body128invalid
Compiler

Compiled 131 to 92 computations (29.8% saved)

simplify82.0ms (0.5%)

Algorithm
egg-herbie
Rules
918×distribute-rgt-in_binary64
850×distribute-lft-in_binary64
677×associate-/l*_binary64
676×fma-def_binary64
633×associate-+l+_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03141
16341
213139
327439
472039
5184339
6243039
7285139
8346639
9413239
10459639
11513839

prune6.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
29.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
31.2b
(+.f64 x (/.f64 (*.f64 y (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 z 313060547623/100000000000) 55833770631/5000000000) z) t) z) a) z) b)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 z 15234687407/1000000000) z) 314690115749/10000000000) z) 119400905721/10000000000) z) 607771387771/1000000000000)))
30.1b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x)
Compiler

Compiled 228 to 150 computations (34.2% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 z 313060547623/100000000000 55833770631/5000000000)
0.1b
(fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t)
0.3b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x)
29.0b
(/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))

series1.7s (9.8%)

Counts
4 → 156
Calls

4 calls:

1.1s
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x)
592.0ms
(/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))
8.0ms
(fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t)
2.0ms
(fma.f64 z 313060547623/100000000000 55833770631/5000000000)

rewrite6.0ms (0%)

Algorithm
rewrite-expression-head
Rules
12×*-un-lft-identity_binary64
12×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
4 → 59
Calls

4 calls:

2.0ms
(/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))
0.0ms
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x)
0.0ms
(fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t)
0.0ms
(fma.f64 z 313060547623/100000000000 55833770631/5000000000)

simplify383.0ms (2.2%)

Algorithm
egg-herbie
Rules
467×cancel-sign-sub-inv_binary64
302×fma-neg_binary64
298×fma-def_binary64
250×associate-+r+_binary64
234×distribute-rgt-in_binary64
Counts
215 → 148
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
032718542
184518113
2280415739
3470715739
4498115739

prune265.0ms (1.5%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1408148
Fresh101
Picked011
Done000
Total1419150
Error
0.0b
Counts
150 → 9
Alt Table
StatusErrorProgram
31.1b
(+.f64 (*.f64 55833770631/5000000000 (/.f64 (*.f64 y (pow.f64 z 3)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))) (+.f64 (/.f64 (*.f64 y (*.f64 t (pow.f64 z 2))) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (/.f64 (*.f64 y b) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (*.f64 313060547623/100000000000 (/.f64 (*.f64 y (pow.f64 z 4)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))) (+.f64 (/.f64 (*.f64 y (*.f64 a z)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) x)))))
30.1b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x)
30.6b
(fma.f64 y (*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b)) (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (/.f64 (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b)) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
32.4b
(+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441))))
30.4b
(fma.f64 y (*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
28.8b
(fma.f64 y (-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 t (*.f64 z z)) (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))) x)
30.4b
(fma.f64 y (*.f64 (/.f64 1 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
28.2b
(+.f64 (fma.f64 313060547623/100000000000 y (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) 3652704169880641883561/100000000000000000000)))
33.0b
(fma.f64 y (-.f64 (+.f64 (*.f64 1000000000000/607771387771 (*.f64 a z)) (*.f64 1000000000000/607771387771 b)) (*.f64 11940090572100000000000000/369386059793087248348441 (*.f64 z b))) x)
Compiler

Compiled 8008 to 5205 computations (35% saved)

localize37.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x)
2.0b
(*.f64 (/.f64 y z) (-.f64 (/.f64 t z) 3652704169880641883561/100000000000000000000))
3.0b
(+.f64 (fma.f64 313060547623/100000000000 y (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) 3652704169880641883561/100000000000000000000)))
8.2b
(/.f64 y (*.f64 z z))

series214.0ms (1.2%)

Counts
4 → 144
Calls

4 calls:

123.0ms
(+.f64 (fma.f64 313060547623/100000000000 y (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) 3652704169880641883561/100000000000000000000)))
38.0ms
(fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x)
27.0ms
(/.f64 y (*.f64 z z))
25.0ms
(*.f64 (/.f64 y z) (-.f64 (/.f64 t z) 3652704169880641883561/100000000000000000000))

rewrite69.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
165×add-sqr-sqrt_binary64
157×*-un-lft-identity_binary64
156×prod-diff_binary64
155×add-cube-cbrt_binary64
122×times-frac_binary64
Counts
4 → 263
Calls

4 calls:

13.0ms
(*.f64 (/.f64 y z) (-.f64 (/.f64 t z) 3652704169880641883561/100000000000000000000))
8.0ms
(+.f64 (fma.f64 313060547623/100000000000 y (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) 3652704169880641883561/100000000000000000000)))
8.0ms
(/.f64 y (*.f64 z z))
0.0ms
(fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x)

simplify258.0ms (1.5%)

Algorithm
egg-herbie
Rules
644×associate-*l/_binary64
476×associate-/l*_binary64
414×times-frac_binary64
226×associate-/r*_binary64
205×fma-neg_binary64
Counts
407 → 358
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04449529
17608092
223657231
346847231
449457231

prune443.0ms (2.5%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New3562358
Fresh077
Picked101
Done011
Total35710367
Error
0.0b
Counts
367 → 10
Alt Table
StatusErrorProgram
31.1b
(+.f64 (*.f64 55833770631/5000000000 (/.f64 (*.f64 y (pow.f64 z 3)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))) (+.f64 (/.f64 (*.f64 y (*.f64 t (pow.f64 z 2))) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (/.f64 (*.f64 y b) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (*.f64 313060547623/100000000000 (/.f64 (*.f64 y (pow.f64 z 4)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))) (+.f64 (/.f64 (*.f64 y (*.f64 a z)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) x)))))
30.1b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x)
44.7b
(fma.f64 (sqrt.f64 (fma.f64 313060547623/100000000000 y (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x))) (sqrt.f64 (fma.f64 313060547623/100000000000 y (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x))) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) 3652704169880641883561/100000000000000000000)))
30.4b
(fma.f64 y (*.f64 (/.f64 1 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
30.6b
(fma.f64 y (*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b)) (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (/.f64 (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b)) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
32.4b
(+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441))))
30.4b
(fma.f64 y (*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
28.8b
(fma.f64 y (-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 t (*.f64 z z)) (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))) x)
27.9b
(+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 t 45796100221584283915100827016327/100000000000000000000000000000)) (fma.f64 y 313060547623/100000000000 x)) (*.f64 (neg.f64 3652704169880641883561/100000000000000000000) (/.f64 y z)))
33.0b
(fma.f64 y (-.f64 (+.f64 (*.f64 1000000000000/607771387771 (*.f64 a z)) (*.f64 1000000000000/607771387771 b)) (*.f64 11940090572100000000000000/369386059793087248348441 (*.f64 z b))) x)
Compiler

Compiled 14533 to 7745 computations (46.7% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (neg.f64 3652704169880641883561/100000000000000000000) (/.f64 y z))
2.2b
(+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 t 45796100221584283915100827016327/100000000000000000000000000000)) (fma.f64 y 313060547623/100000000000 x)) (*.f64 (neg.f64 3652704169880641883561/100000000000000000000) (/.f64 y z)))
3.1b
(*.f64 (/.f64 y (*.f64 z z)) (+.f64 t 45796100221584283915100827016327/100000000000000000000000000000))
8.2b
(/.f64 y (*.f64 z z))

series179.0ms (1%)

Counts
3 → 108
Calls

3 calls:

121.0ms
(+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 t 45796100221584283915100827016327/100000000000000000000000000000)) (fma.f64 y 313060547623/100000000000 x)) (*.f64 (neg.f64 3652704169880641883561/100000000000000000000) (/.f64 y z)))
51.0ms
(*.f64 (/.f64 y (*.f64 z z)) (+.f64 t 45796100221584283915100827016327/100000000000000000000000000000))
7.0ms
(*.f64 (neg.f64 3652704169880641883561/100000000000000000000) (/.f64 y z))

rewrite29.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
26×add-sqr-sqrt_binary64
19×*-un-lft-identity_binary64
17×associate-*r*_binary64
17×associate-*l*_binary64
17×add-cube-cbrt_binary64
Counts
3 → 100
Calls

3 calls:

10.0ms
(+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 t 45796100221584283915100827016327/100000000000000000000000000000)) (fma.f64 y 313060547623/100000000000 x)) (*.f64 (neg.f64 3652704169880641883561/100000000000000000000) (/.f64 y z)))
7.0ms
(*.f64 (/.f64 y (*.f64 z z)) (+.f64 t 45796100221584283915100827016327/100000000000000000000000000000))
6.0ms
(*.f64 (neg.f64 3652704169880641883561/100000000000000000000) (/.f64 y z))

simplify135.0ms (0.8%)

Algorithm
egg-herbie
Rules
519×times-frac_binary64
469×associate-/l*_binary64
341×fma-neg_binary64
188×cancel-sign-sub-inv_binary64
167×*-commutative_binary64
Counts
208 → 188
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02513864
17253389
223783231
347263231
449923231

prune232.0ms (1.3%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2160216
Fresh088
Picked011
Done011
Total21610226
Error
0.0b
Counts
226 → 10
Alt Table
StatusErrorProgram
31.1b
(+.f64 (*.f64 55833770631/5000000000 (/.f64 (*.f64 y (pow.f64 z 3)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))) (+.f64 (/.f64 (*.f64 y (*.f64 t (pow.f64 z 2))) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (/.f64 (*.f64 y b) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (*.f64 313060547623/100000000000 (/.f64 (*.f64 y (pow.f64 z 4)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))) (+.f64 (/.f64 (*.f64 y (*.f64 a z)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) x)))))
30.1b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x)
44.7b
(fma.f64 (sqrt.f64 (fma.f64 313060547623/100000000000 y (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x))) (sqrt.f64 (fma.f64 313060547623/100000000000 y (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x))) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) 3652704169880641883561/100000000000000000000)))
30.4b
(fma.f64 y (*.f64 (/.f64 1 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
30.6b
(fma.f64 y (*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b)) (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (/.f64 (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b)) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
32.4b
(+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441))))
30.4b
(fma.f64 y (*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
28.8b
(fma.f64 y (-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 t (*.f64 z z)) (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))) x)
27.9b
(+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 t 45796100221584283915100827016327/100000000000000000000000000000)) (fma.f64 y 313060547623/100000000000 x)) (*.f64 (neg.f64 3652704169880641883561/100000000000000000000) (/.f64 y z)))
33.0b
(fma.f64 y (-.f64 (+.f64 (*.f64 1000000000000/607771387771 (*.f64 a z)) (*.f64 1000000000000/607771387771 b)) (*.f64 11940090572100000000000000/369386059793087248348441 (*.f64 z b))) x)
Compiler

Compiled 7140 to 3820 computations (46.5% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.1b
(fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))
7.3b
(/.f64 t (*.f64 z z))
7.5b
(+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3)))
11.5b
(-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 t (*.f64 z z)) (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3)))))

series283.0ms (1.6%)

Counts
4 → 108
Calls

4 calls:

178.0ms
(-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 t (*.f64 z z)) (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3)))))
43.0ms
(fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))
33.0ms
(+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3)))
28.0ms
(/.f64 t (*.f64 z z))

rewrite57.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
73×*-un-lft-identity_binary64
32×distribute-lft-out_binary64
21×add-sqr-sqrt_binary64
20×add-log-exp_binary64
19×add-cube-cbrt_binary64
Counts
4 → 106
Calls

4 calls:

26.0ms
(-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 t (*.f64 z z)) (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3)))))
16.0ms
(+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3)))
3.0ms
(/.f64 t (*.f64 z z))
0.0ms
(fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))

simplify208.0ms (1.2%)

Algorithm
egg-herbie
Rules
778×fma-def_binary64
411×times-frac_binary64
330×cancel-sign-sub-inv_binary64
290×fma-neg_binary64
280×associate-/l*_binary64
Counts
214 → 160
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02107071
14916418
219465894
345715874
450145874

prune266.0ms (1.5%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New1591160
Fresh077
Picked011
Done022
Total15911170
Error
0.0b
Counts
170 → 11
Alt Table
StatusErrorProgram
30.6b
(fma.f64 y (*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b)) (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b))) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (/.f64 (cbrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b)) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
31.1b
(fma.f64 y (exp.f64 (log.f64 (-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 t (*.f64 z z)) (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))))) x)
31.1b
(+.f64 (*.f64 55833770631/5000000000 (/.f64 (*.f64 y (pow.f64 z 3)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))) (+.f64 (/.f64 (*.f64 y (*.f64 t (pow.f64 z 2))) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (/.f64 (*.f64 y b) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) (+.f64 (*.f64 313060547623/100000000000 (/.f64 (*.f64 y (pow.f64 z 4)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z))))))) (+.f64 (/.f64 (*.f64 y (*.f64 a z)) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 314690115749/10000000000 (pow.f64 z 2)) (+.f64 (pow.f64 z 4) (+.f64 (*.f64 15234687407/1000000000 (pow.f64 z 3)) (*.f64 119400905721/10000000000 z)))))) x)))))
30.1b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) x)
44.7b
(fma.f64 (sqrt.f64 (fma.f64 313060547623/100000000000 y (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x))) (sqrt.f64 (fma.f64 313060547623/100000000000 y (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (*.f64 z z)) x))) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) 3652704169880641883561/100000000000000000000)))
30.4b
(fma.f64 y (*.f64 (/.f64 1 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
32.4b
(+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441))))
30.4b
(fma.f64 y (*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) (cbrt.f64 (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))) x)
28.8b
(fma.f64 y (-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 t (*.f64 z z)) (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))) x)
27.9b
(+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 t 45796100221584283915100827016327/100000000000000000000000000000)) (fma.f64 y 313060547623/100000000000 x)) (*.f64 (neg.f64 3652704169880641883561/100000000000000000000) (/.f64 y z)))
33.0b
(fma.f64 y (-.f64 (+.f64 (*.f64 1000000000000/607771387771 (*.f64 a z)) (*.f64 1000000000000/607771387771 b)) (*.f64 11940090572100000000000000/369386059793087248348441 (*.f64 z b))) x)
Compiler

Compiled 9022 to 5714 computations (36.7% saved)

regimes7.6s (42.6%)

Accuracy

Total 0.8b remaining (96.4%)

Threshold costs 0.8b (96.4%)

Counts
212 → 3
Compiler

Compiled 64184 to 45156 computations (29.6% saved)

bsearch117.0ms (0.7%)

Steps
ItersRangePoint
9
30.373604191943148
112771622.27306676
111344112.01846091
9
-2182150980.7640805
-351.03887290636607
-1381235740.2720332
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify8.0ms (0%)

Algorithm
egg-herbie
Rules
14×+-commutative_binary64
10×*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064258
186258
297258
3101258
4103258
5102258

end389.0ms (2.2%)

Compiler

Compiled 980 to 667 computations (31.9% saved)

Profiling

Loading profile data...