Details

Time bar (total: 13.6s)

analyze585.0ms (4.3%)

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
12.5%68.6%18.9%6
18.7%62.4%18.9%7
18.7%59.3%22%8
28.1%39%32.9%9
32.8%34.3%32.9%10
32.8%32%35.3%11
38.2%20.7%41.1%12
41%17.9%41.1%13
41%16.6%42.5%14
Compiler

Compiled 41 to 24 computations (41.5% saved)

sample2.8s (21%)

Results
2.5s7800×body256valid
198.0ms1261×body128invalid
79.0ms456×body128valid
Compiler

Compiled 122 to 71 computations (41.8% saved)

simplify171.0ms (1.3%)

Algorithm
egg-herbie
Rules
729×fma-neg_binary64
636×times-frac_binary64
620×div-sub_binary64
565×unsub-neg_binary64
481×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052
15450
214450
340648
482648
5152348
6191148
7263248
8258948
9297148
10362548
11419348
12437548
13448548
14453348
15455748
16460748
17488248
18484848
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
37.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
37.7b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
Compiler

Compiled 219 to 116 computations (47% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
9.5b
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
10.3b
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
30.4b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series1.1s (8.5%)

Counts
4 → 120
Calls

4 calls:

598.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
534.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
11.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
6.0ms
(-.f64 (*.f64 g g) (*.f64 h h))

rewrite71.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
671×prod-diff_binary64
204×add-sqr-sqrt_binary64
196×log1p-expm1-u_binary64
196×expm1-log1p-u_binary64
193×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01868
140968
2484368
3603068
Stop Event
node limit
Counts
4 → 117
Calls

4 calls:

69.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
69.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
69.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
69.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

simplify120.0ms (0.9%)

Algorithm
egg-herbie
Rules
350×associate-*r*_binary64
325×times-frac_binary64
273×fma-neg_binary64
247×*-commutative_binary64
243×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04055670
112605468
245315278
350545278
Stop Event
node limit
Counts
237 → 268

prune874.0ms (6.4%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New36319382
Fresh101
Picked101
Done000
Total36519384
Error
32.5b
Counts
384 → 19
Alt Table
StatusErrorProgram
37.5b
(+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
55.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 1 g)))))))
40.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 g g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))))
41.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2)) a) -1/2)))
42.0b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) 3)) a) -1/2)))
42.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
48.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
43.8b
(+.f64 (log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 a 2))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
45.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
55.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 (*.f64 2 g) a) 1/3)))
35.3b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
56.7b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 2 a)) (log.f64 g))))))
35.3b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 a 2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
52.8b
(+.f64 (*.f64 (cbrt.f64 -1/2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 (/.f64 -1 a)))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
35.0b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
52.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 1/2) (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (+.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 (/.f64 -1 a)))))))
Compiler

Compiled 19096 to 9930 computations (48% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.2b
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
9.5b
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
30.4b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series13.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

13.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)

rewrite53.0ms (0.4%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
0815
118815
2246614
3533214
Stop Event
node limit
Counts
1 → 99
Calls

1 calls:

51.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)

simplify58.0ms (0.4%)

Algorithm
egg-herbie
Rules
447×distribute-neg-frac_binary64
443×times-frac_binary64
253×div-sub_binary64
232×associate-/l*_binary64
229×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
083618
1249598
2787584
33540584
44802584
55086584
Stop Event
node limit
Counts
123 → 139

