Details

Time bar (total: 5.2s)

analyze718.0ms (13.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%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
6.2%93.6%0.2%8
25%74.9%0.2%9
28.1%71.7%0.2%10
29.6%70.2%0.2%11
53%46.8%0.2%12
71.3%28.5%0.2%13
71.7%28.1%0.2%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.1s (21.5%)

Results
1.0s8256×body128valid
59.0ms488×body128invalid
Compiler

Compiled 40 to 24 computations (40% saved)

preprocess66.0ms (1.3%)

Algorithm
egg-herbie
Rules
905×fma-def_binary64
532×associate-/l*_binary64
381×fma-neg_binary64
305×div-sub_binary64
300×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039140
1122140
2243140
3398140
4872140
51687140
63097140
044
Stop Event
saturated
node limit
Compiler

Compiled 19 to 11 computations (42.1% saved)

simplify42.0ms (0.8%)

Algorithm
egg-herbie
Rules
832×fma-def_binary64
768×times-frac_binary64
756×fma-neg_binary64
281×associate-/l*_binary64
228×div-sub_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
12520
25120
38220
416620
529720
648820
773820
8119920
9180020
10276920
11492820
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
28.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
28.4b
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
Compiler

Compiled 69 to 35 computations (49.3% saved)

localize10.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.5b
(fma.f64 d (neg.f64 a) (*.f64 b c))
27.9b
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))

series82.0ms (1.6%)

Counts
2 → 96
Calls

24 calls:

13.0ms
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
b
inf
10.0ms
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
a
-inf
10.0ms
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
a
inf
9.0ms
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
b
-inf
9.0ms
(/.f64 (fma.f64 d (neg.f64 a) (*.f64 b c)) (fma.f64 c c (*.f64 d d)))
b
0

rewrite49.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
527×log-prod_binary64
286×prod-diff_binary64
190×expm1-udef_binary64
190×log1p-udef_binary64
164×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01130
122625
2290225
Stop Event
node limit
Counts
2 → 65

simplify48.0ms (0.9%)

Algorithm
egg-herbie
Rules
608×fma-def_binary64
483×associate-*l/_binary64
469×cancel-sign-sub-inv_binary64
382×fma-neg_binary64
359×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0471722
11331638
23861599
317811554
Stop Event
node limit
Counts
161 → 92

prune62.0ms (1.2%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New83992
Fresh000
Picked101
Done000
Total84993
Error
1.4b
Counts
93 → 9
Alt Table
StatusErrorProgram
44.6b
(sqrt.f64 (pow.f64 (/.f64 (fma.f64 d a (*.f64 b c)) (pow.f64 (hypot.f64 d c) 2)) 2))
41.7b
(/.f64 c (/.f64 (fma.f64 c c (*.f64 d d)) b))
34.9b
(fma.f64 (/.f64 (/.f64 a c) c) (neg.f64 d) (/.f64 b c))
37.9b
(/.f64 b c)
32.1b
(-.f64 (*.f64 (/.f64 (/.f64 c d) d) (+.f64 b (/.f64 (*.f64 c a) d))) (/.f64 a d))
30.5b
(fma.f64 b (/.f64 (/.f64 c d) d) (/.f64 (neg.f64 a) d))
28.6b
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
36.5b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d a (*.f64 b c)) (hypot.f64 d c)))
38.0b
(-.f64 (/.f64 b c) (*.f64 (/.f64 d (*.f64 c c)) (+.f64 a (/.f64 (*.f64 b d) c))))
Compiler

Compiled 1968 to 719 computations (63.5% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 d c)
0.5b
(/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2)))
0.7b
(-.f64 (*.f64 d a) (*.f64 b c))
27.7b
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))

series157.0ms (3%)

Counts
4 → 144
Calls

36 calls:

27.0ms
(/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2)))
c
inf
16.0ms
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
a
inf
15.0ms
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
b
0
15.0ms
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
b
-inf
14.0ms
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
b
inf

rewrite65.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
253×expm1-udef_binary64
253×log1p-udef_binary64
161×add-sqr-sqrt_binary64
157×pow1_binary64
155×*-un-lft-identity_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01547
132743
2425943
Stop Event
node limit
Counts
4 → 143

simplify77.0ms (1.5%)

Algorithm
egg-herbie
Rules
498×times-frac_binary64
332×associate-/l*_binary64
307×sub-neg_binary64
235×associate-/r*_binary64
232×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01102816
13122714
29602653
346622653
Stop Event
node limit
Counts
287 → 215

