Details

Time bar (total: 15.9s)

analyze2.2s (13.7%)

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 (36.1%)

Results
3.5s13800×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)

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

prune8.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.8b
(*.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))))
8.0b
(pow.f64 (/.f64 d h) (/.f64 1 2))
10.9b
(pow.f64 (/.f64 d l) (/.f64 1 2))
13.0b
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))

series1.0s (6.5%)

Counts
4 → 144
Calls

42 calls:

63.0ms
(pow.f64 (/.f64 d h) (/.f64 1 2))
d
-inf
63.0ms
(pow.f64 (/.f64 d l) (/.f64 1 2))
d
-inf
63.0ms
(pow.f64 (/.f64 d l) (/.f64 1 2))
d
0
57.0ms
(pow.f64 (/.f64 d h) (/.f64 1 2))
h
-inf
57.0ms
(pow.f64 (/.f64 d l) (/.f64 1 2))
d
inf

rewrite38.0ms (0.2%)

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

Algorithm
egg-herbie
Rules
633×associate-/l/_binary64
225×associate-/l*_binary64
225×times-frac_binary64
147×associate-*r*_binary64
130×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0913502
12313448
26233384
328313112
Stop Event
node limit
Counts
209 → 90

prune156.0ms (1%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New741690
Fresh011
Picked101
Done000
Total751792
Error
12.3b
Counts
92 → 17
Alt Table
StatusErrorProgram
23.8b
(*.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))))
43.7b
(*.f64 d (sqrt.f64 (/.f64 (pow.f64 h -1) l)))
44.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))))
43.7b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
24.0b
(*.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)))
41.8b
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 2)) 1/2) (pow.f64 (cbrt.f64 (/.f64 d h)) 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))))
23.7b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))) 2)))
31.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 (*.f64 (*.f64 M M) 1/8) (/.f64 l h)))))
35.1b
(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)
39.8b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (sqrt.f64 d) (pow.f64 (/.f64 1 l) 1/2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
22.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 2) (/.f64 D d)) 2)) h) l)))
39.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))))))
45.8b
(fma.f64 d (sqrt.f64 (/.f64 (pow.f64 h -1) l)) (*.f64 -1/8 (/.f64 (sqrt.f64 (/.f64 h (pow.f64 l 3))) (/.f64 (/.f64 d M) (*.f64 D (*.f64 D M))))))
44.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))))
39.9b
(*.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))))
61.0b
(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))))))
23.6b
(*.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 4241 to 2743 computations (35.3% saved)

localize24.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.8b
(*.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)))
8.0b
(pow.f64 (/.f64 d h) (/.f64 1 2))
8.0b
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h) l)
10.9b
(pow.f64 (/.f64 d l) (/.f64 1 2))

series361.0ms (2.3%)

Counts
2 → 96
Calls

30 calls:

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

rewrite30.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
243×add-sqr-sqrt_binary64
235×log1p-expm1-u_binary64
235×expm1-log1p-u_binary64
231×add-cbrt-cube_binary64
229×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02462
151661
Stop Event
node limit
Counts
2 → 31

simplify83.0ms (0.5%)

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
127 → 42

