Details

Time bar (total: 8.2s)

analyze671.0ms (8.2%)

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)

sample75.0ms (0.9%)

Algorithm
intervals
Results
56.0ms235×body256valid
5.0ms48×body128nan
2.0ms21×body128valid
Compiler

Compiled 84 to 50 computations (40.5% saved)

simplify212.0ms (2.6%)

Algorithm
egg-herbie
Rules
637×associate-/l*_binary64
634×div-sub_binary64
582×unsub-neg_binary64
519×sub-neg_binary64
502×times-frac_binary64
Counts
1 → 1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02052
15350
213950
338148
473548
5118948
6140948
7189348
8185348
9223548
10288948
11345748
12363948
13374948
14379748
15382148
16387148
17485848
18479948
19498048
20483448

prune4.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
37.2b
Counts
2 → 2
Alt Table
StatusErrorProgram
37.3b
(+.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.3b
(+.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 182 to 100 computations (45.1% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

8.8b
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
10.1b
(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)))
30.4b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite126.0ms (1.5%)

Algorithm
rewrite-expression-head
Error
32.9b
Rules
14×add-sqr-sqrt_binary64
11×cbrt-prod_binary64
10×*-un-lft-identity_binary64
sqrt-prod_binary64
add-cube-cbrt_binary64
Counts
4 → 61
Calls

4 calls:

8.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
6.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
3.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
3.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2348 to 702 computations (70.1% saved)

series234.0ms (2.9%)

Error
32.5b
Counts
4 → 35
Calls

4 calls:

79.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
75.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
19.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
18.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3786 to 2621 computations (30.8% saved)

simplify153.0ms (1.9%)

Algorithm
egg-herbie
Rules
254×exp-sum_binary64
241×unswap-sqr_binary64
219×associate-*r*_binary64
218×cancel-sign-sub-inv_binary64
202×sub-neg_binary64
Counts
96 → 56
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02192137
14552083
29962049
331391957
448011952
549831952
649991952
748841952

prune85.0ms (1%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New431356
Fresh101
Picked101
Done000
Total451358
Error
32.1b
Counts
58 → 13
Alt Table
StatusErrorProgram
48.6b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (neg.f64 g) (/.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.0b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))
50.0b
(+.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 -1 g) (*.f64 -1/2 (/.f64 (*.f64 h h) a))))))
34.9b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
35.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
37.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
45.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (exp.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
49.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 (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))) a) -1/2)))
53.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
43.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.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.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (sqrt.f64 (+.f64 (*.f64 h h) (*.f64 g g)))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.3b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 2675 to 1219 computations (54.4% saved)

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

4.4b
(-.f64 (*.f64 g g) (*.f64 h h))
10.1b
(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)))
30.4b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite151.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
32.1b
Rules
sqrt-prod_binary64
add-sqr-sqrt_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
add-log-exp_binary64
Counts
4 → 55
Calls

4 calls:

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

Compiled 2167 to 675 computations (68.9% saved)

series198.0ms (2.4%)

Error
31.3b
Counts
4 → 37
Calls

4 calls:

80.0ms
(cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2))
23.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
20.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
18.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3294 to 2250 computations (31.7% saved)

simplify68.0ms (0.8%)

Algorithm
egg-herbie
Rules
622×associate-/l*_binary64
250×unswap-sqr_binary64
202×associate-*l*_binary64
194×associate-*r*_binary64
184×exp-sum_binary64
Counts
92 → 59
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01521486
13161405
27371393
324531349
449461349

prune119.0ms (1.5%)

Pruning

14 alts after pruning (14 fresh and 0 done)

PrunedKeptTotal
New56359
Fresh11112
Picked101
Done000
Total581472
Error
31.3b
Counts
72 → 14
Alt Table
StatusErrorProgram
45.0b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (neg.f64 g) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.6b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (neg.f64 g) (/.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.1b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 -1 g) (*.f64 -1/2 (/.f64 (*.f64 h h) a))))))
43.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.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.0b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))
35.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
37.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
45.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (exp.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
49.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 (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))) a) -1/2)))
40.7b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
53.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (sqrt.f64 (+.f64 (*.f64 h h) (*.f64 g g)))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.3b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 2735 to 1271 computations (53.5% saved)

localize20.0ms (0.3%)

Local error

Found 4 expressions with local error:

4.4b
(-.f64 (*.f64 g g) (*.f64 h h))
8.8b
(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)))
30.4b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite156.0ms (1.9%)

Algorithm
rewrite-expression-head
Error
31.3b
Rules
14×add-sqr-sqrt_binary64
10×cbrt-prod_binary64
10×*-un-lft-identity_binary64
sqrt-prod_binary64
add-cube-cbrt_binary64
Counts
4 → 64
Calls

