Details

Time bar (total: 10.6s)

analyze724.0ms (6.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
6.2%74.9%18.9%6
9.4%71.8%18.9%7
14%64%22%8
20.3%46.8%32.9%9
22.6%44.5%32.9%10
27.7%37.1%35.3%11
32%26.9%41.1%12
34%24.9%41.1%13
37.5%20%42.5%14
Compiler

Compiled 41 to 24 computations (41.5% saved)

sample2.8s (26.7%)

Results
2.5s7797×body256valid
207.0ms1196×body128invalid
84.0ms459×body128valid
Compiler

Compiled 82 to 48 computations (41.5% saved)

preprocess33.0ms (0.3%)

Algorithm
egg-herbie
Rules
371×fma-def_binary64
300×associate-/l*_binary64
260×distribute-rgt-in_binary64
256×times-frac_binary64
255×div-sub_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054208
1165200
2545200
31762192
033
Stop Event
saturated
node limit
Compiler

Compiled 40 to 23 computations (42.5% saved)

simplify30.0ms (0.3%)

Algorithm
egg-herbie
Rules
725×fma-neg_binary64
355×fma-def_binary64
203×distribute-rgt-in_binary64
194×associate-/l*_binary64
192×div-sub_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052
15450
215450
347848
4127948
5258148
6382348
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
37.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
37.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
Compiler

Compiled 139 to 70 computations (49.6% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
8.1b
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))
9.3b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
30.6b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series282.0ms (2.7%)

Counts
4 → 60
Calls

30 calls:

45.0ms
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
h
0
26.0ms
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
g
inf
26.0ms
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
g
0
20.0ms
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
h
-inf
19.0ms
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
h
inf

rewrite46.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
196×add-sqr-sqrt_binary64
189×add-cbrt-cube_binary64
189×log1p-expm1-u_binary64
189×expm1-log1p-u_binary64
185×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01868
140868
Stop Event
node limit
Counts
4 → 115

simplify55.0ms (0.5%)

Algorithm
egg-herbie
Rules
854×times-frac_binary64
533×cancel-sign-sub-inv_binary64
274×fma-neg_binary64
184×associate-*r*_binary64
138×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02002269
16392190
223292168
Stop Event
node limit
Counts
175 → 183

prune589.0ms (5.6%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New28414298
Fresh000
Picked101
Done000
Total28514299
Error
33.4b
Counts
299 → 14
Alt Table
StatusErrorProgram
44.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 2))))
52.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (pow.f64 h 2) g))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
45.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a))))
47.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (-.f64 (*.f64 1/2 (/.f64 (pow.f64 h 2) g)) g)) (/.f64 -1/2 a))))
35.6b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
37.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 3))
35.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
35.8b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
46.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
54.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (/.f64 1 (/.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (-.f64 (pow.f64 g 6) (pow.f64 h 6))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
41.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
42.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
42.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
Compiler

Compiled 13955 to 6758 computations (51.6% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.6b
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
9.3b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))
30.6b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series12.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

4.0ms
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
g
-inf
2.0ms
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
g
0
2.0ms
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
g
inf
2.0ms
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
h
0
1.0ms
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
h
-inf

rewrite43.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
693×fma-def_binary64
336×fma-neg_binary64
164×expm1-udef_binary64
164×log1p-udef_binary64
149×log-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0815
118915
2282014
Stop Event
node limit
Counts
1 → 51

simplify37.0ms (0.4%)

Algorithm
egg-herbie
Rules
521×fma-neg_binary64
463×times-frac_binary64
439×distribute-neg-frac_binary64
231×associate-/r*_binary64
229×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
073575
1228557
2705547
33695543
Stop Event
node limit
Counts
75 → 90

prune962.0ms (9.1%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New3508358
Fresh4913
Picked101
Done000
Total35517372
Error
31.9b
Counts
372 → 17
Alt Table
StatusErrorProgram
44.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 2))))
33.5b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
52.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (pow.f64 h 2) g))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
38.0b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
44.6b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 (/.f64 h g) h)) (/.f64 -1/2 a))))
54.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (/.f64 1 (/.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (-.f64 (pow.f64 g 6) (pow.f64 h 6))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
44.9b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2)) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
41.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
41.2b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
37.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)))) 3))
42.8b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (neg.f64 g) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
39.8b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
46.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
42.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
42.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
45.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a))))
33.6b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1/2 a))))
Compiler

Compiled 16423 to 7599 computations (53.7% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.4b
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
1.6b
(+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))
2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
30.6b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series11.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

2.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
g
inf
2.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
h
0
2.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
g
0
2.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
g
-inf
1.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
h
-inf

rewrite50.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
747×fma-def_binary64
325×fma-neg_binary64
166×expm1-udef_binary64
166×log1p-udef_binary64
150×log-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0815
119015
2281614
Stop Event
node limit
Counts
1 → 96

simplify40.0ms (0.4%)

