Details

Time bar (total: 2.5min)

analyze13.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.2%0.8%0
99.2%0%0.8%1
Compiler

Compiled 112 to 64 computations (42.9% saved)

sample5.3s (3.5%)

Results
4.9s8256×body128valid
Compiler

Compiled 335 to 191 computations (43% saved)

simplify77.0ms (0.1%)

Algorithm
egg-herbie
Rules
759×fma-neg_binary64
565×distribute-rgt-in_binary64
513×cancel-sign-sub-inv_binary64
437×neg-mul-1_binary64
217×distribute-rgt-neg-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
064142
1182136
2467132
32132132
44408132
55050132

prune16.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
41.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
41.6b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))))
45.4b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 y4 b) (*.f64 y5 i)))) (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
Compiler

Compiled 635 to 326 computations (48.7% saved)

localize124.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
10.8b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))))
11.4b
(fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))
12.5b
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))
14.6b
(fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))

series6.3s (4.2%)

Counts
4 → 768
Calls

4 calls:

2.3s
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))))
1.9s
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))
1.3s
(fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))
763.0ms
(fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))

rewrite11.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
4 → 40
Calls

4 calls:

1.0ms
(fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))
1.0ms
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))))
1.0ms
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (fma.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)) (fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5))))))))
1.0ms
(fma.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 i y1) (*.f64 b y0)) (fma.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 c y0) (*.f64 a y1)) (*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))))

simplify2.2s (1.4%)

Algorithm
egg-herbie
Rules
1826×fma-def_binary64
325×sub-neg_binary64
32×fma-neg_binary64
fma-udef_binary64
Counts
808 → 646
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02590123400
15051123400

prune2.1s (1.4%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New63412646
Fresh101
Picked101
Done000
Total63612648
Error
0.8b
Counts
648 → 12
Alt Table
StatusErrorProgram
39.2b
(*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 j) (fma.f64 k (*.f64 i y) (*.f64 a (*.f64 t y2)))) (fma.f64 k (*.f64 y0 y2) (fma.f64 y (*.f64 a y3) (*.f64 i (*.f64 t j))))) y5)
40.1b
(*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5)))) (fma.f64 c (*.f64 y4 t) (fma.f64 y1 (*.f64 a x) (*.f64 k (*.f64 y0 y5))))) y2)
40.1b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 i (*.f64 y1 j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 a (*.f64 y1 y2))))) x))
37.3b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i)))
41.7b
(*.f64 y4 (-.f64 (fma.f64 k (*.f64 y1 y2) (fma.f64 t (*.f64 b j) (*.f64 c (*.f64 y y3)))) (fma.f64 y1 (*.f64 y3 j) (fma.f64 k (*.f64 y b) (*.f64 c (*.f64 t y2))))))
39.3b
(*.f64 y1 (-.f64 (fma.f64 i (*.f64 j x) (fma.f64 k (*.f64 y4 y2) (*.f64 a (*.f64 y3 z)))) (fma.f64 y4 (*.f64 y3 j) (fma.f64 k (*.f64 i z) (*.f64 a (*.f64 x y2))))))
41.7b
(*.f64 k (-.f64 (fma.f64 i (*.f64 y y5) (fma.f64 y4 (*.f64 y1 y2) (*.f64 y0 (*.f64 z b)))) (fma.f64 y0 (*.f64 y5 y2) (fma.f64 i (*.f64 y1 z) (*.f64 y4 (*.f64 y b))))))
39.7b
(*.f64 -1 (*.f64 y3 (-.f64 (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 y (*.f64 a y5)))) (fma.f64 c (*.f64 y4 y) (fma.f64 y1 (*.f64 a z) (*.f64 y0 (*.f64 j y5)))))))
42.0b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))))))
39.3b
(*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y)
37.2b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)))
42.1b
(*.f64 (-.f64 (fma.f64 c (*.f64 y2 x) (fma.f64 k (*.f64 b z) (*.f64 y3 (*.f64 j y5)))) (fma.f64 k (*.f64 y5 y2) (fma.f64 c (*.f64 y3 z) (*.f64 b (*.f64 j x))))) y0)
Compiler

Compiled 79520 to 6686 computations (91.6% saved)

localize61.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.9b
(*.f64 k (*.f64 i y))
5.6b
(*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)
8.9b
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5))
13.4b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)))

series917.0ms (0.6%)

Counts
4 → 376
Calls

4 calls:

574.0ms
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)))
253.0ms
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5))
68.0ms
(*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)
20.0ms
(*.f64 k (*.f64 i y))

