Details

Time bar (total: 4.5s)

analyze423.0ms (9.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
12.5%87.4%0.1%7
37.4%62.4%0.1%8
40.6%56.9%2.5%9
45.2%50.7%4%10
57.7%33.5%8.7%11
59.7%29.4%11%12
62%25%13%13
68.3%17.4%14.4%14
Compiler

Compiled 17 to 12 computations (29.4% saved)

sample969.0ms (21.6%)

Symmetry

(sort d2 d3)

Results
840.0ms8215×body128valid
72.0ms707×body128invalid
7.0ms17×body512valid
4.0ms13×body1024valid
2.0ms11×body256valid
Compiler

Compiled 50 to 35 computations (30% saved)

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Rules
114×fma-def_binary64
61×associate-+l+_binary64
40×associate-+r+_binary64
34×distribute-lft-out_binary64
33×+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01217
12114
25010
312510
421610
523710
624910
723510

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
0.1b
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
Compiler

Compiled 75 to 51 computations (32% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))

series9.0ms (0.2%)

Counts
1 → 36
Calls

1 calls:

9.0ms
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))

rewrite7.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:

6.0ms
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))

simplify61.0ms (1.4%)

Algorithm
egg-herbie
Rules
961×distribute-rgt-in_binary64
953×distribute-lft-in_binary64
416×associate-*l*_binary64
318×associate-*r*_binary64
261×fma-def_binary64
Counts
62 → 50
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
065687
1163645
2700643
34006643
44316643
55142643

prune34.0ms (0.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New48250
Fresh011
Picked011
Done000
Total48452
Error
0b
Counts
52 → 4
Alt Table
StatusErrorProgram
21.4b
(*.f64 (*.f64 d1 (sqrt.f64 (+.f64 d2 (+.f64 d3 37)))) (sqrt.f64 (+.f64 d2 (+.f64 d3 37))))
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
0.1b
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
1.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))
Compiler

Compiled 768 to 461 computations (40% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 d3 5) d1)
0.0b
(+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1))
0.0b
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))

series22.0ms (0.5%)

Counts
3 → 96
Calls

3 calls:

10.0ms
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
8.0ms
(+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1))
4.0ms
(*.f64 (+.f64 d3 5) d1)

rewrite15.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
10×add-log-exp_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
3 → 55
Calls

3 calls:

5.0ms
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
4.0ms
(*.f64 (+.f64 d3 5) d1)
4.0ms
(+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1))

simplify87.0ms (1.9%)

Algorithm
egg-herbie
Rules
810×fma-def_binary64
695×fma-neg_binary64
486×cancel-sign-sub-inv_binary64
332×*-commutative_binary64
298×associate-+l+_binary64
Counts
151 → 108
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01211635
13481544
213261485
336011483
449411483
548431483

prune67.0ms (1.5%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1080108
Fresh022
Picked011
Done011
Total1084112
Error
0b
Counts
112 → 4
Alt Table
StatusErrorProgram
21.4b
(*.f64 (*.f64 d1 (sqrt.f64 (+.f64 d2 (+.f64 d3 37)))) (sqrt.f64 (+.f64 d2 (+.f64 d3 37))))
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
0.1b
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
1.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))
Compiler

Compiled 2054 to 1227 computations (40.3% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
0.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))
0.5b
(*.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))
0.6b
(cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))

series1.2s (26.9%)

Counts
3 → 108
Calls

3 calls:

801.0ms
(*.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))
383.0ms
(cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))
21.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))

rewrite38.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
78×associate-*r/_binary64
68×cbrt-div_binary64
34×flip-+_binary64
34×flip3-+_binary64
32×frac-times_binary64
Counts
3 → 115
Calls

3 calls:

8.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))
7.0ms
(cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))
5.0ms
(*.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))

simplify201.0ms (4.5%)

Algorithm
egg-herbie
Rules
581×fma-def_binary64
328×times-frac_binary64
262×associate-/r*_binary64
250×associate-/l*_binary64
238×*-commutative_binary64
Counts
223 → 283
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
069010556
119899753
249359490
349629490

prune698.0ms (15.6%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New5850585
Fresh011
Picked011
Done022
Total5854589
Error
0b
Counts
589 → 4
Alt Table
StatusErrorProgram
21.4b
(*.f64 (*.f64 d1 (sqrt.f64 (+.f64 d2 (+.f64 d3 37)))) (sqrt.f64 (+.f64 d2 (+.f64 d3 37))))
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
0.1b
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
1.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))
Compiler

Compiled 29878 to 19728 computations (34% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (+.f64 d2 (+.f64 d3 37)))
0.2b
(*.f64 d1 (sqrt.f64 (+.f64 d2 (+.f64 d3 37))))
0.3b
(*.f64 (*.f64 d1 (sqrt.f64 (+.f64 d2 (+.f64 d3 37)))) (sqrt.f64 (+.f64 d2 (+.f64 d3 37))))

series88.0ms (2%)

Counts
3 → 64
Calls

3 calls:

51.0ms
(*.f64 d1 (sqrt.f64 (+.f64 d2 (+.f64 d3 37))))
29.0ms
(sqrt.f64 (+.f64 d2 (+.f64 d3 37)))
7.0ms
(*.f64 (*.f64 d1 (sqrt.f64 (+.f64 d2 (+.f64 d3 37)))) (sqrt.f64 (+.f64 d2 (+.f64 d3 37))))

rewrite30.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
24×*-un-lft-identity_binary64
16×sqrt-prod_binary64
16×associate-*r*_binary64
16×sqrt-div_binary64
16×add-sqr-sqrt_binary64
Counts
3 → 81
Calls

3 calls:

12.0ms
(*.f64 (*.f64 d1 (sqrt.f64 (+.f64 d2 (+.f64 d3 37)))) (sqrt.f64 (+.f64 d2 (+.f64 d3 37))))
8.0ms
(*.f64 d1 (sqrt.f64 (+.f64 d2 (+.f64 d3 37))))
4.0ms
(sqrt.f64 (+.f64 d2 (+.f64 d3 37)))

simplify89.0ms (2%)

Algorithm
egg-herbie
Rules
699×distribute-rgt-in_binary64
680×distribute-lft-in_binary64
605×fma-def_binary64
243×associate-*l*_binary64
192×associate-*r*_binary64
Counts
145 → 156
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01962557
15012401
215622345
349092343
449732343

prune114.0ms (2.5%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1990199
Fresh000
Picked011
Done033
Total1994203
Error
0b
Counts
203 → 4
Alt Table
StatusErrorProgram
21.4b
(*.f64 (*.f64 d1 (sqrt.f64 (+.f64 d2 (+.f64 d3 37)))) (sqrt.f64 (+.f64 d2 (+.f64 d3 37))))
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
0.1b
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
1.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))) (cbrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))))
Compiler

Compiled 5054 to 3488 computations (31% saved)

regimes220.0ms (4.9%)

Accuracy

Total 0.0b remaining (78.6%)

Threshold costs 0.0b (78.6%)

Counts
47 → 1
Compiler

Compiled 3698 to 2640 computations (28.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11110
21110

end67.0ms (1.5%)

Remove

(sort d2 d3)

Compiler

Compiled 113 to 79 computations (30.1% saved)

Profiling

Loading profile data...