Details

Time bar (total: 22.2s)

analyze18.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.6%0.4%0
99.6%0%0.4%1
Compiler

Compiled 28 to 19 computations (32.1% saved)

sample2.2s (10.1%)

Symmetry

(sort x y)

(sort z t)

Results
2.1s8256×body128valid
Compiler

Compiled 83 to 56 computations (32.5% saved)

simplify273.0ms (1.2%)

Algorithm
egg-herbie
Rules
1133×distribute-rgt-in_binary64
1066×distribute-lft-in_binary64
969×unsub-neg_binary64
583×fma-def_binary64
461×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01926
13724
29724
327724
479724
5180924
6253224
7278324
8312824
9340924
10331924
11332724
12333124
13346124
14362024
15362124
16362324
17362324
18507124

prune7.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
5.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
5.4b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))
Compiler

Compiled 94 to 57 computations (39.4% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 c (fma.f64 b c a))
0.3b
(fma.f64 x y (*.f64 z t))
1.6b
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))
6.6b
(*.f64 (*.f64 c (fma.f64 b c a)) i)

series182.0ms (0.8%)

Counts
4 → 228
Calls

4 calls:

101.0ms
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))
43.0ms
(*.f64 (*.f64 c (fma.f64 b c a)) i)
20.0ms
(*.f64 c (fma.f64 b c a))
17.0ms
(fma.f64 x y (*.f64 z t))

rewrite15.0ms (0.1%)

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

4 calls:

4.0ms
(*.f64 (*.f64 c (fma.f64 b c a)) i)
4.0ms
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))
3.0ms
(*.f64 c (fma.f64 b c a))
0.0ms
(fma.f64 x y (*.f64 z t))

simplify158.0ms (0.7%)

Algorithm
egg-herbie
Rules
578×fma-neg_binary64
563×distribute-rgt-in_binary64
556×distribute-lft-in_binary64
505×fma-def_binary64
242×cancel-sign-sub-inv_binary64
Counts
301 → 160
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01494992
13274027
210913988
345313988
449333988

prune341.0ms (1.5%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1528160
Fresh000
Picked011
Done000
Total1529161
Error
0.2b
Counts
161 → 9
Alt Table
StatusErrorProgram
27.8b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 c (fma.f64 b c a)) (*.f64 c (fma.f64 b c a))) (*.f64 c (fma.f64 b c a))) (*.f64 (*.f64 i i) i)))))
18.6b
(*.f64 2 (-.f64 (*.f64 t z) (*.f64 c (*.f64 i (fma.f64 c b a)))))
18.7b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 c 2) (*.f64 i b))))
34.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) (fma.f64 b c a))) i)))
15.6b
(*.f64 2 (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 c (*.f64 i a))))
34.8b
(*.f64 2 (*.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))))
6.0b
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))))
5.4b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))
17.4b
(*.f64 2 (-.f64 (*.f64 y x) (*.f64 c (*.f64 i (fma.f64 c b a)))))
Compiler

Compiled 4164 to 1171 computations (71.9% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))))
1.6b
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))
6.6b
(*.f64 (*.f64 c (fma.f64 b c a)) i)
26.4b
(cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))

series10.7s (48.4%)

Counts
2 → 192
Calls

2 calls:

8.1s
(*.f64 (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))))
2.7s
(cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))

rewrite28.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64
19×cbrt-prod_binary64
14×cbrt-div_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
Counts
2 → 65
Calls

2 calls:

9.0ms
(*.f64 (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))))
7.0ms
(cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))

simplify824.0ms (3.7%)

Algorithm
egg-herbie
Counts
257 → 241
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07620106758

prune2.9s (13.3%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New7450745
Fresh077
Picked011
Done011
Total7459754
Error
0.2b
Counts
754 → 9
Alt Table
StatusErrorProgram
27.8b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 c (fma.f64 b c a)) (*.f64 c (fma.f64 b c a))) (*.f64 c (fma.f64 b c a))) (*.f64 (*.f64 i i) i)))))
18.6b
(*.f64 2 (-.f64 (*.f64 t z) (*.f64 c (*.f64 i (fma.f64 c b a)))))
18.7b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 c 2) (*.f64 i b))))
34.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) (fma.f64 b c a))) i)))
15.6b
(*.f64 2 (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 c (*.f64 i a))))
34.8b
(*.f64 2 (*.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))))
6.0b
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))))
5.4b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))
17.4b
(*.f64 2 (-.f64 (*.f64 y x) (*.f64 c (*.f64 i (fma.f64 c b a)))))
Compiler

