Details

Time bar (total: 6.5s)

analyze447.0ms (6.9%)

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.1s (17.5%)

Results
1.0s8256×body128valid
94.0ms828×body128invalid
Compiler

Compiled 24 to 16 computations (33.3% saved)

preprocess55.0ms (0.8%)

Algorithm
egg-herbie
Rules
455×div-sub_binary64
369×fma-neg_binary64
308×fma-def_binary64
266×cancel-sign-sub-inv_binary64
260×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02048
14248
26548
312348
435448
583648
6183948
7295948
8411848
9486448
033
Stop Event
saturated
node limit
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify51.0ms (0.8%)

Algorithm
egg-herbie
Rules
1663×fma-def_binary64
528×fma-neg_binary64
288×distribute-rgt-in_binary64
230×unsub-neg_binary64
193×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
11512
22312
33912
49812
523112
647412
789812
8125612
9213312
10363612
11401012
12413612
13417512
14418912
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
15.3b
Counts
3 → 1
Alt Table
StatusErrorProgram
15.3b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
Compiler

Compiled 41 to 23 computations (43.9% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
15.0b
(log.f64 (/.f64 x y))

series608.0ms (9.4%)

Counts
2 → 60
Calls

15 calls:

68.0ms
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
y
-inf
66.0ms
(log.f64 (/.f64 x y))
x
0
61.0ms
(log.f64 (/.f64 x y))
x
-inf
60.0ms
(log.f64 (/.f64 x y))
x
inf
57.0ms
(log.f64 (/.f64 x y))
y
-inf

rewrite72.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
710×log1p-expm1-u_binary64
710×expm1-log1p-u_binary64
191×egg-rr
165×prod-diff_binary64
137×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0818
116516
2215416
Stop Event
node limit
Counts
2 → 191

simplify98.0ms (1.5%)

Algorithm
egg-herbie
Rules
492×fma-neg_binary64
410×unsub-neg_binary64
305×sub-neg_binary64
289×distribute-rgt-in_binary64
230×distribute-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
052558
1125540
2268540
3669540
42021540
53640540
64344540
74799540
84924540
94973540
104981540
Stop Event
node limit
Counts
251 → 209

prune125.0ms (1.9%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2036209
Fresh000
Picked011
Done000
Total2037210
Error
0.0b
Counts
210 → 7
Alt Table
StatusErrorProgram
31.4b
(-.f64 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (log.f64 (neg.f64 x)) x)) z)
15.3b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
32.9b
(fma.f64 x (/.f64 (-.f64 (pow.f64 (log.f64 x) 3) (pow.f64 (log.f64 y) 3)) (+.f64 (*.f64 (log.f64 x) (log.f64 x)) (+.f64 (*.f64 (log.f64 y) (log.f64 y)) (*.f64 (log.f64 x) (log.f64 y))))) (neg.f64 z))
43.5b
(fma.f64 x (expm1.f64 (log1p.f64 (log.f64 (/.f64 x y)))) (neg.f64 z))
15.4b
(fma.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))) (neg.f64 z))
33.2b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
15.5b
(fma.f64 x (cbrt.f64 (pow.f64 (log.f64 (/.f64 x y)) 3)) (neg.f64 z))
Compiler

Compiled 4827 to 1425 computations (70.5% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(+.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)
3.7b
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))
15.3b
(cbrt.f64 (/.f64 x y))

series205.0ms (3.2%)

Counts
4 → 0
Calls

24 calls:

29.0ms
(pow.f64 (cbrt.f64 (/.f64 x y)) 2)
y
-inf
27.0ms
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))
y
-inf
24.0ms
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y))))
x
-inf
20.0ms
(log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2))
y
-inf
20.0ms
(pow.f64 (cbrt.f64 (/.f64 x y)) 2)
x
-inf

rewrite62.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
702×prod-diff_binary64
245×fma-def_binary64
172×expm1-udef_binary64
172×log1p-udef_binary64
152×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01032
121332
2270632
Stop Event
node limit
Counts
4 → 141

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
141 → 141

prune170.0ms (2.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1713174
Fresh325
Picked011
Done011
Total1747181
Error
0b
Counts
181 → 7
Alt Table
StatusErrorProgram
31.4b
(-.f64 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (log.f64 (neg.f64 x)) x)) z)
15.3b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
15.4b
(fma.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))) (neg.f64 z))
33.2b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
15.5b
(fma.f64 x (fma.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))))) (neg.f64 z))
15.6b
(fma.f64 x (fma.f64 (cbrt.f64 (*.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))))) (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))))) 2) (log.f64 (cbrt.f64 (/.f64 x y)))) (neg.f64 z))
15.5b
(fma.f64 x (/.f64 (fma.f64 8 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 3)) (-.f64 (fma.f64 4 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2) (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)) (*.f64 2 (pow.f64 (log.f64 (cbrt.f64 (/.f64 x y))) 2)))) (neg.f64 z))
Compiler

