Details

Time bar (total: 31.1s)

analyze5.3s (17%)

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)

sample3.0s (9.7%)

Results
2.5s8256×body128valid
297.0ms875×body128invalid
Compiler

Compiled 131 to 92 computations (29.8% saved)

simplify103.0ms (0.3%)

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

prune11.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
29.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
32.1b
(+.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)))
29.4b
(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)

localize43.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)
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)
0.1b
(fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t)
28.6b
(/.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))

series3.1s (10.1%)

Counts
4 → 156
Calls

4 calls:

2.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)
1.0s
(/.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))
13.0ms
(fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t)
7.0ms
(fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)

rewrite120.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
243×add-sqr-sqrt_binary64
228×log1p-expm1-u_binary64
228×expm1-log1p-u_binary64
227×add-log-exp_binary64
226×add-cube-cbrt_binary64
Counts
4 → 80
Calls

4 calls:

115.0ms
(fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)
115.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)
115.0ms
(fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t)
115.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))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02399
148599
2496299
3481599
000
100

simplify690.0ms (2.2%)

Algorithm
egg-herbie
Rules
519×associate-*l*_binary64
463×cancel-sign-sub-inv_binary64
352×fma-neg_binary64
307×fma-def_binary64
259×associate-+r+_binary64
Counts
236 → 171
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
024616292
172116161
2246813727
3489213727
4509413727

prune585.0ms (1.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1656171
Fresh011
Picked101
Done000
Total1667173
Error
0.0b
Counts
173 → 7
Alt Table
StatusErrorProgram
29.7b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (-.f64 (exp.f64 (log1p.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) 1)) x)
26.4b
(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)
32.1b
(+.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)))
32.4b
(+.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)))))
33.4b
(+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441))))
29.5b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (pow.f64 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) 2)) x)
29.6b
(fma.f64 y (+.f64 (/.f64 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 (*.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 55833770631/5000000000 (/.f64 (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 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)))))) (*.f64 313060547623/100000000000 (/.f64 (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))))))))))) x)
Compiler

Compiled 8347 to 5489 computations (34.2% saved)

localize44.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.8b
(fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))
6.5b
(+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3)))
8.4b
(/.f64 t (*.f64 z z))
9.8b
(-.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)))))

series501.0ms (1.6%)

Counts
4 → 108
Calls

4 calls:

312.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)))))
81.0ms
(fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))
61.0ms
(+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3)))
46.0ms
(/.f64 t (*.f64 z z))

rewrite116.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
288×log1p-expm1-u_binary64
288×expm1-log1p-u_binary64
277×add-cbrt-cube_binary64
276×add-cube-cbrt_binary64
276×add-log-exp_binary64
Counts
4 → 87
Calls

4 calls:

107.0ms
(fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (+.f64 (/.f64 3652704169880641883561/100000000000000000000 z) (/.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z 3))))
107.0ms
(+.f64 (/.f64 45796100221584283915100827016327/100000000000000000000000000000 (*.f64 z z)) (/.f64 a (pow.f64 z 3)))
107.0ms
(/.f64 t (*.f64 z z))
107.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)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02499
159089
2512289
000
100

simplify225.0ms (0.7%)

Algorithm
egg-herbie
Rules
835×fma-def_binary64
782×fma-neg_binary64
364×associate-/r*_binary64
346×cancel-sign-sub-inv_binary64
303×sub-neg_binary64
Counts
195 → 125
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0632385
11722381
25822099
318732033
441982033
549452033
649472033

prune424.0ms (1.4%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1241125
Fresh066
Picked011
Done000
Total1248132
Error
0b
Counts
132 → 8
Alt Table
StatusErrorProgram
29.7b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (-.f64 (exp.f64 (log1p.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) 1)) x)
26.4b
(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)
32.1b
(+.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)))
32.4b
(+.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)))))
33.4b
(+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441))))
30.7b
(fma.f64 y (exp.f64 (log.f64 (-.f64 (+.f64 313060547623/100000000000 (fma.f64 t (pow.f64 z -2) (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (pow.f64 z -2) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (fma.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z -3) (/.f64 3652704169880641883561/100000000000000000000 z)))))) x)
29.5b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (pow.f64 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) 2)) x)
29.6b
(fma.f64 y (+.f64 (/.f64 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 (*.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 55833770631/5000000000 (/.f64 (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 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)))))) (*.f64 313060547623/100000000000 (/.f64 (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))))))))))) x)
Compiler

Compiled 6483 to 4385 computations (32.4% saved)

localize47.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t)
0.5b
(pow.f64 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) 2)
9.1b
(sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))
28.6b
(/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (pow.f64 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) 2))

series1.0s (3.4%)

Counts
3 → 72
Calls

3 calls:

1.0s
(/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (pow.f64 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) 2))
9.0ms
(pow.f64 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) 2)
9.0ms
(sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))

rewrite115.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
229×add-sqr-sqrt_binary64
219×log1p-expm1-u_binary64
219×expm1-log1p-u_binary64
217×add-log-exp_binary64
216×add-cube-cbrt_binary64
Counts
3 → 66
Calls

3 calls:

111.0ms
(pow.f64 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) 2)
111.0ms
(sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))
111.0ms
(/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (pow.f64 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) 2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02369
147269
2492569
3491369
000
100

simplify374.0ms (1.2%)

Algorithm
egg-herbie
Rules
480×associate-+r+_binary64
368×associate--l+_binary64
253×associate-*r*_binary64
240×cancel-sign-sub-inv_binary64
208×associate-*l*_binary64
Counts
138 → 125
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01635883
14805754
215875411
349295411
449865411
550005411
649445411

prune439.0ms (1.4%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1520152
Fresh066
Picked011
Done011
Total1528160
Error
0b
Counts
160 → 8
Alt Table
StatusErrorProgram
29.7b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (-.f64 (exp.f64 (log1p.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) 1)) x)
26.4b
(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)
32.1b
(+.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)))
32.4b
(+.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)))))
33.4b
(+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441))))
30.7b
(fma.f64 y (exp.f64 (log.f64 (-.f64 (+.f64 313060547623/100000000000 (fma.f64 t (pow.f64 z -2) (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (pow.f64 z -2) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (fma.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z -3) (/.f64 3652704169880641883561/100000000000000000000 z)))))) x)
29.5b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (pow.f64 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) 2)) x)
29.6b
(fma.f64 y (+.f64 (/.f64 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 (*.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 55833770631/5000000000 (/.f64 (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 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)))))) (*.f64 313060547623/100000000000 (/.f64 (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))))))))))) x)
Compiler

Compiled 6532 to 4251 computations (34.9% saved)

localize83.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
11.5b
(/.f64 (*.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))))))
21.8b
(/.f64 (*.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))))))
26.4b
(/.f64 (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))))))
26.9b
(/.f64 (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))))))

series808.0ms (2.6%)

Counts
4 → 64
Calls

4 calls:

398.0ms
(/.f64 (*.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))))))
394.0ms
(/.f64 (*.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))))))
8.0ms
(/.f64 (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))))))
7.0ms
(/.f64 (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))))))

rewrite106.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
288×log1p-expm1-u_binary64
288×expm1-log1p-u_binary64
277×add-log-exp_binary64
276×add-cbrt-cube_binary64
276×add-exp-log_binary64
Counts
4 → 68
Calls

4 calls:

102.0ms
(/.f64 (*.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))))))
102.0ms
(/.f64 (*.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))))))
102.0ms
(/.f64 (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))))))
102.0ms
(/.f64 (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))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027135
1620135
25078135
000
100

simplify215.0ms (0.7%)

Algorithm
egg-herbie
Rules
636×times-frac_binary64
568×fma-def_binary64
342×sub-neg_binary64
309×cancel-sign-sub-inv_binary64
254×associate-*r*_binary64
Counts
132 → 131
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01241526
13841502
211391426
336861426
447811426
549631426
649981426
749411426

prune1.1s (3.4%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1310131
Fresh055
Picked011
Done022
Total1318139
Error
0b
Counts
139 → 8
Alt Table
StatusErrorProgram
29.7b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (-.f64 (exp.f64 (log1p.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000))) 1)) x)
26.4b
(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)
32.1b
(+.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)))
32.4b
(+.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)))))
33.4b
(+.f64 (fma.f64 1000000000000/607771387771 (*.f64 (*.f64 a z) y) x) (*.f64 (*.f64 b y) (+.f64 1000000000000/607771387771 (*.f64 z -11940090572100000000000000/369386059793087248348441))))
30.7b
(fma.f64 y (exp.f64 (log.f64 (-.f64 (+.f64 313060547623/100000000000 (fma.f64 t (pow.f64 z -2) (fma.f64 45796100221584283915100827016327/100000000000000000000000000000 (pow.f64 z -2) (/.f64 a (pow.f64 z 3))))) (fma.f64 15234687407/1000000000 (/.f64 t (pow.f64 z 3)) (fma.f64 586480252826990429730394679450703430294089/100000000000000000000000000000000000000 (pow.f64 z -3) (/.f64 3652704169880641883561/100000000000000000000 z)))))) x)
29.5b
(fma.f64 y (/.f64 (fma.f64 z (fma.f64 z (fma.f64 z (fma.f64 z 313060547623/100000000000 55833770631/5000000000) t) a) b) (pow.f64 (sqrt.f64 (fma.f64 z (fma.f64 z (fma.f64 z (+.f64 z 15234687407/1000000000) 314690115749/10000000000) 119400905721/10000000000) 607771387771/1000000000000)) 2)) x)
29.6b
(fma.f64 y (+.f64 (/.f64 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 (*.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 55833770631/5000000000 (/.f64 (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 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)))))) (*.f64 313060547623/100000000000 (/.f64 (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))))))))))) x)
Compiler

Compiled 17994 to 13756 computations (23.6% saved)

regimes11.7s (37.6%)

Accuracy

Total 0.4b remaining (93.1%)

Threshold costs 0.4b (93.1%)

Counts
213 → 3
Compiler

Compiled 89984 to 65796 computations (26.9% saved)

bsearch35.0ms (0.1%)

Compiler

Compiled 41 to 29 computations (29.3% saved)

simplify19.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
080260
1115260
2131260
3137260
4140260
5137260

end757.0ms (2.4%)

Compiler

Compiled 894 to 623 computations (30.3% saved)

Profiling

Loading profile data...