Details

Time bar (total: 20.2s)

analyze479.0ms (2.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.1s (10.6%)

Symmetry

(sort x y)

Results
1.4s8256×body128valid
644.0ms4337×body128invalid
Compiler

Compiled 65 to 47 computations (27.7% saved)

simplify210.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.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.2b
(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)

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
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))

series846.0ms (4.2%)

Counts
2 → 96
Calls

2 calls:

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

rewrite8.0ms (0%)

Algorithm
rewrite-expression-head
Rules
11×*-un-lft-identity_binary64
log-prod_binary64
pow1_binary64
distribute-lft-out_binary64
add-sqr-sqrt_binary64
Counts
2 → 40
Calls

2 calls:

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

simplify101.0ms (0.5%)

Algorithm
egg-herbie
Rules
819×fma-def_binary64
672×sub-neg_binary64
369×fma-neg_binary64
320×associate--l+_binary64
286×associate-+l+_binary64
Counts
136 → 150
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02693472
18373152
229533050
347463050
449723050

prune127.0ms (0.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1455150
Fresh000
Picked011
Done000
Total1456151
Error
0.1b
Counts
151 → 6
Alt Table
StatusErrorProgram
39.3b
(*.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.2b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 a (log.f64 t))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 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))))
38.2b
(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.9b
(log.f64 (*.f64 (pow.f64 t (-.f64 a 1/2)) (/.f64 (*.f64 z (+.f64 y x)) (exp.f64 t))))
0.2b
(fma.f64 (-.f64 a 1/2) (log.f64 t) (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t))
Compiler

Compiled 4058 to 1752 computations (56.8% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series1.6s (8.1%)

Counts
4 → 104
Calls

4 calls:

848.0ms
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 a (log.f64 t))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
342.0ms
(+.f64 (log.f64 (+.f64 y x)) (*.f64 a (log.f64 t)))
226.0ms
(+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t))))
218.0ms
(*.f64 a (log.f64 t))

rewrite37.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
54×*-un-lft-identity_binary64
34×add-sqr-sqrt_binary64
30×add-cube-cbrt_binary64
29×log-prod_binary64
22×add-log-exp_binary64
Counts
4 → 147
Calls

4 calls:

10.0ms
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 a (log.f64 t))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
8.0ms
(+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t))))
5.0ms
(+.f64 (log.f64 (+.f64 y x)) (*.f64 a (log.f64 t)))
3.0ms
(*.f64 a (log.f64 t))

simplify147.0ms (0.7%)

Algorithm
egg-herbie
Rules
607×fma-neg_binary64
302×associate--r+_binary64
277×associate--l+_binary64
263×associate-+l+_binary64
223×associate-+r+_binary64
Counts
251 → 325
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03986992
112115919
248695911
354105911

prune483.0ms (2.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New3196325
Fresh404
Picked101
Done011
Total3247331
Error
0.0b
Counts
331 → 7
Alt Table
StatusErrorProgram
53.9b
(log.f64 (/.f64 (*.f64 (+.f64 x y) (pow.f64 t a)) (/.f64 (*.f64 (exp.f64 t) (pow.f64 t 1/2)) z)))
0.6b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 (*.f64 a (*.f64 (cbrt.f64 (log.f64 t)) (cbrt.f64 (log.f64 t)))) (cbrt.f64 (log.f64 t)))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
0.3b
(-.f64 (+.f64 (fma.f64 a (*.f64 2 (log.f64 (cbrt.f64 t))) (log.f64 (+.f64 x y))) (*.f64 (log.f64 (cbrt.f64 t)) a)) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
0.5b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) (*.f64 (cbrt.f64 a) (log.f64 t)))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 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 (+.f64 (log.f64 (+.f64 y x)) (*.f64 (*.f64 (cbrt.f64 (*.f64 a (log.f64 t))) (cbrt.f64 (*.f64 a (log.f64 t)))) (cbrt.f64 (*.f64 a (log.f64 t))))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
23.8b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 a (log.f64 t))) (/.f64 (+.f64 (pow.f64 (neg.f64 (log.f64 z)) 3) (pow.f64 (fma.f64 1/2 (log.f64 t) t) 3)) (fma.f64 (fma.f64 1/2 (log.f64 t) t) (+.f64 (fma.f64 1/2 (log.f64 t) t) (log.f64 z)) (*.f64 (log.f64 z) (log.f64 z)))))
Compiler

