Details

Time bar (total: 18.9s)

analyze1.3s (7.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.6%0.4%0
0%99.6%0.4%1
0%99.6%0.4%2
0%99.6%0.4%3
0%99.6%0.4%4
0%99.6%0.4%5
0%99.6%0.4%6
0%99.6%0.4%7
0%74.7%25.3%8
0%74.7%25.3%9
0%65.4%34.6%10
0%51.4%48.6%11
0%51.4%48.6%12
0%51.4%48.6%13
0%51.4%48.6%14
Compiler

Compiled 30 to 21 computations (30% saved)

sample217.0ms (1.1%)

Algorithm
intervals
Symmetry

(sort z t a)

Results
31.0ms328×body128nan
28.0ms256×body128valid
5.0ms45×body128invalid
Compiler

Compiled 67 to 49 computations (26.9% saved)

simplify87.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02130
14126
210926
337626
4111826
5159226
6169826
7169826
8169826
9169826
10270626
11295826
12295826
13291026
14291026
15254026
16252426

prune5.0ms (0%)

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 i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
Compiler

Compiled 157 to 101 computations (35.7% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
0.0b
(+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c)))
0.1b
(*.f64 (-.f64 b 1/2) (log.f64 c))
0.3b
(*.f64 x (log.f64 y))

series2.5s (13.4%)

Counts
4 → 228
Calls

4 calls:

1.2s
(+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c)))
942.0ms
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
326.0ms
(*.f64 x (log.f64 y))
61.0ms
(*.f64 (-.f64 b 1/2) (log.f64 c))

rewrite44.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
38×add-log-exp_binary64
25×sum-log_binary64
23×*-un-lft-identity_binary64
22×add-sqr-sqrt_binary64
18×log-prod_binary64
Counts
4 → 111
Calls

4 calls:

15.0ms
(+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c)))
12.0ms
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
5.0ms
(*.f64 (-.f64 b 1/2) (log.f64 c))
3.0ms
(*.f64 x (log.f64 y))

simplify194.0ms (1%)

Algorithm
egg-herbie
Rules
331×fma-neg_binary64
285×associate-+r+_binary64
268×associate-+l+_binary64
264×cancel-sign-sub-inv_binary64
244×+-commutative_binary64
Counts
339 → 223
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03627821
19337093
235016839
345756839
449406839

prune258.0ms (1.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2176223
Fresh011
Picked101
Done000
Total2187225
Error
0.0b
Counts
225 → 7
Alt Table
StatusErrorProgram
54.5b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (*.f64 (sqrt.f64 (-.f64 b 1/2)) (sqrt.f64 (log.f64 c))) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (sqrt.f64 (log.f64 c))))) (*.f64 y i))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y)))) (*.f64 x (log.f64 (cbrt.f64 y)))) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
30.2b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (sqrt.f64 (*.f64 (-.f64 b 1/2) (log.f64 c))) (sqrt.f64 (*.f64 (-.f64 b 1/2) (log.f64 c))))) (*.f64 y i))
0.1b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
47.0b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (log.f64 c)))) (*.f64 y i))
0.2b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (log.f64 y))) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (+.f64 (*.f64 (+.f64 -1/2 b) (*.f64 2 (log.f64 (cbrt.f64 c)))) (*.f64 (+.f64 -1/2 b) (log.f64 (cbrt.f64 c))))) (*.f64 y i))
Compiler

Compiled 7152 to 2574 computations (64% saved)

localize17.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
0.1b
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))
0.1b
(fma.f64 x (log.f64 y) z)

series1.5s (8.1%)

Counts
3 → 216
Calls

3 calls:

740.0ms
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))
682.0ms
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
101.0ms
(fma.f64 x (log.f64 y) z)

rewrite2.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
3 → 30
Calls

3 calls:

0.0ms
(fma.f64 x (log.f64 y) z)
0.0ms
(fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a))
0.0ms
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))

simplify135.0ms (0.7%)