prune136.0ms (0.9%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New821092
Fresh61016
Picked101
Done000
Total8920109
Error
10.7b
Counts
109 → 20
Alt Table
StatusErrorProgram
22.9b
(*.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 2) (/.f64 D d)) 2)) h) l)))
22.6b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) 2) h)) (/.f64 1 l))))
45.8b
(fma.f64 d (sqrt.f64 (/.f64 (pow.f64 h -1) l)) (*.f64 -1/8 (/.f64 (sqrt.f64 (/.f64 h (pow.f64 l 3))) (/.f64 (/.f64 d M) (*.f64 D (*.f64 D M))))))
40.4b
(*.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 2) (/.f64 D d)) 2)) h) l)))
41.9b
(*.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 2) (/.f64 D d)) 2)) 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 2) (/.f64 D d)) 2)) h) l)))
33.6b
(*.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 2) (/.f64 D d)) 2)) h) l)))
23.7b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))) 2)))
31.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 (*.f64 (*.f64 M M) 1/8) (/.f64 l h)))))
34.8b
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (/.f64 (*.f64 1/2 (pow.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) 2)) (/.f64 l h)))) 1)
39.8b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (sqrt.f64 d) (pow.f64 (/.f64 1 l) 1/2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
39.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))))))
43.7b
(*.f64 d (sqrt.f64 (/.f64 (pow.f64 h -1) l)))
43.7b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
23.0b
(*.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 2) (/.f64 D d)) 2)) h) l)))
40.3b
(*.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 2) (/.f64 D d)) 2)) h) l)))
60.0b
(*.f64 (*.f64 (log.f64 (exp.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 2) (/.f64 D d)) 2)) h) l)))
41.8b
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 2)) 1/2) (pow.f64 (cbrt.f64 (/.f64 d h)) 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))))
61.0b
(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))))))
23.6b
(*.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 4482 to 2941 computations (34.4% saved)

localize26.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.8b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) 2) h)) (/.f64 1 l))))
8.0b
(pow.f64 (/.f64 d h) (/.f64 1 2))
8.1b
(*.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) 2) h)) (/.f64 1 l))
10.9b
(pow.f64 (/.f64 d l) (/.f64 1 2))

series354.0ms (2.2%)

Counts
2 → 96
Calls

30 calls:

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

rewrite30.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
250×add-sqr-sqrt_binary64
241×log1p-expm1-u_binary64
241×expm1-log1p-u_binary64
237×add-cbrt-cube_binary64
234×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02562
153361
Stop Event
node limit
Counts
2 → 28

simplify81.0ms (0.5%)

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
124 → 39

prune130.0ms (0.8%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New86389
Fresh51419
Picked101
Done000
Total9217109
Error
10.7b
Counts
109 → 17
Alt Table
StatusErrorProgram
41.9b
(*.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 1/2 (*.f64 (pow.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) 2) h)) (/.f64 1 l))))
45.8b
(fma.f64 d (sqrt.f64 (/.f64 (pow.f64 h -1) l)) (*.f64 -1/8 (/.f64 (sqrt.f64 (/.f64 h (pow.f64 l 3))) (/.f64 (/.f64 d M) (*.f64 D (*.f64 D M))))))
33.7b
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (/.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 M (*.f64 1/2 (/.f64 D d))) 2) h)) l))) 1)
23.6b
(*.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))))
23.7b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))) 2)))
31.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 (*.f64 (*.f64 M M) 1/8) (/.f64 l h)))))
34.8b
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (/.f64 (*.f64 1/2 (pow.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) 2)) (/.f64 l h)))) 1)
39.8b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (sqrt.f64 d) (pow.f64 (/.f64 1 l) 1/2))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
39.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))))))
43.7b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
33.6b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (cbrt.f64 (pow.f64 (/.f64 d l) 3/2))) (-.f64 1 (*.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) 2) h)) (/.f64 1 l))))
40.3b
(*.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 2) (/.f64 D d)) 2)) h) l)))
40.4b
(*.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 2) (/.f64 D d)) 2)) 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 2) (/.f64 D d)) 2)) h) l)))
60.0b
(*.f64 (*.f64 (log.f64 (exp.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 2) (/.f64 D d)) 2)) h) l)))
41.8b
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 2)) 1/2) (pow.f64 (cbrt.f64 (/.f64 d h)) 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))))
61.0b
(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))))))
Compiler

Compiled 4243 to 2830 computations (33.3% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.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 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
8.0b
(pow.f64 (/.f64 d h) (/.f64 1 2))
11.0b
(pow.f64 (/.f64 d l) 1/4)
13.0b
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))

series572.0ms (3.6%)

Counts
2 → 56
Calls

21 calls:

81.0ms
(pow.f64 (/.f64 d l) 1/4)
l
inf
70.0ms
(pow.f64 (/.f64 d l) 1/4)
d
inf
64.0ms
(pow.f64 (/.f64 d l) 1/4)
d
-inf
60.0ms
(pow.f64 (/.f64 d l) 1/4)
d
0
56.0ms
(pow.f64 (/.f64 d l) 1/4)
l
-inf

