Details

Time bar (total: 18.6s)

analyze515.0ms (2.8%)

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.3s (12.3%)

Symmetry

(sort x y)

Results
1.4s8256×body128valid
792.0ms4559×body128invalid
Compiler

Compiled 65 to 47 computations (27.7% saved)

simplify215.0ms (1.2%)

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.3b
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)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series1.2s (6.7%)

Counts
3 → 116
Calls

3 calls:

933.0ms
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t)))
243.0ms
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))
61.0ms
(*.f64 (-.f64 a 1/2) (log.f64 t))

rewrite126.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
342×log1p-udef_binary64
188×add-sqr-sqrt_binary64
184×log1p-expm1-u_binary64
184×expm1-log1p-u_binary64
177×add-log-exp_binary64
Counts
3 → 95
Calls

3 calls:

122.0ms
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t)))
122.0ms
(*.f64 (-.f64 a 1/2) (log.f64 t))
122.0ms
(+.f64 (log.f64 (+.f64 x y)) (log.f64 z))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01641
136439
2485139
3537239
000
100

simplify196.0ms (1.1%)

Algorithm
egg-herbie
Rules
702×fma-def_binary64
656×sub-neg_binary64
497×fma-neg_binary64
380×times-frac_binary64
315×associate--l+_binary64
Counts
211 → 191
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02152931
17242674
226302590
346042590
454262590

prune396.0ms (2.1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New18110191
Fresh101
Picked101
Done000
Total18310193
Error
0.0b
Counts
193 → 10
Alt Table
StatusErrorProgram
32.3b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (pow.f64 (sqrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) 2))
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)))))
15.2b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (/.f64 (*.f64 (fma.f64 a a -1/4) (log.f64 t)) (+.f64 a 1/2)))
0.3b
(+.f64 (/.f64 x y) (+.f64 (-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (+.f64 -1/2 a))) t) (log.f64 y)))
16.5b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) 2) (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) (-.f64 (log.f64 (*.f64 (+.f64 x y) z)) t))
39.3b
(/.f64 1 (/.f64 (-.f64 (-.f64 (log.f64 (*.f64 (+.f64 x y) z)) t) (*.f64 (-.f64 a 1/2) (log.f64 t))) (-.f64 (pow.f64 (-.f64 (log.f64 (*.f64 (+.f64 x y) z)) t) 2) (pow.f64 (*.f64 (-.f64 a 1/2) (log.f64 t)) 2))))
0.3b
(+.f64 (-.f64 (*.f64 (+.f64 (pow.f64 (log.f64 (+.f64 x y)) 3) (pow.f64 (log.f64 z) 3)) (/.f64 1 (+.f64 (pow.f64 (log.f64 (+.f64 x y)) 2) (*.f64 (log.f64 z) (-.f64 (log.f64 z) (log.f64 (+.f64 x y))))))) t) (*.f64 (-.f64 a 1/2) (log.f64 t)))
0.7b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (pow.f64 (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) 3))
16.2b
(fma.f64 (log.f64 t) (-.f64 a 1/2) (-.f64 (log.f64 (*.f64 (+.f64 x y) z)) t))
55.2b
(log.f64 (*.f64 (pow.f64 t (-.f64 a 1/2)) (/.f64 (*.f64 (+.f64 x y) z) (exp.f64 t))))
Compiler

Compiled 5377 to 2452 computations (54.4% saved)

localize31.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series3.8s (20.2%)

Counts
4 → 144
Calls

4 calls:

2.0s
(+.f64 (-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (+.f64 -1/2 a))) t) (log.f64 y))
1.2s
(+.f64 (log.f64 z) (*.f64 (log.f64 t) (+.f64 -1/2 a)))
510.0ms
(-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (+.f64 -1/2 a))) t)
115.0ms
(*.f64 (log.f64 t) (+.f64 -1/2 a))

rewrite90.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
297×expm1-udef_binary64
297×log1p-udef_binary64
165×add-sqr-sqrt_binary64
160×log1p-expm1-u_binary64
160×expm1-log1p-u_binary64
Counts
4 → 150
Calls

4 calls:

