Details

Time bar (total: 21.0s)

analyze2.7s (12.6%)

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 (9.3%)

Results
1.7s8256×body128valid
172.0ms898×body128invalid
Compiler

Compiled 131 to 92 computations (29.8% saved)

simplify29.0ms (0.1%)

Algorithm
egg-herbie
Rules
704×distribute-rgt-in_binary64
703×distribute-lft-in_binary64
676×fma-def_binary64
308×associate-*l*_binary64
236×associate-+l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03141
16341
213439
340239
4106739
5316439
6488939
Stop Event
node limit
Counts
1 → 2

prune6.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
23.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
23.9b
(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)
25.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)))
Compiler

Compiled 228 to 150 computations (34.2% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000)
0.1b
(fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t)
0.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)
23.3b
(/.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.2s (5.6%)

Counts
4 → 156
Calls

4 calls:

779.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)
384.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))
5.0ms
(fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t)
3.0ms
(fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000)

rewrite50.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
243×add-sqr-sqrt_binary64
228×log1p-expm1-u_binary64
228×expm1-log1p-u_binary64
227×add-cbrt-cube_binary64
227×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02395
148595
Stop Event
node limit
Counts
4 → 80
Calls

4 calls:

48.0ms
(fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000)
48.0ms
(fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t)
48.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)
48.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))

simplify240.0ms (1.1%)

Algorithm
egg-herbie
Rules
521×associate-*l*_binary64
463×cancel-sign-sub-inv_binary64
313×fma-def_binary64
259×associate-+r+_binary64
216×+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
024716263
178816138
2270213006
Stop Event
node limit
Counts
236 → 169

prune344.0ms (1.6%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1618169
Fresh101
Picked011
Done000
Total1629171
Error
0.0b
Counts
171 → 9
Alt Table
StatusErrorProgram
29.7b
(-.f64 (+.f64 (*.f64 1000000000000/607771387771 (*.f64 y b)) (+.f64 (*.f64 1000000000000/607771387771 (*.f64 y (*.f64 a z))) x)) (*.f64 11940090572100000000000000/369386059793087248348441 (*.f64 y (*.f64 z b))))
22.8b
(fma.f64 y (+.f64 (/.f64 b (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (+.f64 (*.f64 (/.f64 t (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 z z)) (fma.f64 55833770631/5000000000 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 313060547623/100000000000 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 (/.f64 a (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) z))))) x)
23.9b
(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)
35.5b
(-.f64 (+.f64 (/.f64 (*.f64 y t) (pow.f64 z 2)) (+.f64 (*.f64 313060547623/100000000000 y) (+.f64 (*.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (pow.f64 z 2))) x))) (*.f64 3652704169880641883561/100000000000000000000 (/.f64 y z)))
23.9b
(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)
23.9b
(+.f64 (/.f64 (*.f64 z (*.f64 z t)) (/.f64 (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))) y)) (fma.f64 55833770631/5000000000 (*.f64 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) y) (+.f64 (fma.f64 313060547623/100000000000 (*.f64 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) y) x) (*.f64 (/.f64 y (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 a z b)))))
30.3b
(fma.f64 y (+.f64 (*.f64 1000000000000/607771387771 (*.f64 z (+.f64 (*.f64 z t) a))) (fma.f64 b (+.f64 1000000000000/607771387771 (*.f64 z (*.f64 z 123439798033292669987862100000000000000/224502278183706222041215714334315011))) (*.f64 -11940090572100000000000000/369386059793087248348441 (*.f64 z (fma.f64 a z b))))) x)
35.0b
(-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 (/.f64 a z) 45796100221584283915100827016327/100000000000000000000000000000)) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (/.f64 15234687407/1000000000 (/.f64 (pow.f64 z 3) (*.f64 t y)))))
31.5b
(fma.f64 y (-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (+.f64 (/.f64 a (pow.f64 z 3)) (/.f64 t (*.f64 z z))))) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))) x)
Compiler

Compiled 8257 to 5370 computations (35% saved)

