Details

Time bar (total: 1.0min)

analyze2.5s (4.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.6%0.4%0
0%99.6%0.4%1
0%99.6%0.4%2
0%99.6%0.4%3
0%99.6%0.4%4
0%99.6%0.4%5
0%99.6%0.4%6
0%99.6%0.4%7
0%99.6%0.4%8
0%99.6%0.4%9
0%99.6%0.4%10
0%99.6%0.4%11
0%99.6%0.4%12
0%99.6%0.4%13
0%99.6%0.4%14
Compiler

Compiled 42 to 27 computations (35.7% saved)

sample167.0ms (0.3%)

Algorithm
intervals
Results
31.0ms256×body128valid
1.0msbody128invalid
Compiler

Compiled 91 to 61 computations (33% saved)

simplify134.0ms (0.2%)

Algorithm
egg-herbie
Rules
2421×fma-def_binary64
572×unswap-sqr_binary64
561×sqr-pow_binary64
359×associate-+l+_binary64
334×*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02735
14935
210335
320435
450935
5108235
6112735
7120835
8142035
9151335
10168935
11218035
12225035
13227935
14236135
15246535
16258935
17265735
18290635
19331835
20387435
21562235

prune5.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
29.3b
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) 54929528941/2000000) y) 28832688827/125000) y) t) (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 (+.f64 y a) y) b) y) c) y) i))
29.3b
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
Compiler

Compiled 217 to 126 computations (41.9% saved)

localize19.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)
0.1b
(fma.f64 y (fma.f64 y (+.f64 y a) b) c)
0.1b
(fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000)
28.5b
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))

series10.2s (16.8%)

Counts
4 → 240
Calls

4 calls:

10.1s
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
67.0ms
(fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)
25.0ms
(fma.f64 y (fma.f64 y (+.f64 y a) b) c)
22.0ms
(fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000)

rewrite7.0ms (0%)

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

4 calls:

2.0ms
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
0.0ms
(fma.f64 y (fma.f64 y (+.f64 y a) b) c)
0.0ms
(fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)
0.0ms
(fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000)

simplify401.0ms (0.7%)

Algorithm
egg-herbie
Counts
299 → 159
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0524065738

