Details

Time bar (total: 4.9s)

analyze392.0ms (8%)

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
26.5%73.3%0.1%8
33.5%66.3%0.1%9
49.1%50.7%0.1%10
56.9%42.9%0.1%11
60.8%39%0.1%12
69%30.9%0.1%13
72.5%27.3%0.1%14
Compiler

Compiled 13 to 10 computations (23.1% saved)

sample38.0ms (0.8%)

Algorithm
intervals
Results
11.0ms71×body1280valid
7.0ms24×body2560valid
6.0ms51×body640valid
3.0ms34×body320valid
2.0ms65×body80valid
1.0ms11×body160valid
Compiler

Compiled 25 to 22 computations (12% saved)

simplify36.0ms (0.7%)

Algorithm
egg-herbie
Counts
1 → 1
Iterations

Useful iterations: 0 (26.0ms)

IterNodesCost
050517
150517

prune5.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112

Merged error: 46.2b

Counts
2 → 1
Compiler

Compiled 24 to 18 computations (25% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 1 (+.f64 (*.f64 x y) z))
0.0b
(+.f64 (*.f64 x y) z)
9.8b
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))

rewrite21.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
19×add-log-exp_binary64
10×*-un-lft-identity_binary64
sum-log_binary64
add-sqr-sqrt_binary64
pow1_binary64 diff-log_binary64 add-cube-cbrt_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
flip3-+_binary64 distribute-lft-out_binary64 distribute-lft-out--_binary64 +-commutative_binary64 flip-+_binary64
sub-neg_binary64 associate--r+_binary64 flip3--_binary64 difference-of-squares_binary64 flip--_binary64 associate-+r+_binary64
Counts
3 → 42
Calls

3 calls:

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

series25.0ms (0.5%)

Counts
3 → 9
Calls

3 calls:

12.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (+.f64 (*.f64 x y) z)))
6.0ms
(+.f64 1 (+.f64 (*.f64 x y) z))
6.0ms
(+.f64 (*.f64 x y) z)

simplify76.0ms (1.5%)

Algorithm
egg-herbie
Counts
51 → 51
Iterations

Useful iterations: 0 (58.0ms)

IterNodesCost
04942870
14942870

prune46.0ms (0.9%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New44751
Fresh000
Picked011
Done000
Total44852

Merged error: 45.6b

Counts
52 → 8
Compiler

Compiled 1076 to 396 computations (63.2% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

7.9b
(cbrt.f64 (+.f64 z (*.f64 x y)))
7.9b
(cbrt.f64 (+.f64 z (*.f64 x y)))
7.9b
(cbrt.f64 (+.f64 z (*.f64 x y)))
32.6b
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y)))) (cbrt.f64 (+.f64 z (*.f64 x y))))))

rewrite16.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64 add-log-exp_binary64 add-sqr-sqrt_binary64 cbrt-prod_binary64
add-cube-cbrt_binary64
cbrt-div_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
flip3-+_binary64 pow1/3_binary64 flip-+_binary64
diff-log_binary64
sub-neg_binary64 associate--r+_binary64 flip3--_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64 flip--_binary64 sum-log_binary64
Counts
4 → 54
Calls

4 calls:

6.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y)))) (cbrt.f64 (+.f64 z (*.f64 x y))))))
3.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
3.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
3.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))

series98.0ms (2%)

Counts
4 → 12
Calls

4 calls:

31.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
29.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
27.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
11.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y)))) (cbrt.f64 (+.f64 z (*.f64 x y))))))

simplify152.0ms (3.1%)

Algorithm
egg-herbie
Counts
66 → 66
Iterations

Useful iterations: 0 (132.0ms)

IterNodesCost
054801217

prune91.0ms (1.8%)

Pruning

19 alts after pruning (17 fresh and 2 done)

PrunedKeptTotal
New541266
Fresh156
Picked011
Done011
Total551974

Merged error: 45.3b

Counts
74 → 19
Compiler

Compiled 2598 to 748 computations (71.2% saved)

localize18.0ms (0.4%)

Local error

Found 4 expressions with local error:

7.9b
(cbrt.f64 (+.f64 z (*.f64 x y)))
7.9b
(cbrt.f64 (+.f64 z (*.f64 x y)))
7.9b
(cbrt.f64 (+.f64 z (*.f64 x y)))
32.1b
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))) (cbrt.f64 (+.f64 z (*.f64 x y))))))

rewrite17.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64 add-log-exp_binary64 add-sqr-sqrt_binary64 cbrt-prod_binary64
add-cube-cbrt_binary64
cbrt-div_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
flip3-+_binary64 pow1/3_binary64 flip-+_binary64
diff-log_binary64
sub-neg_binary64 associate--r+_binary64 flip3--_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64 flip--_binary64 sum-log_binary64
Counts
4 → 54
Calls

4 calls:

6.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))) (cbrt.f64 (+.f64 z (*.f64 x y))))))
3.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
3.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
3.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))

series98.0ms (2%)

Counts
4 → 12
Calls

4 calls:

30.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
28.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
28.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
12.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))) (cbrt.f64 (+.f64 z (*.f64 x y))))))

simplify64.0ms (1.3%)

Algorithm
egg-herbie
Counts
66 → 66
Iterations

Useful iterations: 0 (37.0ms)

IterNodesCost
052182217

prune120.0ms (2.4%)

Pruning

27 alts after pruning (25 fresh and 2 done)

PrunedKeptTotal
New521466
Fresh51116
Picked101
Done022
Total582785

Merged error: 45.3b

Counts
85 → 27
Compiler

Compiled 4824 to 1025 computations (78.8% saved)

localize30.0ms (0.6%)

Local error

Found 4 expressions with local error:

7.9b
(cbrt.f64 (+.f64 z (*.f64 x y)))
32.1b
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))))))
32.1b
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))))))
32.1b
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))))))

rewrite24.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
19×add-log-exp_binary64
11×*-un-lft-identity_binary64 add-sqr-sqrt_binary64
diff-log_binary64
add-cube-cbrt_binary64
pow1_binary64 add-exp-log_binary64 add-cbrt-cube_binary64
sub-neg_binary64 associate--r+_binary64 flip3--_binary64 difference-of-squares_binary64 distribute-lft-out--_binary64 flip--_binary64 cbrt-prod_binary64 sum-log_binary64
cbrt-div_binary64
flip3-+_binary64 pow1/3_binary64 flip-+_binary64
Counts
4 → 58
Calls

4 calls:

7.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))))))
6.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))))))
6.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))))))
3.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))

series62.0ms (1.3%)

Counts
4 → 12
Calls

4 calls:

28.0ms
(cbrt.f64 (+.f64 z (*.f64 x y)))
12.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))))))
11.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))))))
11.0ms
(-.f64 (fma.f64 x y z) (+.f64 1 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 z (*.f64 x y))) (cbrt.f64 (+.f64 z (*.f64 x y))))) (cbrt.f64 (cbrt.f64 (+.f64 z (*.f64 x y)))))))))

simplify79.0ms (1.6%)

Algorithm
egg-herbie
Counts
70 → 70
Iterations

Useful iterations: 0 (38.0ms)

IterNodesCost
053944579

prune83.0ms (1.7%)

Pruning

26 alts after pruning (24 fresh and 2 done)

PrunedKeptTotal
New68270
Fresh22224
Picked101
Done022
Total712697

Merged error: 45.3b

Counts
97 → 26
Compiler

Compiled 10368 to 1299 computations (87.5% saved)

regimes418.0ms (8.5%)

Compiler

Compiled 5874 to 2004 computations (65.9% saved)

bsearch0.0ms (0%)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (2.0ms)

IterNodesCost
09617
19617

end0.0ms (0%)

sample2.9s (58.7%)

Algorithm
intervals
Results
414.0ms2645×body1280valid
198.0ms1527×body640valid
118.0ms605×body2560valid
73.0ms2139×body80valid
69.0ms741×body320valid
22.0ms343×body160valid
Compiler

Compiled 1487 to 518 computations (65.2% saved)

Profiling

Loading profile data...