Details

Time bar (total: 14.7s)

analyze506.0ms (3.4%)

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%68.6%31.4%5
0%65.5%34.5%6
0%59.2%40.8%7
0%51.4%48.6%8
0%41.3%58.7%9
0%28.4%71.6%10
2.3%22.3%75.4%11
2.3%21%76.7%12
2.7%18%79.3%13
2.7%16.4%80.8%14
Compiler

Compiled 22 to 16 computations (27.3% saved)

sample2.4s (16.1%)

Symmetry

(sort x y)

Results
1.5s8256×body128valid
743.0ms4491×body128invalid
Compiler

Compiled 65 to 47 computations (27.7% saved)

simplify210.0ms (1.4%)

Algorithm
egg-herbie
Rules
2140×distribute-rgt-in_binary64
556×associate--r+_binary64
551×associate-+l+_binary64
551×unsub-neg_binary64
546×associate-+r+_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01625
12923
27223
316023
442623
5109723
6199423
7198123
8195623
9197223
10198723
11203723
12204423
13224823
14265123
15244723
16245923
17246523
18246523
19255723
20464923
21472023
22480223
23487823
24764323

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.3b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))
0.3b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t)))
Compiler

Compiled 118 to 76 computations (35.6% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)
0.2b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))
0.5b
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))

series1.3s (9%)

Counts
3 → 144
Calls

3 calls:

694.0ms
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))
358.0ms
(-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)
275.0ms
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))

rewrite21.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
50×*-un-lft-identity_binary64
28×pow1_binary64
25×distribute-lft-out_binary64
25×log-pow_binary64
21×prod-diff_binary64
Counts
3 → 94
Calls

3 calls:

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

simplify161.0ms (1.1%)

Algorithm
egg-herbie
Rules
977×fma-neg_binary64
440×associate--l+_binary64
354×associate--r+_binary64
345×associate-+l+_binary64
318×unsub-neg_binary64
Counts
238 → 234
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03625343
110904931
240534802
345814780
452374780

prune211.0ms (1.4%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2286234
Fresh101
Picked101
Done000
Total2306236
Error
0.1b
Counts
236 → 6
Alt Table
StatusErrorProgram
38.8b
(*.f64 (sqrt.f64 (fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))) (sqrt.f64 (fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))))
1.3b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))) (cbrt.f64 (fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)))) (cbrt.f64 (fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))))
35.6b
(cbrt.f64 (*.f64 (*.f64 (fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)) (fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))) (fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))))
53.3b
(log.f64 (*.f64 (/.f64 (*.f64 z (+.f64 y x)) (exp.f64 t)) (pow.f64 t (-.f64 a 1/2))))
0.2b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2))) t))
0.3b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 y x)) (log.f64 z)) t))
Compiler

Compiled 6307 to 2507 computations (60.3% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series2.2s (15.2%)

Counts
4 → 156
Calls

4 calls:

885.0ms
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2))) t))
739.0ms
(+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2)))
540.0ms
(-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2))) t)
71.0ms
(*.f64 (log.f64 t) (-.f64 a 1/2))

rewrite41.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
67×*-un-lft-identity_binary64
59×add-sqr-sqrt_binary64
54×prod-diff_binary64
53×add-cube-cbrt_binary64
40×associate-+r+_binary64
Counts
4 → 173
Calls

4 calls:

11.0ms
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2))) t))
6.0ms
(*.f64 (log.f64 t) (-.f64 a 1/2))
6.0ms
(+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2)))
5.0ms
(-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2))) t)

simplify193.0ms (1.3%)

Algorithm
egg-herbie
Rules
436×fma-neg_binary64
286×+-commutative_binary64
254×associate--l+_binary64
245×associate--r+_binary64
231×fma-def_binary64
Counts
329 → 322
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04306957
110725939
238405917
349645917
449495917

