Details

Time bar (total: 16.7s)

analyze2.3s (13.9%)

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%81.1%18.9%7
0%68.6%31.4%8
0%59.2%40.8%9
0%59.2%40.8%10
0%59.2%40.8%11
0.4%49.5%50.1%12
0.8%44.4%54.8%13
1.4%39.9%58.7%14
Compiler

Compiled 41 to 32 computations (22% saved)

sample5.7s (34.1%)

Symmetry

(sort M D)

Results
3.3s13067×body128invalid
2.3s8256×body128valid
Compiler

Compiled 122 to 95 computations (22.1% saved)

simplify16.0ms (0.1%)

Algorithm
egg-herbie
Rules
425×associate-/l*_binary64
398×*-commutative_binary64
236×associate-/l/_binary64
214×associate-/r/_binary64
203×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02441
16241
219539
3130939
Stop Event
node limit
Counts
1 → 2

prune11.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 208 to 151 computations (27.4% saved)

localize22.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.5b
(/.f64 (*.f64 M D) (*.f64 2 d))
12.2b
(pow.f64 (/.f64 d l) (/.f64 1 2))
12.8b
(pow.f64 (/.f64 d h) (/.f64 1 2))
12.9b
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))

series944.0ms (5.6%)

Counts
4 → 144
Calls

4 calls:

365.0ms
(pow.f64 (/.f64 d h) (/.f64 1 2))
354.0ms
(pow.f64 (/.f64 d l) (/.f64 1 2))
203.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))
22.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))

rewrite43.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
203×add-sqr-sqrt_binary64
193×log1p-expm1-u_binary64
193×expm1-log1p-u_binary64
189×add-cbrt-cube_binary64
189×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02144
143144
Stop Event
node limit
Counts
4 → 112
Calls

4 calls:

41.0ms
(/.f64 (*.f64 M D) (*.f64 2 d))
41.0ms
(pow.f64 (/.f64 d l) (/.f64 1 2))
41.0ms
(pow.f64 (/.f64 d h) (/.f64 1 2))
41.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))

simplify59.0ms (0.4%)

Algorithm
egg-herbie
Rules
547×associate-/l/_binary64
501×associate-/r/_binary64
216×times-frac_binary64
191×associate-/l*_binary64
127×exp-sum_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0782572
11992572
25312508
323172236
Stop Event
node limit
Counts
256 → 133

prune312.0ms (1.9%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New11518133
Fresh011
Picked101
Done000
Total11619135
Error
12.4b
Counts
135 → 19
Alt Table
StatusErrorProgram
44.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 l)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (/.f64 d l) 1/4) (pow.f64 (/.f64 d l) 1/4))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.2b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 d h)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 d h)))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
42.3b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
40.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 l)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 1 (sqrt.f64 (/.f64 l d)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
42.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (log.f64 (pow.f64 (exp.f64 (/.f64 M 2)) (/.f64 D d))) 2)) (/.f64 h l))))
40.6b
(*.f64 (*.f64 (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 h))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
38.5b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (log.f64 (pow.f64 (exp.f64 (/.f64 h l)) (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2))))))
40.6b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
24.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (*.f64 (/.f64 D (/.f64 2 M)) (/.f64 1 d)) 2)) (/.f64 h l))))
25.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (cbrt.f64 (/.f64 d l)) (cbrt.f64 (sqrt.f64 (/.f64 d l))))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.0b
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 d h) 1/4) (pow.f64 (/.f64 d h) 1/4)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
46.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (*.f64 l (pow.f64 d 2))))))
40.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 d) (sqrt.f64 l))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
30.7b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))) 3))))
25.7b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (/.f64 h l) (*.f64 (pow.f64 (*.f64 M (/.f64 (/.f64 D d) 2)) 2) -1/2) 1)))
26.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 (*.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h) l)))
Compiler

Compiled 6510 to 4332 computations (33.5% saved)

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.3b
(*.f64 (/.f64 D (/.f64 2 M)) (/.f64 1 d))
12.2b
(pow.f64 (/.f64 d l) (/.f64 1 2))
12.8b
(pow.f64 (/.f64 d h) (/.f64 1 2))
12.9b
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (*.f64 (/.f64 D (/.f64 2 M)) (/.f64 1 d)) 2)) (/.f64 h l))