rewrite41.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
257×add-sqr-sqrt_binary64
249×log1p-expm1-u_binary64
249×expm1-log1p-u_binary64
244×add-cbrt-cube_binary64
242×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02649
155347
Stop Event
node limit
Counts
2 → 30

simplify53.0ms (0.3%)

Algorithm
egg-herbie
Rules
478×associate-*r*_binary64
460×fma-def_binary64
435×associate-*l*_binary64
251×associate-/l*_binary64
155×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0561511
11291463
23111451
310411319
447101319
Stop Event
node limit
Counts
86 → 44

prune188.0ms (1.2%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New1057112
Fresh21416
Picked101
Done000
Total10821129
Error
10.7b
Counts
129 → 21
Alt Table
StatusErrorProgram
23.7b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (/.f64 d l) 1/4) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 d l)) 2) 1/4) (pow.f64 (cbrt.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.7b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
41.9b
(*.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 1/2 (*.f64 (pow.f64 (*.f64 (*.f64 M 1/2) (/.f64 D d)) 2) h)) (/.f64 1 l))))
45.8b
(fma.f64 d (sqrt.f64 (/.f64 (pow.f64 h -1) l)) (*.f64 -1/8 (/.f64 (sqrt.f64 (/.f64 h (pow.f64 l 3))) (/.f64 (/.f64 d M) (*.f64 D (*.f64 D M))))))
44.1b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (*.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))))
23.7b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l)))) 2)))
31.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2))) (-.f64 1 (*.f64 (*.f64 (/.f64 D d) (/.f64 D d)) (/.f64 (*.f64 (*.f64 M M) 1/8) (/.f64 l h)))))
40.0b
(*.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 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
39.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))))))
39.8b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (sqrt.f64 d) (pow.f64 (/.f64 1 l) 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)) (*.f64 (pow.f64 (/.f64 d l) 1/4) (cbrt.f64 (pow.f64 (/.f64 d l) 3/4)))) (-.f64 1 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
23.6b
(*.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 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
40.3b
(*.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 2) (/.f64 D d)) 2)) h) l)))
40.4b
(*.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 2) (/.f64 D d)) 2)) 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 2) (/.f64 D d)) 2)) h) l)))
60.0b
(*.f64 (*.f64 (log.f64 (exp.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 2) (/.f64 D d)) 2)) h) l)))
41.8b
(*.f64 (*.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (/.f64 d h) 2)) 1/2) (pow.f64 (cbrt.f64 (/.f64 d h)) 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))))
23.8b
(*.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 (*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))))
35.1b
(pow.f64 (*.f64 (pow.f64 (*.f64 (/.f64 d l) (/.f64 d h)) 1/2) (-.f64 1 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2) (/.f64 h l))))) 1)
61.0b
(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))))))
33.7b
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 d h) (/.f64 d l))) (-.f64 1 (/.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 M (*.f64 1/2 (/.f64 D d))) 2) h)) l))) 1)
Compiler

Compiled 5191 to 3221 computations (38% saved)

regimes2.8s (17.7%)

Accuracy

Total 8.7b remaining (46.5%)

Threshold costs 0b (0%)

Counts
180 → 3
Compiler

Compiled 52534 to 39283 computations (25.2% saved)

bsearch956.0ms (6%)

Algorithm
binary-search
Calls

2 calls:

747.0ms
l
197.0ms
l
Steps
ItersPointRange
2.7932440493458067e-69
∈ [
2.736328770159259e-69
,
8.121305587837426e-69
]
-1.7821996346274e-310
∈ [
-2.763225821813567e-287
,
2.654092803449024e-288
]
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
25×*-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
054152
182152
2108152
3129152
4147152
5156152
6160152
7161152
Stop Event
saturated

end644.0ms (4.1%)

Stop Event
fuel
Compiler

Compiled 1243 to 896 computations (27.9% saved)

Profiling

Loading profile data...