prune362.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New3139322
Fresh415
Picked101
Done000
Total31810328
Error
0.0b
Counts
328 → 10
Alt Table
StatusErrorProgram
53.1b
(log.f64 (*.f64 (+.f64 x y) (/.f64 (*.f64 z (pow.f64 t (-.f64 a 1/2))) (exp.f64 t))))
0.7b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (cbrt.f64 (*.f64 (log.f64 t) (-.f64 a 1/2))) (cbrt.f64 (*.f64 (log.f64 t) (-.f64 a 1/2)))) (cbrt.f64 (*.f64 (log.f64 t) (-.f64 a 1/2))))) t))
31.0b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (log.f64 t) (+.f64 (sqrt.f64 a) (sqrt.f64 1/2))) (-.f64 (sqrt.f64 a) (sqrt.f64 1/2)))) t))
0.6b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (log.f64 t) (*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2)))) (cbrt.f64 (-.f64 a 1/2)))) t))
33.3b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (sqrt.f64 (log.f64 t)) (*.f64 (sqrt.f64 (log.f64 t)) (-.f64 a 1/2)))) t))
0.7b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (cbrt.f64 (log.f64 t)) (cbrt.f64 (log.f64 t))) (*.f64 (cbrt.f64 (log.f64 t)) (-.f64 a 1/2)))) t))
14.0b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (/.f64 (*.f64 (log.f64 t) (fma.f64 a a -1/4)) (+.f64 a 1/2))) t))
19.2b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (cbrt.f64 (*.f64 (*.f64 (*.f64 (log.f64 t) (log.f64 t)) (log.f64 t)) (*.f64 (*.f64 (-.f64 a 1/2) (-.f64 a 1/2)) (-.f64 a 1/2))))) t))
0.3b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 y x)) (log.f64 z)) t))
31.5b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (*.f64 (sqrt.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2)))) (sqrt.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2))))) t))
Compiler

Compiled 9354 to 4448 computations (52.4% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (log.f64 z)) t)
0.2b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 y x)) (log.f64 z)) t))
0.5b
(+.f64 (log.f64 (+.f64 y x)) (log.f64 z))

series1.6s (10.7%)

Counts
3 → 127
Calls

3 calls:

735.0ms
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 y x)) (log.f64 z)) t))
463.0ms
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (log.f64 z)) t)
369.0ms
(+.f64 (log.f64 (+.f64 y x)) (log.f64 z))

rewrite21.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
50×*-un-lft-identity_binary64
28×pow1_binary64
25×distribute-lft-out_binary64
25×log-pow_binary64
21×prod-diff_binary64
Counts
3 → 94
Calls

3 calls:

7.0ms
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (log.f64 z)) t)
6.0ms
(+.f64 (log.f64 (+.f64 y x)) (log.f64 z))
0.0ms
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 y x)) (log.f64 z)) t))

simplify195.0ms (1.3%)

Algorithm
egg-herbie
Rules
977×fma-neg_binary64
439×associate--l+_binary64
356×associate--r+_binary64
345×associate-+l+_binary64
318×unsub-neg_binary64
Counts
221 → 234
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03585214
110884711
240514576
345814554
452374554

prune327.0ms (2.2%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2340234
Fresh099
Picked011
Done000
Total23410244
Error
0.0b
Counts
244 → 10
Alt Table
StatusErrorProgram
53.1b
(log.f64 (*.f64 (+.f64 x y) (/.f64 (*.f64 z (pow.f64 t (-.f64 a 1/2))) (exp.f64 t))))
0.7b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (cbrt.f64 (*.f64 (log.f64 t) (-.f64 a 1/2))) (cbrt.f64 (*.f64 (log.f64 t) (-.f64 a 1/2)))) (cbrt.f64 (*.f64 (log.f64 t) (-.f64 a 1/2))))) t))
31.0b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (log.f64 t) (+.f64 (sqrt.f64 a) (sqrt.f64 1/2))) (-.f64 (sqrt.f64 a) (sqrt.f64 1/2)))) t))
0.6b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (log.f64 t) (*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2)))) (cbrt.f64 (-.f64 a 1/2)))) t))
33.3b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (sqrt.f64 (log.f64 t)) (*.f64 (sqrt.f64 (log.f64 t)) (-.f64 a 1/2)))) t))
0.7b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (cbrt.f64 (log.f64 t)) (cbrt.f64 (log.f64 t))) (*.f64 (cbrt.f64 (log.f64 t)) (-.f64 a 1/2)))) t))
14.0b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (/.f64 (*.f64 (log.f64 t) (fma.f64 a a -1/4)) (+.f64 a 1/2))) t))
19.2b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (cbrt.f64 (*.f64 (*.f64 (*.f64 (log.f64 t) (log.f64 t)) (log.f64 t)) (*.f64 (*.f64 (-.f64 a 1/2) (-.f64 a 1/2)) (-.f64 a 1/2))))) t))
0.3b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 y x)) (log.f64 z)) t))
31.5b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (*.f64 (sqrt.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2)))) (sqrt.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2))))) t))
Compiler