4 calls:

6.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
3.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
3.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
3.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
Compiler

Compiled 2507 to 788 computations (68.6% saved)

series195.0ms (2.4%)

Error
31.2b
Counts
4 → 38
Calls

4 calls:

75.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
23.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
18.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
17.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3469 to 2383 computations (31.3% saved)

simplify131.0ms (1.6%)

Algorithm
egg-herbie
Rules
268×unswap-sqr_binary64
249×associate-*r*_binary64
234×associate-*l*_binary64
219×exp-sum_binary64
214×cancel-sign-sub-inv_binary64
Counts
102 → 59
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01861955
13881874
28991852
331481804
448131803
549021803

prune134.0ms (1.6%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New55459
Fresh11213
Picked101
Done000
Total571673
Error
31.3b
Counts
73 → 16
Alt Table
StatusErrorProgram
45.0b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (neg.f64 g) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.6b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (neg.f64 g) (/.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.4b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))) (cbrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
47.1b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
48.1b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 -1 g) (*.f64 -1/2 (/.f64 (*.f64 h h) a))))))
43.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.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.0b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.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 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))
45.7b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))) (cbrt.f64 a)))
51.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
56.0b
(+.f64 (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (neg.f64 (*.f64 h h))) a)) (cbrt.f64 1/2)) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
45.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (exp.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
49.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 (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))) a) -1/2)))
40.7b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
49.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (sqrt.f64 (+.f64 (*.f64 h h) (*.f64 g g)))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.3b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 2737 to 1343 computations (50.9% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

8.8b
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
10.1b
(cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))
30.4b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
30.4b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite337.0ms (4.1%)

Algorithm
rewrite-expression-head
Error
31.3b
Rules
26×cbrt-prod_binary64
24×*-un-lft-identity_binary64
22×add-sqr-sqrt_binary64
18×times-frac_binary64
16×add-cube-cbrt_binary64
Counts
4 → 76
Calls

4 calls:

110.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
6.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
6.0ms
(cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))
3.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2998 to 859 computations (71.3% saved)

series298.0ms (3.7%)

Error
31.2b
Counts
4 → 35
Calls

4 calls:

127.0ms
(cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))
58.0ms
(cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))
18.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
18.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3848 to 2667 computations (30.7% saved)

simplify173.0ms (2.1%)

Algorithm
egg-herbie
Rules
256×exp-sum_binary64
241×unswap-sqr_binary64
218×cancel-sign-sub-inv_binary64
204×associate-*r*_binary64
199×sub-neg_binary64
Counts
111 → 60
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02482729
14862675
210392638
331462526
448042517
549762517
649992517
748862517

prune143.0ms (1.7%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New54660
Fresh41115
Picked101
Done000
Total591776
Error
31.3b
Counts
76 → 17
Alt Table
StatusErrorProgram
45.0b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (neg.f64 g) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.6b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (neg.f64 g) (/.f64 2 a)))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
48.1b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 -1 g) (*.f64 -1/2 (/.f64 (*.f64 h h) a))))))
43.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.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.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (cbrt.f64 (/.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) a)))))
57.1b
(+.f64 (*.f64 (cbrt.f64 (/.f64 (sqrt.f64 (neg.f64 (*.f64 h h))) a)) (cbrt.f64 1/2)) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))
46.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 (/.f64 (+.f64 g (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) a))))
45.7b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))) (cbrt.f64 a)))
51.9b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
47.1b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (/.f64 (cbrt.f64 (*.f64 -1/2 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 a)))
48.9b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))
45.5b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (exp.f64 (log.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
53.3b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))
40.7b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g)) (cbrt.f64 (/.f64 1/2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.1b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a))) (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (cbrt.f64 (/.f64 (sqrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) a)))))
49.8b
(+.f64 (cbrt.f64 (/.f64 (-.f64 (/.f64 (sqrt.f64 (-.f64 (pow.f64 g 4) (pow.f64 h 4))) (sqrt.f64 (+.f64 (*.f64 h h) (*.f64 g g)))) g) (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
37.3b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) a))) (cbrt.f64 (*.f64 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 2374 to 1045 computations (56% saved)

regimes1.8s (22.6%)

Accuracy

Total 1.6b remaining (4.8%)

Threshold costs 0b (0%)

Compiler

Compiled 54324 to 30672 computations (43.5% saved)

simplify6.0ms (0.1%)

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
02152
13252
24252
34852
45152
55152

end1.0ms (0%)

Compiler

Compiled 36 to 20 computations (44.4% saved)

sample2.6s (31.4%)

Algorithm
intervals
Results
1.7s7562×body256valid
152.0ms1244×body128nan
53.0ms438×body128valid
Compiler

Compiled 733 to 425 computations (42% saved)

Profiling

Loading profile data...