localize31.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.7b
(*.f64 (/.f64 a (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) z)
20.6b
(*.f64 (/.f64 t (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 z z))
21.9b
(/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))))
22.2b
(/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))))

series331.0ms (1.6%)

Counts
4 → 72
Calls

4 calls:

186.0ms
(*.f64 (/.f64 t (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 z z))
138.0ms
(*.f64 (/.f64 a (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) z)
3.0ms
(/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))))
3.0ms
(/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))))

rewrite56.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
265×log1p-expm1-u_binary64
265×expm1-log1p-u_binary64
260×add-cbrt-cube_binary64
256×add-cube-cbrt_binary64
256×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025111
1572111
Stop Event
node limit
Counts
4 → 66
Calls

4 calls:

55.0ms
(*.f64 (/.f64 a (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) z)
55.0ms
(*.f64 (/.f64 t (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 z z))
55.0ms
(/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))))
55.0ms
(/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))))

simplify67.0ms (0.3%)

Algorithm
egg-herbie
Rules
636×times-frac_binary64
558×fma-def_binary64
309×cancel-sign-sub-inv_binary64
251×associate-*r*_binary64
237×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01301802
14031778
212551678
345421678
Stop Event
node limit
Counts
138 → 131

prune501.0ms (2.4%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1310131
Fresh077
Picked011
Done011
Total1319140
Error
0.0b
Counts
140 → 9
Alt Table
StatusErrorProgram
29.7b
(-.f64 (+.f64 (*.f64 1000000000000/607771387771 (*.f64 y b)) (+.f64 (*.f64 1000000000000/607771387771 (*.f64 y (*.f64 a z))) x)) (*.f64 11940090572100000000000000/369386059793087248348441 (*.f64 y (*.f64 z b))))
22.8b
(fma.f64 y (+.f64 (/.f64 b (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (+.f64 (*.f64 (/.f64 t (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 z z)) (fma.f64 55833770631/5000000000 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 313060547623/100000000000 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 (/.f64 a (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) z))))) x)
23.9b
(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)
35.5b
(-.f64 (+.f64 (/.f64 (*.f64 y t) (pow.f64 z 2)) (+.f64 (*.f64 313060547623/100000000000 y) (+.f64 (*.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (pow.f64 z 2))) x))) (*.f64 3652704169880641883561/100000000000000000000 (/.f64 y z)))
23.9b
(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)
23.9b
(+.f64 (/.f64 (*.f64 z (*.f64 z t)) (/.f64 (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))) y)) (fma.f64 55833770631/5000000000 (*.f64 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) y) (+.f64 (fma.f64 313060547623/100000000000 (*.f64 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) y) x) (*.f64 (/.f64 y (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 a z b)))))
30.3b
(fma.f64 y (+.f64 (*.f64 1000000000000/607771387771 (*.f64 z (+.f64 (*.f64 z t) a))) (fma.f64 b (+.f64 1000000000000/607771387771 (*.f64 z (*.f64 z 123439798033292669987862100000000000000/224502278183706222041215714334315011))) (*.f64 -11940090572100000000000000/369386059793087248348441 (*.f64 z (fma.f64 a z b))))) x)
35.0b
(-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 (/.f64 a z) 45796100221584283915100827016327/100000000000000000000000000000)) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (/.f64 15234687407/1000000000 (/.f64 (pow.f64 z 3) (*.f64 t y)))))
31.5b
(fma.f64 y (-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (+.f64 (/.f64 a (pow.f64 z 3)) (/.f64 t (*.f64 z z))))) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))) x)
Compiler

Compiled 15063 to 10797 computations (28.3% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 1 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))
8.4b
(sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))
13.3b
(*.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))))
20.3b
(/.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)))

series763.0ms (3.6%)

Counts
4 → 120
Calls

4 calls:

383.0ms
(*.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))))
370.0ms
(/.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)))
6.0ms
(/.f64 1 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))
4.0ms
(sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))