86.0ms
(-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (+.f64 -1/2 a))) t)
86.0ms
(+.f64 (-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (+.f64 -1/2 a))) t) (log.f64 y))
86.0ms
(*.f64 (log.f64 t) (+.f64 -1/2 a))
86.0ms
(+.f64 (log.f64 z) (*.f64 (log.f64 t) (+.f64 -1/2 a)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01462
131756
2439756
3524656
000
100

simplify122.0ms (0.7%)

Algorithm
egg-herbie
Rules
763×sub-neg_binary64
673×fma-neg_binary64
450×neg-sub0_binary64
425×distribute-neg-in_binary64
412×neg-mul-1_binary64
Counts
294 → 189
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0932599
12942308
29042064
324782064
436642064
543712064
649622064

prune231.0ms (1.2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1881189
Fresh369
Picked011
Done000
Total1918199
Error
0.0b
Counts
199 → 8
Alt Table
StatusErrorProgram
15.2b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (/.f64 (*.f64 (fma.f64 a a -1/4) (log.f64 t)) (+.f64 a 1/2)))
0.3b
(+.f64 (/.f64 x y) (+.f64 (-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (+.f64 -1/2 a))) t) (log.f64 y)))
32.3b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (pow.f64 (sqrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) 2))
0.7b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (pow.f64 (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) 3))
28.8b
(+.f64 (/.f64 x y) (*.f64 (-.f64 (pow.f64 (-.f64 (fma.f64 (log.f64 t) (+.f64 -1/2 a) (log.f64 z)) t) 2) (pow.f64 (log.f64 y) 2)) (/.f64 1 (-.f64 (-.f64 (fma.f64 (log.f64 t) (+.f64 -1/2 a) (log.f64 z)) t) (log.f64 y)))))
16.5b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) 2) (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) (-.f64 (log.f64 (*.f64 (+.f64 x y) z)) t))
16.2b
(fma.f64 (log.f64 t) (-.f64 a 1/2) (-.f64 (log.f64 (*.f64 (+.f64 x y) z)) t))
55.2b
(log.f64 (*.f64 (pow.f64 t (-.f64 a 1/2)) (/.f64 (*.f64 (+.f64 x y) z) (exp.f64 t))))
Compiler

Compiled 5270 to 2494 computations (52.7% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series1.3s (7.2%)

Counts
2 → 48
Calls

2 calls:

834.0ms
(pow.f64 (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) 3)
498.0ms
(cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t)))

rewrite51.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
855×log1p-expm1-u_binary64
855×expm1-log1p-u_binary64
93×add-sqr-sqrt_binary64
89×add-log-exp_binary64
88×add-cbrt-cube_binary64
Counts
2 → 65
Calls

2 calls:

50.0ms
(cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t)))
50.0ms
(pow.f64 (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
119620
2220020
3513020
000
100

simplify60.0ms (0.3%)

Algorithm
egg-herbie
Rules
648×fma-neg_binary64
296×associate-*r*_binary64
272×unswap-sqr_binary64
261×fma-def_binary64
256×associate-*l*_binary64
Counts
113 → 107
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01021318
13011251
29251092
33575838
44963838

prune268.0ms (1.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2004204
Fresh156
Picked101
Done011
Total20210212
Error
0.0b
Counts
212 → 10
Alt Table
StatusErrorProgram
0.7b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (pow.f64 (cbrt.f64 (log.f64 t)) 2) (*.f64 (cbrt.f64 (log.f64 t)) (-.f64 a 1/2))))
13.3b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (neg.f64 (/.f64 (log.f64 t) (/.f64 -1 a))))
15.2b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (/.f64 (*.f64 (fma.f64 a a -1/4) (log.f64 t)) (+.f64 a 1/2)))
0.3b
(+.f64 (/.f64 x y) (+.f64 (-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (+.f64 -1/2 a))) t) (log.f64 y)))
29.8b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (sqrt.f64 (log.f64 t)) (*.f64 (sqrt.f64 (log.f64 t)) (-.f64 a 1/2))))
0.5b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (+.f64 (*.f64 a -2) 1) (*.f64 (cbrt.f64 -1/8) (log.f64 t))))
28.8b
(+.f64 (/.f64 x y) (*.f64 (-.f64 (pow.f64 (-.f64 (fma.f64 (log.f64 t) (+.f64 -1/2 a) (log.f64 z)) t) 2) (pow.f64 (log.f64 y) 2)) (/.f64 1 (-.f64 (-.f64 (fma.f64 (log.f64 t) (+.f64 -1/2 a) (log.f64 z)) t) (log.f64 y)))))
16.5b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) 2) (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) (-.f64 (log.f64 (*.f64 (+.f64 x y) z)) t))
16.2b
(fma.f64 (log.f64 t) (-.f64 a 1/2) (-.f64 (log.f64 (*.f64 (+.f64 x y) z)) t))
55.2b
(log.f64 (*.f64 (pow.f64 t (-.f64 a 1/2)) (/.f64 (*.f64 (+.f64 x y) z) (exp.f64 t))))
Compiler

