Details

Time bar (total: 14.7s)

analyze619.0ms (4.2%)

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)

sample71.0ms (0.5%)

Algorithm
intervals
Results
25.0ms256×body128valid
15.0ms157×body128nan
0.0msbody128invalid
Compiler

Compiled 48 to 36 computations (25% saved)

simplify222.0ms (1.5%)

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

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.4b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))
Compiler

Compiled 76 to 46 computations (39.5% saved)

localize13.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.3b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))
0.6b
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))

rewrite19.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 x y)) (log.f64 z)) t)
6.0ms
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))
0.0ms
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))

series2.3s (15.5%)

Counts
3 → 144
Calls

3 calls:

1.1s
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))
621.0ms
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))
605.0ms
(-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)

simplify178.0ms (1.2%)

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 → 453
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03625343
110904931
240534802
345814780
452374780

prune213.0ms (1.5%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New4458453
Fresh000
Picked101
Done000
Total4468454
Error
0.1b
Counts
454 → 8
Alt Table
StatusErrorProgram
0.4b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (+.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) (neg.f64 t)))
53.1b
(log.f64 (*.f64 (/.f64 (*.f64 z (+.f64 y x)) (exp.f64 t)) (pow.f64 t (-.f64 a 1/2))))
53.5b
(+.f64 (/.f64 y x) (-.f64 (fma.f64 (log.f64 t) a (log.f64 z)) (-.f64 (fma.f64 1/2 (log.f64 t) t) (log.f64 x))))
0.4b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (*.f64 a (log.f64 (/.f64 1 t))) t))
41.2b
(*.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))))
37.0b
(cbrt.f64 (pow.f64 (fma.f64 (log.f64 t) (-.f64 a 1/2) (-.f64 (+.f64 (log.f64 z) (log.f64 (+.f64 y x))) t)) 3))
17.9b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (/.f64 (-.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) (+.f64 (log.f64 (+.f64 x y)) (log.f64 z))) (*.f64 t t)) (+.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)))
Compiler

Compiled 6344 to 2571 computations (59.5% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 a (log.f64 (/.f64 1 t))) t)
0.3b
(*.f64 a (log.f64 (/.f64 1 t)))
0.4b
(+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))
0.5b
(+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t)))))

rewrite36.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
85×log-prod_binary64
57×*-un-lft-identity_binary64
54×times-frac_binary64
54×add-sqr-sqrt_binary64
52×add-cube-cbrt_binary64
Counts
4 → 165
Calls

4 calls:

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

series3.9s (26.6%)

Counts
4 → 76
Calls

4 calls:

2.3s
(+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t)))))
935.0ms
(+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))
518.0ms
(*.f64 a (log.f64 (/.f64 1 t)))
104.0ms
(+.f64 (*.f64 a (log.f64 (/.f64 1 t))) t)

simplify220.0ms (1.5%)

Algorithm
egg-herbie
Rules
724×fma-neg_binary64
440×distribute-rgt-in_binary64
242×cancel-sign-sub-inv_binary64
239×sub-neg_binary64
221×unsub-neg_binary64
Counts
241 → 457
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
03094210
18133818
225293623
344693569
449813567
550453567

prune428.0ms (2.9%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New4498457
Fresh527
Picked101
Done000
Total45510465
Error
0.0b
Counts
465 → 10
Alt Table
StatusErrorProgram
0.4b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (+.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) (neg.f64 t)))
36.9b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (cbrt.f64 (pow.f64 (-.f64 t (*.f64 (log.f64 t) a)) 3)))
22.8b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 a a) a) (*.f64 (*.f64 (log.f64 (/.f64 1 t)) (log.f64 (/.f64 1 t))) (log.f64 (/.f64 1 t))))) t))
41.2b
(*.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))))
30.4b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (/.f64 (-.f64 (*.f64 (*.f64 (log.f64 t) a) (*.f64 (log.f64 t) a)) (*.f64 t t)) (-.f64 (neg.f64 (*.f64 (log.f64 t) a)) t)))
0.3b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (+.f64 (*.f64 a (neg.f64 (log.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t))))) (*.f64 a (neg.f64 (log.f64 (cbrt.f64 t))))) t))
17.2b
(-.f64 (log.f64 (*.f64 (+.f64 x y) (*.f64 z (pow.f64 t -1/2)))) (+.f64 (*.f64 a (log.f64 (/.f64 1 t))) t))
0.7b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (*.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) (*.f64 (neg.f64 (log.f64 t)) (cbrt.f64 a))) t))
48.9b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 (log.f64 t)))) (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 (log.f64 t))))) t))
33.3b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (*.f64 (*.f64 a (sqrt.f64 (neg.f64 (log.f64 t)))) (sqrt.f64 (log.f64 (/.f64 1 t)))) t))
Compiler

Compiled 10445 to 5969 computations (42.9% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 t) (cbrt.f64 t))
0.6b
(cbrt.f64 t)
0.6b
(cbrt.f64 t)
0.6b
(cbrt.f64 t)

rewrite8.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64
19×cbrt-prod_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
pow1_binary64
Counts
2 → 55
Calls

2 calls:

5.0ms
(*.f64 (cbrt.f64 t) (cbrt.f64 t))
1.0ms
(cbrt.f64 t)

series488.0ms (3.3%)

Counts
2 → 24
Calls

2 calls:

265.0ms
(*.f64 (cbrt.f64 t) (cbrt.f64 t))
222.0ms
(cbrt.f64 t)

simplify80.0ms (0.5%)

