Details

Time bar (total: 21.7s)

analyze486.0ms (2.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)

sample2.2s (10.3%)

Symmetry

(sort x y)

Results
1.4s8256×body128valid
711.0ms4461×body128invalid
Compiler

Compiled 65 to 47 computations (27.7% saved)

simplify209.0ms (1%)

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.3b
Counts
3 → 1
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))
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.2b
(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))

series1.1s (5.2%)

Counts
3 → 144
Calls

3 calls:

574.0ms
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))
319.0ms
(-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t)
238.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:

9.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))

simplify150.0ms (0.7%)

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

prune236.0ms (1.1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2277234
Fresh000
Picked101
Done000
Total2287235
Error
0.1b
Counts
235 → 7
Alt Table
StatusErrorProgram
0.8b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (+.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) (*.f64 (neg.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t))) (cbrt.f64 t))))
39.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))))
0.5b
(-.f64 (+.f64 (log.f64 z) (*.f64 a (log.f64 t))) (+.f64 t (+.f64 (log.f64 (/.f64 1 y)) (*.f64 1/2 (log.f64 t)))))
53.9b
(log.f64 (*.f64 (/.f64 (*.f64 z (+.f64 y x)) (exp.f64 t)) (pow.f64 t (-.f64 a 1/2))))
0.3b
(-.f64 (+.f64 (/.f64 x y) (+.f64 (log.f64 z) (fma.f64 (log.f64 t) a (log.f64 y)))) (fma.f64 1/2 (+.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (log.f64 t)) t))
0.4b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (fma.f64 (*.f64 (cbrt.f64 (log.f64 (+.f64 x y))) (cbrt.f64 (log.f64 (+.f64 x y)))) (cbrt.f64 (log.f64 (+.f64 x y))) (log.f64 z)) t))
1.4b
(*.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))))
Compiler

Compiled 6351 to 2539 computations (60% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series2.7s (12.3%)

Counts
4 → 168
Calls

4 calls:

1.2s
(+.f64 (log.f64 z) (fma.f64 (log.f64 t) a (log.f64 y)))
907.0ms
(-.f64 (+.f64 (/.f64 x y) (+.f64 (log.f64 z) (fma.f64 (log.f64 t) a (log.f64 y)))) (fma.f64 1/2 (+.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (log.f64 t)) t))
492.0ms
(fma.f64 (log.f64 t) a (log.f64 y))
30.0ms
(*.f64 (/.f64 x y) (/.f64 x y))

rewrite39.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
88×*-un-lft-identity_binary64
59×add-sqr-sqrt_binary64
45×add-cube-cbrt_binary64
40×times-frac_binary64
27×distribute-lft-out_binary64
Counts
4 → 151
Calls

4 calls:

11.0ms
(-.f64 (+.f64 (/.f64 x y) (+.f64 (log.f64 z) (fma.f64 (log.f64 t) a (log.f64 y)))) (fma.f64 1/2 (+.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (log.f64 t)) t))
9.0ms
(*.f64 (/.f64 x y) (/.f64 x y))
3.0ms
(+.f64 (log.f64 z) (fma.f64 (log.f64 t) a (log.f64 y)))
0.0ms
(fma.f64 (log.f64 t) a (log.f64 y))

simplify193.0ms (0.9%)

Algorithm
egg-herbie
Rules
829×fma-neg_binary64
435×times-frac_binary64
371×sub-neg_binary64
160×unsub-neg_binary64
158×fma-def_binary64
Counts
319 → 258
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03218151
18907198
230976656
345496656
450016656

prune271.0ms (1.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2571258
Fresh156
Picked011
Done000
Total2587265
Error
0.1b
Counts
265 → 7
Alt Table
StatusErrorProgram
0.8b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (+.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) (*.f64 (neg.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t))) (cbrt.f64 t))))
39.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))))
0.5b
(-.f64 (+.f64 (log.f64 z) (*.f64 a (log.f64 t))) (+.f64 t (+.f64 (log.f64 (/.f64 1 y)) (*.f64 1/2 (log.f64 t)))))
0.9b
(-.f64 (+.f64 (/.f64 x y) (+.f64 (log.f64 z) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (log.f64 t) a (log.f64 y))) (cbrt.f64 (fma.f64 (log.f64 t) a (log.f64 y)))) (cbrt.f64 (fma.f64 (log.f64 t) a (log.f64 y)))))) (fma.f64 1/2 (+.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (log.f64 t)) t))
53.9b
(log.f64 (*.f64 (/.f64 (*.f64 z (+.f64 y x)) (exp.f64 t)) (pow.f64 t (-.f64 a 1/2))))
0.3b
(-.f64 (+.f64 (/.f64 x y) (+.f64 (log.f64 z) (fma.f64 (log.f64 t) a (log.f64 y)))) (fma.f64 1/2 (+.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (log.f64 t)) t))
0.4b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (fma.f64 (*.f64 (cbrt.f64 (log.f64 (+.f64 x y))) (cbrt.f64 (log.f64 (+.f64 x y)))) (cbrt.f64 (log.f64 (+.f64 x y))) (log.f64 z)) t))
Compiler