rewrite28.0ms (0%)

Algorithm
rewrite-expression-head
Rules
11×add-cbrt-cube_binary64
11×add-exp-log_binary64
11×pow1_binary64
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
Counts
4 → 62
Calls

4 calls:

11.0ms
(*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)
10.0ms
(*.f64 k (*.f64 i y))
1.0ms
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)))
1.0ms
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5))

simplify887.0ms (0.6%)

Algorithm
egg-herbie
Rules
559×fma-def_binary64
327×associate-*r*_binary64
302×associate-*l*_binary64
292×cancel-sign-sub-inv_binary64
243×associate--r+_binary64
Counts
438 → 237
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
041224065
1134522850
2463622850
3496822850
4510622850

prune683.0ms (0.5%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New2343237
Fresh11011
Picked101
Done000
Total23613249
Error
0.2b
Counts
249 → 13
Alt Table
StatusErrorProgram
39.2b
(*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 j) (fma.f64 k (*.f64 i y) (*.f64 a (*.f64 t y2)))) (fma.f64 k (*.f64 y0 y2) (fma.f64 y (*.f64 a y3) (*.f64 i (*.f64 t j))))) y5)
40.1b
(*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5)))) (fma.f64 c (*.f64 y4 t) (fma.f64 y1 (*.f64 a x) (*.f64 k (*.f64 y0 y5))))) y2)
40.1b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 i (*.f64 y1 j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 a (*.f64 y1 y2))))) x))
42.1b
(*.f64 (-.f64 (fma.f64 c (*.f64 y2 x) (fma.f64 k (*.f64 b z) (*.f64 y3 (*.f64 j y5)))) (fma.f64 k (*.f64 y5 y2) (fma.f64 c (*.f64 y3 z) (*.f64 b (*.f64 j x))))) y0)
47.0b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (sqrt.f64 (*.f64 y5 (*.f64 i (-.f64 (*.f64 y k) (*.f64 t j))))) (sqrt.f64 (*.f64 y5 (*.f64 i (-.f64 (*.f64 y k) (*.f64 t j))))))))
39.3b
(*.f64 y1 (-.f64 (fma.f64 i (*.f64 j x) (fma.f64 k (*.f64 y4 y2) (*.f64 a (*.f64 y3 z)))) (fma.f64 y4 (*.f64 y3 j) (fma.f64 k (*.f64 i z) (*.f64 a (*.f64 x y2))))))
41.7b
(*.f64 k (-.f64 (fma.f64 i (*.f64 y y5) (fma.f64 y4 (*.f64 y1 y2) (*.f64 y0 (*.f64 z b)))) (fma.f64 y0 (*.f64 y5 y2) (fma.f64 i (*.f64 y1 z) (*.f64 y4 (*.f64 y b))))))
39.7b
(*.f64 -1 (*.f64 y3 (-.f64 (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 y (*.f64 a y5)))) (fma.f64 c (*.f64 y4 y) (fma.f64 y1 (*.f64 a z) (*.f64 y0 (*.f64 j y5)))))))
42.0b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))))))
43.7b
(*.f64 (fma.f64 (*.f64 y5 j) i (*.f64 y2 (-.f64 (*.f64 c y4) (*.f64 a y5)))) (neg.f64 t))
39.3b
(*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y)
37.3b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i)))
40.6b
(*.f64 (fma.f64 y1 (*.f64 y3 j) (-.f64 (*.f64 c (-.f64 (*.f64 t y2) (*.f64 y3 y))) (*.f64 k (*.f64 y2 y1)))) (neg.f64 y4))
Compiler

Compiled 11791 to 1934 computations (83.6% saved)

localize86.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.2b
(-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z)))))
9.9b
(*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i)
10.4b
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i))
13.4b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i)))

series2.9s (1.9%)

Counts
4 → 576
Calls

4 calls:

1.2s
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i)))
1.1s
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i))
369.0ms
(*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i)
163.0ms
(-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z)))))

rewrite25.0ms (0%)

Algorithm
rewrite-expression-head
Rules
20×add-sqr-sqrt_binary64
18×*-un-lft-identity_binary64
14×add-cube-cbrt_binary64
prod-diff_binary64
add-cbrt-cube_binary64
Counts
4 → 76
Calls

4 calls:

5.0ms
(*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i)
5.0ms
(-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z)))))
1.0ms
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i)))
0.0ms
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i))

simplify1.3s (0.8%)