Algorithm
egg-herbie
Rules
794×associate--l+_binary64
660×fma-neg_binary64
600×+-commutative_binary64
466×fma-def_binary64
236×associate-+r+_binary64
Counts
246 → 107
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01815833
14135708
213044951
340274935
450314935

prune146.0ms (0.8%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1070107
Fresh066
Picked011
Done000
Total1077114
Error
0.0b
Counts
114 → 7
Alt Table
StatusErrorProgram
54.5b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (*.f64 (sqrt.f64 (-.f64 b 1/2)) (sqrt.f64 (log.f64 c))) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (sqrt.f64 (log.f64 c))))) (*.f64 y i))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y)))) (*.f64 x (log.f64 (cbrt.f64 y)))) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
30.2b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (sqrt.f64 (*.f64 (-.f64 b 1/2) (log.f64 c))) (sqrt.f64 (*.f64 (-.f64 b 1/2) (log.f64 c))))) (*.f64 y i))
0.1b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
47.0b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (log.f64 c)))) (*.f64 y i))
0.2b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (log.f64 y))) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (+.f64 (*.f64 (+.f64 -1/2 b) (*.f64 2 (log.f64 (cbrt.f64 c)))) (*.f64 (+.f64 -1/2 b) (log.f64 (cbrt.f64 c))))) (*.f64 y i))
Compiler

Compiled 2984 to 1211 computations (59.4% saved)

localize27.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 x (log.f64 (cbrt.f64 y)))
0.2b
(*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y))))
0.3b
(+.f64 (*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y)))) (*.f64 x (log.f64 (cbrt.f64 y))))
0.6b
(cbrt.f64 y)

series3.5s (18.7%)

Counts
4 → 84
Calls

4 calls:

1.3s
(+.f64 (*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y)))) (*.f64 x (log.f64 (cbrt.f64 y))))
1.1s
(*.f64 x (log.f64 (cbrt.f64 y)))
1.1s
(*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y))))
29.0ms
(cbrt.f64 y)

rewrite27.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
72×log-prod_binary64
60×distribute-lft-in_binary64
60×distribute-rgt-in_binary64
39×cbrt-prod_binary64
34×add-sqr-sqrt_binary64
Counts
4 → 142
Calls

4 calls:

8.0ms
(+.f64 (*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y)))) (*.f64 x (log.f64 (cbrt.f64 y))))
5.0ms
(*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y))))
4.0ms
(*.f64 x (log.f64 (cbrt.f64 y)))
1.0ms
(cbrt.f64 y)

simplify129.0ms (0.7%)

Algorithm
egg-herbie
Rules
653×fma-def_binary64
475×fma-neg_binary64
441×*-commutative_binary64
440×cancel-sign-sub-inv_binary64
306×distribute-rgt-in_binary64
Counts
226 → 230
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02013066
14072725
213532500
338212492
449712492

prune624.0ms (3.3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2471248
Fresh055
Picked011
Done011
Total2478255
Error
0b
Counts
255 → 8
Alt Table
StatusErrorProgram
54.5b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (*.f64 (sqrt.f64 (-.f64 b 1/2)) (sqrt.f64 (log.f64 c))) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (sqrt.f64 (log.f64 c))))) (*.f64 y i))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y)))) (*.f64 x (log.f64 (cbrt.f64 y)))) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 3 (*.f64 (log.f64 (pow.f64 y 1/3)) x)) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
30.2b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (sqrt.f64 (*.f64 (-.f64 b 1/2) (log.f64 c))) (sqrt.f64 (*.f64 (-.f64 b 1/2) (log.f64 c))))) (*.f64 y i))
0.1b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
47.0b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (log.f64 c)))) (*.f64 y i))
0.2b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (log.f64 y))) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (+.f64 (*.f64 (+.f64 -1/2 b) (*.f64 2 (log.f64 (cbrt.f64 c)))) (*.f64 (+.f64 -1/2 b) (log.f64 (cbrt.f64 c))))) (*.f64 y i))
Compiler