Compiled 4023 to 1435 computations (64.3% saved)

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 2 (log.f64 (cbrt.f64 (/.f64 x y)))))
0.5b
(pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)
0.5b
(cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))
15.3b
(cbrt.f64 (/.f64 x y))

series412.0ms (6.4%)

Counts
3 → 0
Calls

18 calls:

55.0ms
(fma.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 2 (log.f64 (cbrt.f64 (/.f64 x y)))))
y
-inf
55.0ms
(pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)
y
-inf
53.0ms
(fma.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 2 (log.f64 (cbrt.f64 (/.f64 x y)))))
x
-inf
32.0ms
(pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2)
x
-inf
26.0ms
(cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))
x
-inf

rewrite63.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
893×log1p-expm1-u_binary64
893×expm1-log1p-u_binary64
304×prod-diff_binary64
103×add-sqr-sqrt_binary64
97×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01159
122129
2259129
Stop Event
node limit
Counts
3 → 79

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
79 → 79

prune218.0ms (3.4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2001201
Fresh134
Picked101
Done022
Total2026208
Error
0b
Counts
208 → 6
Alt Table
StatusErrorProgram
31.4b
(-.f64 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (log.f64 (neg.f64 x)) x)) z)
15.3b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
15.4b
(fma.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))) (neg.f64 z))
33.2b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
15.6b
(fma.f64 x (fma.f64 (cbrt.f64 (*.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))))) (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))))) 2) (log.f64 (cbrt.f64 (/.f64 x y)))) (neg.f64 z))
15.5b
(fma.f64 x (fma.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 2 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 3)))) (neg.f64 z))
Compiler

Compiled 5894 to 1906 computations (67.7% saved)

localize18.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y))))
0.5b
(cbrt.f64 (cbrt.f64 (/.f64 x y)))
0.7b
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 3)
15.3b
(cbrt.f64 (/.f64 x y))

series1.2s (19.2%)

Counts
2 → 48
Calls

12 calls:

206.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 3)
x
-inf
189.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 3)
y
-inf
182.0ms
(cbrt.f64 (cbrt.f64 (/.f64 x y)))
x
-inf
178.0ms
(cbrt.f64 (cbrt.f64 (/.f64 x y)))
y
-inf
68.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 3)
x
inf

rewrite46.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
653×log1p-expm1-u_binary64
653×expm1-log1p-u_binary64
328×log-prod_binary64
123×expm1-udef_binary64
123×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
116314
2181914
Stop Event
node limit
Counts
2 → 62

simplify53.0ms (0.8%)

Algorithm
egg-herbie
Rules
832×fma-def_binary64
362×associate-*l*_binary64
308×associate-*r*_binary64
196×unsub-neg_binary64
185×exp-sum_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
044872
1119872
2268872
3845784
43343768
Stop Event
node limit
Counts
110 → 76

prune221.0ms (3.4%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2210221
Fresh033
Picked011
Done022
Total2216227
Error
0b
Counts
227 → 6
Alt Table
StatusErrorProgram
31.4b
(-.f64 (+.f64 (*.f64 (log.f64 (/.f64 -1 y)) x) (*.f64 (log.f64 (neg.f64 x)) x)) z)
15.3b
(fma.f64 x (log.f64 (/.f64 x y)) (neg.f64 z))
15.4b
(fma.f64 x (+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 x y)) 2)) (log.f64 (cbrt.f64 (/.f64 x y)))) (neg.f64 z))
33.2b
(-.f64 (*.f64 (log.f64 x) x) (+.f64 (*.f64 (log.f64 y) x) z))
15.6b
(fma.f64 x (fma.f64 (cbrt.f64 (*.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))))) (pow.f64 (cbrt.f64 (*.f64 2 (log.f64 (cbrt.f64 (/.f64 x y))))) 2) (log.f64 (cbrt.f64 (/.f64 x y)))) (neg.f64 z))
15.5b
(fma.f64 x (fma.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (/.f64 x y)))) 2) (*.f64 2 (log.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 x y))) 3)))) (neg.f64 z))
Compiler

Compiled 7516 to 2904 computations (61.4% saved)

regimes958.0ms (14.8%)

Accuracy

Total 0.3b remaining (78.3%)

Threshold costs 0.3b (78.3%)

Counts
102 → 2
Compiler

Compiled 12293 to 7128 computations (42% saved)

bsearch44.0ms (0.7%)

Algorithm
binary-search
Calls

1 calls:

40.0ms
x
Steps
ItersPointRange
-3.99757940389e-311
∈ [
-1.2671179016545378e-306
,
2.8343510777288117e-297
]
Compiler

Compiled 4 to 3 computations (25% saved)

simplify5.0ms (0.1%)

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
02038
13438
24538
35138
45238
Stop Event
saturated

end100.0ms (1.6%)

Stop Event
fuel
Compiler

Compiled 179 to 109 computations (39.1% saved)

Profiling

Loading profile data...