Compiled 10986 to 4958 computations (54.9% saved)

localize23.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series2.9s (14.4%)

Counts
3 → 84
Calls

3 calls:

1.8s
(+.f64 (fma.f64 a (*.f64 2 (log.f64 (cbrt.f64 t))) (log.f64 (+.f64 x y))) (*.f64 (log.f64 (cbrt.f64 t)) a))
1.1s
(*.f64 (log.f64 (cbrt.f64 t)) a)
29.0ms
(cbrt.f64 t)

rewrite8.0ms (0%)

Algorithm
rewrite-expression-head
Rules
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
pow1_binary64
associate-*l*_binary64
Counts
3 → 52
Calls

3 calls:

3.0ms
(*.f64 (log.f64 (cbrt.f64 t)) a)
2.0ms
(+.f64 (fma.f64 a (*.f64 2 (log.f64 (cbrt.f64 t))) (log.f64 (+.f64 x y))) (*.f64 (log.f64 (cbrt.f64 t)) a))
1.0ms
(cbrt.f64 t)

simplify111.0ms (0.5%)

Algorithm
egg-herbie
Rules
834×fma-def_binary64
603×fma-neg_binary64
509×associate-*l*_binary64
204×distribute-rgt-in_binary64
182×distribute-lft-in_binary64
Counts
136 → 125
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01782411
14762206
215101802
344181794
449961794
549491794