Algorithm
egg-herbie
Rules
447×distribute-neg-frac_binary64
443×times-frac_binary64
231×associate-/l*_binary64
229×fma-def_binary64
215×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
083618
1257598
2841584
34127584
Stop Event
node limit
Counts
120 → 136

prune1.6s (15.2%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New44610456
Fresh51116
Picked101
Done000
Total45221473
Error
31.7b
Counts
473 → 21
Alt Table
StatusErrorProgram
44.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 2))))
52.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (pow.f64 h 2) g))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
42.8b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (neg.f64 g) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
57.6b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 (sqrt.f64 (+.f64 g h)) (sqrt.f64 (-.f64 g h)) (neg.f64 g)))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
44.3b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 (/.f64 h g) h)) -1/2)) (cbrt.f64 a)))
46.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
40.1b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
43.2b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) -1/2)) (cbrt.f64 a)))
38.0b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
54.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (/.f64 1 (/.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (-.f64 (pow.f64 g 6) (pow.f64 h 6))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
61.1b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 (sqrt.f64 g) (neg.f64 (sqrt.f64 g)) (hypot.f64 g (sqrt.f64 (*.f64 h (neg.f64 h))))))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
40.4b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) -1/2)) (cbrt.f64 a)))
41.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
33.5b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
42.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
52.2b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (*.f64 h (neg.f64 h))))))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
50.0b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
45.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a))))
51.6b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (-.f64 (hypot.f64 g (sqrt.f64 (*.f64 h (neg.f64 h)))) g) 3)))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
42.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
33.6b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1/2 a))))
Compiler

Compiled 20642 to 8773 computations (57.5% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.8b
(-.f64 (*.f64 g g) (*.f64 h h))
3.5b
(fma.f64 g g (*.f64 h (neg.f64 h)))
30.6b
(sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h))))
30.6b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series20.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

3.0ms
(sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h))))
g
-inf
3.0ms
(sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h))))
g
0
2.0ms
(sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h))))
h
-inf
2.0ms
(sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h))))
h
inf
2.0ms
(sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h))))
g
inf

rewrite47.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
486×log1p-expm1-u_binary64
486×expm1-log1p-u_binary64
379×unpow-prod-down_binary64
263×log-prod_binary64
145×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0722
114211
2174311
Stop Event
node limit
Counts
2 → 131

simplify46.0ms (0.4%)

Algorithm
egg-herbie
Rules
976×fma-neg_binary64
685×times-frac_binary64
307×associate-/l*_binary64
290×associate-/r*_binary64
193×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
076878
1240868
2801848
34812848
Stop Event
node limit
Counts
179 → 175

prune1.0s (9.6%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New2846290
Fresh71320
Picked101
Done000
Total29219311
Error
31.6b
Counts
311 → 19
Alt Table
StatusErrorProgram
44.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a)) 2))))
52.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (-.f64 g (*.f64 1/2 (/.f64 (pow.f64 h 2) g))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
43.2b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (fma.f64 g g (*.f64 h (neg.f64 h)))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) -1/2)) (cbrt.f64 a)))
39.9b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 g h))) 2) 3) (cbrt.f64 (hypot.f64 g h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
44.3b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 (/.f64 h g) h)) -1/2)) (cbrt.f64 a)))
46.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
41.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
38.7b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (pow.f64 (cbrt.f64 (hypot.f64 g h)) 3) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
40.4b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) -1/2)) (cbrt.f64 a)))
50.0b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
40.3b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (exp.f64 (log.f64 (hypot.f64 g h))) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
45.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) (/.f64 -1/2 a))))
35.9b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (*.f64 (sqrt.f64 (sqrt.f64 (hypot.f64 g h))) (pow.f64 (*.f64 (sqrt.f64 (hypot.f64 g h)) (hypot.f64 g h)) 1/2)) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
33.6b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 a)) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1/2 a))))
42.8b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (neg.f64 g) g))) (cbrt.f64 a)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
36.7b
(+.f64 (/.f64 (cbrt.f64 (*.f64 1/2 (-.f64 (pow.f64 (sqrt.f64 (hypot.f64 g h)) 2) g))) (cbrt.f64 a)) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
54.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (/.f64 1 (/.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (pow.f64 (*.f64 g h) 2))) (-.f64 (pow.f64 g 6) (pow.f64 h 6))))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
42.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2) (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 -1/2 a))))
42.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (/.f64 -1/2 a))))
Compiler

Compiled 13108 to 5868 computations (55.2% saved)

regimes1.7s (15.6%)

Accuracy

Total 1.7b remaining (5.4%)

Threshold costs 0b (0%)

Counts
174 → 1
Compiler

Compiled 46003 to 29185 computations (36.6% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02452
13952
24752
35252
45452
Stop Event
saturated

end361.0ms (3.4%)

Stop Event
fuel
Compiler

Compiled 798 to 488 computations (38.8% saved)

Profiling

Loading profile data...