Details

Time bar (total: 14.0s)

analyze1.5s (10.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
25%74.9%0.1%6
25%74.9%0.1%7
37.4%62.4%0.1%8
37.4%62.4%0.1%9
37.4%62.4%0.1%10
43.7%56.2%0.1%11
43.7%56.2%0.1%12
43.7%56.2%0.1%13
61.7%38.2%0.1%14
Compiler

Compiled 41 to 30 computations (26.8% saved)

sample1.6s (11.2%)

Results
1.5s8256×body128valid
2.0ms10×body128invalid
Compiler

Compiled 122 to 89 computations (27% saved)

simplify50.0ms (0.4%)

Algorithm
egg-herbie
Rules
753×associate-+l+_binary64
706×distribute-rgt-in_binary64
700×distribute-lft-in_binary64
667×associate-+r+_binary64
226×fma-def_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03041
16441
215441
335741
4115741
5487641
6497641
7499241

prune4.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
24.9b
Counts
3 → 1
Alt Table
StatusErrorProgram
24.9b
(/.f64 (*.f64 (-.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))
Compiler

Compiled 150 to 106 computations (29.3% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x)
0.4b
(*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x)
0.6b
(*.f64 x 104109730557/25000000000)
24.1b
(/.f64 (*.f64 (-.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))

series448.0ms (3.2%)

Counts
4 → 72
Calls

4 calls:

441.0ms
(/.f64 (*.f64 (-.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))
3.0ms
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x)
3.0ms
(*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x)
1.0ms
(*.f64 x 104109730557/25000000000)

rewrite50.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
18×add-sqr-sqrt_binary64
15×add-cbrt-cube_binary64
15×add-exp-log_binary64
12×*-un-lft-identity_binary64
12×add-cube-cbrt_binary64
Counts
4 → 97
Calls

4 calls:

25.0ms
(/.f64 (*.f64 (-.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))
7.0ms
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x)
6.0ms
(*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x)
4.0ms
(*.f64 x 104109730557/25000000000)

simplify210.0ms (1.5%)

Algorithm
egg-herbie
Rules
307×associate-*r*_binary64
307×times-frac_binary64
305×associate-*l*_binary64
240×distribute-rgt-in_binary64
239×fma-def_binary64
Counts
169 → 201
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03328736
19508327
236218327
349138327
449498327

prune379.0ms (2.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1956201
Fresh000
Picked011
Done000
Total1957202
Error
0.2b
Counts
202 → 7
Alt Table
StatusErrorProgram
24.0b
(*.f64 (/.f64 (-.f64 x 2) (*.f64 (cbrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)) (cbrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))) (/.f64 (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z) (cbrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))))
24.9b
(-.f64 (+.f64 (*.f64 1759267849271/25000000000 (/.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (/.f64 (*.f64 y (pow.f64 x 2)) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x)))))) (+.f64 (*.f64 104109730557/25000000000 (/.f64 (pow.f64 x 5) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (/.f64 (*.f64 z x) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))))) (+.f64 (*.f64 2 (/.f64 (*.f64 y x) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (*.f64 2 (/.f64 z (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (*.f64 4297481763/15625000 (/.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (*.f64 49698921037/2500000000 (/.f64 (pow.f64 x 3) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x)))))))))))
36.9b
(-.f64 (+.f64 (fma.f64 x 104109730557/25000000000 (/.f64 2284450290879775841688574159837293/625000000000000000000000000000 x)) (/.f64 y (*.f64 x x))) (+.f64 13764240537310136880149/125000000000000000000 (/.f64 409304707811198655637810418659684985388407301/3125000000000000000000000000000000000000 (*.f64 x x))))
23.3b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))
24.9b
(/.f64 (*.f64 (-.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))
25.0b
(*.f64 (*.f64 (-.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z)) (/.f64 1 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))
44.3b
(/.f64 (*.f64 (-.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000))) (sqrt.f64 (*.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000)))) 156699607947/500000000) x) 23533438303/500000000))
Compiler

Compiled 10704 to 7570 computations (29.3% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.7b
(sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))
7.7b
(sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))
13.4b
(/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))
19.2b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))

series451.0ms (3.2%)

Counts
4 → 72
Calls

4 calls:

435.0ms
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))
6.0ms
(/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))
5.0ms
(sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))
4.0ms
(sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))

