Details

Time bar (total: 5.4s)

analyze561.0ms (10.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
31.2%68.6%0.1%8
35.9%60.8%3.3%9
44.1%48%7.9%10
54.8%36.9%8.3%11
57.6%31.5%10.9%12
61.9%24%14.1%13
67.2%18.6%14.2%14
Compiler

Compiled 13 to 10 computations (23.1% saved)

sample22.0ms (0.4%)

Algorithm
intervals
Results
9.0ms256×body128valid
1.0ms28×body128invalid
Compiler

Compiled 28 to 22 computations (21.4% saved)

simplify41.0ms (0.8%)

Algorithm
egg-herbie
Rules
710×fma-def_binary64
419×fma-neg_binary64
210×distribute-rgt-in_binary64
164×distribute-lft-in_binary64
139×unsub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0913
12013
24711
313211
433411
564011
696511
7125411
8126211
9126211
10119111

prune5.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
3.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
3.6b
(*.f64 x (-.f64 (fma.f64 y z 1) z))
Compiler

Compiled 42 to 27 computations (35.7% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.4b
(*.f64 x (-.f64 (fma.f64 y z 1) z))

series10.0ms (0.2%)

Counts
1 → 36
Calls

1 calls:

10.0ms
(*.f64 x (-.f64 (fma.f64 y z 1) z))

rewrite15.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
21×add-sqr-sqrt_binary64
19×*-un-lft-identity_binary64
18×prod-diff_binary64
17×add-cube-cbrt_binary64
14×distribute-lft-in_binary64
Counts
1 → 52
Calls

1 calls:

11.0ms
(*.f64 x (-.f64 (fma.f64 y z 1) z))

simplify99.0ms (1.8%)

Algorithm
egg-herbie
Rules
412×unsub-neg_binary64
396×exp-prod_binary64
359×distribute-rgt-in_binary64
334×distribute-lft-in_binary64
331×fma-def_binary64
Counts
88 → 75
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01341249
12251167
27841113
323581057
439411057
549821057
649091057

prune69.0ms (1.3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New68775
Fresh000
Picked101
Done000
Total69776
Error
0.0b
Counts
76 → 7
Alt Table
StatusErrorProgram
31.9b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 (fma.f64 y z 1) z)))
16.7b
(/.f64 (*.f64 x (-.f64 (*.f64 (fma.f64 y z 1) (fma.f64 y z 1)) (*.f64 z z))) (+.f64 (fma.f64 y z 1) z))
2.3b
(-.f64 (+.f64 (*.f64 y (*.f64 z x)) x) (*.f64 z x))
3.6b
(+.f64 (*.f64 (*.f64 y z) x) (*.f64 (-.f64 1 z) x))
34.0b
(+.f64 (*.f64 (fma.f64 y z 1) x) (*.f64 (*.f64 (neg.f64 (sqrt.f64 z)) (sqrt.f64 z)) x))
3.9b
(+.f64 (*.f64 (fma.f64 (*.f64 (cbrt.f64 (fma.f64 y z 1)) (cbrt.f64 (fma.f64 y z 1))) (cbrt.f64 (fma.f64 y z 1)) (neg.f64 (*.f64 z 1))) x) (*.f64 (fma.f64 (neg.f64 z) 1 (*.f64 z 1)) x))
16.7b
(*.f64 (*.f64 x (sqrt.f64 (-.f64 (fma.f64 y z 1) z))) (sqrt.f64 (-.f64 (fma.f64 y z 1) z)))
Compiler

Compiled 1686 to 818 computations (51.5% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y (*.f64 z x)) x)
0.0b
(-.f64 (+.f64 (*.f64 y (*.f64 z x)) x) (*.f64 z x))
4.6b
(*.f64 y (*.f64 z x))

series30.0ms (0.6%)

Counts
3 → 60
Calls

3 calls:

11.0ms
(*.f64 y (*.f64 z x))
10.0ms
(-.f64 (+.f64 (*.f64 y (*.f64 z x)) x) (*.f64 z x))
9.0ms
(+.f64 (*.f64 y (*.f64 z x)) x)

