Details

Time bar (total: 12.7s)

analyze2.2s (17.4%)

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.9s (46.6%)

Symmetry

(sort M D)

Results
3.6s13800×body128invalid
2.2s8256×body128valid
Compiler

Compiled 122 to 95 computations (22.1% 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

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

series371.0ms (2.9%)

Counts
4 → 96
Calls

4 calls:

176.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))
171.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))))
13.0ms
(pow.f64 (/.f64 d l) (/.f64 1 2))
11.0ms
(pow.f64 (/.f64 d h) (/.f64 1 2))

rewrite42.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
Calls

4 calls:

39.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))))
39.0ms
(pow.f64 (/.f64 d h) (/.f64 1 2))
39.0ms
(pow.f64 (/.f64 d l) (/.f64 1 2))
39.0ms
(*.f64 (*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2)) (/.f64 h l))

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

prune115.0ms (0.9%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New611576
Fresh101
Picked101
Done000
Total631578
Error
12.8b
Counts
78 → 15
Alt Table
StatusErrorProgram
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))))
23.8b
(*.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))))
42.5b
(cbrt.f64 (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))))) 3))
43.7b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
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))))))
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))))
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)
33.5b
(*.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))))
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))))))
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))))
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))))
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)))
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)))
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))))
Compiler

Compiled 3629 to 2339 computations (35.5% saved)

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

series352.0ms (2.8%)

Counts
2 → 96
Calls

2 calls:

183.0ms
(/.f64 (*.f64 (*.f64 1/2 (pow.f64 (*.f64 (/.f64 M 2) (/.f64 D d)) 2)) h) l)
169.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)))

rewrite31.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
Calls

2 calls:

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

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

prune116.0ms (0.9%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New70878
Fresh5914
Picked101
Done000
Total761793
Error
11.2b
Counts
93 → 17
Alt Table
StatusErrorProgram
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))))))
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)))
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))))
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)
42.5b
(cbrt.f64 (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))))) 3))
43.7b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
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))))))
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))))
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)))
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))))
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)))
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)))
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))))
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)))
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)))
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)))
Compiler

Compiled 3796 to 2469 computations (35% saved)

localize29.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 (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)))
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)
11.4b
(cbrt.f64 (/.f64 d l))

series235.0ms (1.9%)

Counts
2 → 36
Calls

2 calls:

209.0ms
(*.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)))
25.0ms
(cbrt.f64 (/.f64 d l))

rewrite29.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02848
158946
Stop Event
node limit
Counts
2 → 37
Calls

2 calls:

28.0ms
(*.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)))
28.0ms
(cbrt.f64 (/.f64 d l))

simplify44.0ms (0.4%)

Algorithm
egg-herbie
Rules
469×associate-*r*_binary64
447×cancel-sign-sub-inv_binary64
425×associate-*l*_binary64
264×unswap-sqr_binary64
242×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0301292
1751244
21901244
36691244
435151244
Stop Event
node limit
Counts
73 → 47

prune144.0ms (1.1%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New1046110
Fresh41216
Picked101
Done000
Total10918127
Error
10.6b
Counts
127 → 18
Alt Table
StatusErrorProgram
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))))
22.9b
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (pow.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 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)))
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))))
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)
42.5b
(cbrt.f64 (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))))) 3))
43.7b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
23.1b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 d h)) (cbrt.f64 (sqrt.f64 (/.f64 d h)))) (*.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)))
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))))
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)))
40.5b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (*.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)))
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))))
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.3b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (*.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)))
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))))))
52.6b
(fma.f64 (*.f64 M M) (*.f64 (sqrt.f64 (/.f64 h (pow.f64 l 3))) (*.f64 1/8 (*.f64 (/.f64 D d) D))) (*.f64 d (neg.f64 (sqrt.f64 (/.f64 1 (*.f64 h l))))))
46.1b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 h l))) (neg.f64 d))
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)))
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)))
Compiler

Compiled 5749 to 3593 computations (37.5% saved)

localize31.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 (pow.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 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)))
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)
11.4b
(cbrt.f64 (/.f64 d l))

series227.0ms (1.8%)

Counts
1 → 36
Calls

1 calls:

227.0ms
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (pow.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 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)))

rewrite27.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
276×log1p-expm1-u_binary64
276×expm1-log1p-u_binary64
271×add-cbrt-cube_binary64
269×add-cube-cbrt_binary64
263×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03142
165240
Stop Event
node limit
Counts
1 → 12
Calls

1 calls:

26.0ms
(*.f64 (*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (*.f64 (pow.f64 (pow.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 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)))

simplify44.0ms (0.3%)

Algorithm
egg-herbie
Rules
469×associate-*r*_binary64
447×cancel-sign-sub-inv_binary64
425×associate-*l*_binary64
264×unswap-sqr_binary64
242×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0301292
1751244
21901244
36691244
435151244
Stop Event
node limit
Counts
48 → 22

prune97.0ms (0.8%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New84185
Fresh11617
Picked101
Done000
Total8617103
Error
10.6b
Counts
103 → 17
Alt Table
StatusErrorProgram
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))))
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)
46.1b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 h l))) (neg.f64 d))
42.3b
(*.f64 (*.f64 (/.f64 (sqrt.f64 (neg.f64 d)) (sqrt.f64 (neg.f64 h))) (*.f64 (pow.f64 (pow.f64 (/.f64 (cbrt.f64 d) (cbrt.f64 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)))
42.5b
(cbrt.f64 (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))))) 3))
43.7b
(*.f64 (sqrt.f64 (/.f64 1 (*.f64 l h))) d)
23.1b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 d h)) (cbrt.f64 (sqrt.f64 (/.f64 d h)))) (*.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)))
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))))
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)))
40.5b
(*.f64 (*.f64 (/.f64 (sqrt.f64 d) (sqrt.f64 h)) (*.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)))
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))))
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)))
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.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))))
52.6b
(fma.f64 (*.f64 M M) (*.f64 (sqrt.f64 (/.f64 h (pow.f64 l 3))) (*.f64 1/8 (*.f64 (/.f64 D d) D))) (*.f64 d (neg.f64 (sqrt.f64 (/.f64 1 (*.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)))
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)))
Compiler

Compiled 3999 to 2410 computations (39.7% saved)

regimes1.4s (10.8%)

Accuracy

Total 7.5b remaining (42.5%)

Threshold costs 0b (0%)

Counts
98 → 3
Compiler

Compiled 27343 to 20491 computations (25.1% saved)

bsearch458.0ms (3.6%)

Steps
ItersRangePoint
5
2.736328770159259e-69
8.121305587837426e-69
4.820219395017622e-69
7
-3.4930118362846327e-129
-6.855183360026509e-131
-2.3875216497193884e-129
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
059171
188171
2114171
3134171
4150171
5157171
6160171
7161171
Stop Event
saturated

end578.0ms (4.6%)

Compiler

Compiled 1093 to 788 computations (27.9% saved)

Profiling

Loading profile data...