Compiled 10038 to 2411 computations (76% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series4.1s (18.9%)

Counts
4 → 144
Calls

4 calls:

2.2s
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (fma.f64 (*.f64 (cbrt.f64 (log.f64 (+.f64 x y))) (cbrt.f64 (log.f64 (+.f64 x y)))) (cbrt.f64 (log.f64 (+.f64 x y))) (log.f64 z)) t))
1.6s
(fma.f64 (*.f64 (cbrt.f64 (log.f64 (+.f64 x y))) (cbrt.f64 (log.f64 (+.f64 x y)))) (cbrt.f64 (log.f64 (+.f64 x y))) (log.f64 z))
179.0ms
(*.f64 (cbrt.f64 (log.f64 (+.f64 x y))) (cbrt.f64 (log.f64 (+.f64 x y))))
61.0ms
(cbrt.f64 (log.f64 (+.f64 x y)))

rewrite12.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
28×cbrt-prod_binary64
21×add-sqr-sqrt_binary64
18×pow1_binary64
15×*-un-lft-identity_binary64
13×add-cube-cbrt_binary64
Counts
4 → 81
Calls

4 calls:

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

simplify264.0ms (1.2%)

Algorithm
egg-herbie
Rules
422×+-commutative_binary64
395×*-commutative_binary64
336×associate-+r+_binary64
326×fma-def_binary64
280×sub-neg_binary64
Counts
225 → 329
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0126518659
1473818433
2515018433

prune913.0ms (4.2%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New4701471
Fresh145
Picked101
Done101
Total4735478
Error
0.1b
Counts
478 → 5
Alt Table
StatusErrorProgram
0.8b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (+.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) (*.f64 (neg.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t))) (cbrt.f64 t))))
39.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))))
0.9b
(-.f64 (+.f64 (/.f64 x y) (+.f64 (log.f64 z) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (log.f64 t) a (log.f64 y))) (cbrt.f64 (fma.f64 (log.f64 t) a (log.f64 y)))) (cbrt.f64 (fma.f64 (log.f64 t) a (log.f64 y)))))) (fma.f64 1/2 (+.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (log.f64 t)) t))
53.9b
(log.f64 (*.f64 (/.f64 (*.f64 z (+.f64 y x)) (exp.f64 t)) (pow.f64 t (-.f64 a 1/2))))
0.3b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (neg.f64 (log.f64 t))))) (fma.f64 a (neg.f64 (log.f64 t)) t))
Compiler

Compiled 36683 to 22721 computations (38.1% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series2.1s (9.5%)

Counts
4 → 156
Calls

4 calls:

829.0ms
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (neg.f64 (log.f64 t))))) (fma.f64 a (neg.f64 (log.f64 t)) t))
812.0ms
(+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (neg.f64 (log.f64 t)))))
379.0ms
(+.f64 (log.f64 z) (*.f64 1/2 (neg.f64 (log.f64 t))))
46.0ms
(fma.f64 a (neg.f64 (log.f64 t)) t)

rewrite32.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
44×*-un-lft-identity_binary64
22×add-sqr-sqrt_binary64
20×add-cube-cbrt_binary64
15×prod-diff_binary64
13×log-prod_binary64
Counts
4 → 112
Calls

4 calls:

8.0ms
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (neg.f64 (log.f64 t))))) (fma.f64 a (neg.f64 (log.f64 t)) t))
6.0ms
(+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (neg.f64 (log.f64 t)))))
3.0ms
(+.f64 (log.f64 z) (*.f64 1/2 (neg.f64 (log.f64 t))))
0.0ms
(fma.f64 a (neg.f64 (log.f64 t)) t)

simplify145.0ms (0.7%)

Algorithm
egg-herbie
Rules
528×fma-neg_binary64
383×associate-+l+_binary64
383×associate--l+_binary64
349×associate--r+_binary64
301×+-commutative_binary64
Counts
268 → 294
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03806900
111696250
246146246
350866246

prune296.0ms (1.4%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2922294
Fresh134
Picked011
Done000
Total2936299
Error
0.1b
Counts
299 → 6
Alt Table
StatusErrorProgram
0.8b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (+.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) (*.f64 (neg.f64 (*.f64 (cbrt.f64 t) (cbrt.f64 t))) (cbrt.f64 t))))
39.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))))
16.3b
(-.f64 (log.f64 (*.f64 (+.f64 x y) (*.f64 z (pow.f64 (/.f64 1 t) 1/2)))) (fma.f64 a (neg.f64 (log.f64 t)) t))
16.9b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (neg.f64 (log.f64 t))))) (*.f64 (sqrt.f64 (fma.f64 a (neg.f64 (log.f64 t)) t)) (sqrt.f64 (fma.f64 a (neg.f64 (log.f64 t)) t))))
0.9b
(-.f64 (+.f64 (/.f64 x y) (+.f64 (log.f64 z) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (log.f64 t) a (log.f64 y))) (cbrt.f64 (fma.f64 (log.f64 t) a (log.f64 y)))) (cbrt.f64 (fma.f64 (log.f64 t) a (log.f64 y)))))) (fma.f64 1/2 (+.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (log.f64 t)) t))
0.3b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (+.f64 (log.f64 z) (*.f64 1/2 (neg.f64 (log.f64 t))))) (fma.f64 a (neg.f64 (log.f64 t)) t))
Compiler

Compiled 8778 to 3104 computations (64.6% saved)

regimes5.8s (27%)

Accuracy

Total 0.3b remaining (77.4%)

Threshold costs 0.3b (77.4%)

Counts
334 → 1
Compiler

Compiled 124553 to 74163 computations (40.5% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02040
12540
23040
33240
43340
53340

end294.0ms (1.4%)

Compiler

Compiled 322 to 185 computations (42.5% saved)

Profiling

Loading profile data...