Details

Time bar (total: 14.2s)

analyze2.2s (15.1%)

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.5s (38.7%)

Results
3.3s13324×body128invalid
2.2s8256×body128valid
Compiler

Compiled 82 to 64 computations (22% saved)

preprocess41.0ms (0.3%)

Algorithm
egg-herbie
Rules
775×associate-*r/_binary64
448×*-commutative_binary64
230×associate-/l*_binary64
205×distribute-rgt-neg-in_binary64
185×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0122451
1419451
21543429
055
155
Stop Event
unsound
node limit
Symmetry

(sort M D)

Compiler

Compiled 40 to 31 computations (22.5% saved)

simplify18.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

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
23.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
24.1b
(*.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))))
24.4b
(*.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)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.5b
(/.f64 (*.f64 M D) (*.f64 2 d))
9.7b
(pow.f64 (/.f64 d l) (/.f64 1 2))
10.2b
(pow.f64 (/.f64 d h) (/.f64 1 2))
11.1b
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))

series210.0ms (1.5%)

Counts
4 → 96
Calls

36 calls:

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

rewrite37.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

simplify116.0ms (0.8%)

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
208 → 119

prune316.0ms (2.2%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New9821119
Fresh011
Picked101
Done000
Total9922121
Error
10.8b
Counts
121 → 22
Alt Table
StatusErrorProgram
24.3b
(*.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))))
31.6b
(*.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))))))
33.7b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (cbrt.f64 (pow.f64 (/.f64 d l) 3/2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
38.6b
(*.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))))
23.6b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (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))))
23.7b
(*.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 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h)))))
38.5b
(*.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.3b
(*.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))))
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 1 2) (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) (/.f64 h l))))
45.7b
(*.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))))
24.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/2 (*.f64 D (/.f64 M d))) 2)) (/.f64 h l))))
24.2b
(*.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))))
24.2b
(*.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))))
44.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))))
43.9b
(*.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))))))
38.6b
(*.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))))
33.7b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 3/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))))
22.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)))
44.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))))
24.4b
(*.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)))
24.2b
(*.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))))
45.7b
(*.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))))
Compiler

Compiled 6214 to 4155 computations (33.1% saved)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.5b
(*.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)))
9.7b
(pow.f64 (/.f64 d l) (/.f64 1 2))
10.2b
(pow.f64 (/.f64 d h) (/.f64 1 2))
13.0b
(sqrt.f64 (/.f64 h l))

series324.0ms (2.3%)

Counts
2 → 36
Calls

21 calls:

38.0ms
(*.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)))
h
-inf
37.0ms
(*.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)))
M
inf
35.0ms
(*.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)))
d
0
26.0ms
(*.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)))
d
-inf
25.0ms
(*.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)))
D
inf

rewrite29.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
256×add-sqr-sqrt_binary64
248×log1p-expm1-u_binary64
248×expm1-log1p-u_binary64
243×add-cbrt-cube_binary64
241×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02650
155447
Stop Event
node limit
Counts
2 → 35

simplify39.0ms (0.3%)

Algorithm
egg-herbie
Rules
616×associate-/l*_binary64
543×associate-/r/_binary64
417×associate-/r*_binary64
237×unswap-sqr_binary64
176×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0381546
1991236
23011236
314321236
Stop Event
node limit
Counts
71 → 43

prune213.0ms (1.5%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New721385
Fresh14721
Picked101
Done000
Total8720107
Error
8.9b
Counts
107 → 20
Alt Table
StatusErrorProgram
60.5b
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l)))) (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (*.f64 M 1/2) (*.f64 (/.f64 D d) (sqrt.f64 1/2))) 2)))))
45.4b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
43.4b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (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)))
39.9b
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (*.f64 M 1/2) (*.f64 (/.f64 D d) (sqrt.f64 1/2))) 2))))) 2)
22.5b
(*.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 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
34.1b
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (*.f64 M 1/2) (*.f64 (/.f64 D d) (sqrt.f64 1/2))) 2)))) 1)
32.4b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 3/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)))
23.7b
(*.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 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h)))))
38.5b
(*.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.3b
(*.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))))
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 1 2) (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) (/.f64 h l))))
24.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/2 (*.f64 D (/.f64 M d))) 2)) (/.f64 h l))))
43.4b
(*.f64 (*.f64 (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 h))) (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)))
22.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 h l)) (cbrt.f64 (sqrt.f64 (/.f64 h l)))) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
37.7b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (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)))
27.4b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 h l) 3/2)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
22.4b
(*.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 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
44.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 d) (sqrt.f64 l))) (-.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
24.2b
(*.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))))
24.2b
(*.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))))
Compiler

