Details

Time bar (total: 15.1s)

analyze411.0ms (2.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%87.4%12.6%5
0%74.9%25.1%6
6.2%68.6%25.1%7
12.5%56.2%31.4%8
14%48.4%37.6%9
21.1%41.3%37.6%10
26.9%32.4%40.7%11
28.7%27.5%43.8%12
33.4%22.7%43.8%13
37.2%17.4%45.4%14
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.3s (8.5%)

Results
972.0ms8256×body128valid
76.0ms761×body128invalid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify203.0ms (1.3%)

Algorithm
egg-herbie
Rules
2528×fma-neg_binary64
1701×fma-def_binary64
364×distribute-rgt-in_binary64
336×unsub-neg_binary64
328×associate--r-_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
11512
22312
33912
48512
518412
632212
751812
868112
9109712
10178312
11181212
12188212
13191612
14193012
15331212
16422012
17391912
18405312
19411812
20415412
21416412
22422412
23418212
24418212
25599412

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
13.9b
Counts
2 → 1
Alt Table
StatusErrorProgram
13.9b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
Compiler

Compiled 33 to 21 computations (36.4% saved)

localize6.0ms (0%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
0.3b
(*.f64 x (log.f64 (/.f64 x y)))
13.5b
(log.f64 (/.f64 x y))

series877.0ms (5.8%)

Counts
3 → 84
Calls

3 calls:

340.0ms
(*.f64 x (log.f64 (/.f64 x y)))
313.0ms
(log.f64 (/.f64 x y))
225.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)

rewrite64.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
916×expm1-log1p-u_binary64
642×prod-diff_binary64
143×egg-rr
90×add-sqr-sqrt_binary64
85×log1p-expm1-u_binary64
Counts
3 → 143
Calls

3 calls:

61.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
61.0ms
(*.f64 x (log.f64 (/.f64 x y)))
61.0ms
(log.f64 (/.f64 x y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0827
117327
2230327
3517527
000
100

simplify346.0ms (2.3%)

Algorithm
egg-herbie
Rules
2467×fma-neg_binary64
510×distribute-rgt-in_binary64
508×sub-neg_binary64
506×unsub-neg_binary64
472×associate--r-_binary64
Counts
227 → 162
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056756
1120756
2249756
3563756
41375756
51807756
61950756
71863756
81927756
91881756
101889756
111975756
121941756
131939756
141939756
154495756
164326756
174450756
184590756
194635756
204639756
214721756
224681756
234693756
244733756
254807756
265096756

prune105.0ms (0.7%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1548162
Fresh000
Picked011
Done000
Total1549163
Error
0.0b
Counts
163 → 9
Alt Table
StatusErrorProgram
29.0b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
13.9b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
14.3b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (neg.f64 z))
13.9b
(-.f64 (*.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))) z)
35.4b
(-.f64 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (log.f64 (neg.f64 x)) x)) z)
29.0b
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
35.4b
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
37.1b
(-.f64 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (log.f64 (/.f64 x y)))) 1)) z)
29.3b
(-.f64 (*.f64 x (+.f64 (fma.f64 1 (log.f64 x) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))))))) z)
Compiler

Compiled 3143 to 898 computations (71.4% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))))
0.5b
(pow.f64 (cbrt.f64 (/.f64 x y)) 2)
1.7b
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))
13.9b
(cbrt.f64 (/.f64 x y))

series5.2s (34.1%)

Counts
4 → 96
Calls

4 calls:

2.9s
(*.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))))
1.6s
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))
347.0ms
(pow.f64 (cbrt.f64 (/.f64 x y)) 2)
324.0ms
(cbrt.f64 (/.f64 x y))

rewrite64.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
959×prod-diff_binary64
194×log1p-udef_binary64
114×add-sqr-sqrt_binary64
109×add-log-exp_binary64
109×log1p-expm1-u_binary64
Counts
4 → 108
Calls

4 calls:

62.0ms
(*.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))))
62.0ms
(pow.f64 (cbrt.f64 (/.f64 x y)) 2)
62.0ms
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))
62.0ms
(cbrt.f64 (/.f64 x y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01135
123335
2285335
3496735
000
100

simplify83.0ms (0.5%)

Algorithm
egg-herbie
Rules
663×fma-def_binary64
592×associate-*l*_binary64
340×unswap-sqr_binary64
340×fma-neg_binary64
293×distribute-rgt-in_binary64
Counts
204 → 138
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0672408
11582200
23261784
312331224
449941224
551311224

prune148.0ms (1%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1781179
Fresh077
Picked011
Done011
Total17810188
Error
0.0b
Counts
188 → 10
Alt Table
StatusErrorProgram
29.0b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
13.9b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
14.3b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (neg.f64 z))
13.9b
(-.f64 (*.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))) z)
35.4b
(-.f64 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (log.f64 (neg.f64 x)) x)) z)
29.0b
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
35.4b
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
37.1b
(-.f64 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (log.f64 (/.f64 x y)))) 1)) z)
14.0b
(-.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) x) (+.f64 (pow.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) 2) (-.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))))) z)
29.3b
(-.f64 (*.f64 x (+.f64 (fma.f64 1 (log.f64 x) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))))))) z)
Compiler