Compiled 143794 to 76360 computations (46.9% saved)

localize22.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.7b
(-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 c (*.f64 i a)))
3.9b
(*.f64 c (*.f64 i a))

series111.0ms (0.5%)

Counts
2 → 100
Calls

2 calls:

93.0ms
(-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 c (*.f64 i a)))
19.0ms
(*.f64 c (*.f64 i a))

rewrite17.0ms (0.1%)

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

2 calls:

9.0ms
(*.f64 c (*.f64 i a))
4.0ms
(-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 c (*.f64 i a)))

simplify126.0ms (0.6%)

Algorithm
egg-herbie
Rules
542×associate-+l+_binary64
537×associate-+r+_binary64
346×distribute-rgt-neg-in_binary64
337×distribute-lft-neg-in_binary64
332×fma-def_binary64
Counts
141 → 77
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0922043
12041984
26921956
321231949
449691949

prune146.0ms (0.7%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New76177
Fresh156
Picked101
Done022
Total78886
Error
0.2b
Counts
86 → 8
Alt Table
StatusErrorProgram
13.4b
(*.f64 2 (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (*.f64 c i) a)))
18.6b
(*.f64 2 (-.f64 (*.f64 t z) (*.f64 c (*.f64 i (fma.f64 c b a)))))
18.7b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 c 2) (*.f64 i b))))
34.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) (fma.f64 b c a))) i)))
34.8b
(*.f64 2 (*.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))))
6.0b
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))))
5.4b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))
17.4b
(*.f64 2 (-.f64 (*.f64 y x) (*.f64 c (*.f64 i (fma.f64 c b a)))))
Compiler

Compiled 1976 to 619 computations (68.7% saved)

localize32.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.7b
(-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (*.f64 c i) a))
3.8b
(*.f64 (*.f64 c i) a)

series91.0ms (0.4%)

Counts
2 → 120
Calls

2 calls:

69.0ms
(-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (*.f64 c i) a))
21.0ms
(*.f64 (*.f64 c i) a)

rewrite32.0ms (0.1%)

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

2 calls:

23.0ms
(*.f64 (*.f64 c i) a)
5.0ms
(-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (*.f64 c i) a))

simplify120.0ms (0.5%)

Algorithm
egg-herbie
Rules
558×associate-+l+_binary64
547×associate-+r+_binary64
380×fma-def_binary64
376×distribute-rgt-neg-in_binary64
351×distribute-lft-neg-in_binary64
Counts
161 → 76
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0952185
12162126
27752098
322542091
451992091

prune138.0ms (0.6%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New76076
Fresh055
Picked011
Done022
Total76884
Error
0.2b
Counts
84 → 8
Alt Table
StatusErrorProgram
13.4b
(*.f64 2 (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 (*.f64 c i) a)))
18.6b
(*.f64 2 (-.f64 (*.f64 t z) (*.f64 c (*.f64 i (fma.f64 c b a)))))
18.7b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 c 2) (*.f64 i b))))
34.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (sqrt.f64 c) (*.f64 (sqrt.f64 c) (fma.f64 b c a))) i)))
34.8b
(*.f64 2 (*.f64 (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (sqrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))))
6.0b
(*.f64 2 (*.f64 (*.f64 (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))) (cbrt.f64 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))))
5.4b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i)))
17.4b
(*.f64 2 (-.f64 (*.f64 y x) (*.f64 c (*.f64 i (fma.f64 c b a)))))
Compiler

Compiled 1789 to 514 computations (71.3% saved)

regimes3.2s (14.6%)

Accuracy

Total 3.3b remaining (92.4%)

Threshold costs 0b (0%)

Counts
73 → 3
Compiler

Compiled 42260 to 22042 computations (47.8% saved)

bsearch7.0ms (0%)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
19×*-commutative_binary64
12×+-commutative_binary64
11×sub-neg_binary64
distribute-rgt-neg-in_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03698
16098
28398
310298
411498
511998
612098
712098

end287.0ms (1.3%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 703 to 349 computations (50.4% saved)

Profiling

Loading profile data...