Details

Time bar (total: 13.8s)

analyze2.2s (15.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
12.5%87.3%0.2%4
12.5%87.3%0.2%5
12.5%87.3%0.2%6
12.5%68.6%18.9%7
12.5%62.3%25.2%8
12.5%57.7%29.9%9
12.5%57.7%29.9%10
12.5%57.7%29.9%11
12.5%52.2%35.3%12
12.9%42.1%45.1%13
13%34.3%52.7%14
Compiler

Compiled 41 to 32 computations (22% saved)

sample6.1s (44.2%)

Results
4.0s16704×body128invalid
2.1s8256×body128valid
Compiler

Compiled 82 to 64 computations (22% saved)

preprocess38.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)

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

prune7.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
28.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
28.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 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
28.6b
(*.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
8.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 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
10.5b
(pow.f64 (/.f64 d h) (/.f64 1 2))
12.3b
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))
13.9b
(pow.f64 (/.f64 d l) (/.f64 1 2))

series452.0ms (3.3%)

Counts
4 → 96
Calls

42 calls:

34.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))
h
-inf
34.0ms
(*.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))))
M
inf
30.0ms
(*.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))))
l
-inf
26.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))
h
inf
20.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))
l
inf

rewrite38.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
242×add-sqr-sqrt_binary64
232×log1p-expm1-u_binary64
232×expm1-log1p-u_binary64
228×add-cbrt-cube_binary64
226×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02474
151073
Stop Event
node limit
Counts
4 → 65

simplify85.0ms (0.6%)

Algorithm
egg-herbie
Rules
703×associate-/r/_binary64
609×associate-/l/_binary64
434×*-commutative_binary64
250×fma-def_binary64
225×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0422790
11222736
23592736
321022736
449152736
Stop Event
node limit
Counts
161 → 76

prune155.0ms (1.1%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New571976
Fresh101
Picked101
Done000
Total591978
Error
12.4b
Counts
78 → 19
Alt Table
StatusErrorProgram
28.6b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))) 1)))
59.7b
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l)))) (-.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))))
43.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 M M) (*.f64 (/.f64 (*.f64 D (*.f64 1/8 D)) (*.f64 d d)) (/.f64 h l)))))
42.1b
(*.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))))
45.6b
(*.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))))
45.8b
(*.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))))))
28.5b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 d l)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 d l)) 1/2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
29.5b
(*.f64 (*.f64 (expm1.f64 (log1p.f64 (sqrt.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))))
27.9b
(*.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))))
28.6b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))) 3)))
28.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 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
44.1b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
49.8b
(-.f64 (*.f64 d (sqrt.f64 (/.f64 1 (*.f64 l h)))) (*.f64 1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3))))))
34.7b
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))) 1)
59.0b
(/.f64 (*.f64 (*.f64 (*.f64 D D) (*.f64 M M)) (*.f64 -1/8 (sqrt.f64 (/.f64 h (pow.f64 l 3))))) d)
42.1b
(*.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))))
45.3b
(*.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))))
28.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 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h) l)))
28.4b
(*.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))))
Compiler

Compiled 3909 to 2547 computations (34.8% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.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))))
10.6b
(sqrt.f64 (/.f64 h d))
12.3b
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))
13.9b
(pow.f64 (/.f64 d l) (/.f64 1 2))

series189.0ms (1.4%)

Counts
2 → 33
Calls

21 calls:

21.0ms
(*.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))))
h
-inf
16.0ms
(*.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))))
D
-inf
14.0ms
(*.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))))
D
inf
13.0ms
(*.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))))
M
inf
13.0ms
(*.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))))
M
-inf

rewrite32.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
255×add-sqr-sqrt_binary64
241×log1p-expm1-u_binary64
241×expm1-log1p-u_binary64
238×add-cbrt-cube_binary64
237×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02547
153247
Stop Event
node limit
Counts
2 → 35

simplify45.0ms (0.3%)

Algorithm
egg-herbie
Rules
469×associate-*r*_binary64
416×associate-*l*_binary64
300×cancel-sign-sub-inv_binary64
264×unswap-sqr_binary64
256×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0301164
1721116
21901116
36821116
435491116
Stop Event
node limit
Counts
68 → 43