prune157.0ms (3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2105215
Fresh358
Picked101
Done000
Total21410224
Error
1.4b
Counts
224 → 10
Alt Table
StatusErrorProgram
41.2b
(*.f64 (*.f64 (-.f64 (pow.f64 (*.f64 d a) 2) (pow.f64 (*.f64 b c) 2)) (/.f64 1 (fma.f64 d a (*.f64 b c)))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
34.9b
(fma.f64 (/.f64 (/.f64 a c) c) (neg.f64 d) (/.f64 b c))
39.1b
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (fma.f64 1/2 (*.f64 (/.f64 c d) c) d) 2))))
32.1b
(-.f64 (*.f64 (/.f64 (/.f64 c d) d) (+.f64 b (/.f64 (*.f64 c a) d))) (/.f64 a d))
28.4b
(/.f64 (neg.f64 (-.f64 (*.f64 d a) (*.f64 b c))) (pow.f64 (hypot.f64 d c) 2))
28.3b
(-.f64 (*.f64 b (/.f64 c (fma.f64 c c (*.f64 d d)))) (*.f64 d (/.f64 a (fma.f64 c c (*.f64 d d)))))
28.8b
(*.f64 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 d a)) 2) (cbrt.f64 (*.f64 d a)) (*.f64 b (neg.f64 c))) (/.f64 1 (neg.f64 (pow.f64 (hypot.f64 d c) 2))))
30.5b
(fma.f64 b (/.f64 (/.f64 c d) d) (/.f64 (neg.f64 a) d))
36.5b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d a (*.f64 b c)) (hypot.f64 d c)))
38.0b
(-.f64 (/.f64 b c) (*.f64 (/.f64 d (*.f64 c c)) (+.f64 a (/.f64 (*.f64 b d) c))))
Compiler

Compiled 5355 to 2403 computations (55.1% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.8b
(*.f64 b (/.f64 c (fma.f64 c c (*.f64 d d))))
9.7b
(/.f64 a (fma.f64 c c (*.f64 d d)))
9.8b
(*.f64 d (/.f64 a (fma.f64 c c (*.f64 d d))))
19.3b
(/.f64 c (fma.f64 c c (*.f64 d d)))

series198.0ms (3.8%)

Counts
4 → 132
Calls

33 calls:

18.0ms
(/.f64 a (fma.f64 c c (*.f64 d d)))
a
-inf
16.0ms
(*.f64 d (/.f64 a (fma.f64 c c (*.f64 d d))))
a
-inf
16.0ms
(*.f64 d (/.f64 a (fma.f64 c c (*.f64 d d))))
a
inf
16.0ms
(*.f64 b (/.f64 c (fma.f64 c c (*.f64 d d))))
b
-inf
16.0ms
(*.f64 d (/.f64 a (fma.f64 c c (*.f64 d d))))
a
0

rewrite58.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
635×log-prod_binary64
210×expm1-udef_binary64
210×log1p-udef_binary64
184×log-pow_binary64
123×log-div_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01150
123046
2309046
Stop Event
node limit
Counts
4 → 126

simplify58.0ms (1.1%)

Algorithm
egg-herbie
Rules
796×times-frac_binary64
544×associate-/l*_binary64
410×associate-/r*_binary64
292×cancel-sign-sub-inv_binary64
197×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01203228
13193156
210212982
Stop Event
node limit
Counts
258 → 193

prune141.0ms (2.7%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1903193
Fresh279
Picked101
Done000
Total19310203
Error
0.4b
Counts
203 → 10
Alt Table
StatusErrorProgram
23.6b
(-.f64 (*.f64 b (/.f64 c (fma.f64 c c (*.f64 d d)))) (/.f64 (/.f64 (*.f64 d a) (hypot.f64 c d)) (hypot.f64 c d)))
40.7b
(-.f64 (*.f64 (/.f64 (/.f64 b d) d) c) (*.f64 d (/.f64 a (fma.f64 c c (*.f64 d d)))))
39.1b
(*.f64 (-.f64 (*.f64 d a) (*.f64 b c)) (/.f64 1 (neg.f64 (pow.f64 (fma.f64 1/2 (*.f64 (/.f64 c d) c) d) 2))))
32.1b
(-.f64 (*.f64 (/.f64 (/.f64 c d) d) (+.f64 b (/.f64 (*.f64 c a) d))) (/.f64 a d))
43.6b
(-.f64 (*.f64 b (/.f64 c (fma.f64 c c (*.f64 d d)))) (*.f64 (/.f64 d c) (/.f64 a c)))
34.9b
(fma.f64 (/.f64 (/.f64 a c) c) (neg.f64 d) (/.f64 b c))
28.4b
(/.f64 (neg.f64 (-.f64 (*.f64 d a) (*.f64 b c))) (pow.f64 (hypot.f64 d c) 2))
30.5b
(fma.f64 b (/.f64 (/.f64 c d) d) (/.f64 (neg.f64 a) d))
36.5b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d a (*.f64 b c)) (hypot.f64 d c)))
38.0b
(-.f64 (/.f64 b c) (*.f64 (/.f64 d (*.f64 c c)) (+.f64 a (/.f64 (*.f64 b d) c))))
Compiler

