Details

Time bar (total: 1.2min)

analyze6.4s (8.9%)

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

Compiled 112 to 64 computations (42.9% saved)

sample32.6s (45.3%)

Results
28.9s66193×body128invalid
3.5s8256×body128valid
Compiler

Compiled 335 to 191 computations (43% saved)

simplify45.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

prune8.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

localize57.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.2b
(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)))))
6.7b
(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))))))
7.3b
(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))))
7.8b
(*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))

series1.5s (2.1%)

Counts
4 → 672
Calls

4 calls:

706.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))))))
423.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)))))
288.0ms
(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))))
67.0ms
(*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))

rewrite15.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
flip--_binary64
flip3--_binary64
add-cube-cbrt_binary64
Counts
4 → 64
Calls

4 calls:

10.0ms
(*.f64 (-.f64 (*.f64 t j) (*.f64 y k)) (-.f64 (*.f64 b y4) (*.f64 i y5)))
0.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))))))
0.0ms
(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))))
0.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)))))

simplify930.0ms (1.3%)

Algorithm
egg-herbie
Rules
608×fma-def_binary64
605×+-commutative_binary64
519×associate-+r+_binary64
515×cancel-sign-sub-inv_binary64
468×sub-neg_binary64
Counts
736 → 438
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0123565922
1287165433
2477265433
3493265433

prune1.7s (2.3%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New42315438
Fresh011
Picked101
Done000
Total42416440
Error
10.1b
Counts
440 → 16
Alt Table
StatusErrorProgram
37.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)) (*.f64 c (-.f64 (+.f64 (*.f64 y0 (*.f64 y2 x)) (*.f64 i (*.f64 t z))) (+.f64 (*.f64 y0 (*.f64 y3 z)) (*.f64 y (*.f64 i x)))))))
39.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 z (-.f64 (+.f64 (*.f64 k (*.f64 y0 b)) (+.f64 (*.f64 a (*.f64 y1 y3)) (*.f64 c (*.f64 i t)))) (+.f64 (*.f64 k (*.f64 i y1)) (+.f64 (*.f64 c (*.f64 y0 y3)) (*.f64 a (*.f64 t b))))))))
30.7b
(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)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)))))
30.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)) (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)) (-.f64 (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (*.f64 y4 (*.f64 t (*.f64 b j))))) (fma.f64 c (*.f64 (*.f64 y3 z) y0) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (*.f64 i (*.f64 t (*.f64 y5 j))))))))))
36.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 (-.f64 (+.f64 (*.f64 k (*.f64 y y5)) (+.f64 (*.f64 y1 (*.f64 j x)) (*.f64 c (*.f64 t z)))) (+.f64 (*.f64 c (*.f64 y x)) (+.f64 (*.f64 t (*.f64 j y5)) (*.f64 k (*.f64 y1 z))))) i)))
39.9b
(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 -1 (*.f64 j (-.f64 (+.f64 (*.f64 y0 (*.f64 b x)) (*.f64 i (*.f64 t y5))) (+.f64 (*.f64 y4 (*.f64 t b)) (*.f64 y1 (*.f64 i x))))))))
39.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 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 i (*.f64 y1 x))) (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 y5 t)))))))
31.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)) (*.f64 (-.f64 (*.f64 y1 (*.f64 a z)) (*.f64 c (*.f64 y0 z))) y3)))))
27.9b
(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)) (-.f64 (+.f64 (*.f64 a (*.f64 y1 (*.f64 y3 z))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y2 x))) (+.f64 (*.f64 k (*.f64 y (*.f64 i y5))) (*.f64 y4 (*.f64 t (*.f64 b j)))))) (+.f64 (*.f64 c (*.f64 y0 (*.f64 y3 z))) (+.f64 (*.f64 a (*.f64 y1 (*.f64 y2 x))) (+.f64 (*.f64 i (*.f64 t (*.f64 j y5))) (*.f64 k (*.f64 y4 (*.f64 y b)))))))))))
38.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)) (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 z y0) (*.f64 a (*.f64 y x)))))))))
39.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)) (*.f64 y (-.f64 (fma.f64 a (*.f64 b x) (*.f64 (*.f64 i y5) k)) (fma.f64 k (*.f64 y4 b) (*.f64 c (*.f64 i x)))))))
33.9b
(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 (fma.f64 c (*.f64 y0 (*.f64 x y2)) (fma.f64 i (*.f64 y1 (*.f64 j x)) (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 i (*.f64 t z)) (*.f64 k (*.f64 i (*.f64 y5 y))))))) (fma.f64 c (*.f64 (*.f64 y3 z) y0) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (fma.f64 c (*.f64 i (*.f64 y x)) (fma.f64 i (*.f64 t (*.f64 y5 j)) (*.f64 k (*.f64 i (*.f64 y1 z))))))))))
32.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)) (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)) (*.f64 -1 (*.f64 (-.f64 (*.f64 y1 (*.f64 a y2)) (*.f64 c (*.f64 y0 y2))) x))))))
39.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 -1 (*.f64 (-.f64 (+.f64 (*.f64 y0 (*.f64 j b)) (+.f64 (*.f64 c (*.f64 i y)) (*.f64 a (*.f64 y1 y2)))) (+.f64 (*.f64 y (*.f64 a b)) (+.f64 (*.f64 c (*.f64 y0 y2)) (*.f64 i (*.f64 y1 j))))) x))))
25.7b
(+.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))))
28.7b
(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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b)))))))
Compiler