Compiled 9441 to 4155 computations (56% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 b 1/2) (log.f64 c))
0.2b
(*.f64 (log.f64 (pow.f64 y 1/3)) x)
0.3b
(*.f64 3 (*.f64 (log.f64 (pow.f64 y 1/3)) x))
5.0b
(pow.f64 y 1/3)

series1.8s (9.7%)

Counts
3 → 20
Calls

3 calls:

946.0ms
(*.f64 3 (*.f64 (log.f64 (pow.f64 y 1/3)) x))
862.0ms
(*.f64 (log.f64 (pow.f64 y 1/3)) x)
26.0ms
(pow.f64 y 1/3)

rewrite13.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
11×add-exp-log_binary64
11×pow1_binary64
10×add-cbrt-cube_binary64
10×add-sqr-sqrt_binary64
*-un-lft-identity_binary64
Counts
3 → 61
Calls

3 calls:

5.0ms
(*.f64 (log.f64 (pow.f64 y 1/3)) x)
4.0ms
(*.f64 3 (*.f64 (log.f64 (pow.f64 y 1/3)) x))
1.0ms
(pow.f64 y 1/3)

simplify76.0ms (0.4%)

Algorithm
egg-herbie
Rules
889×fma-def_binary64
479×*-commutative_binary64
412×log-prod_binary64
229×sqr-pow_binary64
187×log-div_binary64
Counts
81 → 97
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0105998
1212765
2627699
31391606
42706600
54440600
65006600

prune268.0ms (1.4%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1510151
Fresh055
Picked011
Done022
Total1518159
Error
0b
Counts
159 → 8
Alt Table
StatusErrorProgram
54.5b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (*.f64 (sqrt.f64 (-.f64 b 1/2)) (sqrt.f64 (log.f64 c))) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (sqrt.f64 (log.f64 c))))) (*.f64 y i))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (*.f64 2 (log.f64 (cbrt.f64 y)))) (*.f64 x (log.f64 (cbrt.f64 y)))) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 3 (*.f64 (log.f64 (pow.f64 y 1/3)) x)) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
30.2b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (sqrt.f64 (*.f64 (-.f64 b 1/2) (log.f64 c))) (sqrt.f64 (*.f64 (-.f64 b 1/2) (log.f64 c))))) (*.f64 y i))
0.1b
(fma.f64 y i (fma.f64 (-.f64 b 1/2) (log.f64 c) (+.f64 (+.f64 (fma.f64 x (log.f64 y) z) t) a)))
47.0b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (*.f64 (sqrt.f64 (-.f64 b 1/2)) (log.f64 c)))) (*.f64 y i))
0.2b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (*.f64 (cbrt.f64 x) (log.f64 y))) z) t) a) (*.f64 (-.f64 b 1/2) (log.f64 c))) (*.f64 y i))
0.1b
(+.f64 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 x (log.f64 y)) z) t) a) (+.f64 (*.f64 (+.f64 -1/2 b) (*.f64 2 (log.f64 (cbrt.f64 c)))) (*.f64 (+.f64 -1/2 b) (log.f64 (cbrt.f64 c))))) (*.f64 y i))
Compiler

Compiled 4827 to 2771 computations (42.6% saved)

regimes2.3s (12%)

Accuracy

Total 0.1b remaining (71.3%)

Threshold costs 0.1b (71.3%)

Counts
136 → 1
Compiler

Compiled 49177 to 33658 computations (31.6% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02545
13745
23845
33745

end14.0ms (0.1%)

Remove

(sort z t a)

Compiler

Compiled 111 to 72 computations (35.1% saved)

sample3.5s (18.6%)

Algorithm
intervals
Results
1.1s7998×body128valid
1.0s9796×body128nan
138.0ms1208×body128invalid
1.0msbody512valid
Compiler

Compiled 361 to 247 computations (31.6% saved)

Profiling

Loading profile data...