Algorithm
egg-herbie
Rules
412×cancel-sign-sub-inv_binary64
367×sub-neg_binary64
293×*-commutative_binary64
250×fma-def_binary64
248×+-commutative_binary64
Counts
652 → 441
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
081951849
1226250717
2511450717

prune1.5s (1%)

Pruning

14 alts after pruning (13 fresh and 1 done)

PrunedKeptTotal
New4401441
Fresh01212
Picked011
Done000
Total44014454
Error
0.2b
Counts
454 → 14
Alt Table
StatusErrorProgram
39.2b
(*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 j) (fma.f64 k (*.f64 i y) (*.f64 a (*.f64 t y2)))) (fma.f64 k (*.f64 y0 y2) (fma.f64 y (*.f64 a y3) (*.f64 i (*.f64 t j))))) y5)
40.1b
(*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5)))) (fma.f64 c (*.f64 y4 t) (fma.f64 y1 (*.f64 a x) (*.f64 k (*.f64 y0 y5))))) y2)
40.1b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 i (*.f64 y1 j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 a (*.f64 y1 y2))))) x))
42.1b
(*.f64 (-.f64 (fma.f64 c (*.f64 y2 x) (fma.f64 k (*.f64 b z) (*.f64 y3 (*.f64 j y5)))) (fma.f64 k (*.f64 y5 y2) (fma.f64 c (*.f64 y3 z) (*.f64 b (*.f64 j x))))) y0)
47.0b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (sqrt.f64 (*.f64 y5 (*.f64 i (-.f64 (*.f64 y k) (*.f64 t j))))) (sqrt.f64 (*.f64 y5 (*.f64 i (-.f64 (*.f64 y k) (*.f64 t j))))))))
39.3b
(*.f64 y1 (-.f64 (fma.f64 i (*.f64 j x) (fma.f64 k (*.f64 y4 y2) (*.f64 a (*.f64 y3 z)))) (fma.f64 y4 (*.f64 y3 j) (fma.f64 k (*.f64 i z) (*.f64 a (*.f64 x y2))))))
41.7b
(*.f64 k (-.f64 (fma.f64 i (*.f64 y y5) (fma.f64 y4 (*.f64 y1 y2) (*.f64 y0 (*.f64 z b)))) (fma.f64 y0 (*.f64 y5 y2) (fma.f64 i (*.f64 y1 z) (*.f64 y4 (*.f64 y b))))))
39.7b
(*.f64 -1 (*.f64 y3 (-.f64 (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 y (*.f64 a y5)))) (fma.f64 c (*.f64 y4 y) (fma.f64 y1 (*.f64 a z) (*.f64 y0 (*.f64 j y5)))))))
42.0b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))))))
43.7b
(*.f64 (fma.f64 (*.f64 y5 j) i (*.f64 y2 (-.f64 (*.f64 c y4) (*.f64 a y5)))) (neg.f64 t))
39.3b
(*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y)
36.3b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5))))))
37.3b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i)))
40.6b
(*.f64 (fma.f64 y1 (*.f64 y3 j) (-.f64 (*.f64 c (-.f64 (*.f64 t y2) (*.f64 y3 y))) (*.f64 k (*.f64 y2 y1)))) (neg.f64 y4))
Compiler

Compiled 30491 to 2983 computations (90.2% saved)

localize71.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.3b
(*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5)))
6.5b
(*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5))))
8.3b
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5)))))
12.3b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5))))))

series1.1s (0.8%)

Counts
4 → 404
Calls

4 calls:

711.0ms
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5))))))
296.0ms
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5)))))
86.0ms
(*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5))))
49.0ms
(*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5)))

rewrite44.0ms (0%)

Algorithm
rewrite-expression-head
Rules
15×distribute-lft-in_binary64
15×distribute-rgt-in_binary64
11×add-cbrt-cube_binary64
11×add-exp-log_binary64
11×pow1_binary64
Counts
4 → 82
Calls

4 calls:

23.0ms
(*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5))))
10.0ms
(*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5)))
1.0ms
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5))))))
1.0ms
(fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5)))))

simplify732.0ms (0.5%)

Algorithm
egg-herbie
Rules
550×fma-def_binary64
408×associate-*r*_binary64
369×associate-*l*_binary64
273×cancel-sign-sub-inv_binary64
261×associate--l+_binary64
Counts
486 → 267
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
043525202
1136924495
2466824495
3500624495

