Details

Time bar (total: 8.0s)

analyze6.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)

sample1.4s (17.3%)

Symmetry

(sort x y)

(sort z t)

Results
1.3s8256×body128valid
Compiler

Compiled 83 to 56 computations (32.5% saved)

simplify219.0ms (2.7%)

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

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
8.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
8.0b
(*.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)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 x y (*.f64 z t))
0.1b
(*.f64 c (fma.f64 b c a))
2.4b
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))
6.9b
(*.f64 (*.f64 c (fma.f64 b c a)) i)

series98.0ms (1.2%)

Counts
4 → 228
Calls

4 calls:

58.0ms
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))
20.0ms
(*.f64 (*.f64 c (fma.f64 b c a)) i)
11.0ms
(*.f64 c (fma.f64 b c a))
9.0ms
(fma.f64 x y (*.f64 z t))

rewrite14.0ms (0.2%)

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)
3.0ms
(*.f64 c (fma.f64 b c a))
3.0ms
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (fma.f64 b c a)) i))
0.0ms
(fma.f64 x y (*.f64 z t))

simplify129.0ms (1.6%)

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

prune327.0ms (4.1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New15010160
Fresh000
Picked101
Done000
Total15110161
Error
0.0b
Counts
161 → 10
Alt Table
StatusErrorProgram
18.3b
(*.f64 2 (-.f64 (+.f64 (*.f64 y x) (*.f64 t z)) (*.f64 c (*.f64 i a))))
26.7b
(*.f64 2 (cbrt.f64 (pow.f64 (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 c (*.f64 i (fma.f64 c b a)))) 3)))
10.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (+.f64 (*.f64 (pow.f64 c 2) b) (*.f64 c a)) i)))
8.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (*.f64 c (fma.f64 b c a)) (*.f64 (cbrt.f64 i) (cbrt.f64 i))) (cbrt.f64 i))))
29.0b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 c c) c) (*.f64 (*.f64 (fma.f64 b c a) (fma.f64 b c a)) (fma.f64 b c a)))) i)))
19.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 c 2) (*.f64 i b))))
8.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (*.f64 c (*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))) (cbrt.f64 (fma.f64 b c a))) i)))
30.3b
(*.f64 2 (fma.f64 t z (*.f64 y x)))
8.5b
(*.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)))))
32.7b
(*.f64 2 (*.f64 c (*.f64 i (neg.f64 (fma.f64 c b a)))))
Compiler

Compiled 4223 to 1229 computations (70.9% saved)

localize46.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))
2.4b
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (*.f64 c (*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))) (cbrt.f64 (fma.f64 b c a))) i))
6.9b
(*.f64 (*.f64 (*.f64 c (*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))) (cbrt.f64 (fma.f64 b c a))) i)
7.7b
(cbrt.f64 (fma.f64 b c a))

series209.0ms (2.6%)

Counts
4 → 216
Calls

4 calls:

87.0ms
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (*.f64 c (*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))) (cbrt.f64 (fma.f64 b c a))) i))
56.0ms
(*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))
44.0ms
(cbrt.f64 (fma.f64 b c a))
21.0ms
(*.f64 (*.f64 (*.f64 c (*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))) (cbrt.f64 (fma.f64 b c a))) i)

rewrite29.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
25×pow1_binary64
24×add-sqr-sqrt_binary64
20×add-exp-log_binary64
19×cbrt-prod_binary64
16×*-un-lft-identity_binary64
Counts
4 → 102
Calls

4 calls:

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

simplify151.0ms (1.9%)

Algorithm
egg-herbie
Rules
506×associate-*r*_binary64
454×associate-*l*_binary64
266×times-frac_binary64
251×associate-/r*_binary64
230×associate-/l*_binary64
Counts
318 → 291
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04628945
113977776
249627776

prune544.0ms (6.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New4403443
Fresh279
Picked101
Done000
Total44310453
Error
0.0b
Counts
453 → 10
Alt Table
StatusErrorProgram
26.7b
(*.f64 2 (cbrt.f64 (pow.f64 (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 c (*.f64 i (fma.f64 c b a)))) 3)))
10.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (+.f64 (*.f64 (pow.f64 c 2) b) (*.f64 c a)) i)))
8.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (*.f64 c (fma.f64 b c a)) (*.f64 (cbrt.f64 i) (cbrt.f64 i))) (cbrt.f64 i))))
19.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 c 2) (*.f64 i b))))
25.7b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (*.f64 c (cbrt.f64 (*.f64 a a))) (cbrt.f64 (fma.f64 b c a))) i)))
30.3b
(*.f64 2 (fma.f64 t z (*.f64 y x)))
5.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))) (*.f64 (cbrt.f64 (fma.f64 b c a)) i))))
18.0b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 c (*.f64 a i))))
8.5b
(*.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)))))
32.7b
(*.f64 2 (*.f64 c (*.f64 i (neg.f64 (fma.f64 c b a)))))
Compiler

Compiled 21916 to 8646 computations (60.5% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))
2.4b
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))) (*.f64 (cbrt.f64 (fma.f64 b c a)) i)))
4.6b
(*.f64 (*.f64 c (*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))) (*.f64 (cbrt.f64 (fma.f64 b c a)) i))
7.7b
(cbrt.f64 (fma.f64 b c a))

series90.0ms (1.1%)

Counts
2 → 144
Calls

2 calls:

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

