Details

Time bar (total: 6.5s)

analyze1.5s (22.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
3.1%96.7%0.2%8
7.8%92%0.2%9
11.7%88.1%0.2%10
24.2%64.7%11.1%11
27.9%59.8%12.3%12
35%52.5%12.5%13
38.6%48.2%13.2%14
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample46.0ms (0.7%)

Algorithm
intervals
Results
17.0ms256×body128valid
6.0ms69×body128invalid
Compiler

Compiled 31 to 21 computations (32.3% saved)

simplify14.0ms (0.2%)

Algorithm
egg-herbie
Rules
22×fma-def_binary64
+-commutative_binary64
associate-+r+_binary64
associate-+l+_binary64
*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
099
1159
2259
3389
4529
5529

prune6.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.1b
(fma.f64 y (fma.f64 x y z) t)
0.1b
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
Compiler

Compiled 68 to 38 computations (44.1% saved)

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x y) z)
0.0b
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
0.1b
(*.f64 (+.f64 (*.f64 x y) z) y)

series64.0ms (1%)

Counts
3 → 120
Calls

3 calls:

34.0ms
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
19.0ms
(*.f64 (+.f64 (*.f64 x y) z) y)
10.0ms
(+.f64 (*.f64 x y) z)

rewrite34.0ms (0.5%)

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

3 calls:

14.0ms
(*.f64 (+.f64 (*.f64 x y) z) y)
11.0ms
(+.f64 (*.f64 (+.f64 (*.f64 x y) z) y) t)
6.0ms
(+.f64 (*.f64 x y) z)

simplify226.0ms (3.5%)

Algorithm
egg-herbie
Rules
914×fma-neg_binary64
664×associate-+l+_binary64
377×associate-*l*_binary64
325×fma-def_binary64
309×associate-*r*_binary64
Counts
170 → 101
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0901684
12421391
26711381
323601381
447831381
555231381

prune103.0ms (1.6%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New956101
Fresh101
Picked101
Done000
Total976103
Error
0.0b
Counts
103 → 6
Alt Table
StatusErrorProgram
0.1b
(fma.f64 (+.f64 (*.f64 x y) z) y t)
4.4b
(+.f64 (+.f64 (*.f64 y z) (*.f64 (pow.f64 y 2) x)) t)
19.2b
(+.f64 (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 z z)) y) (-.f64 (*.f64 x y) z)) t)
0.7b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) t)
34.2b
(+.f64 (*.f64 (*.f64 (fma.f64 y x z) (sqrt.f64 y)) (sqrt.f64 y)) t)
22.0b
(+.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) y) (*.f64 (+.f64 (*.f64 x y) z) y)) (*.f64 (+.f64 (*.f64 x y) z) y))) t)
Compiler

Compiled 1717 to 477 computations (72.2% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x y) z)
0.1b
(fma.f64 (+.f64 (*.f64 x y) z) y t)

series17.0ms (0.3%)

Counts
1 → 48
Calls

1 calls:

17.0ms
(fma.f64 (+.f64 (*.f64 x y) z) y t)

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 (+.f64 (*.f64 x y) z) y t)

simplify74.0ms (1.1%)

Algorithm
egg-herbie
Rules
775×associate-+l+_binary64
772×associate-+r+_binary64
678×unswap-sqr_binary64
551×*-commutative_binary64
296×distribute-lft-in_binary64
Counts
58 → 31
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
027697
149499
285499
3257499
41272499
53520499
64213499
75348499

prune42.0ms (0.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New58058
Fresh055
Picked011
Done000
Total58664
Error
0.0b
Counts
64 → 6
Alt Table
StatusErrorProgram
0.1b
(fma.f64 (+.f64 (*.f64 x y) z) y t)
4.4b
(+.f64 (+.f64 (*.f64 y z) (*.f64 (pow.f64 y 2) x)) t)
19.2b
(+.f64 (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 z z)) y) (-.f64 (*.f64 x y) z)) t)
0.7b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) t)
34.2b
(+.f64 (*.f64 (*.f64 (fma.f64 y x z) (sqrt.f64 y)) (sqrt.f64 y)) t)
22.0b
(+.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) z) y) (*.f64 (+.f64 (*.f64 x y) z) y)) (*.f64 (+.f64 (*.f64 x y) z) y))) t)
Compiler

Compiled 912 to 284 computations (68.9% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 y (fma.f64 y x z))
0.3b
(*.f64 (*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) (cbrt.f64 (*.f64 y (fma.f64 y x z))))
0.5b
(*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 y (fma.f64 y x z))))
7.2b
(cbrt.f64 (*.f64 y (fma.f64 y x z)))

series243.0ms (3.7%)

Counts
4 → 144
Calls

4 calls:

130.0ms
(*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 y (fma.f64 y x z))))
55.0ms
(cbrt.f64 (*.f64 y (fma.f64 y x z)))
38.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) (cbrt.f64 (*.f64 y (fma.f64 y x z))))
20.0ms
(*.f64 y (fma.f64 y x z))