Compiled 4320 to 2045 computations (52.7% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(pow.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) 3)
0.7b
(pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)
1.7b
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))
13.9b
(cbrt.f64 (/.f64 x y))

series2.9s (19.5%)

Counts
2 → 48
Calls

2 calls:

1.7s
(pow.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) 3)
1.3s
(pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)

rewrite85.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
505×log-prod_binary64
266×pow2_binary64
185×expm1-udef_binary64
185×log1p-udef_binary64
183×pow1/3_binary64
Counts
2 → 49
Calls

2 calls:

84.0ms
(pow.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) 3)
84.0ms
(pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01225
124325
2252123
3498023
4507823
000
100

simplify64.0ms (0.4%)

Algorithm
egg-herbie
Rules
598×log-prod_binary64
500×fma-def_binary64
352×unswap-sqr_binary64
247×associate-+l+_binary64
213×distribute-rgt-neg-out_binary64
Counts
97 → 64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0651040
1175944
2370840
31479720
44611720
55526720

prune450.0ms (3%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New3370337
Fresh077
Picked011
Done022
Total33710347
Error
0.0b
Counts
347 → 10
Alt Table
StatusErrorProgram
29.0b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
13.9b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
14.3b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (neg.f64 z))
13.9b
(-.f64 (*.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))) z)
35.4b
(-.f64 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (log.f64 (neg.f64 x)) x)) z)
29.0b
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
35.4b
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
37.1b
(-.f64 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (log.f64 (/.f64 x y)))) 1)) z)
14.0b
(-.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) x) (+.f64 (pow.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) 2) (-.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))))) z)
29.3b
(-.f64 (*.f64 x (+.f64 (fma.f64 1 (log.f64 x) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))))))) z)
Compiler

Compiled 18574 to 9657 computations (48% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 x (log.f64 (/.f64 x y)))
0.5b
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)
0.6b
(cbrt.f64 (*.f64 x (log.f64 (/.f64 x y))))
13.5b
(log.f64 (/.f64 x y))

series1.6s (10.9%)

Counts
2 → 48
Calls

2 calls:

833.0ms
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)
808.0ms
(cbrt.f64 (*.f64 x (log.f64 (/.f64 x y))))

rewrite48.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
777×log1p-expm1-u_binary64
777×expm1-log1p-u_binary64
151×log1p-udef_binary64
87×add-sqr-sqrt_binary64
82×add-log-exp_binary64
Counts
2 → 48
Calls

2 calls:

47.0ms
(pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2)
47.0ms
(cbrt.f64 (*.f64 x (log.f64 (/.f64 x y))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
118225
2204325
3503725
000
100

simplify83.0ms (0.5%)

Algorithm
egg-herbie
Rules
728×associate-*l*_binary64
657×associate-*r*_binary64
421×distribute-rgt-in_binary64
398×distribute-lft-in_binary64
277×unswap-sqr_binary64
Counts
96 → 66
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0591152
11301152
22671072
3961872
44801864
54999864
64930864

prune156.0ms (1%)

Pruning

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New2190219
Fresh066
Picked011
Done033
Total21910229
Error
0.0b
Counts
229 → 10
Alt Table
StatusErrorProgram
29.0b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
13.9b
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
14.3b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) 2) (cbrt.f64 (*.f64 x (log.f64 (/.f64 x y)))) (neg.f64 z))
13.9b
(-.f64 (*.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))) z)
35.4b
(-.f64 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (log.f64 (neg.f64 x)) x)) z)
29.0b
(-.f64 (*.f64 x (-.f64 (log.f64 x) (log.f64 y))) z)
35.4b
(-.f64 (*.f64 x (-.f64 (log.f64 (neg.f64 x)) (log.f64 (neg.f64 y)))) z)
37.1b
(-.f64 (*.f64 x (-.f64 (exp.f64 (log1p.f64 (log.f64 (/.f64 x y)))) 1)) z)
14.0b
(-.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) x) (+.f64 (pow.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) 2) (-.f64 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2))))) z)
29.3b
(-.f64 (*.f64 x (+.f64 (fma.f64 1 (log.f64 x) (neg.f64 (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y)))))) (fma.f64 (neg.f64 (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))) (*.f64 (cbrt.f64 (log.f64 y)) (*.f64 (cbrt.f64 (log.f64 y)) (cbrt.f64 (log.f64 y))))))) z)
Compiler

Compiled 5766 to 1751 computations (69.6% saved)

regimes626.0ms (4.1%)

Accuracy

Total 0.3b remaining (88.7%)

Threshold costs 0.3b (88.7%)

Counts
53 → 2
Compiler

Compiled 6077 to 3576 computations (41.2% saved)

bsearch45.0ms (0.3%)

Steps
ItersRangePoint
10
-1.936072670683473e-304
1.2060448922357308e-300
-4.3772205150223e-310
Compiler

Compiled 4 to 3 computations (25% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02141
13741
25341
37041
47741
58041
68141
78141

end177.0ms (1.2%)

Compiler

Compiled 282 to 164 computations (41.8% saved)

Profiling

Loading profile data...