rewrite59.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
246×add-sqr-sqrt_binary64
231×add-cbrt-cube_binary64
231×log1p-expm1-u_binary64
231×expm1-log1p-u_binary64
230×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
024111
1508109
Stop Event
node limit
Counts
4 → 110
Calls

4 calls:

56.0ms
(/.f64 1 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)))
56.0ms
(sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))
56.0ms
(*.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))))
56.0ms
(/.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)))

simplify192.0ms (0.9%)

Algorithm
egg-herbie
Rules
456×times-frac_binary64
415×cancel-sign-sub-inv_binary64
395×fma-def_binary64
237×associate-+r+_binary64
235×+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
029911300
198410254
2356610250
Stop Event
node limit
Counts
230 → 201

prune591.0ms (2.8%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New2361237
Fresh156
Picked011
Done022
Total2379246
Error
0.0b
Counts
246 → 9
Alt Table
StatusErrorProgram
29.7b
(-.f64 (+.f64 (*.f64 1000000000000/607771387771 (*.f64 y b)) (+.f64 (*.f64 1000000000000/607771387771 (*.f64 y (*.f64 a z))) x)) (*.f64 11940090572100000000000000/369386059793087248348441 (*.f64 y (*.f64 z b))))
22.8b
(fma.f64 y (+.f64 (/.f64 b (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (+.f64 (*.f64 (/.f64 t (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 z z)) (fma.f64 55833770631/5000000000 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 313060547623/100000000000 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 (/.f64 a (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) z))))) x)
23.9b
(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)
35.5b
(-.f64 (+.f64 (/.f64 (*.f64 y t) (pow.f64 z 2)) (+.f64 (*.f64 313060547623/100000000000 y) (+.f64 (*.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (pow.f64 z 2))) x))) (*.f64 3652704169880641883561/100000000000000000000 (/.f64 y z)))
29.7b
(fma.f64 y (fma.f64 1000000000000/607771387771 (fma.f64 a z b) (*.f64 (*.f64 b z) -11940090572100000000000000/369386059793087248348441)) x)
31.5b
(fma.f64 y (-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (+.f64 (/.f64 a (pow.f64 z 3)) (/.f64 t (*.f64 z z))))) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))) x)
23.9b
(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)
23.9b
(+.f64 (/.f64 (*.f64 z (*.f64 z t)) (/.f64 (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))) y)) (fma.f64 55833770631/5000000000 (*.f64 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) y) (+.f64 (fma.f64 313060547623/100000000000 (*.f64 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) y) x) (*.f64 (/.f64 y (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 a z b)))))
35.0b
(-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 (/.f64 a z) 45796100221584283915100827016327/100000000000000000000000000000)) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (/.f64 15234687407/1000000000 (/.f64 (pow.f64 z 3) (*.f64 t y)))))
Compiler

Compiled 12892 to 8657 computations (32.8% saved)

localize35.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
9.7b
(*.f64 (/.f64 y (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 a z b))
20.5b
(/.f64 (*.f64 z (*.f64 z t)) (/.f64 (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))) y))
21.9b
(/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))))
22.2b
(/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))))

series622.0ms (3%)

Counts
2 → 84
Calls

2 calls:

313.0ms
(*.f64 (/.f64 y (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 a z b))
309.0ms
(/.f64 (*.f64 z (*.f64 z t)) (/.f64 (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))) y))

rewrite39.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
265×log1p-expm1-u_binary64
265×expm1-log1p-u_binary64
263×add-cbrt-cube_binary64
260×add-log-exp_binary64
259×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02564
156464
Stop Event
node limit
Counts
2 → 35
Calls

2 calls:

37.0ms
(*.f64 (/.f64 y (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 a z b))
37.0ms
(/.f64 (*.f64 z (*.f64 z t)) (/.f64 (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))) y))

simplify71.0ms (0.3%)

Algorithm
egg-herbie
Rules
480×cancel-sign-sub-inv_binary64
383×times-frac_binary64
285×associate-/l*_binary64
227×fma-neg_binary64
225×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01733302
15923264
220243078
Stop Event
node limit
Counts
119 → 82