rewrite43.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
32×pow1_binary64
16×add-sqr-sqrt_binary64
16×pow1/3_binary64
13×add-exp-log_binary64
11×associate-*r*_binary64
Counts
4 → 101
Calls

4 calls:

13.0ms
(*.f64 (*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) (cbrt.f64 (*.f64 y (fma.f64 y x z))))
9.0ms
(*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 y (fma.f64 y x z))))
6.0ms
(*.f64 y (fma.f64 y x z))
3.0ms
(cbrt.f64 (*.f64 y (fma.f64 y x z)))

simplify320.0ms (4.9%)

Algorithm
egg-herbie
Rules
509×fma-def_binary64
475×times-frac_binary64
408×associate-*l*_binary64
364×associate-/r*_binary64
308×associate-/l*_binary64
Counts
245 → 251
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05067168
115696470
247536450
349996450

prune870.0ms (13.4%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New4472449
Fresh134
Picked011
Done011
Total4487455
Error
0b
Counts
455 → 7
Alt Table
StatusErrorProgram
19.2b
(+.f64 (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 z z)) y) (-.f64 (*.f64 x y) z)) t)
0.6b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 (cbrt.f64 y) (fma.f64 y x z))))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) t)
0.1b
(fma.f64 (+.f64 (*.f64 x y) z) y t)
4.4b
(+.f64 (+.f64 (*.f64 y z) (*.f64 (pow.f64 y 2) x)) t)
23.0b
(+.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 y (*.f64 (fma.f64 y x z) (fma.f64 y x z))))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) t)
0.7b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) t)
34.2b
(+.f64 (*.f64 (*.f64 (fma.f64 y x z) (sqrt.f64 y)) (sqrt.f64 y)) t)
Compiler

Compiled 21528 to 9538 computations (55.7% saved)

localize31.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 (cbrt.f64 y) (fma.f64 y x z)))))
0.7b
(cbrt.f64 y)
7.2b
(cbrt.f64 (*.f64 y (fma.f64 y x z)))
7.2b
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 (cbrt.f64 y) (fma.f64 y x z))))

series395.0ms (6.1%)

Counts
3 → 84
Calls

3 calls:

187.0ms
(*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 (cbrt.f64 y) (fma.f64 y x z)))))
136.0ms
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 (cbrt.f64 y) (fma.f64 y x z))))
71.0ms
(cbrt.f64 y)

rewrite30.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
cbrt-prod_binary64
add-cube-cbrt_binary64
add-exp-log_binary64
Counts
3 → 47
Calls

3 calls:

12.0ms
(cbrt.f64 (*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 (cbrt.f64 y) (fma.f64 y x z))))
10.0ms
(*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 (cbrt.f64 y) (fma.f64 y x z)))))
1.0ms
(cbrt.f64 y)

simplify264.0ms (4%)

Algorithm
egg-herbie
Rules
490×fma-def_binary64
475×times-frac_binary64
366×associate-/r*_binary64
343×associate-*l*_binary64
308×associate-/l*_binary64
Counts
131 → 210
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04795789
115175385
246415365
349385365

prune594.0ms (9.1%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New4020402
Fresh044
Picked011
Done022
Total4027409
Error
0b
Counts
409 → 7
Alt Table
StatusErrorProgram
19.2b
(+.f64 (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 x y)) (*.f64 z z)) y) (-.f64 (*.f64 x y) z)) t)
0.6b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 (*.f64 (cbrt.f64 y) (cbrt.f64 y)) (*.f64 (cbrt.f64 y) (fma.f64 y x z))))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) t)
0.1b
(fma.f64 (+.f64 (*.f64 x y) z) y t)
4.4b
(+.f64 (+.f64 (*.f64 y z) (*.f64 (pow.f64 y 2) x)) t)
23.0b
(+.f64 (*.f64 (cbrt.f64 (*.f64 y (*.f64 y (*.f64 (fma.f64 y x z) (fma.f64 y x z))))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) t)
0.7b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 y (fma.f64 y x z))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) (cbrt.f64 (*.f64 y (fma.f64 y x z)))) t)
34.2b
(+.f64 (*.f64 (*.f64 (fma.f64 y x z) (sqrt.f64 y)) (sqrt.f64 y)) t)
Compiler

Compiled 22026 to 9470 computations (57% saved)

regimes478.0ms (7.3%)

Accuracy

Total 0.0b remaining (77.6%)

Threshold costs 0.0b (77.6%)

Counts
74 → 1
Compiler

Compiled 8244 to 4430 computations (46.3% saved)

simplify4.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
11011
21011

end0.0ms (0%)

Compiler

Compiled 12 to 7 computations (41.7% saved)

sample1.1s (17.4%)

Algorithm
intervals
Results
393.0ms8000×body128valid
96.0ms1901×body128invalid
Compiler

Compiled 191 to 96 computations (49.7% saved)

Profiling

Loading profile data...