prune913.0ms (1.5%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New14118159
Fresh101
Picked101
Done000
Total14318161
Error
8.8b
Counts
161 → 18
Alt Table
StatusErrorProgram
45.8b
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (*.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
29.8b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)))) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
45.6b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
49.6b
(-.f64 (+.f64 (/.f64 z y) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 y 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) x))) (+.f64 (/.f64 (*.f64 a x) y) (+.f64 (/.f64 (*.f64 b x) (pow.f64 y 2)) (/.f64 (*.f64 a z) (pow.f64 y 2)))))
46.7b
(-.f64 (+.f64 (/.f64 z y) x) (/.f64 (*.f64 a x) y))
29.9b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)))) (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
45.2b
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (*.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (+.f64 y a) b) c)) (sqrt.f64 (fma.f64 y (fma.f64 y (+.f64 y a) b) c))) i))
61.5b
(-.f64 (+.f64 (/.f64 t (*.f64 (pow.f64 y 2) b)) (+.f64 (*.f64 28832688827/125000 (/.f64 1 (*.f64 y b))) (+.f64 (/.f64 (*.f64 y z) b) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 b)) (/.f64 (*.f64 (pow.f64 y 2) x) b))))) (+.f64 (/.f64 (*.f64 i x) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) z) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 c t) (*.f64 (pow.f64 y 3) (pow.f64 b 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 (pow.f64 y 2) (pow.f64 b 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 i (*.f64 (pow.f64 y 3) (pow.f64 b 2)))) (+.f64 (/.f64 (*.f64 i t) (*.f64 (pow.f64 y 4) (pow.f64 b 2))) (+.f64 (/.f64 t (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (*.f64 a x)) (pow.f64 b 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 c (*.f64 (pow.f64 y 2) (pow.f64 b 2)))) (+.f64 (*.f64 54929528941/2000000 (/.f64 (*.f64 y a) (pow.f64 b 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 a (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 4) x) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 a (*.f64 (pow.f64 y 2) z)) (pow.f64 b 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 c (*.f64 y (pow.f64 b 2)))) (+.f64 (/.f64 (*.f64 i z) (*.f64 y (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 a t) (*.f64 y (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 c z) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 c (*.f64 y x)) (pow.f64 b 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 i (*.f64 (pow.f64 y 2) (pow.f64 b 2)))) (*.f64 28832688827/125000 (/.f64 y (pow.f64 b 2)))))))))))))))))))))))
49.3b
x
61.2b
(-.f64 (+.f64 (/.f64 t (*.f64 (pow.f64 y 3) a)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (*.f64 a y))) (+.f64 (/.f64 z a) (+.f64 (/.f64 (*.f64 y x) a) (*.f64 28832688827/125000 (/.f64 1 (*.f64 a (pow.f64 y 2)))))))) (+.f64 (*.f64 28832688827/125000 (/.f64 1 (*.f64 y (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 i x) (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 y z) (pow.f64 a 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 c (*.f64 (pow.f64 y 4) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 z b) (*.f64 y (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 i (*.f64 (pow.f64 y 4) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 i z) (*.f64 (pow.f64 y 3) (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 b (*.f64 (pow.f64 y 2) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 c x) (*.f64 y (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 c z) (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 c (*.f64 (pow.f64 y 3) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 t b) (*.f64 (pow.f64 y 4) (pow.f64 a 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 b (*.f64 (pow.f64 y 3) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 b x) (pow.f64 a 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 a 2))) (+.f64 (/.f64 t (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 i (*.f64 (pow.f64 y 5) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 c t) (*.f64 (pow.f64 y 5) (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 a 2)) (/.f64 (*.f64 i t) (*.f64 (pow.f64 y 6) (pow.f64 a 2)))))))))))))))))))))))
47.9b
(-.f64 (+.f64 (/.f64 t i) (*.f64 28832688827/125000 (/.f64 y i))) (/.f64 (*.f64 c (*.f64 y t)) (pow.f64 i 2)))
35.0b
(/.f64 (fma.f64 y 28832688827/125000 t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
54.5b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (/.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
30.6b
(+.f64 (*.f64 54929528941/2000000 (/.f64 (pow.f64 y 2) (+.f64 i (+.f64 (*.f64 (pow.f64 y 3) a) (+.f64 (*.f64 (pow.f64 y 2) b) (+.f64 (pow.f64 y 4) (*.f64 c y))))))) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) z) (+.f64 i (+.f64 (*.f64 (pow.f64 y 3) a) (+.f64 (*.f64 (pow.f64 y 2) b) (+.f64 (pow.f64 y 4) (*.f64 c y)))))) (+.f64 (/.f64 (*.f64 (pow.f64 y 4) x) (+.f64 i (+.f64 (*.f64 (pow.f64 y 3) a) (+.f64 (*.f64 (pow.f64 y 2) b) (+.f64 (pow.f64 y 4) (*.f64 c y)))))) (+.f64 (/.f64 t (+.f64 i (+.f64 (*.f64 (pow.f64 y 3) a) (+.f64 (*.f64 (pow.f64 y 2) b) (+.f64 (pow.f64 y 4) (*.f64 c y)))))) (*.f64 28832688827/125000 (/.f64 y (+.f64 i (+.f64 (*.f64 (pow.f64 y 3) a) (+.f64 (*.f64 (pow.f64 y 2) b) (+.f64 (pow.f64 y 4) (*.f64 c y)))))))))))
56.3b
(-.f64 (+.f64 (*.f64 28832688827/125000 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 y 3)) (pow.f64 i 3))) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) z) i) (+.f64 (*.f64 54929528941/2000000 (/.f64 (pow.f64 y 2) i)) (+.f64 (/.f64 t i) (+.f64 (*.f64 2 (/.f64 (*.f64 c (*.f64 (pow.f64 y 3) (*.f64 t b))) (pow.f64 i 3))) (+.f64 (*.f64 28832688827/125000 (/.f64 y i)) (/.f64 (*.f64 (pow.f64 c 2) (*.f64 (pow.f64 y 2) t)) (pow.f64 i 3)))))))) (+.f64 (/.f64 (*.f64 c (*.f64 y t)) (pow.f64 i 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 (*.f64 c (pow.f64 y 2)) (pow.f64 i 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (*.f64 a t)) (pow.f64 i 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (*.f64 t b)) (pow.f64 i 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 (*.f64 (pow.f64 y 3) b) (pow.f64 i 2))) (+.f64 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 (pow.f64 y 3) t)) (pow.f64 i 4)) (*.f64 54929528941/2000000 (/.f64 (*.f64 c (pow.f64 y 3)) (pow.f64 i 2))))))))))
47.8b
(/.f64 t i)
29.4b
(/.f64 1 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i) (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t)))
29.4b
(/.f64 (fma.f64 y (+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
Compiler

Compiled 42205 to 26955 computations (36.1% saved)

localize24.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.2b
(+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z))))
7.0b
(*.f64 (pow.f64 y 3) x)
7.6b
(*.f64 (pow.f64 y 2) z)
28.5b
(/.f64 (fma.f64 y (+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))

series9.9s (16.3%)

Counts
4 → 125
Calls

4 calls:

9.9s
(/.f64 (fma.f64 y (+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
26.0ms
(+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z))))
12.0ms
(*.f64 (pow.f64 y 3) x)
9.0ms
(*.f64 (pow.f64 y 2) z)

rewrite27.0ms (0%)

Algorithm
rewrite-expression-head
Rules
32×add-sqr-sqrt_binary64
20×associate-*l*_binary64
19×*-un-lft-identity_binary64
19×add-cube-cbrt_binary64
16×add-exp-log_binary64
Counts
4 → 108
Calls

4 calls:

8.0ms
(+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z))))
5.0ms
(*.f64 (pow.f64 y 3) x)
4.0ms
(*.f64 (pow.f64 y 2) z)
2.0ms
(/.f64 (fma.f64 y (+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))

simplify376.0ms (0.6%)

Algorithm
egg-herbie
Counts
233 → 171
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0529964521

prune847.0ms (1.4%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New1692171
Fresh21517
Picked101
Done000
Total17217189
Error
8.8b
Counts
189 → 17
Alt Table
StatusErrorProgram
45.8b
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (*.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
29.8b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)))) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
45.6b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
49.6b
(-.f64 (+.f64 (/.f64 z y) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 y 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) x))) (+.f64 (/.f64 (*.f64 a x) y) (+.f64 (/.f64 (*.f64 b x) (pow.f64 y 2)) (/.f64 (*.f64 a z) (pow.f64 y 2)))))
46.7b
(-.f64 (+.f64 (/.f64 z y) x) (/.f64 (*.f64 a x) y))
29.9b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)))) (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
45.2b
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (*.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (+.f64 y a) b) c)) (sqrt.f64 (fma.f64 y (fma.f64 y (+.f64 y a) b) c))) i))
61.5b
(-.f64 (+.f64 (/.f64 t (*.f64 (pow.f64 y 2) b)) (+.f64 (*.f64 28832688827/125000 (/.f64 1 (*.f64 y b))) (+.f64 (/.f64 (*.f64 y z) b) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 b)) (/.f64 (*.f64 (pow.f64 y 2) x) b))))) (+.f64 (/.f64 (*.f64 i x) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) z) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 c t) (*.f64 (pow.f64 y 3) (pow.f64 b 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 (pow.f64 y 2) (pow.f64 b 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 i (*.f64 (pow.f64 y 3) (pow.f64 b 2)))) (+.f64 (/.f64 (*.f64 i t) (*.f64 (pow.f64 y 4) (pow.f64 b 2))) (+.f64 (/.f64 t (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (*.f64 a x)) (pow.f64 b 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 c (*.f64 (pow.f64 y 2) (pow.f64 b 2)))) (+.f64 (*.f64 54929528941/2000000 (/.f64 (*.f64 y a) (pow.f64 b 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 a (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 4) x) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 a (*.f64 (pow.f64 y 2) z)) (pow.f64 b 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 c (*.f64 y (pow.f64 b 2)))) (+.f64 (/.f64 (*.f64 i z) (*.f64 y (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 a t) (*.f64 y (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 c z) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 c (*.f64 y x)) (pow.f64 b 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 i (*.f64 (pow.f64 y 2) (pow.f64 b 2)))) (*.f64 28832688827/125000 (/.f64 y (pow.f64 b 2)))))))))))))))))))))))
49.3b
x
61.2b
(-.f64 (+.f64 (/.f64 t (*.f64 (pow.f64 y 3) a)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (*.f64 a y))) (+.f64 (/.f64 z a) (+.f64 (/.f64 (*.f64 y x) a) (*.f64 28832688827/125000 (/.f64 1 (*.f64 a (pow.f64 y 2)))))))) (+.f64 (*.f64 28832688827/125000 (/.f64 1 (*.f64 y (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 i x) (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 y z) (pow.f64 a 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 c (*.f64 (pow.f64 y 4) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 z b) (*.f64 y (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 i (*.f64 (pow.f64 y 4) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 i z) (*.f64 (pow.f64 y 3) (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 b (*.f64 (pow.f64 y 2) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 c x) (*.f64 y (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 c z) (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 c (*.f64 (pow.f64 y 3) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 t b) (*.f64 (pow.f64 y 4) (pow.f64 a 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 b (*.f64 (pow.f64 y 3) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 b x) (pow.f64 a 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 a 2))) (+.f64 (/.f64 t (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 i (*.f64 (pow.f64 y 5) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 c t) (*.f64 (pow.f64 y 5) (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 a 2)) (/.f64 (*.f64 i t) (*.f64 (pow.f64 y 6) (pow.f64 a 2)))))))))))))))))))))))
47.9b
(-.f64 (+.f64 (/.f64 t i) (*.f64 28832688827/125000 (/.f64 y i))) (/.f64 (*.f64 c (*.f64 y t)) (pow.f64 i 2)))
35.0b
(/.f64 (fma.f64 y 28832688827/125000 t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
54.5b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (/.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
56.3b
(-.f64 (+.f64 (*.f64 28832688827/125000 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 y 3)) (pow.f64 i 3))) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) z) i) (+.f64 (*.f64 54929528941/2000000 (/.f64 (pow.f64 y 2) i)) (+.f64 (/.f64 t i) (+.f64 (*.f64 2 (/.f64 (*.f64 c (*.f64 (pow.f64 y 3) (*.f64 t b))) (pow.f64 i 3))) (+.f64 (*.f64 28832688827/125000 (/.f64 y i)) (/.f64 (*.f64 (pow.f64 c 2) (*.f64 (pow.f64 y 2) t)) (pow.f64 i 3)))))))) (+.f64 (/.f64 (*.f64 c (*.f64 y t)) (pow.f64 i 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 (*.f64 c (pow.f64 y 2)) (pow.f64 i 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (*.f64 a t)) (pow.f64 i 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (*.f64 t b)) (pow.f64 i 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 (*.f64 (pow.f64 y 3) b) (pow.f64 i 2))) (+.f64 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 (pow.f64 y 3) t)) (pow.f64 i 4)) (*.f64 54929528941/2000000 (/.f64 (*.f64 c (pow.f64 y 3)) (pow.f64 i 2))))))))))
47.8b
(/.f64 t i)
29.4b
(/.f64 1 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i) (fma.f64 y (+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t)))
29.3b
(/.f64 (fma.f64 y (+.f64 (*.f64 (*.f64 y y) (*.f64 y x)) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
Compiler

Compiled 43432 to 27930 computations (35.7% saved)

localize24.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.7b
(*.f64 (*.f64 y y) (*.f64 y x))
5.2b
(+.f64 (*.f64 (*.f64 y y) (*.f64 y x)) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z))))
7.6b
(*.f64 (pow.f64 y 2) z)
28.5b
(/.f64 (fma.f64 y (+.f64 (*.f64 (*.f64 y y) (*.f64 y x)) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))

series9.6s (15.7%)

Counts
3 → 156
Calls

3 calls:

9.5s
(/.f64 (fma.f64 y (+.f64 (*.f64 (*.f64 y y) (*.f64 y x)) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
25.0ms
(+.f64 (*.f64 (*.f64 y y) (*.f64 y x)) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z))))
12.0ms
(*.f64 (*.f64 y y) (*.f64 y x))

rewrite24.0ms (0%)

Algorithm
rewrite-expression-head
Rules
17×add-cbrt-cube_binary64
17×add-exp-log_binary64
15×pow1_binary64
12×add-log-exp_binary64
11×*-un-lft-identity_binary64
Counts
3 → 70
Calls

3 calls:

10.0ms
(+.f64 (*.f64 (*.f64 y y) (*.f64 y x)) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z))))
5.0ms
(*.f64 (*.f64 y y) (*.f64 y x))
2.0ms
(/.f64 (fma.f64 y (+.f64 (*.f64 (*.f64 y y) (*.f64 y x)) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))

simplify375.0ms (0.6%)

Algorithm
egg-herbie
Counts
226 → 134
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0525364753

prune999.0ms (1.6%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New1630163
Fresh01616
Picked011
Done000
Total16317180
Error
8.8b
Counts
180 → 17
Alt Table
StatusErrorProgram
45.8b
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (*.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
29.8b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)))) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
45.6b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
49.6b
(-.f64 (+.f64 (/.f64 z y) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 y 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) x))) (+.f64 (/.f64 (*.f64 a x) y) (+.f64 (/.f64 (*.f64 b x) (pow.f64 y 2)) (/.f64 (*.f64 a z) (pow.f64 y 2)))))
46.7b
(-.f64 (+.f64 (/.f64 z y) x) (/.f64 (*.f64 a x) y))
29.9b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)))) (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
45.2b
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (*.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (+.f64 y a) b) c)) (sqrt.f64 (fma.f64 y (fma.f64 y (+.f64 y a) b) c))) i))
61.5b
(-.f64 (+.f64 (/.f64 t (*.f64 (pow.f64 y 2) b)) (+.f64 (*.f64 28832688827/125000 (/.f64 1 (*.f64 y b))) (+.f64 (/.f64 (*.f64 y z) b) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 b)) (/.f64 (*.f64 (pow.f64 y 2) x) b))))) (+.f64 (/.f64 (*.f64 i x) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) z) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 c t) (*.f64 (pow.f64 y 3) (pow.f64 b 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 (pow.f64 y 2) (pow.f64 b 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 i (*.f64 (pow.f64 y 3) (pow.f64 b 2)))) (+.f64 (/.f64 (*.f64 i t) (*.f64 (pow.f64 y 4) (pow.f64 b 2))) (+.f64 (/.f64 t (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (*.f64 a x)) (pow.f64 b 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 c (*.f64 (pow.f64 y 2) (pow.f64 b 2)))) (+.f64 (*.f64 54929528941/2000000 (/.f64 (*.f64 y a) (pow.f64 b 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 a (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 4) x) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 a (*.f64 (pow.f64 y 2) z)) (pow.f64 b 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 c (*.f64 y (pow.f64 b 2)))) (+.f64 (/.f64 (*.f64 i z) (*.f64 y (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 a t) (*.f64 y (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 c z) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 c (*.f64 y x)) (pow.f64 b 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 i (*.f64 (pow.f64 y 2) (pow.f64 b 2)))) (*.f64 28832688827/125000 (/.f64 y (pow.f64 b 2)))))))))))))))))))))))
49.3b
x
61.2b
(-.f64 (+.f64 (/.f64 t (*.f64 (pow.f64 y 3) a)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (*.f64 a y))) (+.f64 (/.f64 z a) (+.f64 (/.f64 (*.f64 y x) a) (*.f64 28832688827/125000 (/.f64 1 (*.f64 a (pow.f64 y 2)))))))) (+.f64 (*.f64 28832688827/125000 (/.f64 1 (*.f64 y (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 i x) (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 y z) (pow.f64 a 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 c (*.f64 (pow.f64 y 4) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 z b) (*.f64 y (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 i (*.f64 (pow.f64 y 4) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 i z) (*.f64 (pow.f64 y 3) (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 b (*.f64 (pow.f64 y 2) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 c x) (*.f64 y (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 c z) (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 c (*.f64 (pow.f64 y 3) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 t b) (*.f64 (pow.f64 y 4) (pow.f64 a 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 b (*.f64 (pow.f64 y 3) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 b x) (pow.f64 a 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 a 2))) (+.f64 (/.f64 t (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 i (*.f64 (pow.f64 y 5) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 c t) (*.f64 (pow.f64 y 5) (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 a 2)) (/.f64 (*.f64 i t) (*.f64 (pow.f64 y 6) (pow.f64 a 2)))))))))))))))))))))))
47.9b
(-.f64 (+.f64 (/.f64 t i) (*.f64 28832688827/125000 (/.f64 y i))) (/.f64 (*.f64 c (*.f64 y t)) (pow.f64 i 2)))
35.0b
(/.f64 (fma.f64 y 28832688827/125000 t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
54.5b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (/.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
56.3b
(-.f64 (+.f64 (*.f64 28832688827/125000 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 y 3)) (pow.f64 i 3))) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) z) i) (+.f64 (*.f64 54929528941/2000000 (/.f64 (pow.f64 y 2) i)) (+.f64 (/.f64 t i) (+.f64 (*.f64 2 (/.f64 (*.f64 c (*.f64 (pow.f64 y 3) (*.f64 t b))) (pow.f64 i 3))) (+.f64 (*.f64 28832688827/125000 (/.f64 y i)) (/.f64 (*.f64 (pow.f64 c 2) (*.f64 (pow.f64 y 2) t)) (pow.f64 i 3)))))))) (+.f64 (/.f64 (*.f64 c (*.f64 y t)) (pow.f64 i 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 (*.f64 c (pow.f64 y 2)) (pow.f64 i 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (*.f64 a t)) (pow.f64 i 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (*.f64 t b)) (pow.f64 i 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 (*.f64 (pow.f64 y 3) b) (pow.f64 i 2))) (+.f64 (/.f64 (*.f64 (pow.f64 c 3) (*.f64 (pow.f64 y 3) t)) (pow.f64 i 4)) (*.f64 54929528941/2000000 (/.f64 (*.f64 c (pow.f64 y 3)) (pow.f64 i 2))))))))))
47.8b
(/.f64 t i)
29.4b
(/.f64 1 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i) (fma.f64 y (+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t)))
29.3b
(/.f64 (fma.f64 y (+.f64 (*.f64 (*.f64 y y) (*.f64 y x)) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
Compiler

Compiled 43339 to 27361 computations (36.9% saved)

localize25.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.2b
(+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z))))
7.0b
(*.f64 (pow.f64 y 3) x)
7.6b
(*.f64 (pow.f64 y 2) z)
28.6b
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i) (fma.f64 y (+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t))