prune457.0ms (2.2%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New1451146
Fresh145
Picked011
Done033
Total1469155
Error
0.0b
Counts
155 → 9
Alt Table
StatusErrorProgram
28.9b
(+.f64 (/.f64 (*.f64 z (*.f64 z t)) (/.f64 (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))) y)) (fma.f64 55833770631/5000000000 (*.f64 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) y) (+.f64 (fma.f64 313060547623/100000000000 (*.f64 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) y) x) (-.f64 (+.f64 (*.f64 1000000000000/607771387771 (*.f64 y b)) (*.f64 1000000000000/607771387771 (*.f64 a (*.f64 y z)))) (*.f64 11940090572100000000000000/369386059793087248348441 (*.f64 y (*.f64 b z)))))))
23.9b
(+.f64 (/.f64 (*.f64 z (*.f64 z t)) (/.f64 (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000)))) y)) (fma.f64 55833770631/5000000000 (*.f64 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) y) (+.f64 (fma.f64 313060547623/100000000000 (*.f64 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) y) x) (*.f64 (/.f64 y (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 a z b)))))
23.9b
(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)
35.5b
(-.f64 (+.f64 (/.f64 (*.f64 y t) (pow.f64 z 2)) (+.f64 (*.f64 313060547623/100000000000 y) (+.f64 (*.f64 45796100221584283915100827016327/100000000000000000000000000000 (/.f64 y (pow.f64 z 2))) x))) (*.f64 3652704169880641883561/100000000000000000000 (/.f64 y z)))
29.7b
(fma.f64 y (fma.f64 1000000000000/607771387771 (fma.f64 a z b) (*.f64 (*.f64 b z) -11940090572100000000000000/369386059793087248348441)) x)
31.5b
(fma.f64 y (-.f64 (+.f64 313060547623/100000000000 (+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (+.f64 (/.f64 a (pow.f64 z 3)) (/.f64 t (*.f64 z z))))) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))) x)
23.9b
(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)
22.8b
(fma.f64 y (+.f64 (/.f64 b (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (+.f64 (*.f64 (/.f64 t (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 z z)) (fma.f64 55833770631/5000000000 (/.f64 (pow.f64 z 3) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (fma.f64 313060547623/100000000000 (/.f64 (pow.f64 z 4) (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) (*.f64 (/.f64 a (+.f64 607771387771/1000000000000 (+.f64 (*.f64 (pow.f64 z 3) (+.f64 15234687407/1000000000 z)) (*.f64 z (fma.f64 z 314690115749/10000000000 119400905721/10000000000))))) z))))) x)
35.0b
(-.f64 (+.f64 (+.f64 (*.f64 (/.f64 y (*.f64 z z)) (+.f64 (/.f64 a z) 45796100221584283915100827016327/100000000000000000000000000000)) (fma.f64 313060547623/100000000000 y x)) (*.f64 (/.f64 y z) (-.f64 (/.f64 t z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (*.f64 z z))))) (fma.f64 3652704169880641883561/100000000000000000000 (/.f64 y z) (/.f64 15234687407/1000000000 (/.f64 (pow.f64 z 3) (*.f64 t y)))))
Compiler

Compiled 15318 to 10360 computations (32.4% saved)

regimes10.2s (48.6%)

Accuracy

Total 0.3b remaining (87.4%)

Threshold costs 0.3b (87.4%)

Counts
260 → 3
Compiler

Compiled 134024 to 96084 computations (28.3% saved)

bsearch77.0ms (0.4%)

Steps
ItersRangePoint
5
1.216452970090116e+66
2.1958185913808997e+71
1.5903767345779396e+71
7
-2.6228613377750524e+59
-2.9226355497530527e+57
-6.561900238294925e+57
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify9.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
067258
187258
297258
3106258
4111258
5113258
Stop Event
saturated

end405.0ms (1.9%)

Compiler

Compiled 923 to 641 computations (30.6% saved)

Profiling

Loading profile data...