series205.0ms (1.2%)

Counts
2 → 96
Calls

2 calls:

192.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (*.f64 (/.f64 D (/.f64 2 M)) (/.f64 1 d)) 2)) (/.f64 h l))
13.0ms
(*.f64 (/.f64 D (/.f64 2 M)) (/.f64 1 d))

rewrite32.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
181×add-sqr-sqrt_binary64
172×log1p-expm1-u_binary64
172×expm1-log1p-u_binary64
170×add-cbrt-cube_binary64
168×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01832
137532
Stop Event
node limit
Counts
2 → 78
Calls

2 calls:

31.0ms
(*.f64 (/.f64 D (/.f64 2 M)) (/.f64 1 d))
31.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (*.f64 (/.f64 D (/.f64 2 M)) (/.f64 1 d)) 2)) (/.f64 h l))

simplify110.0ms (0.7%)

Algorithm
egg-herbie
Rules
680×unswap-sqr_binary64
535×associate-/l/_binary64
493×associate-/r/_binary64
349×*-commutative_binary64
216×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0291860
1871860
22611860
315791860
434281860
537041860
648151860
748971860
849961860
Stop Event
node limit
Counts
174 → 85

prune349.0ms (2.1%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New1383141
Fresh11718
Picked101
Done000
Total14020160
Error
12.4b
Counts
160 → 20
Alt Table
StatusErrorProgram
44.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 l)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (/.f64 d l) 1/4) (pow.f64 (/.f64 d l) 1/4))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.2b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 d h)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 d h)))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
40.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 d) (sqrt.f64 l))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
42.3b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (*.f64 (/.f64 D (/.f64 2 M)) (/.f64 1 d)) 2)) (/.f64 h l))))
25.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 1 (sqrt.f64 (/.f64 l d)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
42.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (log.f64 (pow.f64 (exp.f64 (/.f64 M 2)) (/.f64 D d))) 2)) (/.f64 h l))))
44.4b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 1/2 M)) 2) (*.f64 1/2 h)) (sqrt.f64 l)) (sqrt.f64 l))))
40.6b
(*.f64 (*.f64 (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 h))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
38.5b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (log.f64 (pow.f64 (exp.f64 (/.f64 h l)) (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2))))))
40.6b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (cbrt.f64 (/.f64 d l)) (cbrt.f64 (sqrt.f64 (/.f64 d l))))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.0b
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 d h) 1/4) (pow.f64 (/.f64 d h) 1/4)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
46.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (*.f64 l (pow.f64 d 2))))))
24.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 1 (*.f64 (/.f64 2 (*.f64 D M)) d)) 2)) (/.f64 h l))))
40.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 l)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
30.7b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))) 3))))
25.7b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (/.f64 h l) (*.f64 (pow.f64 (*.f64 M (/.f64 (/.f64 D d) 2)) 2) -1/2) 1)))
25.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
26.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 (*.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h) l)))
Compiler

Compiled 6919 to 4709 computations (31.9% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.4b
(*.f64 (/.f64 2 (*.f64 D M)) d)
12.2b
(pow.f64 (/.f64 d l) (/.f64 1 2))
12.8b
(pow.f64 (/.f64 d h) (/.f64 1 2))
12.9b
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 1 (*.f64 (/.f64 2 (*.f64 D M)) d)) 2)) (/.f64 h l))

series204.0ms (1.2%)

Counts
2 → 96
Calls

2 calls:

186.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 1 (*.f64 (/.f64 2 (*.f64 D M)) d)) 2)) (/.f64 h l))
18.0ms
(*.f64 (/.f64 2 (*.f64 D M)) d)

rewrite55.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
306×log1p-udef_binary64
175×add-sqr-sqrt_binary64
164×log1p-expm1-u_binary64
164×expm1-log1p-u_binary64
162×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01835
136232
2458232
Stop Event
node limit
Counts
2 → 59
Calls

2 calls:

54.0ms
(*.f64 (/.f64 2 (*.f64 D M)) d)
54.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 1 (*.f64 (/.f64 2 (*.f64 D M)) d)) 2)) (/.f64 h l))

