Details

Time bar (total: 9.7s)

analyze2.7s (28.1%)

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%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0%99.7%0.3%11
0%99.7%0.3%12
4.3%95.4%0.3%13
6.6%93.1%0.3%14
Compiler

Compiled 25 to 19 computations (24% saved)

sample2.3s (23.6%)

Results
1.5s8256×body128valid
803.0ms4574×body128invalid
Compiler

Compiled 50 to 38 computations (24% saved)

preprocess43.0ms (0.4%)

Algorithm
egg-herbie
Rules
668×times-frac_binary64
300×associate-/l*_binary64
278×*-commutative_binary64
260×neg-sub0_binary64
260×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0125432
1394432
21216432
33619432
066
166
Stop Event
unsound
node limit
Symmetry

(sort M D)

Compiler

Compiled 24 to 18 computations (25% saved)

simplify22.0ms (0.2%)

Algorithm
egg-herbie
Rules
418×associate-/l*_binary64
372×cancel-sign-sub-inv_binary64
251×associate-/l/_binary64
229×*-commutative_binary64
227×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01827
14227
211527
384627
4381727
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
14.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l)))))
Compiler

Compiled 138 to 101 computations (26.8% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l)))))
4.3b
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l))))
5.5b
(*.f64 M (/.f64 D (*.f64 2 d)))
10.1b
(*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l))

series526.0ms (5.4%)

Counts
4 → 204
Calls

57 calls:

32.0ms
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l))))
d
inf
24.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l)))))
w0
-inf
21.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l)))))
w0
0
19.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l)))))
w0
inf
15.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 M (/.f64 D (*.f64 2 d))) 2) (/.f64 h l)))))
l
0

rewrite40.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
194×add-sqr-sqrt_binary64
190×pow1_binary64
189×*-un-lft-identity_binary64
179×add-log-exp_binary64
179×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01880
138680
Stop Event
node limit
Counts
4 → 95

simplify145.0ms (1.5%)

Algorithm
egg-herbie
Rules
640×fma-def_binary64
262×times-frac_binary64
243×associate-/r*_binary64
231×associate-*r*_binary64
226×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03108076
112428010
240717948
Stop Event
node limit
Counts
299 → 215

prune236.0ms (2.4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2069215
Fresh011
Picked101
Done000
Total20710217
Error
5.4b
Counts
217 → 10
Alt Table
StatusErrorProgram
48.0b
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))) (*.f64 w0 w0)))
27.8b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
60.4b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4)) w0))
60.4b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
60.7b
(*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) h) (*.f64 (pow.f64 d 2) l))))) (*.f64 w0 M)))
14.1b
w0
26.8b
(*.f64 w0 (sqrt.f64 (fma.f64 (*.f64 -1/4 (/.f64 D (/.f64 l D))) (/.f64 (*.f64 M (*.f64 M h)) (*.f64 d d)) 1)))
62.1b
(*.f64 w0 (/.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 h (pow.f64 M 2))) l)))) d))
11.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h))))))
Compiler

Compiled 8766 to 5295 computations (39.6% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.3b
(sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h)))))
4.7b
(*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h)
5.2b
(/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h))
5.5b
(*.f64 (/.f64 M 2) (/.f64 D d))

series468.0ms (4.8%)

Counts
4 → 192
Calls

51 calls:

40.0ms
(/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h))
D
inf
20.0ms
(/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h))
l
-inf
17.0ms
(/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h))
l
inf
17.0ms
(/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h))
l
0
16.0ms
(/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h))
h
inf

rewrite58.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
191×add-sqr-sqrt_binary64
185×pow1_binary64
184×*-un-lft-identity_binary64
177×add-log-exp_binary64
177×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01772
138269
Stop Event
node limit
Counts
4 → 137

simplify105.0ms (1.1%)

Algorithm
egg-herbie
Rules
322×associate-/r/_binary64
262×fma-def_binary64
232×unswap-sqr_binary64
216×distribute-neg-frac_binary64
188×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01895696
17155662
223905644
Stop Event
node limit
Counts
329 → 201

prune275.0ms (2.8%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New1974201
Fresh189
Picked011
Done000
Total19813211
Error
4.3b
Counts
211 → 13
Alt Table
StatusErrorProgram
48.0b
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))) (*.f64 w0 w0)))
27.8b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
14.1b
w0
33.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (*.f64 (/.f64 1 (*.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) (sqrt.f64 h))) (/.f64 l (*.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) (sqrt.f64 h))))))))
26.8b
(*.f64 w0 (sqrt.f64 (fma.f64 (*.f64 -1/4 (/.f64 D (/.f64 l D))) (/.f64 (*.f64 M (*.f64 M h)) (*.f64 d d)) 1)))
60.1b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (/.f64 M (/.f64 l M)) h) (*.f64 d d)) -1/4))))
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
60.4b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4)) w0))
60.4b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
60.7b
(*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) h) (*.f64 (pow.f64 d 2) l))))) (*.f64 w0 M)))
61.8b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 M (/.f64 l M)) h) (*.f64 D D)) -1/4)) d))
39.7b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (/.f64 (/.f64 (*.f64 M (*.f64 1/2 D)) (sqrt.f64 d)) (sqrt.f64 d)) 2) h))))))
11.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h))))))
Compiler

Compiled 7091 to 4541 computations (36% saved)

localize1.0ms (0%)