prune557.0ms (0.4%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New2670267
Fresh01212
Picked011
Done011
Total26714281
Error
0.2b
Counts
281 → 14
Alt Table
StatusErrorProgram
39.2b
(*.f64 (-.f64 (fma.f64 y0 (*.f64 y3 j) (fma.f64 k (*.f64 i y) (*.f64 a (*.f64 t y2)))) (fma.f64 k (*.f64 y0 y2) (fma.f64 y (*.f64 a y3) (*.f64 i (*.f64 t j))))) y5)
40.1b
(*.f64 (-.f64 (fma.f64 c (*.f64 y0 x) (fma.f64 k (*.f64 y4 y1) (*.f64 a (*.f64 t y5)))) (fma.f64 c (*.f64 y4 t) (fma.f64 y1 (*.f64 a x) (*.f64 k (*.f64 y0 y5))))) y2)
40.1b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 (-.f64 (fma.f64 a (*.f64 y b) (fma.f64 c (*.f64 y0 y2) (*.f64 i (*.f64 y1 j)))) (fma.f64 c (*.f64 y i) (fma.f64 y0 (*.f64 b j) (*.f64 a (*.f64 y1 y2))))) x))
42.1b
(*.f64 (-.f64 (fma.f64 c (*.f64 y2 x) (fma.f64 k (*.f64 b z) (*.f64 y3 (*.f64 j y5)))) (fma.f64 k (*.f64 y5 y2) (fma.f64 c (*.f64 y3 z) (*.f64 b (*.f64 j x))))) y0)
47.0b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (sqrt.f64 (*.f64 y5 (*.f64 i (-.f64 (*.f64 y k) (*.f64 t j))))) (sqrt.f64 (*.f64 y5 (*.f64 i (-.f64 (*.f64 y k) (*.f64 t j))))))))
39.3b
(*.f64 y1 (-.f64 (fma.f64 i (*.f64 j x) (fma.f64 k (*.f64 y4 y2) (*.f64 a (*.f64 y3 z)))) (fma.f64 y4 (*.f64 y3 j) (fma.f64 k (*.f64 i z) (*.f64 a (*.f64 x y2))))))
41.7b
(*.f64 k (-.f64 (fma.f64 i (*.f64 y y5) (fma.f64 y4 (*.f64 y1 y2) (*.f64 y0 (*.f64 z b)))) (fma.f64 y0 (*.f64 y5 y2) (fma.f64 i (*.f64 y1 z) (*.f64 y4 (*.f64 y b))))))
39.7b
(*.f64 -1 (*.f64 y3 (-.f64 (fma.f64 y4 (*.f64 y1 j) (fma.f64 c (*.f64 y0 z) (*.f64 y (*.f64 a y5)))) (fma.f64 c (*.f64 y4 y) (fma.f64 y1 (*.f64 a z) (*.f64 y0 (*.f64 j y5)))))))
42.0b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (*.f64 b (-.f64 (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 y0 z) (*.f64 a (*.f64 y x)))) (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))))))
43.7b
(*.f64 (fma.f64 (*.f64 y5 j) i (*.f64 y2 (-.f64 (*.f64 c y4) (*.f64 a y5)))) (neg.f64 t))
39.3b
(*.f64 (-.f64 (fma.f64 a (*.f64 b x) (fma.f64 c (*.f64 y4 y3) (*.f64 k (*.f64 i y5)))) (fma.f64 k (*.f64 y4 b) (fma.f64 c (*.f64 i x) (*.f64 a (*.f64 y3 y5))))) y)
36.3b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 i (*.f64 t (-.f64 (*.f64 c z) (*.f64 j y5))))))
37.3b
(fma.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y1 y4) (*.f64 y0 y5)) (fma.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 a y5) (*.f64 c y4)) (*.f64 (-.f64 (fma.f64 k (*.f64 y y5) (fma.f64 y1 (*.f64 j x) (*.f64 c (*.f64 t z)))) (fma.f64 c (*.f64 y x) (fma.f64 t (*.f64 j y5) (*.f64 k (*.f64 y1 z))))) i)))
40.6b
(*.f64 (fma.f64 y1 (*.f64 y3 j) (-.f64 (*.f64 c (-.f64 (*.f64 t y2) (*.f64 y3 y))) (*.f64 k (*.f64 y2 y1)))) (neg.f64 y4))
Compiler

Compiled 12503 to 1664 computations (86.7% saved)

regimes2.1min (82%)

Compiler

Compiled 332456 to 200662 computations (39.6% saved)

Profiling

Loading profile data...