Compiled 6451 to 2670 computations (58.6% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(cbrt.f64 (-.f64 a 1/2))
0.3b
(*.f64 (log.f64 t) (*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2))))
0.4b
(*.f64 (*.f64 (log.f64 t) (*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2)))) (cbrt.f64 (-.f64 a 1/2)))
0.7b
(*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2)))

series604.0ms (4.1%)

Counts
4 → 72
Calls

4 calls:

428.0ms
(*.f64 (log.f64 t) (*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2))))
82.0ms
(*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2)))
81.0ms
(*.f64 (*.f64 (log.f64 t) (*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2)))) (cbrt.f64 (-.f64 a 1/2)))
13.0ms
(cbrt.f64 (-.f64 a 1/2))

rewrite60.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
80×cbrt-div_binary64
44×associate-*r/_binary64
40×flip--_binary64
40×flip3--_binary64
38×cbrt-prod_binary64
Counts
4 → 159
Calls

4 calls:

17.0ms
(*.f64 (*.f64 (log.f64 t) (*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2)))) (cbrt.f64 (-.f64 a 1/2)))
11.0ms
(*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2)))
10.0ms
(*.f64 (log.f64 t) (*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2))))
3.0ms
(cbrt.f64 (-.f64 a 1/2))

simplify165.0ms (1.1%)

Algorithm
egg-herbie
Rules
616×cancel-sign-sub-inv_binary64
551×fma-neg_binary64
452×associate-*l*_binary64
408×associate-*r*_binary64
360×distribute-rgt-neg-in_binary64
Counts
231 → 299
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03515164
18934681
228344444
349354444
451344444

prune586.0ms (4%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New3863389
Fresh358
Picked011
Done011
Total38910399
Error
0.0b
Counts
399 → 10
Alt Table
StatusErrorProgram
49.2b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (log.f64 t) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 a 1/2))) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 a 1/2))) (cbrt.f64 (-.f64 a 1/2))))) (cbrt.f64 (-.f64 a 1/2)))) t))
0.7b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (cbrt.f64 (log.f64 t)) (cbrt.f64 (log.f64 t))) (*.f64 (cbrt.f64 (log.f64 t)) (-.f64 a 1/2)))) t))
53.1b
(log.f64 (*.f64 (+.f64 x y) (/.f64 (*.f64 z (pow.f64 t (-.f64 a 1/2))) (exp.f64 t))))
0.7b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (cbrt.f64 (*.f64 (log.f64 t) (-.f64 a 1/2))) (cbrt.f64 (*.f64 (log.f64 t) (-.f64 a 1/2)))) (cbrt.f64 (*.f64 (log.f64 t) (-.f64 a 1/2))))) t))
31.0b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (log.f64 t) (+.f64 (sqrt.f64 a) (sqrt.f64 1/2))) (-.f64 (sqrt.f64 a) (sqrt.f64 1/2)))) t))
0.6b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (log.f64 t) (*.f64 (cbrt.f64 (-.f64 a 1/2)) (cbrt.f64 (-.f64 a 1/2)))) (cbrt.f64 (-.f64 a 1/2)))) t))
14.0b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (*.f64 (*.f64 (log.f64 t) (cbrt.f64 (pow.f64 (-.f64 a 1/2) 2))) (cbrt.f64 (-.f64 a 1/2)))) t))
14.1b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (+.f64 (log.f64 z) (/.f64 (*.f64 (*.f64 (log.f64 t) (cbrt.f64 (pow.f64 (-.f64 a 1/2) 2))) (cbrt.f64 (fma.f64 a a -1/4))) (cbrt.f64 (+.f64 a 1/2)))) t))
0.3b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 y x)) (log.f64 z)) t))
31.5b
(+.f64 (log.f64 (+.f64 y x)) (-.f64 (*.f64 (sqrt.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2)))) (sqrt.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (-.f64 a 1/2))))) t))
Compiler

Compiled 14874 to 9244 computations (37.9% saved)

regimes3.2s (21.9%)

Accuracy

Total 0.2b remaining (82.7%)

Threshold costs 0.2b (82.7%)

Counts
231 → 1
Compiler

Compiled 65664 to 46474 computations (29.2% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
mul-1-neg_binary64
unsub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01925
12923
23223
33323
43423
53123

end243.0ms (1.7%)

Remove

(sort x y)

Compiler

Compiled 385 to 273 computations (29.1% saved)

Profiling

Loading profile data...