prune18.0ms (0.2%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New000
Fresh01111
Picked011
Done011
Total01313
Error
4.3b
Counts
13 → 13
Alt Table
StatusErrorProgram
48.0b
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))) (*.f64 w0 w0)))
27.8b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
14.1b
w0
33.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (*.f64 (/.f64 1 (*.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) (sqrt.f64 h))) (/.f64 l (*.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) (sqrt.f64 h))))))))
26.8b
(*.f64 w0 (sqrt.f64 (fma.f64 (*.f64 -1/4 (/.f64 D (/.f64 l D))) (/.f64 (*.f64 M (*.f64 M h)) (*.f64 d d)) 1)))
60.1b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (/.f64 M (/.f64 l M)) h) (*.f64 d d)) -1/4))))
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
60.4b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4)) w0))
60.4b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
60.7b
(*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) h) (*.f64 (pow.f64 d 2) l))))) (*.f64 w0 M)))
61.8b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 M (/.f64 l M)) h) (*.f64 D D)) -1/4)) d))
39.7b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (/.f64 (/.f64 (*.f64 M (*.f64 1/2 D)) (sqrt.f64 d)) (sqrt.f64 d)) 2) h))))))
11.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h))))))
Compiler

Compiled 623 to 434 computations (30.3% saved)

localize34.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
4.3b
(sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))))
5.4b
(/.f64 (*.f64 M D) (*.f64 2 d))
10.1b
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))

series527.0ms (5.5%)

Counts
4 → 204
Calls

57 calls:

33.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
w0
-inf
22.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
w0
0
20.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
w0
inf
17.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))
M
inf
17.0ms
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
l
0

rewrite49.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
194×add-sqr-sqrt_binary64
190×pow1_binary64
189×*-un-lft-identity_binary64
179×add-log-exp_binary64
179×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01880
138680
Stop Event
node limit
Counts
4 → 119

simplify141.0ms (1.5%)

Algorithm
egg-herbie
Rules
640×fma-def_binary64
262×times-frac_binary64
243×associate-/r*_binary64
231×associate-*r*_binary64
226×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03108076
112428010
240717948
Stop Event
node limit
Counts
323 → 239

prune281.0ms (2.9%)

Pruning

14 alts after pruning (11 fresh and 3 done)

PrunedKeptTotal
New2381239
Fresh01010
Picked011
Done022
Total23814252
Error
4.3b
Counts
252 → 14
Alt Table
StatusErrorProgram
48.0b
(sqrt.f64 (*.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))) (*.f64 w0 w0)))
27.8b
(fma.f64 (*.f64 -1/8 (*.f64 (/.f64 D d) (/.f64 D d))) (/.f64 (*.f64 M (*.f64 M h)) (/.f64 l w0)) w0)
14.1b
w0
33.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (*.f64 (/.f64 1 (*.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) (sqrt.f64 h))) (/.f64 l (*.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) (sqrt.f64 h))))))))
26.8b
(*.f64 w0 (sqrt.f64 (fma.f64 (*.f64 -1/4 (/.f64 D (/.f64 l D))) (/.f64 (*.f64 M (*.f64 M h)) (*.f64 d d)) 1)))
60.1b
(*.f64 w0 (*.f64 D (sqrt.f64 (*.f64 (/.f64 (*.f64 (/.f64 M (/.f64 l M)) h) (*.f64 d d)) -1/4))))
15.0b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l)))))
60.4b
(*.f64 D (*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 h l) (/.f64 (*.f64 M M) (*.f64 d d))) -1/4)) w0))
14.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (*.f64 (pow.f64 (*.f64 (/.f64 D 2) (/.f64 M d)) 2) (/.f64 h l)))))
60.4b
(*.f64 (sqrt.f64 (*.f64 (*.f64 (/.f64 D (/.f64 l D)) (/.f64 h (*.f64 d d))) -1/4)) (neg.f64 (*.f64 M w0)))
60.7b
(*.f64 -1 (*.f64 (sqrt.f64 (neg.f64 (*.f64 1/4 (/.f64 (*.f64 (pow.f64 D 2) h) (*.f64 (pow.f64 d 2) l))))) (*.f64 w0 M)))
61.8b
(*.f64 w0 (/.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 M (/.f64 l M)) h) (*.f64 D D)) -1/4)) d))
39.7b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (/.f64 (/.f64 (*.f64 M (*.f64 1/2 D)) (sqrt.f64 d)) (sqrt.f64 d)) 2) h))))))
11.5b
(*.f64 w0 (sqrt.f64 (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) h))))))
Compiler

Compiled 9265 to 5562 computations (40% saved)

regimes1.3s (13.5%)

Accuracy

Total 4.1b remaining (47%)

Threshold costs 0b (0%)

Counts
53 → 3
Compiler

Compiled 21023 to 15495 computations (26.3% saved)

bsearch3.0ms (0%)

Algorithm
left-value
Calls

2 calls:

0.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))
0.0ms
(*.f64 (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2) (/.f64 h l))
Steps
ItersPointRange
0.31652846241697263
∈ [
0.31652846241697263
,
#hash((type . real) (value . NaN))
]
#hash((type . real) (value . -inf))
∈ [
#hash((type . real) (value . -inf))
,
-1.7012551857963947e+286
]
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
034103
149103
260103
368103
474103
577103
678103
Stop Event
saturated

end355.0ms (3.7%)

Stop Event
fuel
Compiler

Compiled 652 to 428 computations (34.4% saved)

Profiling

Loading profile data...