Compiled 48909 to 5073 computations (89.6% saved)

localize58.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.9b
(*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))
9.0b
(*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))
9.1b
(*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))
10.9b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)))

series225.0ms (0.3%)

Counts
4 → 384
Calls

4 calls:

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

rewrite37.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
24×flip--_binary64
24×flip3--_binary64
20×add-sqr-sqrt_binary64
16×frac-times_binary64
12×associate-*r*_binary64
Counts
4 → 136
Calls

4 calls:

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

simplify238.0ms (0.3%)

Algorithm
egg-herbie
Rules
770×associate-*l*_binary64
382×fma-def_binary64
362×distribute-rgt-in_binary64
356×distribute-lft-in_binary64
258×*-commutative_binary64
Counts
520 → 297
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
053718648
1150618276
2521218276

prune1.4s (2%)

Pruning

23 alts after pruning (23 fresh and 0 done)

PrunedKeptTotal
New28710297
Fresh21315
Picked101
Done000
Total29023313
Error
7.3b
Counts
313 → 23
Alt Table
StatusErrorProgram
26.7b
(+.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 c (*.f64 y4 (-.f64 (*.f64 t y2) (*.f64 y y3)))) (neg.f64 (*.f64 a (*.f64 y5 (-.f64 (*.f64 t y2) (*.f64 y y3))))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
37.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)) (*.f64 c (-.f64 (+.f64 (*.f64 y0 (*.f64 y2 x)) (*.f64 i (*.f64 t z))) (+.f64 (*.f64 y0 (*.f64 y3 z)) (*.f64 y (*.f64 i x)))))))
39.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 z (-.f64 (+.f64 (*.f64 k (*.f64 y0 b)) (+.f64 (*.f64 a (*.f64 y1 y3)) (*.f64 c (*.f64 i t)))) (+.f64 (*.f64 k (*.f64 i y1)) (+.f64 (*.f64 c (*.f64 y0 y3)) (*.f64 a (*.f64 t b))))))))
30.7b
(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)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)))))
30.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)) (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)) (-.f64 (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (*.f64 y4 (*.f64 t (*.f64 b j))))) (fma.f64 c (*.f64 (*.f64 y3 z) y0) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (*.f64 i (*.f64 t (*.f64 y5 j))))))))))
27.9b
(+.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 a (*.f64 y (*.f64 y3 y5))) (*.f64 c (*.f64 y4 (*.f64 t y2)))) (+.f64 (*.f64 a (*.f64 t (*.f64 y5 y2))) (*.f64 c (*.f64 y4 (*.f64 y y3)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
38.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)) (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 z y0) (*.f64 a (*.f64 y x)))))))))
42.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 (sqrt.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (sqrt.f64 (*.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))))
30.2b
(+.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 t (*.f64 (-.f64 (*.f64 c y4) (*.f64 a y5)) y2))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
25.7b
(+.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 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3))) (*.f64 (fma.f64 (neg.f64 a) y1 (*.f64 a y1)) (-.f64 (*.f64 x y2) (*.f64 z y3))))) (*.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))))
36.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 (-.f64 (+.f64 (*.f64 k (*.f64 y y5)) (+.f64 (*.f64 y1 (*.f64 j x)) (*.f64 c (*.f64 t z)))) (+.f64 (*.f64 c (*.f64 y x)) (+.f64 (*.f64 t (*.f64 j y5)) (*.f64 k (*.f64 y1 z))))) i)))
30.8b
(+.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)))) (neg.f64 (*.f64 y (*.f64 y3 (-.f64 (*.f64 c y4) (*.f64 a y5)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
39.9b
(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 -1 (*.f64 j (-.f64 (+.f64 (*.f64 y0 (*.f64 b x)) (*.f64 i (*.f64 t y5))) (+.f64 (*.f64 y4 (*.f64 t b)) (*.f64 y1 (*.f64 i x))))))))
25.8b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.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))))
28.0b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (neg.f64 (*.f64 c (*.f64 i (-.f64 (*.f64 y x) (*.f64 t z))))) (*.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))))
32.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)) (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)) (*.f64 -1 (*.f64 (-.f64 (*.f64 y1 (*.f64 a y2)) (*.f64 c (*.f64 y0 y2))) x))))))
39.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 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 i (*.f64 y1 x))) (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 y5 t)))))))
31.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)) (*.f64 (-.f64 (*.f64 y1 (*.f64 a z)) (*.f64 c (*.f64 y0 z))) y3)))))
26.7b
(+.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)))) (neg.f64 (*.f64 y3 (*.f64 z (-.f64 (*.f64 c y0) (*.f64 a y1)))))) (*.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))))
39.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)) (*.f64 y (-.f64 (fma.f64 a (*.f64 b x) (*.f64 (*.f64 i y5) k)) (fma.f64 k (*.f64 y4 b) (*.f64 c (*.f64 i x)))))))
39.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 -1 (*.f64 (-.f64 (+.f64 (*.f64 y0 (*.f64 j b)) (+.f64 (*.f64 c (*.f64 i y)) (*.f64 a (*.f64 y1 y2)))) (+.f64 (*.f64 y (*.f64 a b)) (+.f64 (*.f64 c (*.f64 y0 y2)) (*.f64 i (*.f64 y1 j))))) x))))
25.8b
(+.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 (*.f64 t y2) (*.f64 y y3)) (*.f64 (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
28.7b
(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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b)))))))
Compiler

