Details

Time bar (total: 12.5s)

analyze1.2s (9.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%74.8%25.2%5
0%74.8%25.2%6
0%74.8%25.2%7
0%74.8%25.2%8
0%74.8%25.2%9
0%62.3%37.7%10
0%56.1%43.9%11
0%56.1%43.9%12
1.6%54.5%43.9%13
2.3%53.7%43.9%14
Compiler

Compiled 23 to 16 computations (30.4% saved)

sample2.7s (21.3%)

Symmetry

(sort x y)

Results
1.4s8253×body128valid
1.1s2369×body128invalid
1.0msbody1024valid
0.0msbody256valid
Compiler

Compiled 68 to 47 computations (30.9% saved)

simplify284.0ms (2.3%)

Algorithm
egg-herbie
Rules
5327×fma-def_binary64
866×fma-neg_binary64
705×sub-neg_binary64
654×unsub-neg_binary64
445×+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01624
13522
210122
326921
480520
5207920
6278720
7384820
8416420
9430620
10409020
11409420
12419020
13448820
14458120
15458720
16458720
17459320
18459920
19459920
20461720
21460120
22460120
23936420

prune6.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 120 to 79 computations (34.2% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series254.0ms (2%)

Counts
2 → 80
Calls

2 calls:

225.0ms
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
29.0ms
(-.f64 1 (log.f64 t))

rewrite71.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
759×prod-diff_binary64
163×add-sqr-sqrt_binary64
154×log1p-expm1-u_binary64
154×expm1-log1p-u_binary64
151×add-log-exp_binary64
Counts
2 → 54
Calls

2 calls:

69.0ms
(-.f64 1 (log.f64 t))
69.0ms
(fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01526
131926
2391826
3536026
000
100

simplify214.0ms (1.7%)

Algorithm
egg-herbie
Rules
774×fma-def_binary64
691×associate--l+_binary64
521×neg-mul-1_binary64
509×+-commutative_binary64
433×associate-+l-_binary64
Counts
134 → 80
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0581491
11771490
24891373
315071309
436451309
541511309
648041309
750371309

prune183.0ms (1.5%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New75580
Fresh101
Picked101
Done000
Total77582
Error
0.0b
Counts
82 → 5
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
0.1b
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) (+.f64 1 (fma.f64 (log.f64 t) (log.f64 t) (log.f64 t)))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
0.3b
(fma.f64 z (*.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) (pow.f64 (cbrt.f64 (-.f64 1 (log.f64 t))) 2)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
27.2b
(pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))) 2)
1.3b
(*.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))) 2))
Compiler

Compiled 1708 to 907 computations (46.9% saved)

localize33.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

series1.3s (10.2%)

Counts
3 → 88
Calls

3 calls:

1.0s
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
144.0ms
(/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t)))
89.0ms
(pow.f64 (log.f64 t) 2)

rewrite108.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
431×prod-diff_binary64
207×add-sqr-sqrt_binary64
200×log1p-expm1-u_binary64
200×expm1-log1p-u_binary64
195×add-log-exp_binary64
Counts
3 → 103
Calls

3 calls:

104.0ms
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
104.0ms
(/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t)))
104.0ms
(pow.f64 (log.f64 t) 2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01954
141732
2478132
3570132
000
100

simplify117.0ms (0.9%)

Algorithm
egg-herbie
Rules
573×fma-neg_binary64
553×cancel-sign-sub-inv_binary64
543×times-frac_binary64
362×sub-neg_binary64
294×div-sub_binary64
Counts
191 → 135
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0933424
12803255
27353082
324572630
447932626
548592626

prune313.0ms (2.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1341135
Fresh134
Picked011
Done000
Total1355140
Error
0.0b
Counts
140 → 5
Alt Table
StatusErrorProgram
0.1b
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
0.1b
(-.f64 (+.f64 (/.f64 z (+.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x))) (+.f64 (/.f64 (*.f64 z (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t))) (*.f64 1/2 b)))
0.1b
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) (+.f64 1 (fma.f64 (log.f64 t) (log.f64 t) (log.f64 t)))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
27.2b
(pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))) 2)
1.3b
(*.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))) (pow.f64 (cbrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))) 2))
Compiler

Compiled 5455 to 3316 computations (39.2% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) (+.f64 1 (fma.f64 (log.f64 t) (log.f64 t) (log.f64 t)))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
0.3b
(/.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) (+.f64 1 (fma.f64 (log.f64 t) (log.f64 t) (log.f64 t))))
0.6b
(fma.f64 (log.f64 t) (log.f64 t) (log.f64 t))
0.7b
(pow.f64 (log.f64 t) 3)

series1.9s (15.2%)

Counts
4 → 104
Calls

4 calls:

1.6s
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) (+.f64 1 (fma.f64 (log.f64 t) (log.f64 t) (log.f64 t)))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
210.0ms
(/.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) (+.f64 1 (fma.f64 (log.f64 t) (log.f64 t) (log.f64 t))))
73.0ms
(fma.f64 (log.f64 t) (log.f64 t) (log.f64 t))
28.0ms
(pow.f64 (log.f64 t) 3)