simplify107.0ms (0.6%)

Algorithm
egg-herbie
Rules
630×unswap-sqr_binary64
534×associate-/l/_binary64
491×associate-/r/_binary64
334×*-commutative_binary64
222×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0281860
1861860
22651860
315811860
434111860
536781860
646991860
747811860
848821860
Stop Event
node limit
Counts
155 → 66

prune308.0ms (1.8%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New1184122
Fresh11819
Picked101
Done000
Total12022142
Error
12.4b
Counts
142 → 22
Alt Table
StatusErrorProgram
44.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 l)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (/.f64 d l) 1/4) (pow.f64 (/.f64 d l) 1/4))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.2b
(*.f64 (*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 d h)) 2)) (sqrt.f64 (cbrt.f64 (/.f64 d h)))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
40.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 d) (sqrt.f64 l))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
42.3b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (*.f64 (/.f64 D (/.f64 2 M)) (/.f64 1 d)) 2)) (/.f64 h l))))
24.7b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 (/.f64 2 D) M) d) -2)) (/.f64 l h))))
25.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 1 (sqrt.f64 (/.f64 l d)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
42.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (log.f64 (pow.f64 (exp.f64 (/.f64 M 2)) (/.f64 D d))) 2)) (/.f64 h l))))
44.4b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (/.f64 D d) (*.f64 1/2 M)) 2) (*.f64 1/2 h)) (sqrt.f64 l)) (sqrt.f64 l))))
40.6b
(*.f64 (*.f64 (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 h))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
38.5b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (log.f64 (pow.f64 (exp.f64 (/.f64 h l)) (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2))))))
40.6b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (cbrt.f64 (/.f64 d l)) (cbrt.f64 (sqrt.f64 (/.f64 d l))))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.0b
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 d h) 1/4) (pow.f64 (/.f64 d h) 1/4)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
46.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 D 2) (*.f64 (pow.f64 M 2) h)) (*.f64 l (pow.f64 d 2))))))
41.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 1 (log.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 2 D) M)) d))) 2)) (/.f64 h l))))
26.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 (*.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h) l)))
24.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (pow.f64 (*.f64 (/.f64 (/.f64 2 D) M) d) -2) (*.f64 1/2 (/.f64 h l))) 1)))
40.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 l)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 1 (/.f64 l (*.f64 (pow.f64 (*.f64 (/.f64 (/.f64 2 D) M) d) -2) (*.f64 1/2 h))))))
25.7b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (/.f64 h l) (*.f64 (pow.f64 (*.f64 M (/.f64 (/.f64 D d) 2)) 2) -1/2) 1)))
25.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
Compiler

Compiled 6421 to 4400 computations (31.5% saved)

localize29.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.4b
(*.f64 (/.f64 (/.f64 2 D) M) d)
12.2b
(pow.f64 (/.f64 d l) (/.f64 1 2))
12.8b
(pow.f64 (/.f64 d h) (/.f64 1 2))
12.9b
(/.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 (/.f64 2 D) M) d) -2)) (/.f64 l h))

series224.0ms (1.3%)

Counts
2 → 96
Calls

2 calls:

207.0ms
(/.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 (/.f64 2 D) M) d) -2)) (/.f64 l h))
17.0ms
(*.f64 (/.f64 (/.f64 2 D) M) d)

rewrite75.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
179×add-sqr-sqrt_binary64
168×log1p-expm1-u_binary64
168×expm1-log1p-u_binary64
167×add-log-exp_binary64
166×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01632
135732
2497032
Stop Event
node limit
Counts
2 → 82
Calls

2 calls:

73.0ms
(*.f64 (/.f64 (/.f64 2 D) M) d)
73.0ms
(/.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 (/.f64 2 D) M) d) -2)) (/.f64 l h))

simplify113.0ms (0.7%)

Algorithm
egg-herbie
Rules
630×unswap-sqr_binary64
547×associate-/l/_binary64
495×associate-/r/_binary64
335×*-commutative_binary64
222×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0281860
1871860
22661860
315861860
434471860
537141860
647351860
748171860
849181860
Stop Event
node limit
Counts
178 → 89