prune1.5s (11%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New4388446
Fresh61218
Picked101
Done000
Total44520465
Error
31.5b
Counts
465 → 20
Alt Table
StatusErrorProgram
35.3b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
46.8b
(+.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 (/.f64 (pow.f64 h 2) g)) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
43.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g g) -1/2)) (cbrt.f64 a)))
56.7b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 2 a)) (log.f64 g))))))
37.5b
(+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
46.6b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) -1/2)) (cbrt.f64 a)))
37.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))))
41.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2)) a) -1/2)))
42.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
48.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
32.6b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
43.8b
(+.f64 (log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 a 2))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
45.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.6b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2) 1/3)) -1/2)) (cbrt.f64 a)))
35.3b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 a 2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
59.0b
(+.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 g) (neg.f64 (sqrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
51.8b
(+.f64 (cbrt.f64 (/.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
40.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
39.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 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)))
42.0b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 21012 to 9780 computations (53.5% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.8b
(cbrt.f64 (*.f64 a 2))
1.2b
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
30.4b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series34.0ms (0.3%)

Counts
1 → 12
Calls

1 calls:

34.0ms
(cbrt.f64 (*.f64 a 2))

rewrite64.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
707×log1p-udef_binary64
388×log1p-expm1-u_binary64
388×expm1-log1p-u_binary64
337×pow1_binary64
300×unpow-prod-down_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
1986
210446
346366
457246
Stop Event
node limit
Counts
1 → 44
Calls

1 calls:

64.0ms
(cbrt.f64 (*.f64 a 2))

simplify118.0ms (0.9%)

Algorithm
egg-herbie
Rules
1252×sqr-pow_binary64
710×cube-prod_binary64
698×pow-sqr_binary64
694×fabs-mul_binary64
416×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
013104
125104
242104
374104
4158104
5406104
6545104
7905104
8923104
91082104
101272104
111537104
121820104
132238104
142710104
153373104
163661104
173957104
184167104
194255104
204355104
215365104
Stop Event
node limit
Counts
56 → 47

prune1.5s (10.8%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New4095414
Fresh31619
Picked101
Done000
Total41321434
Error
31.5b
Counts
434 → 21
Alt Table
StatusErrorProgram
43.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g g) -1/2)) (cbrt.f64 a)))
56.7b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 2 a)) (log.f64 g))))))
38.8b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
37.5b
(+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
46.6b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) -1/2)) (cbrt.f64 a)))
46.7b
(+.f64 (/.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) g))) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
35.3b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 a 2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
47.9b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) -1/2)) (cbrt.f64 a)))
51.8b
(+.f64 (cbrt.f64 (/.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
37.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))))
41.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2)) a) -1/2)))
46.5b
(+.f64 (/.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))) g)) 2)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
39.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 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)))
42.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
48.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
43.8b
(+.f64 (log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 a 2))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
45.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
35.3b
(+.f64 (/.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) 2)) (cbrt.f64 a)) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
32.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (*.f64 (cbrt.f64 a) (cbrt.f64 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
59.0b
(+.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 g) (neg.f64 (sqrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
40.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 18746 to 7939 computations (57.6% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(cbrt.f64 2)
1.2b
(-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)
3.0b
(-.f64 (*.f64 g g) (*.f64 h h))
30.4b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

series0.0ms (0%)

Counts
1 → 0
Calls

1 calls:

0.0ms
(cbrt.f64 2)

rewrite53.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
361×log1p-udef_binary64
216×log1p-expm1-u_binary64
216×expm1-log1p-u_binary64
214×prod-diff_binary64
213×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1583
25783
344453
452883
Stop Event
node limit
Counts
1 → 31
Calls

1 calls:

53.0ms
(cbrt.f64 2)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100
Stop Event
saturated
Counts
31 → 31

prune1.5s (11.1%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New3953398
Fresh31720
Picked011
Done000
Total39821419
Error
31.5b
Counts
419 → 21
Alt Table
StatusErrorProgram
43.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g g) -1/2)) (cbrt.f64 a)))
56.7b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 2 a)) (log.f64 g))))))
37.5b
(+.f64 (/.f64 1 (cbrt.f64 (/.f64 (*.f64 a 2) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
46.6b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (cbrt.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 3/2))) -1/2)) (cbrt.f64 a)))
46.7b
(+.f64 (/.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) g))) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
35.3b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1 (*.f64 a 2)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
32.6b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (*.f64 (cbrt.f64 a) (pow.f64 2 1/3))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
47.9b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (neg.f64 g)) -1/2)) (cbrt.f64 a)))
51.8b
(+.f64 (cbrt.f64 (/.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (neg.f64 (cbrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
32.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (*.f64 (cbrt.f64 a) (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 2))))))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
37.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))))
41.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2)) a) -1/2)))
46.5b
(+.f64 (/.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h)))) g)) 2)) (cbrt.f64 (*.f64 a 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
39.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 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)))
42.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a) -1/2)))
48.2b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
32.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (*.f64 (cbrt.f64 a) (cbrt.f64 2))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
32.8b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (*.f64 (cbrt.f64 a) (pow.f64 (cbrt.f64 (cbrt.f64 2)) 3))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
59.0b
(+.f64 (cbrt.f64 (/.f64 (fma.f64 (sqrt.f64 g) (neg.f64 (sqrt.f64 g)) (hypot.f64 g (sqrt.f64 (neg.f64 (*.f64 h h))))) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) -1/2)) (cbrt.f64 a)))
40.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (pow.f64 (pow.f64 (-.f64 (*.f64 g g) (*.f64 h h)) 1/4) 2) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.8b
(+.f64 (log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 a 2))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 17734 to 7426 computations (58.1% saved)

regimes2.3s (17.2%)

Accuracy

Total 1.6b remaining (4.9%)

Threshold costs 0b (0%)

Counts
227 → 1
Compiler

Compiled 58769 to 36552 computations (37.8% saved)

simplify3.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
0224294967295
1334294967295
2434294967295
3494294967295
4524294967295
5524294967295
Stop Event
saturated

end479.0ms (3.5%)

Compiler

Compiled 861 to 515 computations (40.2% saved)

Profiling

Loading profile data...