Compiled 4449 to 2863 computations (35.6% saved)

localize51.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
9.7b
(pow.f64 (/.f64 d l) (/.f64 1 2))
10.2b
(pow.f64 (/.f64 d h) (/.f64 1 2))
13.0b
(sqrt.f64 (/.f64 h l))
13.6b
(cbrt.f64 (/.f64 h l))

series75.0ms (0.5%)

Counts
1 → 0
Calls

6 calls:

60.0ms
(cbrt.f64 (/.f64 h l))
l
-inf
8.0ms
(cbrt.f64 (/.f64 h l))
h
-inf
3.0ms
(cbrt.f64 (/.f64 h l))
h
inf
2.0ms
(cbrt.f64 (/.f64 h l))
h
0
1.0ms
(cbrt.f64 (/.f64 h l))
l
inf

rewrite33.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
497×log1p-expm1-u_binary64
497×expm1-log1p-u_binary64
389×unpow-prod-down_binary64
259×log-prod_binary64
134×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
11036
213456
Stop Event
node limit
Counts
1 → 50

simplify7.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
50 → 50

prune215.0ms (1.5%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New1112113
Fresh11819
Picked101
Done000
Total11320133
Error
8.9b
Counts
133 → 20
Alt Table
StatusErrorProgram
60.5b
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l)))) (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (*.f64 M 1/2) (*.f64 (/.f64 D d) (sqrt.f64 1/2))) 2)))))
45.4b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
22.5b
(*.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 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
34.1b
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (*.f64 M 1/2) (*.f64 (/.f64 D d) (sqrt.f64 1/2))) 2)))) 1)
32.4b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 3/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)))
23.7b
(*.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 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h)))))
32.6b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (cbrt.f64 (pow.f64 (/.f64 d l) 3/2))) (-.f64 1 (pow.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 h l)) (cbrt.f64 (sqrt.f64 (/.f64 h l)))) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
38.5b
(*.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.3b
(*.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))))
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 1 2) (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) (/.f64 h l))))
24.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/2 (*.f64 D (/.f64 M d))) 2)) (/.f64 h l))))
43.4b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 h l)) (cbrt.f64 (sqrt.f64 (/.f64 h l)))) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
39.9b
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (*.f64 M 1/2) (*.f64 (/.f64 D d) (sqrt.f64 1/2))) 2))))) 2)
37.7b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (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)))
27.4b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 h l) 3/2)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
22.4b
(*.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 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
44.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 d) (sqrt.f64 l))) (-.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
24.2b
(*.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))))
24.2b
(*.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))))
43.4b
(*.f64 (*.f64 (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 h))) (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 6589 to 3915 computations (40.6% saved)

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.5b
(*.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 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
9.8b
(pow.f64 (/.f64 d l) 1/4)
10.2b
(pow.f64 (/.f64 d h) (/.f64 1 2))
13.0b
(sqrt.f64 (/.f64 h l))

series711.0ms (5%)

Counts
2 → 56
Calls

21 calls:

96.0ms
(pow.f64 (/.f64 d l) 1/4)
d
inf
67.0ms
(*.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 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
M
inf
66.0ms
(pow.f64 (/.f64 d l) 1/4)
d
0
57.0ms
(pow.f64 (/.f64 d l) 1/4)
d
-inf
52.0ms
(pow.f64 (/.f64 d l) 1/4)
l
-inf

rewrite30.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
265×log1p-expm1-u_binary64
265×expm1-log1p-u_binary64
259×add-cbrt-cube_binary64
257×add-cube-cbrt_binary64
256×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02853
159749
Stop Event
node limit
Counts
2 → 28

simplify46.0ms (0.3%)

Algorithm
egg-herbie
Rules
625×associate-/l*_binary64
543×associate-/r/_binary64
237×unswap-sqr_binary64
182×distribute-rgt-neg-in_binary64
177×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0661743
11641463
24541451
318501319
Stop Event
node limit
Counts
84 → 44

prune162.0ms (1.1%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New1064110
Fresh11819
Picked101
Done000
Total10822130
Error
8.9b
Counts
130 → 22
Alt Table
StatusErrorProgram
60.5b
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l)))) (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (*.f64 M 1/2) (*.f64 (/.f64 D d) (sqrt.f64 1/2))) 2)))))
45.4b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
22.4b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (/.f64 d l) 1/4) (*.f64 (pow.f64 (/.f64 d l) 1/8) (pow.f64 (/.f64 d l) 1/8)))) (-.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
34.1b
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (*.f64 M 1/2) (*.f64 (/.f64 D d) (sqrt.f64 1/2))) 2)))) 1)
22.5b
(*.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 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
32.4b
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 3/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)))
45.7b
(*.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 (pow.f64 (*.f64 (/.f64 (sqrt.f64 h) (sqrt.f64 l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
23.7b
(*.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 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h)))))
38.5b
(*.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.3b
(*.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))))
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 1 2) (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) (/.f64 h l))))
24.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/2 (*.f64 D (/.f64 M d))) 2)) (/.f64 h l))))
43.4b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 h l)) (cbrt.f64 (sqrt.f64 (/.f64 h l)))) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
43.4b
(*.f64 (*.f64 (*.f64 (sqrt.f64 d) (sqrt.f64 (/.f64 1 h))) (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)))
43.4b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (*.f64 (pow.f64 (/.f64 d l) 1/4) (pow.f64 (/.f64 d l) 1/4))) (-.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
39.9b
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (*.f64 (/.f64 h l) (pow.f64 (*.f64 (*.f64 M 1/2) (*.f64 (/.f64 D d) (sqrt.f64 1/2))) 2))))) 2)
37.7b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (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)))
27.4b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 h l) 3/2)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
44.0b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (/.f64 (sqrt.f64 d) (sqrt.f64 l))) (-.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
24.2b
(*.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))))
22.5b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 d h)) (cbrt.f64 (sqrt.f64 (/.f64 d h)))) (*.f64 (pow.f64 (/.f64 d l) 1/4) (pow.f64 (/.f64 d l) 1/4))) (-.f64 1 (pow.f64 (*.f64 (sqrt.f64 (/.f64 h l)) (*.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) (sqrt.f64 1/2))) 2)))
24.2b
(*.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))))
Compiler

Compiled 5231 to 3193 computations (39% saved)

regimes1.8s (12.9%)

Accuracy

Total 8.5b remaining (44.1%)

Threshold costs 0b (0%)

Counts
117 → 5
Compiler

Compiled 34479 to 25872 computations (25% saved)

bsearch1.3s (9.2%)

Algorithm
binary-search
Calls

4 calls:

498.0ms
d
445.0ms
d
195.0ms
d
171.0ms
d
Steps
ItersPointRange
6.241184318453877e+90
∈ [
9.944750164152333e+83
,
2.6773216290329594e+107
]
5.16639765631e-310
∈ [
-1.317688769479051e-307
,
5.734099116400328e-293
]
-1.0053658497468265e-230
∈ [
-1.2609409771175258e-229
,
-2.369850259750058e-231
]
-2.2077046003697104e-20
∈ [
-2.648233903465289e-16
,
-1.4436711248387866e-25
]
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
065236
196236
2122236
3136236
4143236
5145236
Stop Event
saturated

end662.0ms (4.6%)

Stop Event
fuel
Compiler

Compiled 1503 to 1044 computations (30.5% saved)

Profiling

Loading profile data...