prune196.0ms (1.4%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New73780
Fresh51318
Picked101
Done000
Total792099
Error
12.2b
Counts
99 → 20
Alt Table
StatusErrorProgram
45.9b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (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 (pow.f64 d 2) l)))))
59.7b
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l)))) (-.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))))
28.6b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))) 1)))
45.3b
(*.f64 (*.f64 (/.f64 1 (/.f64 (sqrt.f64 h) (sqrt.f64 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))))
27.9b
(*.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 2) (/.f64 D d)) 2)) h) l)))
28.2b
(pow.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 d l)) (sqrt.f64 (/.f64 h d))) (-.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))) 1)
59.0b
(/.f64 (*.f64 (*.f64 (*.f64 D D) (*.f64 M M)) (*.f64 -1/8 (sqrt.f64 (/.f64 h (pow.f64 l 3))))) d)
41.7b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (/.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))))
43.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 M M) (*.f64 (/.f64 (*.f64 D (*.f64 1/8 D)) (*.f64 d d)) (/.f64 h l)))))
42.1b
(*.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))))
28.5b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 d l)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 d l)) 1/2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
29.5b
(*.f64 (*.f64 (expm1.f64 (log1p.f64 (sqrt.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))))
28.6b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))) 3)))
28.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 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
44.1b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
49.8b
(-.f64 (*.f64 d (sqrt.f64 (/.f64 1 (*.f64 l h)))) (*.f64 1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3))))))
59.1b
(/.f64 (neg.f64 d) (*.f64 h l))
45.6b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (/.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.1b
(*.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))))
28.4b
(*.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))))
Compiler

Compiled 4040 to 2577 computations (36.2% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.0b
(*.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h)
8.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 2) (/.f64 D d)) 2)) h) l)))
10.6b
(sqrt.f64 (/.f64 h d))
13.9b
(pow.f64 (/.f64 d l) (/.f64 1 2))

series291.0ms (2.1%)

Counts
2 → 81
Calls

27 calls:

21.0ms
(*.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h)
h
-inf
16.0ms
(*.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 2) (/.f64 D d)) 2)) h) l)))
D
inf
14.0ms
(*.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 2) (/.f64 D d)) 2)) h) l)))
d
0
14.0ms
(*.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 2) (/.f64 D d)) 2)) h) l)))
M
-inf
14.0ms
(*.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 2) (/.f64 D d)) 2)) h) l)))
D
-inf

rewrite31.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
255×add-sqr-sqrt_binary64
243×log1p-expm1-u_binary64
243×expm1-log1p-u_binary64
240×add-cbrt-cube_binary64
237×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02560
153760
Stop Event
node limit
Counts
2 → 28

simplify69.0ms (0.5%)

Algorithm
egg-herbie
Rules
540×associate-/r*_binary64
418×associate-*l/_binary64
391×associate-/r/_binary64
340×associate-*r/_binary64
280×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0392220
1982172
22762172
313092172
447792172
Stop Event
node limit
Counts
109 → 39

prune126.0ms (0.9%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New73578
Fresh21719
Picked101
Done000
Total762298
Error
11.3b
Counts
98 → 22
Alt Table
StatusErrorProgram
45.9b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (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 (pow.f64 d 2) l)))))
59.7b
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l)))) (-.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))))
45.3b
(*.f64 (*.f64 (/.f64 1 (/.f64 (sqrt.f64 h) (sqrt.f64 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))))
28.2b
(pow.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 d l)) (sqrt.f64 (/.f64 h d))) (-.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))) 1)
59.2b
(/.f64 (neg.f64 (/.f64 d l)) h)
28.1b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (*.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 2) (/.f64 D d)) 2)) h) l)))
43.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 M M) (*.f64 (/.f64 (*.f64 D (*.f64 1/8 D)) (*.f64 d d)) (/.f64 h l)))))
36.3b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 (pow.f64 (sqrt.f64 (*.f64 h (*.f64 1/2 (pow.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) 2)))) 2) l)))
42.1b
(*.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))))
45.4b
(*.f64 (*.f64 (/.f64 1 (/.f64 (sqrt.f64 h) (sqrt.f64 d))) (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)))
40.7b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 l)))) (-.f64 1 (/.f64 (*.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h) l)))
28.5b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 d l)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 d l)) 1/2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
29.5b
(*.f64 (*.f64 (expm1.f64 (log1p.f64 (sqrt.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))))
28.6b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))) 3)))
28.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 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
44.1b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
49.8b
(-.f64 (*.f64 d (sqrt.f64 (/.f64 1 (*.f64 l h)))) (*.f64 1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3))))))
59.1b
(/.f64 (neg.f64 d) (*.f64 h l))
45.6b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (/.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))))
59.0b
(/.f64 (*.f64 (*.f64 (*.f64 D D) (*.f64 M M)) (*.f64 -1/8 (sqrt.f64 (/.f64 h (pow.f64 l 3))))) d)
42.1b
(*.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))))
28.4b
(*.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))))
Compiler

Compiled 3997 to 2581 computations (35.4% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.6b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (*.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 2) (/.f64 D d)) 2)) h) l)))
10.6b
(sqrt.f64 (/.f64 h d))
13.9b
(sqrt.f64 (/.f64 d l))
14.5b
(cbrt.f64 (/.f64 d l))

series370.0ms (2.7%)