rewrite134.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
238×prod-diff_binary64
220×add-sqr-sqrt_binary64
210×log1p-expm1-u_binary64
210×expm1-log1p-u_binary64
205×add-log-exp_binary64
Counts
4 → 125
Calls

4 calls:

127.0ms
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) (+.f64 1 (fma.f64 (log.f64 t) (log.f64 t) (log.f64 t)))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
127.0ms
(/.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) (+.f64 1 (fma.f64 (log.f64 t) (log.f64 t) (log.f64 t))))
127.0ms
(fma.f64 (log.f64 t) (log.f64 t) (log.f64 t))
127.0ms
(pow.f64 (log.f64 t) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02081
143981
2482481
3525581
000
100

simplify152.0ms (1.2%)

Algorithm
egg-herbie
Rules
750×fma-neg_binary64
494×associate-+l+_binary64
411×associate--l+_binary64
280×fma-def_binary64
237×associate-*r*_binary64
Counts
229 → 163
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01205818
13715609
212135180
346425132
453075132

prune284.0ms (2.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1621163
Fresh123
Picked011
Done101
Total1644168
Error
0b
Counts
168 → 4
Alt Table
StatusErrorProgram
0.4b
(-.f64 (+.f64 (/.f64 z (+.f64 1 (+.f64 (pow.f64 (log.f64 t) 2) (log.f64 t)))) (+.f64 (*.f64 a b) (+.f64 y x))) (+.f64 (/.f64 (*.f64 z (pow.f64 (log.f64 t) 3)) (+.f64 1 (+.f64 (pow.f64 (log.f64 t) 2) (log.f64 t)))) (*.f64 1/2 b)))
0.1b
(-.f64 (+.f64 (/.f64 z (+.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x))) (+.f64 (/.f64 (*.f64 z (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t))) (*.f64 1/2 b)))
0.1b
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) (+.f64 1 (fma.f64 (log.f64 t) (log.f64 t) (log.f64 t)))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
27.2b
(pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))) 2)
Compiler

Compiled 9256 to 4578 computations (50.5% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 z (pow.f64 (log.f64 t) 2))
0.3b
(/.f64 z (+.f64 1 (log.f64 t)))
0.4b
(/.f64 (*.f64 z (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t)))
0.5b
(pow.f64 (log.f64 t) 2)

series1.1s (8.6%)

Counts
3 → 24
Calls

3 calls:

589.0ms
(/.f64 (*.f64 z (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t)))
254.0ms
(/.f64 z (+.f64 1 (log.f64 t)))
227.0ms
(*.f64 z (pow.f64 (log.f64 t) 2))

rewrite75.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
570×log-prod_binary64
276×prod-diff_binary64
194×expm1-udef_binary64
194×log1p-udef_binary64
187×fma-def_binary64
Counts
3 → 104
Calls

3 calls:

72.0ms
(*.f64 z (pow.f64 (log.f64 t) 2))
72.0ms
(/.f64 z (+.f64 1 (log.f64 t)))
72.0ms
(/.f64 (*.f64 z (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01135
123235
2288035
3557035
000
100

simplify63.0ms (0.5%)

Algorithm
egg-herbie
Rules
878×div-sub_binary64
862×sub-neg_binary64
280×cancel-sign-sub-inv_binary64
278×times-frac_binary64
208×associate-*r*_binary64
Counts
128 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
023344
150312
2110280
3386280
42165280
54454280
65478280

prune173.0ms (1.4%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1280128
Fresh022
Picked011
Done011
Total1284132
Error
0b
Counts
132 → 4
Alt Table
StatusErrorProgram
0.4b
(-.f64 (+.f64 (/.f64 z (+.f64 1 (+.f64 (pow.f64 (log.f64 t) 2) (log.f64 t)))) (+.f64 (*.f64 a b) (+.f64 y x))) (+.f64 (/.f64 (*.f64 z (pow.f64 (log.f64 t) 3)) (+.f64 1 (+.f64 (pow.f64 (log.f64 t) 2) (log.f64 t)))) (*.f64 1/2 b)))
0.1b
(-.f64 (+.f64 (/.f64 z (+.f64 1 (log.f64 t))) (+.f64 (*.f64 a b) (+.f64 y x))) (+.f64 (/.f64 (*.f64 z (pow.f64 (log.f64 t) 2)) (+.f64 1 (log.f64 t))) (*.f64 1/2 b)))
0.1b
(fma.f64 z (/.f64 (-.f64 1 (pow.f64 (log.f64 t) 3)) (+.f64 1 (fma.f64 (log.f64 t) (log.f64 t) (log.f64 t)))) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))
27.2b
(pow.f64 (sqrt.f64 (fma.f64 z (-.f64 1 (log.f64 t)) (fma.f64 (-.f64 a 1/2) b (+.f64 x y)))) 2)
Compiler

Compiled 4678 to 2410 computations (48.5% saved)

regimes1.8s (14.2%)

Accuracy

Total 0.0b remaining (56.7%)

Threshold costs 0.0b (56.7%)

Counts
125 → 1
Compiler

Compiled 42865 to 29750 computations (30.6% 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
01520
12320
22820
33020
43120
52920

end109.0ms (0.9%)

Remove

(sort x y)

Compiler

Compiled 217 to 147 computations (32.3% saved)

Profiling

Loading profile data...