rewrite45.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
45×add-sqr-sqrt_binary64
43×*-un-lft-identity_binary64
36×times-frac_binary64
30×sqrt-prod_binary64
29×add-cube-cbrt_binary64
Counts
4 → 124
Calls

4 calls:

17.0ms
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))
11.0ms
(sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))
5.0ms
(/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))
1.0ms
(sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))

simplify230.0ms (1.6%)

Algorithm
egg-herbie
Rules
880×times-frac_binary64
237×fma-def_binary64
170×fma-neg_binary64
168×+-commutative_binary64
166×div-sub_binary64
Counts
196 → 199
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
039612352
1102311277
2332811269
3499811269

prune406.0ms (2.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1972199
Fresh235
Picked011
Done101
Total2006206
Error
0.2b
Counts
206 → 6
Alt Table
StatusErrorProgram
36.9b
(-.f64 (+.f64 (fma.f64 x 104109730557/25000000000 (/.f64 2284450290879775841688574159837293/625000000000000000000000000000 x)) (/.f64 y (*.f64 x x))) (+.f64 13764240537310136880149/125000000000000000000 (/.f64 409304707811198655637810418659684985388407301/3125000000000000000000000000000000000000 (*.f64 x x))))
23.3b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (/.f64 (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))))
23.2b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))))
23.3b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))
44.3b
(/.f64 (*.f64 (-.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000))) (sqrt.f64 (*.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000)))) 156699607947/500000000) x) 23533438303/500000000))
24.9b
(-.f64 (+.f64 (*.f64 1759267849271/25000000000 (/.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (/.f64 (*.f64 y (pow.f64 x 2)) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x)))))) (+.f64 (*.f64 104109730557/25000000000 (/.f64 (pow.f64 x 5) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (/.f64 (*.f64 z x) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))))) (+.f64 (*.f64 2 (/.f64 (*.f64 y x) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (*.f64 2 (/.f64 z (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (*.f64 4297481763/15625000 (/.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (*.f64 49698921037/2500000000 (/.f64 (pow.f64 x 3) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x)))))))))))
Compiler

Compiled 12839 to 9119 computations (29% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.7b
(sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))
13.3b
(sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))
13.4b
(/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))
19.2b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))))

series425.0ms (3%)

Counts
2 → 48
Calls

2 calls:

420.0ms
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))))
4.0ms
(sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))

rewrite22.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
23×add-cbrt-cube_binary64
23×add-exp-log_binary64
10×sqrt-prod_binary64
cbrt-undiv_binary64
div-exp_binary64
Counts
2 → 49
Calls

2 calls:

14.0ms
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))))
1.0ms
(sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))

simplify164.0ms (1.2%)

Algorithm
egg-herbie
Rules
892×fma-def_binary64
421×distribute-rgt-in_binary64
215×cancel-sign-sub-inv_binary64
194×times-frac_binary64
167×sub-neg_binary64
Counts
97 → 112
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02498970
16897528
224167259
350217259

prune471.0ms (3.4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2470247
Fresh044
Picked011
Done011
Total2476253
Error
0.2b
Counts
253 → 6
Alt Table
StatusErrorProgram
36.9b
(-.f64 (+.f64 (fma.f64 x 104109730557/25000000000 (/.f64 2284450290879775841688574159837293/625000000000000000000000000000 x)) (/.f64 y (*.f64 x x))) (+.f64 13764240537310136880149/125000000000000000000 (/.f64 409304707811198655637810418659684985388407301/3125000000000000000000000000000000000000 (*.f64 x x))))
23.3b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (/.f64 (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))))
23.2b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))))
23.3b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))
44.3b
(/.f64 (*.f64 (-.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000))) (sqrt.f64 (*.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000)))) 156699607947/500000000) x) 23533438303/500000000))
24.9b
(-.f64 (+.f64 (*.f64 1759267849271/25000000000 (/.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (/.f64 (*.f64 y (pow.f64 x 2)) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x)))))) (+.f64 (*.f64 104109730557/25000000000 (/.f64 (pow.f64 x 5) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (/.f64 (*.f64 z x) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))))) (+.f64 (*.f64 2 (/.f64 (*.f64 y x) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (*.f64 2 (/.f64 z (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (*.f64 4297481763/15625000 (/.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (*.f64 49698921037/2500000000 (/.f64 (pow.f64 x 3) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x)))))))))))
Compiler

Compiled 17859 to 12611 computations (29.4% saved)