Counts
3 → 32
Calls

27 calls:

59.0ms
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (*.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 2) (/.f64 D d)) 2)) h) l)))
d
-inf
52.0ms
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (*.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 2) (/.f64 D d)) 2)) h) l)))
l
-inf
48.0ms
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (*.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 2) (/.f64 D d)) 2)) h) l)))
d
inf
43.0ms
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (*.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 2) (/.f64 D d)) 2)) h) l)))
h
inf
15.0ms
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (*.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 2) (/.f64 D d)) 2)) h) l)))
M
0

rewrite36.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
256×log1p-expm1-u_binary64
256×expm1-log1p-u_binary64
255×add-cbrt-cube_binary64
252×add-cube-cbrt_binary64
250×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02753
159553
Stop Event
node limit
Counts
3 → 64

simplify46.0ms (0.3%)

Algorithm
egg-herbie
Rules
476×associate-*r*_binary64
420×associate-*l*_binary64
300×cancel-sign-sub-inv_binary64
264×unswap-sqr_binary64
242×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0271155
1631107
21601107
36231107
434561107
Stop Event
node limit
Counts
96 → 70

prune97.0ms (0.7%)

Pruning

23 alts after pruning (22 fresh and 1 done)

PrunedKeptTotal
New90191
Fresh02121
Picked011
Done000
Total9023113
Error
11.3b
Counts
113 → 23
Alt Table
StatusErrorProgram
45.9b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (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 (pow.f64 d 2) l)))))
59.7b
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l)))) (-.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))))
45.3b
(*.f64 (*.f64 (/.f64 1 (/.f64 (sqrt.f64 h) (sqrt.f64 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))))
28.2b
(pow.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 d l)) (sqrt.f64 (/.f64 h d))) (-.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))) 1)
59.2b
(/.f64 (neg.f64 (/.f64 d l)) h)
28.1b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (*.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 2) (/.f64 D d)) 2)) h) l)))
43.2b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 M M) (*.f64 (/.f64 (*.f64 D (*.f64 1/8 D)) (*.f64 d d)) (/.f64 h l)))))
36.3b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (/.f64 (pow.f64 (sqrt.f64 (*.f64 h (*.f64 1/2 (pow.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) 2)))) 2) l)))
42.1b
(*.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))))
45.4b
(*.f64 (*.f64 (/.f64 1 (/.f64 (sqrt.f64 h) (sqrt.f64 d))) (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)))
40.7b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 l)))) (-.f64 1 (/.f64 (*.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h) l)))
28.5b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 d l)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 d l)) 1/2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
29.5b
(*.f64 (*.f64 (expm1.f64 (log1p.f64 (sqrt.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))))
28.6b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))) 3)))
28.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 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
44.1b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
49.8b
(-.f64 (*.f64 d (sqrt.f64 (/.f64 1 (*.f64 l h)))) (*.f64 1/8 (*.f64 (/.f64 (*.f64 (pow.f64 D 2) (pow.f64 M 2)) d) (sqrt.f64 (/.f64 h (pow.f64 l 3))))))
59.1b
(/.f64 (neg.f64 d) (*.f64 h l))
45.6b
(*.f64 (*.f64 (/.f64 1 (sqrt.f64 (/.f64 h d))) (/.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))))
59.0b
(/.f64 (*.f64 (*.f64 (*.f64 D D) (*.f64 M M)) (*.f64 -1/8 (sqrt.f64 (/.f64 h (pow.f64 l 3))))) d)
42.1b
(*.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))))
28.3b
(*.f64 (*.f64 (/.f64 1 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 h d)) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 h d)) 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 2) (/.f64 D d)) 2)) h) l)))
28.4b
(*.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))))
Compiler

Compiled 4092 to 2236 computations (45.4% saved)

regimes1.8s (12.7%)

Accuracy

Total 7.9b remaining (43.9%)

Threshold costs 0b (0%)

Counts
117 → 4
Compiler

Compiled 32470 to 24520 computations (24.5% saved)

bsearch862.0ms (6.2%)

Algorithm
binary-search
Calls

3 calls:

353.0ms
h
342.0ms
h
162.0ms
h
Steps
ItersPointRange
5.057362700240132e-19
∈ [
4.972492460805193e-19
,
1.604873698060636e-17
]
1.76573110744144e-310
∈ [
-1.3802093311155738e-306
,
3.0034210439061725e-291
]
-5.088748267859237e-188
∈ [
-5.143283188028266e-188
,
-7.407462279616756e-194
]
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
26×*-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
062174
193174
2121174
3142174
4158174
5165174
6168174
7169174
Stop Event
saturated

end495.0ms (3.6%)

Stop Event
fuel
Compiler

Compiled 1287 to 926 computations (28% saved)

Profiling

Loading profile data...