rewrite16.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
10×add-log-exp_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
pow1_binary64
*-un-lft-identity_binary64
Counts
3 → 56
Calls

3 calls:

6.0ms
(-.f64 (+.f64 (*.f64 y (*.f64 z x)) x) (*.f64 z x))
4.0ms
(+.f64 (*.f64 y (*.f64 z x)) x)
4.0ms
(*.f64 y (*.f64 z x))

simplify88.0ms (1.6%)

Algorithm
egg-herbie
Rules
816×fma-neg_binary64
502×fma-def_binary64
318×cancel-sign-sub-inv_binary64
279×distribute-rgt-in_binary64
247×distribute-lft-in_binary64
Counts
116 → 103
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01081397
12851233
28961196
327521195
444871195
549631195

prune95.0ms (1.8%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New994103
Fresh336
Picked101
Done000
Total1037110
Error
0.0b
Counts
110 → 7
Alt Table
StatusErrorProgram
2.3b
(-.f64 (fma.f64 (*.f64 x z) y x) (*.f64 z x))
31.9b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 (fma.f64 y z 1) z)))
33.5b
(*.f64 (-.f64 (*.f64 y x) x) z)
16.7b
(/.f64 (*.f64 x (-.f64 (*.f64 (fma.f64 y z 1) (fma.f64 y z 1)) (*.f64 z z))) (+.f64 (fma.f64 y z 1) z))
3.6b
(+.f64 (*.f64 (*.f64 y z) x) (*.f64 (-.f64 1 z) x))
25.2b
(-.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 y (*.f64 z x))) (sqrt.f64 (*.f64 y (*.f64 z x)))) x) (*.f64 z x))
2.5b
(-.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x)))) (cbrt.f64 (*.f64 y (*.f64 z x)))) x) (*.f64 z x))
Compiler

Compiled 1980 to 557 computations (71.9% saved)

localize12.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (fma.f64 (*.f64 x z) y x) (*.f64 z x))
2.3b
(fma.f64 (*.f64 x z) y x)

series24.0ms (0.5%)

Counts
2 → 72
Calls

2 calls:

13.0ms
(fma.f64 (*.f64 x z) y x)
11.0ms
(-.f64 (fma.f64 (*.f64 x z) y x) (*.f64 z x))

rewrite6.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-log-exp_binary64
fma-neg_binary64
Counts
2 → 31
Calls

2 calls:

4.0ms
(-.f64 (fma.f64 (*.f64 x z) y x) (*.f64 z x))
0.0ms
(fma.f64 (*.f64 x z) y x)

simplify66.0ms (1.2%)

Algorithm
egg-herbie
Rules
670×associate-+l+_binary64
281×distribute-rgt-out_binary64
267×associate-*l*_binary64
245×associate-*r*_binary64
244×fma-def_binary64
Counts
103 → 63
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0701288
11651082
25071057
322061056
453801056

prune44.0ms (0.8%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New63063
Fresh066
Picked011
Done000
Total63770
Error
0.0b
Counts
70 → 7
Alt Table
StatusErrorProgram
2.3b
(-.f64 (fma.f64 (*.f64 x z) y x) (*.f64 z x))
31.9b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 (fma.f64 y z 1) z)))
33.5b
(*.f64 (-.f64 (*.f64 y x) x) z)
16.7b
(/.f64 (*.f64 x (-.f64 (*.f64 (fma.f64 y z 1) (fma.f64 y z 1)) (*.f64 z z))) (+.f64 (fma.f64 y z 1) z))
3.6b
(+.f64 (*.f64 (*.f64 y z) x) (*.f64 (-.f64 1 z) x))
25.2b
(-.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 y (*.f64 z x))) (sqrt.f64 (*.f64 y (*.f64 z x)))) x) (*.f64 z x))
2.5b
(-.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x)))) (cbrt.f64 (*.f64 y (*.f64 z x)))) x) (*.f64 z x))
Compiler