Compiled 36989 to 5019 computations (86.4% saved)

localize64.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
9.0b
(*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3)))
9.1b
(*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))
10.9b
(*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 a b) (*.f64 c i)))
46.6b
(fma.f64 (neg.f64 a) y1 (*.f64 a y1))

series67.0ms (0.1%)

Counts
2 → 120
Calls

2 calls:

55.0ms
(*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3)))
11.0ms
(fma.f64 (neg.f64 a) y1 (*.f64 a y1))

rewrite8.0ms (0%)

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

2 calls:

5.0ms
(*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3)))
0.0ms
(fma.f64 (neg.f64 a) y1 (*.f64 a y1))

simplify130.0ms (0.2%)

Algorithm
egg-herbie
Rules
828×fma-neg_binary64
510×cancel-sign-sub-inv_binary64
415×fma-def_binary64
362×exp-prod_binary64
356×distribute-rgt-in_binary64
Counts
158 → 84
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01394495
12844376
210194016
328582768
445892768
549942768

prune1.6s (2.2%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New2331234
Fresh12122
Picked101
Done000
Total23522257
Error
7.3b
Counts
257 → 22
Alt Table
StatusErrorProgram
26.7b
(+.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 c (*.f64 y4 (-.f64 (*.f64 t y2) (*.f64 y y3)))) (neg.f64 (*.f64 a (*.f64 y5 (-.f64 (*.f64 t y2) (*.f64 y y3))))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
37.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)) (*.f64 c (-.f64 (+.f64 (*.f64 y0 (*.f64 y2 x)) (*.f64 i (*.f64 t z))) (+.f64 (*.f64 y0 (*.f64 y3 z)) (*.f64 y (*.f64 i x)))))))
39.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 z (-.f64 (+.f64 (*.f64 k (*.f64 y0 b)) (+.f64 (*.f64 a (*.f64 y1 y3)) (*.f64 c (*.f64 i t)))) (+.f64 (*.f64 k (*.f64 i y1)) (+.f64 (*.f64 c (*.f64 y0 y3)) (*.f64 a (*.f64 t b))))))))
30.7b
(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)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)))))
30.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)) (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)) (-.f64 (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (*.f64 y4 (*.f64 t (*.f64 b j))))) (fma.f64 c (*.f64 (*.f64 y3 z) y0) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (*.f64 i (*.f64 t (*.f64 y5 j))))))))))
27.9b
(+.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 a (*.f64 y (*.f64 y3 y5))) (*.f64 c (*.f64 y4 (*.f64 t y2)))) (+.f64 (*.f64 a (*.f64 t (*.f64 y5 y2))) (*.f64 c (*.f64 y4 (*.f64 y y3)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
38.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)) (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 z y0) (*.f64 a (*.f64 y x)))))))))
42.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 (sqrt.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (sqrt.f64 (*.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))))
30.2b
(+.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 t (*.f64 (-.f64 (*.f64 c y4) (*.f64 a y5)) y2))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
36.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 (-.f64 (+.f64 (*.f64 k (*.f64 y y5)) (+.f64 (*.f64 y1 (*.f64 j x)) (*.f64 c (*.f64 t z)))) (+.f64 (*.f64 c (*.f64 y x)) (+.f64 (*.f64 t (*.f64 j y5)) (*.f64 k (*.f64 y1 z))))) i)))
30.8b
(+.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)))) (neg.f64 (*.f64 y (*.f64 y3 (-.f64 (*.f64 c y4) (*.f64 a y5)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
39.9b
(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 -1 (*.f64 j (-.f64 (+.f64 (*.f64 y0 (*.f64 b x)) (*.f64 i (*.f64 t y5))) (+.f64 (*.f64 y4 (*.f64 t b)) (*.f64 y1 (*.f64 i x))))))))
25.8b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.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))))
32.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)) (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)) (*.f64 -1 (*.f64 (-.f64 (*.f64 y1 (*.f64 a y2)) (*.f64 c (*.f64 y0 y2))) x))))))
39.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 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 i (*.f64 y1 x))) (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 y5 t)))))))
31.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)) (*.f64 (-.f64 (*.f64 y1 (*.f64 a z)) (*.f64 c (*.f64 y0 z))) y3)))))
26.7b
(+.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)))) (neg.f64 (*.f64 y3 (*.f64 z (-.f64 (*.f64 c y0) (*.f64 a y1)))))) (*.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))))
39.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)) (*.f64 y (-.f64 (fma.f64 a (*.f64 b x) (*.f64 (*.f64 i y5) k)) (fma.f64 k (*.f64 y4 b) (*.f64 c (*.f64 i x)))))))
39.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 -1 (*.f64 (-.f64 (+.f64 (*.f64 y0 (*.f64 j b)) (+.f64 (*.f64 c (*.f64 i y)) (*.f64 a (*.f64 y1 y2)))) (+.f64 (*.f64 y (*.f64 a b)) (+.f64 (*.f64 c (*.f64 y0 y2)) (*.f64 i (*.f64 y1 j))))) x))))
28.0b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (neg.f64 (*.f64 c (*.f64 i (-.f64 (*.f64 y x) (*.f64 t z))))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (+.f64 (*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3))) (*.f64 (fma.f64 (neg.f64 a) y1 (*.f64 a y1)) (-.f64 (*.f64 x y2) (*.f64 z y3))))) (*.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))))
25.8b
(+.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 (*.f64 t y2) (*.f64 y y3)) (*.f64 (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
28.7b
(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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b)))))))
Compiler