prune358.0ms (1.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2064210
Fresh235
Picked101
Done011
Total2098217
Error
0b
Counts
217 → 8
Alt Table
StatusErrorProgram
0.3b
(-.f64 (+.f64 (fma.f64 a (*.f64 2 (log.f64 (cbrt.f64 t))) (log.f64 (+.f64 x y))) (*.f64 (*.f64 (log.f64 (cbrt.f64 t)) (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (cbrt.f64 a))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
0.3b
(-.f64 (fma.f64 (*.f64 a (log.f64 (*.f64 (cbrt.f64 (neg.f64 t)) (cbrt.f64 -1)))) 3 (log.f64 (+.f64 y x))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
0.3b
(-.f64 (+.f64 (fma.f64 a (*.f64 2 (log.f64 (cbrt.f64 t))) (log.f64 (+.f64 x y))) (*.f64 (*.f64 (cbrt.f64 (log.f64 (cbrt.f64 t))) (cbrt.f64 (log.f64 (cbrt.f64 t)))) (*.f64 (cbrt.f64 (log.f64 (cbrt.f64 t))) a))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 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 (+.f64 (log.f64 (+.f64 y x)) (*.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) (*.f64 (cbrt.f64 a) (log.f64 t)))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
0.4b
(-.f64 (+.f64 (fma.f64 a (*.f64 2 (log.f64 (cbrt.f64 t))) (log.f64 (+.f64 x y))) (*.f64 (*.f64 (cbrt.f64 (*.f64 (log.f64 (cbrt.f64 t)) a)) (cbrt.f64 (*.f64 (log.f64 (cbrt.f64 t)) a))) (cbrt.f64 (*.f64 (log.f64 (cbrt.f64 t)) a)))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
23.8b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 a (log.f64 t))) (/.f64 (+.f64 (pow.f64 (neg.f64 (log.f64 z)) 3) (pow.f64 (fma.f64 1/2 (log.f64 t) t) 3)) (fma.f64 (fma.f64 1/2 (log.f64 t) t) (+.f64 (fma.f64 1/2 (log.f64 t) t) (log.f64 z)) (*.f64 (log.f64 z) (log.f64 z)))))
53.9b
(log.f64 (/.f64 (*.f64 (+.f64 x y) (pow.f64 t a)) (/.f64 (*.f64 (exp.f64 t) (pow.f64 t 1/2)) z)))
Compiler

Compiled 7777 to 3790 computations (51.3% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series5.4s (26.6%)

Counts
3 → 84
Calls

3 calls:

3.2s
(*.f64 a (log.f64 (*.f64 (cbrt.f64 (neg.f64 t)) (cbrt.f64 -1))))
2.1s
(fma.f64 (*.f64 a (log.f64 (*.f64 (cbrt.f64 (neg.f64 t)) (cbrt.f64 -1)))) 3 (log.f64 (+.f64 y x)))
37.0ms
(cbrt.f64 (neg.f64 t))

rewrite10.0ms (0.1%)

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

3 calls:

7.0ms
(*.f64 a (log.f64 (*.f64 (cbrt.f64 (neg.f64 t)) (cbrt.f64 -1))))
1.0ms
(cbrt.f64 (neg.f64 t))
0.0ms
(fma.f64 (*.f64 a (log.f64 (*.f64 (cbrt.f64 (neg.f64 t)) (cbrt.f64 -1)))) 3 (log.f64 (+.f64 y x)))

simplify101.0ms (0.5%)

Algorithm
egg-herbie
Rules
503×fma-def_binary64
452×associate-+l+_binary64
380×associate--l+_binary64
274×associate-*l*_binary64
254×associate-*r*_binary64
Counts
139 → 127
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01832997
14222786
212922726
349482726
450552726

prune300.0ms (1.5%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1931194
Fresh156
Picked011
Done011
Total1948202
Error
0b
Counts
202 → 8
Alt Table
StatusErrorProgram
0.3b
(-.f64 (+.f64 (fma.f64 a (*.f64 2 (log.f64 (cbrt.f64 t))) (log.f64 (+.f64 x y))) (*.f64 (*.f64 (log.f64 (cbrt.f64 t)) (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (cbrt.f64 a))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
0.3b
(-.f64 (fma.f64 (*.f64 a (log.f64 (*.f64 (cbrt.f64 (neg.f64 t)) (cbrt.f64 -1)))) 3 (log.f64 (+.f64 y x))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
0.3b
(-.f64 (+.f64 (fma.f64 a (*.f64 2 (log.f64 (cbrt.f64 t))) (log.f64 (+.f64 x y))) (*.f64 (*.f64 (cbrt.f64 (log.f64 (cbrt.f64 t))) (cbrt.f64 (log.f64 (cbrt.f64 t)))) (*.f64 (cbrt.f64 (log.f64 (cbrt.f64 t))) a))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 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 (+.f64 (log.f64 (+.f64 y x)) (*.f64 (*.f64 (cbrt.f64 a) (cbrt.f64 a)) (*.f64 (cbrt.f64 a) (log.f64 t)))) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
0.3b
(-.f64 (+.f64 (*.f64 3 (*.f64 a (log.f64 (*.f64 (pow.f64 (cbrt.f64 -1) 2) (pow.f64 t 1/3))))) (log.f64 y)) (+.f64 (log.f64 (/.f64 1 z)) (+.f64 t (*.f64 1/2 (log.f64 t)))))
23.8b
(-.f64 (+.f64 (log.f64 (+.f64 y x)) (*.f64 a (log.f64 t))) (/.f64 (+.f64 (pow.f64 (neg.f64 (log.f64 z)) 3) (pow.f64 (fma.f64 1/2 (log.f64 t) t) 3)) (fma.f64 (fma.f64 1/2 (log.f64 t) t) (+.f64 (fma.f64 1/2 (log.f64 t) t) (log.f64 z)) (*.f64 (log.f64 z) (log.f64 z)))))
53.9b
(log.f64 (/.f64 (*.f64 (+.f64 x y) (pow.f64 t a)) (/.f64 (*.f64 (exp.f64 t) (pow.f64 t 1/2)) z)))
Compiler

Compiled 6848 to 4123 computations (39.8% saved)

regimes4.6s (22.7%)

Accuracy

Total 0.2b remaining (90.5%)

Threshold costs 0.2b (90.5%)

Counts
296 → 1
Compiler

Compiled 110734 to 76456 computations (31% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01933
12933
23733
35633
46933
57733
68033
77833

end173.0ms (0.9%)

Remove

(sort x y)

Compiler

Compiled 378 to 254 computations (32.8% saved)

Profiling

Loading profile data...