Compiled 1241 to 410 computations (67% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x)))) (cbrt.f64 (*.f64 y (*.f64 z x))))
0.5b
(*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x))))
4.6b
(*.f64 y (*.f64 z x))
13.1b
(cbrt.f64 (*.f64 y (*.f64 z x)))

series2.4s (43.8%)

Counts
3 → 108
Calls

3 calls:

1.6s
(*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x))))
700.0ms
(cbrt.f64 (*.f64 y (*.f64 z x)))
51.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x)))) (cbrt.f64 (*.f64 y (*.f64 z x))))

rewrite21.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
29×pow1_binary64
16×pow1/3_binary64
11×pow-prod-up_binary64
11×add-sqr-sqrt_binary64
10×add-exp-log_binary64
Counts
3 → 79
Calls

3 calls:

8.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x)))) (cbrt.f64 (*.f64 y (*.f64 z x))))
5.0ms
(*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x))))
2.0ms
(cbrt.f64 (*.f64 y (*.f64 z x)))

simplify96.0ms (1.8%)

Algorithm
egg-herbie
Rules
640×unswap-sqr_binary64
348×fma-neg_binary64
314×exp-sum_binary64
297×exp-prod_binary64
260×unsub-neg_binary64
Counts
187 → 122
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01703163
13872879
28652337
322902071
452452071

prune287.0ms (5.3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2561257
Fresh055
Picked011
Done011
Total2568264
Error
0b
Counts
264 → 8
Alt Table
StatusErrorProgram
2.3b
(-.f64 (fma.f64 (*.f64 x z) y x) (*.f64 z x))
31.9b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 (fma.f64 y z 1) z)))
33.5b
(*.f64 (-.f64 (*.f64 y x) x) z)
16.7b
(/.f64 (*.f64 x (-.f64 (*.f64 (fma.f64 y z 1) (fma.f64 y z 1)) (*.f64 z z))) (+.f64 (fma.f64 y z 1) z))
2.5b
(-.f64 (+.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 (cbrt.f64 (*.f64 z x)) (cbrt.f64 (*.f64 z x)))) (cbrt.f64 (*.f64 y (*.f64 z x)))) x) (*.f64 z x))
3.6b
(+.f64 (*.f64 (*.f64 y z) x) (*.f64 (-.f64 1 z) x))
25.2b
(-.f64 (+.f64 (*.f64 (sqrt.f64 (*.f64 y (*.f64 z x))) (sqrt.f64 (*.f64 y (*.f64 z x)))) x) (*.f64 z x))
2.5b
(-.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 z x))) (cbrt.f64 (*.f64 y (*.f64 z x)))) (cbrt.f64 (*.f64 y (*.f64 z x)))) x) (*.f64 z x))
Compiler

Compiled 7914 to 1722 computations (78.2% saved)

regimes687.0ms (12.8%)

Accuracy

Total 0.2b remaining (95.1%)

Threshold costs 0.2b (95.1%)

Counts
60 → 3
Compiler

Compiled 7928 to 4730 computations (40.3% saved)

bsearch2.0ms (0%)

Compiler

Compiled 12 to 9 computations (25% saved)

simplify13.0ms (0.3%)

Algorithm
egg-herbie
Rules
54×distribute-rgt-neg-in_binary64
44×cancel-sign-sub-inv_binary64
38×distribute-lft-neg-in_binary64
34×distribute-neg-in_binary64
33×neg-sub0_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02667
15267
28567
311865
414965
516765
617365
718765
821965
923665
1024665
1125165
1226565
1327465
1428165
1528365
1627965

end1.0ms (0%)

Compiler

Compiled 47 to 30 computations (36.2% saved)

sample693.0ms (12.9%)

Algorithm
intervals
Results
294.0ms8000×body128valid
27.0ms736×body128invalid
Compiler

Compiled 222 to 122 computations (45% saved)

Profiling

Loading profile data...