Details

Time bar (total: 3.4s)

analyze522.0ms (15.2%)

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%57.7%1.7%9
45.2%51.1%3.7%10
57.7%33.5%8.7%11
59.7%29.4%10.9%12
62%25%13%13
68.3%17.4%14.4%14
Compiler

Compiled 17 to 12 computations (29.4% saved)

sample36.0ms (1%)

Algorithm
intervals
Results
16.0ms253×body128valid
1.0ms33×body128invalid
0.0msbody1024valid
Compiler

Compiled 36 to 26 computations (27.8% saved)

simplify14.0ms (0.4%)

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

prune5.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.1b
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 (+.f64 d3 5) d1)) (*.f64 d1 32))
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
Compiler

Compiled 75 to 51 computations (32% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

rewrite19.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
11×pow1_binary64
add-sqr-sqrt_binary64
flip3-+_binary64
add-exp-log_binary64
distribute-rgt-in_binary64
Counts
1 → 49
Calls

1 calls:

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

series24.0ms (0.7%)

Counts
1 → 36
Calls

1 calls:

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

simplify89.0ms (2.6%)

Algorithm
egg-herbie
Rules
505×fma-neg_binary64
444×fma-def_binary64
415×unswap-sqr_binary64
336×*-commutative_binary64
158×sub-neg_binary64
Counts
85 → 143
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
092995
1266938
21182935
32936929
44834929
54919929

prune61.0ms (1.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1403143
Fresh101
Picked011
Done000
Total1414145
Error
0b
Counts
145 → 4
Alt Table
StatusErrorProgram
30.9b
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) 2)
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
37.4b
(/.f64 (*.f64 d1 (*.f64 d1 (fma.f64 d2 d2 (*.f64 (+.f64 37 d3) (-.f64 -37 d3))))) (*.f64 d1 (-.f64 d2 (+.f64 37 d3))))
0.0b
(fma.f64 d2 d1 (*.f64 (+.f64 d3 37) d1))
Compiler

Compiled 1223 to 755 computations (38.3% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

rewrite28.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
15×pow1_binary64
12×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
add-exp-log_binary64
add-cbrt-cube_binary64
Counts
2 → 77
Calls

2 calls:

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

series54.0ms (1.6%)

Counts
2 → 60
Calls

2 calls:

39.0ms
(fma.f64 d2 d1 (*.f64 (+.f64 d3 37) d1))
15.0ms
(*.f64 (+.f64 d3 37) d1)

simplify127.0ms (3.7%)

Algorithm
egg-herbie
Rules
775×associate-*r*_binary64
577×fma-neg_binary64
404×distribute-rgt-in_binary64
379×distribute-lft-in_binary64
319×fma-def_binary64
Counts
137 → 227
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01031301
12491213
28901201
338031194
449651194
549951194
649451194

prune68.0ms (2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New2261227
Fresh112
Picked011
Done011
Total2274231
Error
0b
Counts
231 → 4
Alt Table
StatusErrorProgram
30.9b
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) 2)
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
32.2b
(fma.f64 d2 d1 (cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 37 d3)) 3)))
0.0b
(fma.f64 d2 d1 (*.f64 (+.f64 d3 37) d1))
Compiler

Compiled 1691 to 1030 computations (39.1% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
0.1b
(sqrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))
0.3b
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) 2)

rewrite29.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
13×add-cube-cbrt_binary64
add-sqr-sqrt_binary64
pow1_binary64
pow1/2_binary64
add-cbrt-cube_binary64
Counts
2 → 81
Calls

2 calls:

14.0ms
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) 2)
11.0ms
(sqrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))

series747.0ms (21.7%)

Counts
2 → 16
Calls

2 calls:

544.0ms
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) 2)
203.0ms
(sqrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37))))

simplify89.0ms (2.6%)

Algorithm
egg-herbie
Rules
625×associate-*l*_binary64
504×distribute-rgt-in_binary64
486×distribute-lft-in_binary64
482×fma-def_binary64
187×cancel-sign-sub-inv_binary64
Counts
97 → 158
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01621412
14151366
213001341
346281326
449821326

prune100.0ms (2.9%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New3010301
Fresh011
Picked011
Done022
Total3014305
Error
0b
Counts
305 → 4
Alt Table
StatusErrorProgram
30.9b
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) 2)
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
32.2b
(fma.f64 d2 d1 (cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 37 d3)) 3)))
0.0b
(fma.f64 d2 d1 (*.f64 (+.f64 d3 37) d1))
Compiler

Compiled 3699 to 2604 computations (29.6% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 d2 d1 (cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 37 d3)) 3)))
0.0b
(*.f64 d1 (+.f64 37 d3))
0.3b
(pow.f64 (*.f64 d1 (+.f64 37 d3)) 3)
37.6b
(cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 37 d3)) 3))

rewrite55.0ms (1.6%)

Algorithm
rewrite-expression-head
Rules
21×pow1_binary64
20×add-sqr-sqrt_binary64
18×add-cube-cbrt_binary64
16×flip3-+_binary64
14×associate-*r/_binary64
Counts
4 → 167
Calls

4 calls:

15.0ms
(pow.f64 (*.f64 d1 (+.f64 37 d3)) 3)
14.0ms
(*.f64 d1 (+.f64 37 d3))
10.0ms
(cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 37 d3)) 3))
9.0ms
(fma.f64 d2 d1 (cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 37 d3)) 3)))

series118.0ms (3.4%)

Counts
4 → 96
Calls

4 calls:

50.0ms
(fma.f64 d2 d1 (cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 37 d3)) 3)))
27.0ms
(pow.f64 (*.f64 d1 (+.f64 37 d3)) 3)
24.0ms
(cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 37 d3)) 3))
15.0ms
(*.f64 d1 (+.f64 37 d3))

simplify146.0ms (4.2%)

Algorithm
egg-herbie
Rules
895×fma-def_binary64
248×unswap-sqr_binary64
247×log-prod_binary64
246×times-frac_binary64
204×cancel-sign-sub-inv_binary64
Counts
263 → 425
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01992714
14672523
218742486
349132486
450742486

prune131.0ms (3.8%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New4250425
Fresh000
Picked011
Done033
Total4254429
Error
0b
Counts
429 → 4
Alt Table
StatusErrorProgram
30.9b
(pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 d2 (+.f64 d3 37)))) 2)
0.0b
(*.f64 d1 (+.f64 d2 (+.f64 d3 37)))
32.2b
(fma.f64 d2 d1 (cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 37 d3)) 3)))
0.0b
(fma.f64 d2 d1 (*.f64 (+.f64 d3 37) d1))
Compiler

Compiled 3881 to 2632 computations (32.2% saved)

regimes165.0ms (4.8%)

Accuracy

Total 0.0b remaining (52.5%)

Threshold costs 0.0b (52.5%)

Compiler

Compiled 2161 to 1551 computations (28.2% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11110
21110

end6.0ms (0.2%)

Remove

(sort d2 d3)

Compiler

Compiled 30 to 21 computations (30% saved)

sample783.0ms (22.8%)

Algorithm
intervals
Results
384.0ms7964×body128valid
31.0ms705×body128invalid
3.0ms13×body512valid
2.0ms13×body1024valid
1.0ms10×body256valid
Compiler

Compiled 78 to 56 computations (28.2% saved)

Profiling

Loading profile data...