prune311.0ms (1.9%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New1387145
Fresh81321
Picked101
Done000
Total14720167
Error
11.9b
Counts
167 → 20
Alt Table
StatusErrorProgram
40.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 d) (sqrt.f64 l))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
25.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 (*.f64 1/2 (pow.f64 (/.f64 (/.f64 (*.f64 2 d) D) M) -2)) (/.f64 l h))))
42.3b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (*.f64 (/.f64 D (/.f64 2 M)) (/.f64 1 d)) 2)) (/.f64 h l))))
25.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 1 (sqrt.f64 (/.f64 l d)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
42.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (log.f64 (pow.f64 (exp.f64 (/.f64 M 2)) (/.f64 D d))) 2)) (/.f64 h l))))
40.6b
(*.f64 (*.f64 (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 h))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
38.5b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (log.f64 (pow.f64 (exp.f64 (/.f64 h l)) (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2))))))
40.6b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
38.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (log.f64 (pow.f64 (pow.f64 (exp.f64 1/2) (pow.f64 (/.f64 d (*.f64 (/.f64 M 2) D)) -2)) (/.f64 h l)))))
23.7b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 h (/.f64 1/2 (/.f64 l (pow.f64 (/.f64 d (*.f64 (/.f64 M 2) D)) -2))))))
24.8b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (/.f64 d l) 1/4) (pow.f64 (/.f64 d l) 1/4))) (-.f64 1 (/.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 (/.f64 2 D) M) d) -2)) (/.f64 l h))))
24.9b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 d h)) (cbrt.f64 (sqrt.f64 (/.f64 d h)))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 (/.f64 2 D) M) d) -2)) (/.f64 l h))))
25.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (cbrt.f64 (/.f64 d l)) (cbrt.f64 (sqrt.f64 (/.f64 d l))))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
44.3b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 l)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
24.5b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (/.f64 1 (/.f64 d (*.f64 (/.f64 M 2) D)))) (pow.f64 (cbrt.f64 (/.f64 l h)) 2)) (/.f64 (*.f64 (sqrt.f64 1/2) (/.f64 1 (/.f64 d (*.f64 (/.f64 M 2) D)))) (cbrt.f64 (/.f64 l h))))))
40.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 l)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
23.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (/.f64 (*.f64 (sqrt.f64 1/2) (/.f64 1 (/.f64 d (*.f64 (/.f64 M 2) D)))) l) (/.f64 (*.f64 (sqrt.f64 1/2) (/.f64 1 (/.f64 d (*.f64 (/.f64 M 2) D)))) (/.f64 1 h)))))
25.7b
(*.f64 (sqrt.f64 (/.f64 d h)) (*.f64 (sqrt.f64 (/.f64 d l)) (fma.f64 (/.f64 h l) (*.f64 (pow.f64 (*.f64 M (/.f64 (/.f64 D d) 2)) 2) -1/2) 1)))
25.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
41.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 1 (log.f64 (pow.f64 (exp.f64 (/.f64 (/.f64 2 D) M)) d))) 2)) (/.f64 h l))))
Compiler

Compiled 6099 to 4043 computations (33.7% saved)

regimes3.4s (20.5%)

Accuracy

Total 7.9b remaining (40.4%)

Threshold costs 0b (0%)

Counts
176 → 5
Compiler

Compiled 51441 to 39340 computations (23.5% saved)

bsearch1.1s (6.8%)

Steps
ItersRangePoint
8
3.359920344001169e+257
6.8923446317940935e+261
5.899305990900873e+261
6
1.6798725673228822e+223
7.019983697556441e+223
1.6985331578856946e+223
7
2.1676564872565843e-193
4.9088870107166843e-191
3.1202928822756546e-191
9
-1.0334311891314777e-16
-5.37180864617029e-22
-1.2023678231762978e-21
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify10.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
070280
1101280
2122280
3150280
4167280
5176280
6179280
Stop Event
saturated

end540.0ms (3.2%)

Remove

(sort M D)

Compiler

Compiled 1590 to 1147 computations (27.9% saved)

Profiling

Loading profile data...