Details

Time bar (total: 4.4s)

analyze1.9s (43.3%)

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

Compiled 42 to 30 computations (28.6% saved)

sample1.3s (28.7%)

Symmetry

(sort b c d)

Results
1.2s8256×body128valid
Compiler

Compiled 95 to 67 computations (29.5% saved)

simplify12.0ms (0.3%)

Algorithm
egg-herbie
Rules
28×fma-def_binary64
10×distribute-lft-in_binary64
10×distribute-rgt-in_binary64
*-commutative_binary64
associate-+r+_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11910
23910
36010
47010
56710

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.0b
(*.f64 a (+.f64 (+.f64 b c) d))
Compiler

Compiled 33 to 21 computations (36.4% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 a (+.f64 (+.f64 b c) d))

series10.0ms (0.2%)

Counts
1 → 48
Calls

1 calls:

10.0ms
(*.f64 a (+.f64 (+.f64 b c) d))

rewrite8.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
associate-*r*_binary64
add-sqr-sqrt_binary64
distribute-lft-out_binary64
associate-*l*_binary64
Counts
1 → 26
Calls

1 calls:

7.0ms
(*.f64 a (+.f64 (+.f64 b c) d))

simplify83.0ms (1.9%)

Algorithm
egg-herbie
Rules
755×fma-neg_binary64
558×distribute-rgt-in_binary64
556×distribute-lft-in_binary64
324×associate-*l*_binary64
318×unswap-sqr_binary64
Counts
74 → 49
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
062792
1170750
2596750
32225750
42696750
53308750
64843750
75406750

prune30.0ms (0.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New47249
Fresh000
Picked011
Done000
Total47350
Error
0b
Counts
50 → 3
Alt Table
StatusErrorProgram
0.0b
(*.f64 a (+.f64 (+.f64 b c) d))
19.0b
(/.f64 (*.f64 a (+.f64 (pow.f64 (+.f64 b c) 3) (pow.f64 d 3))) (+.f64 (*.f64 (+.f64 b c) (+.f64 b c)) (-.f64 (*.f64 d d) (*.f64 (+.f64 b c) d))))
0.0b
(+.f64 (*.f64 (+.f64 b c) a) (*.f64 d a))
Compiler

Compiled 722 to 194 computations (73.1% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 b c) a)
0.0b
(+.f64 (*.f64 (+.f64 b c) a) (*.f64 d a))

series21.0ms (0.5%)

Counts
2 → 84
Calls

2 calls:

15.0ms
(+.f64 (*.f64 (+.f64 b c) a) (*.f64 d a))
6.0ms
(*.f64 (+.f64 b c) a)

rewrite11.0ms (0.2%)

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

2 calls:

5.0ms
(+.f64 (*.f64 (+.f64 b c) a) (*.f64 d a))
4.0ms
(*.f64 (+.f64 b c) a)

simplify91.0ms (2.1%)

Algorithm
egg-herbie
Rules
479×associate-*l*_binary64
445×distribute-rgt-in_binary64
425×distribute-lft-in_binary64
384×associate-*r*_binary64
375×fma-def_binary64
Counts
122 → 74
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0801223
12321120
27861117
329041116
439871116
549811116
649631116

prune34.0ms (0.8%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New73174
Fresh101
Picked101
Done011
Total75277
Error
0b
Counts
77 → 2
Alt Table
StatusErrorProgram
0.0b
(*.f64 a (+.f64 (+.f64 b c) d))
0.0b
(fma.f64 a b (fma.f64 a d (*.f64 a c)))
Compiler

Compiled 1079 to 269 computations (75.1% saved)

localize10.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a b (fma.f64 a d (*.f64 a c)))

series13.0ms (0.3%)

Counts
1 → 48
Calls

1 calls:

13.0ms
(fma.f64 a b (fma.f64 a d (*.f64 a c)))

rewrite1.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
1 → 10
Calls

1 calls:

0.0ms
(fma.f64 a b (fma.f64 a d (*.f64 a c)))

simplify104.0ms (2.4%)

Algorithm
egg-herbie
Rules
748×unswap-sqr_binary64
676×distribute-rgt-in_binary64
659×distribute-lft-in_binary64
562×associate-/l/_binary64
439×associate-*l*_binary64
Counts
58 → 29
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
027609
147562
2109562
3429562
42539562
52688562
62979562
73439562
84029562
94178562
104940562

prune9.0ms (0.2%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New29029
Fresh000
Picked011
Done011
Total29231
Error
0b
Counts
31 → 2
Alt Table
StatusErrorProgram
0.0b
(*.f64 a (+.f64 (+.f64 b c) d))
0.0b
(fma.f64 a b (fma.f64 a d (*.f64 a c)))
Compiler

Compiled 342 to 73 computations (78.7% saved)

regimes158.0ms (3.6%)

Accuracy

Total 0.0b remaining (68.2%)

Threshold costs 0.0b (68.2%)

Counts
17 → 1
Compiler

Compiled 1797 to 1118 computations (37.8% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
1912
2912

end634.0ms (14.3%)

Compiler

Compiled 76 to 42 computations (44.7% saved)

Profiling

Loading profile data...