Algorithm
egg-herbie
Rules
577×distribute-rgt-in_binary64
561×log-prod_binary64
538×distribute-lft-in_binary64
525×unswap-sqr_binary64
384×fma-def_binary64
Counts
79 → 145
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
058610
198554
2296516
3769502
41799410
54642410
64805410

prune191.0ms (1.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2731274
Fresh189
Picked011
Done000
Total27410284
Error
0.0b
Counts
284 → 10
Alt Table
StatusErrorProgram
0.4b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (+.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) (neg.f64 t)))
22.8b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 a a) a) (*.f64 (*.f64 (log.f64 (/.f64 1 t)) (log.f64 (/.f64 1 t))) (log.f64 (/.f64 1 t))))) t))
0.3b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (+.f64 (*.f64 a (neg.f64 (log.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t))))) (*.f64 a (neg.f64 (log.f64 (cbrt.f64 t))))) t))
0.4b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (+.f64 (*.f64 a (neg.f64 (log.f64 (exp.f64 (*.f64 2/3 (log.f64 t)))))) (*.f64 a (neg.f64 (log.f64 (cbrt.f64 t))))) t))
41.2b
(*.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))))
30.4b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (/.f64 (-.f64 (*.f64 (*.f64 (log.f64 t) a) (*.f64 (log.f64 t) a)) (*.f64 t t)) (-.f64 (neg.f64 (*.f64 (log.f64 t) a)) t)))
17.2b
(-.f64 (log.f64 (*.f64 (+.f64 x y) (*.f64 z (pow.f64 t -1/2)))) (+.f64 (*.f64 a (log.f64 (/.f64 1 t))) t))
0.7b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (*.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) (*.f64 (neg.f64 (log.f64 t)) (cbrt.f64 a))) t))
48.9b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 (log.f64 t)))) (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 (log.f64 t))))) t))
33.3b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (*.f64 (*.f64 a (sqrt.f64 (neg.f64 (log.f64 t)))) (sqrt.f64 (log.f64 (/.f64 1 t)))) t))
Compiler

Compiled 4639 to 2143 computations (53.8% saved)

localize32.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))
0.5b
(+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t)))))
0.6b
(cbrt.f64 t)
5.3b
(exp.f64 (*.f64 2/3 (log.f64 t)))

rewrite3.0ms (0%)

Algorithm
rewrite-expression-head
Rules
exp-sum_binary64
log-prod_binary64
distribute-lft-in_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
Counts
1 → 18
Calls

1 calls:

2.0ms
(exp.f64 (*.f64 2/3 (log.f64 t)))

series217.0ms (1.5%)

Counts
1 → 12
Calls

1 calls:

217.0ms
(exp.f64 (*.f64 2/3 (log.f64 t)))

simplify88.0ms (0.6%)

Algorithm
egg-herbie
Rules
541×associate-*l*_binary64
518×log-prod_binary64
489×associate-*r*_binary64
404×unswap-sqr_binary64
344×fma-neg_binary64
Counts
30 → 55
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
053216
183207
2149192
3328143
4760137
53855137
64884137
74819137

prune392.0ms (2.7%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New4740474
Fresh088
Picked011
Done011
Total47410484
Error
0.0b
Counts
484 → 10
Alt Table
StatusErrorProgram
0.4b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (+.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) (neg.f64 t)))
22.8b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 a a) a) (*.f64 (*.f64 (log.f64 (/.f64 1 t)) (log.f64 (/.f64 1 t))) (log.f64 (/.f64 1 t))))) t))
0.3b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (+.f64 (*.f64 a (neg.f64 (log.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t))))) (*.f64 a (neg.f64 (log.f64 (cbrt.f64 t))))) t))
0.4b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (+.f64 (*.f64 a (neg.f64 (log.f64 (exp.f64 (*.f64 2/3 (log.f64 t)))))) (*.f64 a (neg.f64 (log.f64 (cbrt.f64 t))))) t))
41.2b
(*.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))))
30.4b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (/.f64 (-.f64 (*.f64 (*.f64 (log.f64 t) a) (*.f64 (log.f64 t) a)) (*.f64 t t)) (-.f64 (neg.f64 (*.f64 (log.f64 t) a)) t)))
17.2b
(-.f64 (log.f64 (*.f64 (+.f64 x y) (*.f64 z (pow.f64 t -1/2)))) (+.f64 (*.f64 a (log.f64 (/.f64 1 t))) t))
0.7b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (*.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) (*.f64 (neg.f64 (log.f64 t)) (cbrt.f64 a))) t))
48.9b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 (log.f64 t)))) (*.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 (log.f64 t))))) t))
33.3b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (log.f64 (/.f64 1 t))))) (+.f64 (*.f64 (*.f64 a (sqrt.f64 (neg.f64 (log.f64 t)))) (sqrt.f64 (log.f64 (/.f64 1 t)))) t))
Compiler

Compiled 8924 to 4653 computations (47.9% saved)

regimes3.0s (20.7%)

Accuracy

Total 0.3b remaining (89.8%)

Threshold costs 0.3b (89.8%)

Compiler

Compiled 61021 to 42905 computations (29.7% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
27×distribute-rgt-neg-in_binary64
18×distribute-lft-neg-in_binary64
18×cancel-sign-sub-inv_binary64
16×distribute-neg-in_binary64
15×+-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02754
14852
27450
39850
414050
516550
617250
716850

end9.0ms (0.1%)

Remove

(sort x y)

Compiler

Compiled 108 to 72 computations (33.3% saved)

sample1.9s (12.7%)

Algorithm
intervals
Results
766.0ms8000×body128valid
386.0ms4401×body128nan
5.0ms50×body128invalid
Compiler

Compiled 411 to 280 computations (31.9% saved)

Profiling

Loading profile data...