Compiled 33144 to 4539 computations (86.3% saved)

localize71.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.9b
(*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))
8.9b
(*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))
9.0b
(*.f64 (-.f64 (*.f64 x y2) (*.f64 z y3)) (-.f64 (*.f64 y0 c) (*.f64 y1 a)))
9.1b
(*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))

series85.0ms (0.1%)

Counts
1 → 96
Calls

1 calls:

84.0ms
(*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))

rewrite10.0ms (0%)

Algorithm
rewrite-expression-head
Rules
flip--_binary64
flip3--_binary64
add-sqr-sqrt_binary64
frac-times_binary64
associate-*r*_binary64
Counts
1 → 34
Calls

1 calls:

6.0ms
(*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0)))

simplify85.0ms (0.1%)

Algorithm
egg-herbie
Rules
753×fma-def_binary64
736×distribute-rgt-in_binary64
727×distribute-lft-in_binary64
196×cancel-sign-sub-inv_binary64
187×associate-*l*_binary64
Counts
130 → 68
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01284662
13804566
216104266
353394266

prune1.6s (2.2%)

Pruning

26 alts after pruning (26 fresh and 0 done)

PrunedKeptTotal
New2885293
Fresh02121
Picked101
Done000
Total28926315
Error
5.5b
Counts
315 → 26
Alt Table
StatusErrorProgram
26.7b
(+.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 c (*.f64 y4 (-.f64 (*.f64 t y2) (*.f64 y y3)))) (neg.f64 (*.f64 a (*.f64 y5 (-.f64 (*.f64 t y2) (*.f64 y y3))))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
37.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)) (*.f64 c (-.f64 (+.f64 (*.f64 y0 (*.f64 y2 x)) (*.f64 i (*.f64 t z))) (+.f64 (*.f64 y0 (*.f64 y3 z)) (*.f64 y (*.f64 i x)))))))
39.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 z (-.f64 (+.f64 (*.f64 k (*.f64 y0 b)) (+.f64 (*.f64 a (*.f64 y1 y3)) (*.f64 c (*.f64 i t)))) (+.f64 (*.f64 k (*.f64 i y1)) (+.f64 (*.f64 c (*.f64 y0 y3)) (*.f64 a (*.f64 t b))))))))
30.7b
(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)) (*.f64 (-.f64 (*.f64 k (*.f64 i y)) (*.f64 i (*.f64 t j))) y5)))))
30.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)) (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)) (-.f64 (fma.f64 y1 (*.f64 a (*.f64 y3 z)) (fma.f64 c (*.f64 y0 (*.f64 x y2)) (*.f64 y4 (*.f64 t (*.f64 b j))))) (fma.f64 c (*.f64 (*.f64 y3 z) y0) (fma.f64 a (*.f64 y1 (*.f64 x y2)) (*.f64 i (*.f64 t (*.f64 y5 j))))))))))
27.9b
(+.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 a (*.f64 y (*.f64 y3 y5))) (*.f64 c (*.f64 y4 (*.f64 t y2)))) (+.f64 (*.f64 a (*.f64 t (*.f64 y5 y2))) (*.f64 c (*.f64 y4 (*.f64 y y3)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
38.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)) (neg.f64 (*.f64 b (-.f64 (fma.f64 y0 (*.f64 j x) (fma.f64 a (*.f64 t z) (*.f64 k (*.f64 y4 y)))) (fma.f64 y4 (*.f64 t j) (fma.f64 k (*.f64 z y0) (*.f64 a (*.f64 y x)))))))))
42.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 (sqrt.f64 (*.f64 (-.f64 (*.f64 t y2) (*.f64 y y3)) (-.f64 (*.f64 y4 c) (*.f64 y5 a)))) (sqrt.f64 (*.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))))
30.2b
(+.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 t (*.f64 (-.f64 (*.f64 c y4) (*.f64 a y5)) y2))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
25.8b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.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 (fma.f64 y4 y1 (neg.f64 (*.f64 y0 y5))) (-.f64 (*.f64 k y2) (*.f64 j y3))) (*.f64 (fma.f64 (neg.f64 y0) y5 (*.f64 y0 y5)) (-.f64 (*.f64 k y2) (*.f64 j y3)))))
36.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 (-.f64 (+.f64 (*.f64 k (*.f64 y y5)) (+.f64 (*.f64 y1 (*.f64 j x)) (*.f64 c (*.f64 t z)))) (+.f64 (*.f64 c (*.f64 y x)) (+.f64 (*.f64 t (*.f64 j y5)) (*.f64 k (*.f64 y1 z))))) i)))
30.8b
(+.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)))) (neg.f64 (*.f64 y (*.f64 y3 (-.f64 (*.f64 c y4) (*.f64 a y5)))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
39.9b
(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 -1 (*.f64 j (-.f64 (+.f64 (*.f64 y0 (*.f64 b x)) (*.f64 i (*.f64 t y5))) (+.f64 (*.f64 y4 (*.f64 t b)) (*.f64 y1 (*.f64 i x))))))))
29.0b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.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 k (*.f64 (-.f64 (*.f64 y4 y1) (*.f64 y0 y5)) y2)))
32.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)) (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)) (*.f64 -1 (*.f64 (-.f64 (*.f64 y1 (*.f64 a y2)) (*.f64 c (*.f64 y0 y2))) x))))))
29.3b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.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 y0 (*.f64 y3 (*.f64 j y5))) (*.f64 k (*.f64 y4 (*.f64 y1 y2)))) (+.f64 (*.f64 k (*.f64 y0 (*.f64 y5 y2))) (*.f64 y4 (*.f64 y1 (*.f64 y3 j))))))
28.0b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (neg.f64 (*.f64 c (*.f64 i (-.f64 (*.f64 y x) (*.f64 t z))))) (*.f64 (-.f64 (*.f64 x j) (*.f64 z k)) (-.f64 (*.f64 y0 b) (*.f64 y1 i)))) (+.f64 (*.f64 (fma.f64 y0 c (neg.f64 (*.f64 a y1))) (-.f64 (*.f64 x y2) (*.f64 z y3))) (*.f64 (fma.f64 (neg.f64 a) y1 (*.f64 a y1)) (-.f64 (*.f64 x y2) (*.f64 z y3))))) (*.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))))
39.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 j (-.f64 (fma.f64 y4 (*.f64 b t) (*.f64 i (*.f64 y1 x))) (fma.f64 y0 (*.f64 b x) (*.f64 i (*.f64 y5 t)))))))
31.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)) (*.f64 (-.f64 (*.f64 y1 (*.f64 a z)) (*.f64 c (*.f64 y0 z))) y3)))))
25.8b
(+.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 (*.f64 t y2) (*.f64 y y3)) (*.f64 (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (cbrt.f64 (-.f64 (*.f64 y4 c) (*.f64 y5 a))))) (*.f64 (-.f64 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
33.7b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.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 (*.f64 k y2) (*.f64 j y3)) (-.f64 (*.f64 (*.f64 y4 y1) (*.f64 y4 y1)) (*.f64 (*.f64 y5 y0) (*.f64 y5 y0)))) (+.f64 (*.f64 y4 y1) (*.f64 y5 y0))))
26.7b
(+.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)))) (neg.f64 (*.f64 y3 (*.f64 z (-.f64 (*.f64 c y0) (*.f64 a y1)))))) (*.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))))
39.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)) (*.f64 y (-.f64 (fma.f64 a (*.f64 b x) (*.f64 (*.f64 i y5) k)) (fma.f64 k (*.f64 y4 b) (*.f64 c (*.f64 i x)))))))
29.7b
(+.f64 (-.f64 (+.f64 (+.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t))) (cbrt.f64 (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (cbrt.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)))) (neg.f64 (*.f64 y0 (*.f64 y5 (-.f64 (*.f64 k y2) (*.f64 y3 j))))))
39.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 -1 (*.f64 (-.f64 (+.f64 (*.f64 y0 (*.f64 j b)) (+.f64 (*.f64 c (*.f64 i y)) (*.f64 a (*.f64 y1 y2)))) (+.f64 (*.f64 y (*.f64 a b)) (+.f64 (*.f64 c (*.f64 y0 y2)) (*.f64 i (*.f64 y1 j))))) x))))
28.7b
(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 y4 (*.f64 (-.f64 (*.f64 t j) (*.f64 k y)) b)))))))
Compiler

Compiled 40249 to 3660 computations (90.9% saved)

regimes22.1s (30.6%)

Accuracy

Total 14.7b remaining (66.5%)

Threshold costs 0b (0%)

Counts
257 → 4
Compiler

Compiled 458729 to 251609 computations (45.2% saved)

bsearch45.0ms (0.1%)

Compiler

Compiled 111 to 63 computations (43.2% saved)

simplify115.0ms (0.2%)

Algorithm
egg-herbie
Rules
367×distribute-rgt-neg-in_binary64
324×neg-sub0_binary64
324×neg-mul-1_binary64
282×distribute-lft-neg-out_binary64
250×distribute-rgt-neg-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0142836
1285836
2424836
3565832
4680832
5805832
6981832
71171832
81378832
91564832
101704832
111839832
121958832
131946832
141965832
152033832
162017832
172077832
182085832
192087832
202083832

end865.0ms (1.2%)

Compiler

Compiled 3905 to 1723 computations (55.9% saved)

Profiling

Loading profile data...