Compiled 5611 to 2148 computations (61.7% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (/.f64 (*.f64 d a) (hypot.f64 c d)) (hypot.f64 c d))
3.8b
(*.f64 b (/.f64 c (fma.f64 c c (*.f64 d d))))
10.2b
(/.f64 (*.f64 d a) (hypot.f64 c d))
19.3b
(/.f64 c (fma.f64 c c (*.f64 d d)))

series150.0ms (2.9%)

Counts
2 → 72
Calls

18 calls:

21.0ms
(/.f64 (/.f64 (*.f64 d a) (hypot.f64 c d)) (hypot.f64 c d))
a
-inf
18.0ms
(/.f64 (*.f64 d a) (hypot.f64 c d))
a
-inf
18.0ms
(/.f64 (/.f64 (*.f64 d a) (hypot.f64 c d)) (hypot.f64 c d))
a
inf
18.0ms
(/.f64 (*.f64 d a) (hypot.f64 c d))
a
inf
16.0ms
(/.f64 (/.f64 (*.f64 d a) (hypot.f64 c d)) (hypot.f64 c d))
a
0

rewrite52.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
917×log1p-expm1-u_binary64
917×expm1-log1p-u_binary64
88×add-sqr-sqrt_binary64
88×pow1_binary64
87×*-un-lft-identity_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0826
117123
2244823
Stop Event
node limit
Counts
2 → 84

simplify39.0ms (0.8%)

Algorithm
egg-herbie
Rules
749×times-frac_binary64
445×associate-/l*_binary64
349×associate-/r*_binary64
232×associate-*r*_binary64
205×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0901888
12761816
29561733
Stop Event
node limit
Counts
156 → 134

prune183.0ms (3.5%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2254229
Fresh549
Picked101
Done000
Total2318239
Error
0.2b
Counts
239 → 8
Alt Table
StatusErrorProgram
25.1b
(-.f64 (/.f64 (*.f64 c b) (pow.f64 (hypot.f64 c d) 2)) (/.f64 (/.f64 (*.f64 d a) (hypot.f64 c d)) (hypot.f64 c d)))
43.6b
(-.f64 (*.f64 b (/.f64 c (fma.f64 c c (*.f64 d d)))) (*.f64 (/.f64 d c) (/.f64 a c)))
34.9b
(fma.f64 (/.f64 (/.f64 a c) c) (neg.f64 d) (/.f64 b c))
36.6b
(-.f64 (*.f64 (/.f64 (/.f64 b d) d) c) (/.f64 (/.f64 (*.f64 d a) (hypot.f64 c d)) (hypot.f64 c d)))
30.5b
(fma.f64 b (/.f64 (/.f64 c d) d) (/.f64 (neg.f64 a) d))
10.5b
(-.f64 (*.f64 b (*.f64 (/.f64 (pow.f64 (cbrt.f64 c) 2) (hypot.f64 c d)) (/.f64 (cbrt.f64 c) (hypot.f64 c d)))) (/.f64 (/.f64 (*.f64 d a) (hypot.f64 c d)) (hypot.f64 c d)))
16.2b
(-.f64 (*.f64 b (/.f64 c (fma.f64 c c (*.f64 d d)))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 d (hypot.f64 c d)) a)) 2) 1) (/.f64 (cbrt.f64 (*.f64 (/.f64 d (hypot.f64 c d)) a)) (hypot.f64 c d))))
38.0b
(-.f64 (/.f64 b c) (*.f64 (/.f64 d (*.f64 c c)) (+.f64 a (/.f64 (*.f64 b d) c))))
Compiler

Compiled 6818 to 2234 computations (67.2% saved)

regimes1.5s (28.2%)

Accuracy

Total 5.6b remaining (91.3%)

Threshold costs 0b (0%)

Counts
125 → 3
Compiler

Compiled 13928 to 8539 computations (38.7% saved)

bsearch44.0ms (0.8%)

Algorithm
binary-search
Calls

2 calls:

22.0ms
d
18.0ms
d
Steps
ItersPointRange
1.0364479188939085e+154
∈ [
4.283640888235788e+153
,
1.9292525623115435e+163
]
-1.692033155006485e+165
∈ [
-4.3389664077513974e+167
,
-1.342296805634099e+164
]
Compiler

Compiled 5 to 4 computations (20% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02781
13781
24881
35881
47181
57781
68081
78181
Stop Event
saturated

end115.0ms (2.2%)

Stop Event
fuel
Compiler

Compiled 312 to 152 computations (51.3% saved)

Profiling

Loading profile data...