rewrite16.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
23×add-exp-log_binary64
23×pow1_binary64
16×add-cbrt-cube_binary64
15×cbrt-unprod_binary64
15×prod-exp_binary64
Counts
2 → 51
Calls

2 calls:

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

simplify112.0ms (1.4%)

Algorithm
egg-herbie
Rules
582×fma-def_binary64
494×distribute-lft-in_binary64
493×distribute-rgt-in_binary64
315×cancel-sign-sub-inv_binary64
251×associate-*l*_binary64
Counts
195 → 104
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01395033
13603202
212233163
345403163
448793163

prune525.0ms (6.6%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New4411442
Fresh279
Picked011
Done000
Total4439452
Error
0.0b
Counts
452 → 9
Alt Table
StatusErrorProgram
26.7b
(*.f64 2 (cbrt.f64 (pow.f64 (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 c (*.f64 i (fma.f64 c b a)))) 3)))
10.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (+.f64 (*.f64 (pow.f64 c 2) b) (*.f64 c a)) i)))
8.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (*.f64 c (fma.f64 b c a)) (*.f64 (cbrt.f64 i) (cbrt.f64 i))) (cbrt.f64 i))))
19.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (pow.f64 c 2) (*.f64 i b))))
18.0b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (cbrt.f64 (*.f64 (fma.f64 b c a) (fma.f64 b c a)))) (*.f64 (cbrt.f64 (fma.f64 b c a)) i))))
30.3b
(*.f64 2 (fma.f64 t z (*.f64 y x)))
5.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))) (*.f64 (cbrt.f64 (fma.f64 b c a)) i))))
8.5b
(*.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)))))
32.7b
(*.f64 2 (*.f64 c (*.f64 i (neg.f64 (fma.f64 c b a)))))
Compiler

Compiled 21882 to 8322 computations (62% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series436.0ms (5.5%)

Counts
4 → 204
Calls

4 calls:

301.0ms
(*.f64 (*.f64 c (fma.f64 b c a)) (*.f64 (cbrt.f64 i) (cbrt.f64 i)))
68.0ms
(-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (*.f64 c (fma.f64 b c a)) (*.f64 (cbrt.f64 i) (cbrt.f64 i))) (cbrt.f64 i)))
33.0ms
(*.f64 (*.f64 (*.f64 c (fma.f64 b c a)) (*.f64 (cbrt.f64 i) (cbrt.f64 i))) (cbrt.f64 i))
33.0ms
(cbrt.f64 i)

rewrite26.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
34×add-exp-log_binary64
34×pow1_binary64
21×cbrt-unprod_binary64
21×add-cbrt-cube_binary64
21×prod-exp_binary64
Counts
4 → 90
Calls

4 calls:

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

simplify139.0ms (1.7%)

Algorithm
egg-herbie
Rules
800×distribute-rgt-in_binary64
573×fma-def_binary64
323×associate-*l*_binary64
305×cancel-sign-sub-inv_binary64
273×associate-*r*_binary64
Counts
294 → 169
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01805785
14354572
216604422
349324422
449634422

prune312.0ms (3.9%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2032205
Fresh257
Picked011
Done011
Total2059214
Error
0.0b
Counts
214 → 9
Alt Table
StatusErrorProgram
12.8b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (+.f64 (*.f64 c (*.f64 a i)) (*.f64 (pow.f64 c 2) (*.f64 i b)))))
26.7b
(*.f64 2 (cbrt.f64 (pow.f64 (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 c (*.f64 i (fma.f64 c b a)))) 3)))
10.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (+.f64 (*.f64 (pow.f64 c 2) b) (*.f64 c a)) i)))
8.2b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 (*.f64 c (fma.f64 b c a)) (*.f64 (cbrt.f64 i) (cbrt.f64 i))) (cbrt.f64 i))))
18.0b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (cbrt.f64 (*.f64 (fma.f64 b c a) (fma.f64 b c a)))) (*.f64 (cbrt.f64 (fma.f64 b c a)) i))))
18.3b
(*.f64 2 (-.f64 (fma.f64 t z (*.f64 y x)) (*.f64 c (*.f64 a i))))
5.6b
(*.f64 2 (-.f64 (fma.f64 x y (*.f64 z t)) (*.f64 (*.f64 c (*.f64 (cbrt.f64 (fma.f64 b c a)) (cbrt.f64 (fma.f64 b c a)))) (*.f64 (cbrt.f64 (fma.f64 b c a)) i))))
8.5b
(*.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)))))
32.7b
(*.f64 2 (*.f64 c (*.f64 i (neg.f64 (fma.f64 c b a)))))
Compiler

Compiled 6068 to 1482 computations (75.6% saved)

regimes2.9s (36.7%)

Accuracy

Total 2.8b remaining (85.2%)

Threshold costs 0b (0%)

Counts
148 → 3
Compiler

Compiled 65968 to 41131 computations (37.7% saved)

bsearch20.0ms (0.2%)

Steps
ItersRangePoint
2
3.6495089340130483e-91
2.006805681645827e-69
7.385109817341934e-75
1
-7.06247304446861e-9
-9.017785908164432e-10
-2.6378528681345606e-9
Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
19×*-commutative_binary64
14×+-commutative_binary64
13×sub-neg_binary64
11×neg-sub0_binary64
11×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03064
15264
27564
39464
411064
512664
613364
713764
813864
913864

end183.0ms (2.3%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 606 to 344 computations (43.2% saved)

Profiling

Loading profile data...