series5.6s (9.3%)

Counts
1 → 96
Calls

1 calls:

5.6s
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i) (fma.f64 y (+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t))

rewrite5.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
times-frac_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
associate-/r*_binary64
Counts
1 → 29
Calls

1 calls:

2.0ms
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i) (fma.f64 y (+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t))

simplify418.0ms (0.7%)

Algorithm
egg-herbie
Rules
957×fma-def_binary64
485×associate-/l*_binary64
209×times-frac_binary64
33×sqr-pow_binary64
29×sub-neg_binary64
Counts
125 → 145
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0306444621
1536844621

prune1.3s (2.2%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New2256231
Fresh31215
Picked101
Done011
Total22919248
Error
5.9b
Counts
248 → 19
Alt Table
StatusErrorProgram
45.8b
(/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (*.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
29.8b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)))) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (cbrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
35.0b
(/.f64 (fma.f64 y 28832688827/125000 t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
58.8b
(/.f64 1 (-.f64 (+.f64 (/.f64 i (*.f64 (pow.f64 y 3) z)) (+.f64 (/.f64 c (*.f64 (*.f64 y y) z)) (+.f64 (/.f64 y z) (+.f64 (/.f64 a z) (/.f64 b (*.f64 y z)))))) (+.f64 (/.f64 (*.f64 c t) (*.f64 (pow.f64 y 5) (*.f64 z z))) (fma.f64 54929528941/2000000 (/.f64 c (*.f64 (pow.f64 y 3) (*.f64 z z))) (fma.f64 54929528941/2000000 (/.f64 1 (*.f64 z z)) (+.f64 (/.f64 (*.f64 t b) (*.f64 (pow.f64 y 4) (*.f64 z z))) (+.f64 (/.f64 (*.f64 b x) (*.f64 z z)) (+.f64 (/.f64 (*.f64 a t) (*.f64 (pow.f64 y 3) (*.f64 z z))) (+.f64 (/.f64 (*.f64 c x) (*.f64 y (*.f64 z z))) (fma.f64 28832688827/125000 (/.f64 a (*.f64 (*.f64 y y) (*.f64 z z))) (fma.f64 54929528941/2000000 (/.f64 i (*.f64 (pow.f64 y 4) (*.f64 z z))) (fma.f64 28832688827/125000 (/.f64 1 (*.f64 y (*.f64 z z))) (fma.f64 54929528941/2000000 (/.f64 a (*.f64 y (*.f64 z z))) (fma.f64 28832688827/125000 (/.f64 c (*.f64 (pow.f64 y 4) (*.f64 z z))) (+.f64 (/.f64 (*.f64 i t) (*.f64 (pow.f64 y 6) (*.f64 z z))) (fma.f64 28832688827/125000 (/.f64 b (*.f64 (pow.f64 y 3) (*.f64 z z))) (+.f64 (/.f64 (*.f64 a (*.f64 y x)) (*.f64 z z)) (+.f64 (/.f64 (*.f64 i x) (*.f64 (*.f64 y y) (*.f64 z z))) (fma.f64 28832688827/125000 (/.f64 i (*.f64 (pow.f64 y 5) (*.f64 z z))) (fma.f64 54929528941/2000000 (/.f64 b (*.f64 (*.f64 y y) (*.f64 z z))) (+.f64 (/.f64 (*.f64 (*.f64 y y) x) (*.f64 z z)) (/.f64 t (*.f64 (*.f64 y y) (*.f64 z z))))))))))))))))))))))))
54.5b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (/.f64 (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t)) (sqrt.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
29.5b
(/.f64 1 (*.f64 (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i) (/.f64 1 (fma.f64 y (+.f64 (*.f64 (pow.f64 y 3) x) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t))))
46.4b
(/.f64 1 (-.f64 (+.f64 (/.f64 1 x) (/.f64 a (*.f64 y x))) (/.f64 z (*.f64 y (pow.f64 x 2)))))
45.6b
(cbrt.f64 (*.f64 (*.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
49.6b
(-.f64 (+.f64 (/.f64 z y) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 y 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) x))) (+.f64 (/.f64 (*.f64 a x) y) (+.f64 (/.f64 (*.f64 b x) (pow.f64 y 2)) (/.f64 (*.f64 a z) (pow.f64 y 2)))))
46.2b
(/.f64 1 (-.f64 (+.f64 (/.f64 i t) (/.f64 (*.f64 c y) t)) (*.f64 28832688827/125000 (/.f64 (*.f64 i y) (pow.f64 t 2)))))
46.7b
(-.f64 (+.f64 (/.f64 z y) x) (/.f64 (*.f64 a x) y))
54.4b
(/.f64 1 (-.f64 (+.f64 (/.f64 i (*.f64 (pow.f64 y 4) x)) (+.f64 (/.f64 b (*.f64 (*.f64 y y) x)) (+.f64 (/.f64 1 x) (+.f64 (/.f64 a (*.f64 y x)) (/.f64 c (*.f64 (pow.f64 y 3) x)))))) (fma.f64 28832688827/125000 (/.f64 b (*.f64 (pow.f64 y 5) (*.f64 x x))) (+.f64 (/.f64 z (*.f64 y (*.f64 x x))) (fma.f64 54929528941/2000000 (/.f64 a (*.f64 (pow.f64 y 3) (*.f64 x x))) (fma.f64 28832688827/125000 (/.f64 i (*.f64 (pow.f64 y 7) (*.f64 x x))) (fma.f64 54929528941/2000000 (/.f64 b (*.f64 (pow.f64 y 4) (*.f64 x x))) (+.f64 (/.f64 t (*.f64 (pow.f64 y 4) (*.f64 x x))) (+.f64 (/.f64 (*.f64 a t) (*.f64 (pow.f64 y 5) (*.f64 x x))) (+.f64 (/.f64 (*.f64 c z) (*.f64 (pow.f64 y 4) (*.f64 x x))) (+.f64 (/.f64 (*.f64 i t) (*.f64 (pow.f64 y 8) (*.f64 x x))) (+.f64 (/.f64 (*.f64 b z) (*.f64 (pow.f64 y 3) (*.f64 x x))) (+.f64 (/.f64 (*.f64 a z) (*.f64 (*.f64 y y) (*.f64 x x))) (+.f64 (/.f64 (*.f64 c t) (*.f64 (pow.f64 y 7) (*.f64 x x))) (fma.f64 54929528941/2000000 (/.f64 c (*.f64 (pow.f64 y 5) (*.f64 x x))) (fma.f64 54929528941/2000000 (/.f64 1 (*.f64 (*.f64 y y) (*.f64 x x))) (+.f64 (/.f64 (*.f64 i z) (*.f64 (pow.f64 y 5) (*.f64 x x))) (fma.f64 28832688827/125000 (/.f64 a (*.f64 (pow.f64 y 4) (*.f64 x x))) (fma.f64 54929528941/2000000 (/.f64 i (*.f64 (pow.f64 y 6) (*.f64 x x))) (+.f64 (/.f64 (*.f64 t b) (*.f64 (pow.f64 y 6) (*.f64 x x))) (*.f64 28832688827/125000 (+.f64 (/.f64 c (*.f64 (pow.f64 y 6) (*.f64 x x))) (/.f64 1 (*.f64 (pow.f64 y 3) (*.f64 x x)))))))))))))))))))))))))
47.9b
(/.f64 1 (/.f64 i t))
29.9b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))) (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i)))) (cbrt.f64 (/.f64 (fma.f64 y (fma.f64 y (fma.f64 y (fma.f64 x y z) 54929528941/2000000) 28832688827/125000) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))))
61.5b
(-.f64 (+.f64 (/.f64 t (*.f64 (pow.f64 y 2) b)) (+.f64 (*.f64 28832688827/125000 (/.f64 1 (*.f64 y b))) (+.f64 (/.f64 (*.f64 y z) b) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 b)) (/.f64 (*.f64 (pow.f64 y 2) x) b))))) (+.f64 (/.f64 (*.f64 i x) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) z) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 c t) (*.f64 (pow.f64 y 3) (pow.f64 b 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 (pow.f64 y 2) (pow.f64 b 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 i (*.f64 (pow.f64 y 3) (pow.f64 b 2)))) (+.f64 (/.f64 (*.f64 i t) (*.f64 (pow.f64 y 4) (pow.f64 b 2))) (+.f64 (/.f64 t (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (*.f64 a x)) (pow.f64 b 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 c (*.f64 (pow.f64 y 2) (pow.f64 b 2)))) (+.f64 (*.f64 54929528941/2000000 (/.f64 (*.f64 y a) (pow.f64 b 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 a (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 4) x) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 a (*.f64 (pow.f64 y 2) z)) (pow.f64 b 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 c (*.f64 y (pow.f64 b 2)))) (+.f64 (/.f64 (*.f64 i z) (*.f64 y (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 a t) (*.f64 y (pow.f64 b 2))) (+.f64 (/.f64 (*.f64 c z) (pow.f64 b 2)) (+.f64 (/.f64 (*.f64 c (*.f64 y x)) (pow.f64 b 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 i (*.f64 (pow.f64 y 2) (pow.f64 b 2)))) (*.f64 28832688827/125000 (/.f64 y (pow.f64 b 2)))))))))))))))))))))))
49.3b
x
61.2b
(-.f64 (+.f64 (/.f64 t (*.f64 (pow.f64 y 3) a)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (*.f64 a y))) (+.f64 (/.f64 z a) (+.f64 (/.f64 (*.f64 y x) a) (*.f64 28832688827/125000 (/.f64 1 (*.f64 a (pow.f64 y 2)))))))) (+.f64 (*.f64 28832688827/125000 (/.f64 1 (*.f64 y (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 i x) (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 y z) (pow.f64 a 2)) (+.f64 (*.f64 28832688827/125000 (/.f64 c (*.f64 (pow.f64 y 4) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 z b) (*.f64 y (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 i (*.f64 (pow.f64 y 4) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 i z) (*.f64 (pow.f64 y 3) (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 b (*.f64 (pow.f64 y 2) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 c x) (*.f64 y (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 c z) (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 c (*.f64 (pow.f64 y 3) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 t b) (*.f64 (pow.f64 y 4) (pow.f64 a 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 b (*.f64 (pow.f64 y 3) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 b x) (pow.f64 a 2)) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 a 2))) (+.f64 (/.f64 t (*.f64 (pow.f64 y 2) (pow.f64 a 2))) (+.f64 (*.f64 28832688827/125000 (/.f64 i (*.f64 (pow.f64 y 5) (pow.f64 a 2)))) (+.f64 (/.f64 (*.f64 c t) (*.f64 (pow.f64 y 5) (pow.f64 a 2))) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 a 2)) (/.f64 (*.f64 i t) (*.f64 (pow.f64 y 6) (pow.f64 a 2)))))))))))))))))))))))
47.9b
(-.f64 (+.f64 (/.f64 t i) (*.f64 28832688827/125000 (/.f64 y i))) (/.f64 (*.f64 c (*.f64 y t)) (pow.f64 i 2)))
29.3b
(/.f64 (fma.f64 y (+.f64 (*.f64 (*.f64 y y) (*.f64 y x)) (+.f64 28832688827/125000 (+.f64 (*.f64 54929528941/2000000 y) (*.f64 (pow.f64 y 2) z)))) t) (fma.f64 y (fma.f64 y (fma.f64 y (+.f64 y a) b) c) i))
Compiler

Compiled 51783 to 31732 computations (38.7% saved)

regimes14.7s (24.2%)

Accuracy

Total 6.8b remaining (58.1%)

Threshold costs 0b (0%)

Counts
252 → 4
Compiler

Compiled 135838 to 83439 computations (38.6% saved)

bsearch105.0ms (0.2%)

Steps
ItersRangePoint
6
3.612535410969643e+31
3.300315297944974e+32
3.231730882941454e+32
6
-4.542163653403939e+48
-4.332185253930127e+47
-1.2702176602074296e+48
8
-2.6144014327865834e+97
-3.4539364927996293e+93
-3.5063866772198877e+93
Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify9.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
066192
191192
2104192
3128192
4157192
5180192
6189192
7191192
8188192

end2.0ms (0%)

Compiler

Compiled 139 to 82 computations (41% saved)

sample2.1s (3.4%)

Algorithm
intervals
Results
863.0ms8000×body128valid
23.0ms221×body128invalid
Compiler

Compiled 1860 to 1075 computations (42.2% saved)

Profiling

Loading profile data...