localize32.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
13.3b
(sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))
13.3b
(sqrt.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))
13.4b
(/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))
13.5b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (/.f64 (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))))

series1.3s (9.1%)

Counts
2 → 48
Calls

2 calls:

1.3s
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (/.f64 (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))))
5.0ms
(sqrt.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))

rewrite45.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
28×sqrt-prod_binary64
20×add-cbrt-cube_binary64
20×add-exp-log_binary64
12×add-sqr-sqrt_binary64
10×*-un-lft-identity_binary64
Counts
2 → 69
Calls

2 calls:

23.0ms
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (/.f64 (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))))
12.0ms
(sqrt.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))

simplify209.0ms (1.5%)

Algorithm
egg-herbie
Rules
465×distribute-rgt-in_binary64
283×cancel-sign-sub-inv_binary64
197×fma-neg_binary64
195×sub-neg_binary64
178×associate-*r*_binary64
Counts
117 → 149
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
030711581
18489676
229149609
352939609

prune542.0ms (3.9%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2630263
Fresh033
Picked011
Done022
Total2636269
Error
0.2b
Counts
269 → 6
Alt Table
StatusErrorProgram
36.9b
(-.f64 (+.f64 (fma.f64 x 104109730557/25000000000 (/.f64 2284450290879775841688574159837293/625000000000000000000000000000 x)) (/.f64 y (*.f64 x x))) (+.f64 13764240537310136880149/125000000000000000000 (/.f64 409304707811198655637810418659684985388407301/3125000000000000000000000000000000000000 (*.f64 x x))))
23.3b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (/.f64 (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))))) (sqrt.f64 (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000))))
23.2b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (sqrt.f64 (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000)))))
23.3b
(/.f64 (*.f64 (/.f64 (-.f64 x 2) (sqrt.f64 (fma.f64 x (fma.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000) 156699607947/500000000) 23533438303/500000000))) (fma.f64 x (fma.f64 x (fma.f64 x (fma.f64 x 104109730557/25000000000 393497462077/5000000000) 4297481763/31250000) y) z)) (sqrt.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 x 216700011257/5000000000) x) 263505074721/1000000000) x) 156699607947/500000000) x) 23533438303/500000000)))
44.3b
(/.f64 (*.f64 (-.f64 x 2) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x 104109730557/25000000000) 393497462077/5000000000) x) 4297481763/31250000) x) y) x) z)) (+.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000))) (sqrt.f64 (*.f64 x (fma.f64 x (+.f64 x 216700011257/5000000000) 263505074721/1000000000)))) 156699607947/500000000) x) 23533438303/500000000))
24.9b
(-.f64 (+.f64 (*.f64 1759267849271/25000000000 (/.f64 (pow.f64 x 4) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (/.f64 (*.f64 y (pow.f64 x 2)) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x)))))) (+.f64 (*.f64 104109730557/25000000000 (/.f64 (pow.f64 x 5) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (/.f64 (*.f64 z x) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))))) (+.f64 (*.f64 2 (/.f64 (*.f64 y x) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (*.f64 2 (/.f64 z (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (+.f64 (*.f64 4297481763/15625000 (/.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x))))))) (*.f64 49698921037/2500000000 (/.f64 (pow.f64 x 3) (+.f64 (pow.f64 x 4) (+.f64 23533438303/500000000 (+.f64 (*.f64 263505074721/1000000000 (pow.f64 x 2)) (+.f64 (*.f64 216700011257/5000000000 (pow.f64 x 3)) (*.f64 156699607947/500000000 x)))))))))))
Compiler

Compiled 19792 to 14196 computations (28.3% saved)

regimes4.8s (34.6%)

Accuracy

Total 1.0b remaining (79%)

Threshold costs 0b (0%)

Counts
274 → 3
Compiler

Compiled 64952 to 46889 computations (27.8% saved)

bsearch104.0ms (0.7%)

Steps
ItersRangePoint
9
5138530555418793.0
1.5321906556394992e+25
1.264914738129263e+25
10
-3.5606497747148932e+31
-7.718910769571371e+21
-3.019861234299114e+31
Compiler

Compiled 4 to 3 computations (25% saved)

simplify12.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
061356
175356
288356
398356
4102356
5103356
6101356

end400.0ms (2.9%)

Compiler

Compiled 975 to 691 computations (29.1% saved)

Profiling

Loading profile data...