Compiled 5964 to 3003 computations (49.6% saved)

localize37.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series2.1s (11.5%)

Counts
3 → 84
Calls

3 calls:

1.9s
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (+.f64 (*.f64 a -2) 1) (*.f64 (cbrt.f64 -1/8) (log.f64 t))))
207.0ms
(*.f64 (+.f64 (*.f64 a -2) 1) (*.f64 (cbrt.f64 -1/8) (log.f64 t)))
0.0ms
(cbrt.f64 -1/8)

rewrite113.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
362×prod-diff_binary64
228×add-sqr-sqrt_binary64
221×log1p-expm1-u_binary64
221×expm1-log1p-u_binary64
214×add-log-exp_binary64
Counts
3 → 64
Calls

3 calls:

110.0ms
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (+.f64 (*.f64 a -2) 1) (*.f64 (cbrt.f64 -1/8) (log.f64 t))))
110.0ms
(*.f64 (+.f64 (*.f64 a -2) 1) (*.f64 (cbrt.f64 -1/8) (log.f64 t)))
110.0ms
(cbrt.f64 -1/8)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02147
145645
2488745
3528945
000
100

simplify177.0ms (1%)

Algorithm
egg-herbie
Rules
534×sub-neg_binary64
453×unsub-neg_binary64
221×associate--r-_binary64
214×associate--l+_binary64
209×associate--r+_binary64
Counts
148 → 137
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02003153
16012814
223222761
347722761
451452761

prune470.0ms (2.5%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2080208
Fresh088
Picked011
Done011
Total20810218
Error
0.0b
Counts
218 → 10
Alt Table
StatusErrorProgram
0.7b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (pow.f64 (cbrt.f64 (log.f64 t)) 2) (*.f64 (cbrt.f64 (log.f64 t)) (-.f64 a 1/2))))
13.3b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (neg.f64 (/.f64 (log.f64 t) (/.f64 -1 a))))
15.2b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (/.f64 (*.f64 (fma.f64 a a -1/4) (log.f64 t)) (+.f64 a 1/2)))
0.3b
(+.f64 (/.f64 x y) (+.f64 (-.f64 (+.f64 (log.f64 z) (*.f64 (log.f64 t) (+.f64 -1/2 a))) t) (log.f64 y)))
29.8b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (sqrt.f64 (log.f64 t)) (*.f64 (sqrt.f64 (log.f64 t)) (-.f64 a 1/2))))
0.5b
(+.f64 (-.f64 (+.f64 (log.f64 (+.f64 x y)) (log.f64 z)) t) (*.f64 (+.f64 (*.f64 a -2) 1) (*.f64 (cbrt.f64 -1/8) (log.f64 t))))
28.8b
(+.f64 (/.f64 x y) (*.f64 (-.f64 (pow.f64 (-.f64 (fma.f64 (log.f64 t) (+.f64 -1/2 a) (log.f64 z)) t) 2) (pow.f64 (log.f64 y) 2)) (/.f64 1 (-.f64 (-.f64 (fma.f64 (log.f64 t) (+.f64 -1/2 a) (log.f64 z)) t) (log.f64 y)))))
16.5b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) 2) (cbrt.f64 (*.f64 (-.f64 a 1/2) (log.f64 t))) (-.f64 (log.f64 (*.f64 (+.f64 x y) z)) t))
16.2b
(fma.f64 (log.f64 t) (-.f64 a 1/2) (-.f64 (log.f64 (*.f64 (+.f64 x y) z)) t))
55.2b
(log.f64 (*.f64 (pow.f64 t (-.f64 a 1/2)) (/.f64 (*.f64 (+.f64 x y) z) (exp.f64 t))))
Compiler

Compiled 6311 to 3451 computations (45.3% saved)

regimes4.4s (23.6%)

Accuracy

Total 0.3b remaining (90.3%)

Threshold costs 0.3b (90.3%)

Counts
210 → 1
Compiler

Compiled 70412 to 50104 computations (28.8% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01728
12428
22928
33128
43228
53228

end303.0ms (1.6%)

Compiler

Compiled 354 to 245 computations (30.8% saved)

Profiling

Loading profile data...