Details

Time bar (total: 11.4s)

analyze661.0ms (5.8%)

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

Algorithm
intervals
Results
57.0ms250×body256valid
5.0ms50×body128nan
1.0msbody128valid
Compiler

Compiled 84 to 50 computations (40.5% saved)

simplify208.0ms (1.8%)

Algorithm
egg-herbie
Rules
729×fma-neg_binary64
636×times-frac_binary64
620×div-sub_binary64
565×unsub-neg_binary64
481×sub-neg_binary64
Counts
1 → 1
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

prune4.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
35.9b
Counts
2 → 2
Alt Table
StatusErrorProgram
36.0b
(+.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)))
36.0b
(+.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:

6.5b
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
9.9b
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
28.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite339.0ms (3%)

Algorithm
rewrite-expression-head
Error
30.3b
Rules
22×add-cube-cbrt_binary64
20×add-sqr-sqrt_binary64
15×flip3--_binary64
12×pow1_binary64
12×pow1/3_binary64
Counts
4 → 152
Calls

4 calls:

19.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
15.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
14.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
14.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 5584 to 1980 computations (64.5% saved)

series209.0ms (1.8%)

Error
30.7b
Counts
4 → 30
Calls

4 calls:

76.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
66.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
14.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
13.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3661 to 2608 computations (28.8% saved)

simplify134.0ms (1.2%)

Algorithm
egg-herbie
Rules
482×fma-neg_binary64
446×fma-def_binary64
392×associate-*l*_binary64
340×times-frac_binary64
221×associate-/l*_binary64
Counts
182 → 94
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02313393
15573209
214803124
347613124
450583124

prune209.0ms (1.8%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New751994
Fresh011
Picked101
Done000
Total762096
Error
30.0b
Counts
96 → 20
Alt Table
StatusErrorProgram
33.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
44.2b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 (+.f64 h g) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (cbrt.f64 (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
36.0b
(+.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)))
51.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (-.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 a))))))
44.2b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3))) (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 (+.f64 h g) (-.f64 g h) (*.f64 g (+.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)))))))
36.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (*.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)))))))
44.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) (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))))
42.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (sqrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)))) (sqrt.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a))))))
41.2b
(+.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) (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
49.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) (neg.f64 g)))))
53.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 1/2) (*.f64 (pow.f64 (/.f64 -1 g) 1/3) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 h h) a)) 1/3))))
44.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 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)) (*.f64 (*.f64 2 a) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))
33.1b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
36.1b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a)))) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a))))) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
40.8b
(+.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) (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
47.7b
(+.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (pow.f64 (/.f64 -1 a) 1/3))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
50.4b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (pow.f64 (/.f64 1 a) 1/3)) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (*.f64 1 (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)))) (/.f64 1 (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))))
43.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (exp.f64 (*.f64 1/2 (log.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)))))))
46.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
Compiler

Compiled 5734 to 2603 computations (54.6% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

2.2b
(-.f64 (*.f64 g g) (*.f64 h h))
6.5b
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
28.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite574.0ms (5.1%)

Algorithm
rewrite-expression-head
Error
30.0b
Rules
22×add-cube-cbrt_binary64
20×flip3--_binary64
20×add-sqr-sqrt_binary64
14×pow1_binary64
12×add-log-exp_binary64
Counts
4 → 163
Calls

4 calls:

20.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
15.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
15.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
14.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
Compiler

Compiled 5644 to 1934 computations (65.7% saved)

series243.0ms (2.1%)

Error
29.7b
Counts
4 → 30
Calls

4 calls:

78.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
18.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
15.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
14.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2989 to 2098 computations (29.8% saved)

simplify119.0ms (1%)

Algorithm
egg-herbie
Rules
533×fma-neg_binary64
497×fma-def_binary64
292×distribute-rgt-in_binary64
249×distribute-lft-in_binary64
203×times-frac_binary64
Counts
193 → 95
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02053008
14692784
213992668
344592654
449632654

prune302.0ms (2.7%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New89695
Fresh51419
Picked101
Done000
Total9520115
Error
29.7b
Counts
115 → 20
Alt Table
StatusErrorProgram
39.7b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
33.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
44.2b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 (+.f64 h g) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (cbrt.f64 (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
36.0b
(+.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)))
51.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (-.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 a))))))
44.2b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3))) (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 (+.f64 h g) (-.f64 g h) (*.f64 g (+.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)))))))
36.1b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a)))) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a))))) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.5b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
46.4b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
36.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (*.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)))))))
44.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) (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))))
30.9b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1 a)))))
49.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) (neg.f64 g)))))
53.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 1/2) (*.f64 (pow.f64 (/.f64 -1 g) 1/3) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 h h) a)) 1/3))))
44.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 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)) (*.f64 (*.f64 2 a) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))
38.3b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
40.8b
(+.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) (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
46.3b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 (/.f64 -1 g)) (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 h h) a))))))
43.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (*.f64 1 (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)))) (/.f64 1 (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))))
43.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (exp.f64 (*.f64 1/2 (log.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 5171 to 2384 computations (53.9% saved)

localize25.0ms (0.2%)

Local error

Found 4 expressions with local error:

2.2b
(-.f64 (*.f64 g g) (*.f64 h h))
2.2b
(-.f64 (*.f64 g g) (*.f64 h h))
28.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite590.0ms (5.2%)

Algorithm
rewrite-expression-head
Error
29.7b
Rules
22×add-cube-cbrt_binary64
20×flip3--_binary64
20×add-sqr-sqrt_binary64
16×add-log-exp_binary64
16×pow1_binary64
Counts
4 → 174
Calls

4 calls:

23.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
21.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
16.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
15.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 6047 to 2162 computations (64.2% saved)

series173.0ms (1.5%)

Error
29.7b
Counts
4 → 30
Calls

4 calls:

62.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
20.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
19.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
14.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2593 to 1831 computations (29.4% saved)

simplify159.0ms (1.4%)

Algorithm
egg-herbie
Rules
842×fma-neg_binary64
467×unswap-sqr_binary64
326×associate-*l*_binary64
296×associate-*r*_binary64
223×fma-def_binary64
Counts
204 → 94
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01002582
12252302
26782206
326172206
443862206
548502206
648562206

prune277.0ms (2.4%)

Pruning

20 alts after pruning (19 fresh and 1 done)

PrunedKeptTotal
New94094
Fresh01919
Picked011
Done000
Total9420114
Error
29.7b
Counts
114 → 20
Alt Table
StatusErrorProgram
39.7b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
33.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
44.2b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 (+.f64 h g) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (cbrt.f64 (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
36.0b
(+.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)))
51.9b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (exp.f64 (-.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 a))))))
44.2b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3))) (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 (+.f64 h g) (-.f64 g h) (*.f64 g (+.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)))))))
36.1b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a)))) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a))))) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.5b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
46.4b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
36.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (*.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)))))))
44.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) (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))))
30.9b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1 a)))))
49.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) (neg.f64 g)))))
53.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 1/2) (*.f64 (pow.f64 (/.f64 -1 g) 1/3) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 h h) a)) 1/3))))
44.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 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)) (*.f64 (*.f64 2 a) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))
38.3b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
40.8b
(+.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) (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
46.3b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 (/.f64 -1 g)) (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 h h) a))))))
43.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (*.f64 1 (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)))) (/.f64 1 (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))))
43.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (exp.f64 (*.f64 1/2 (log.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 4868 to 2389 computations (50.9% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

2.2b
(-.f64 (*.f64 g g) (*.f64 h h))
9.9b
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
28.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.5b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite514.0ms (4.5%)

Algorithm
rewrite-expression-head
Error
29.7b
Rules
22×add-cube-cbrt_binary64
20×add-sqr-sqrt_binary64
15×flip3--_binary64
14×pow1_binary64
12×add-log-exp_binary64
Counts
4 → 163
Calls

4 calls:

21.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
15.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
14.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
13.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
Compiler

Compiled 5761 to 1901 computations (67% saved)

series192.0ms (1.7%)

Error
29.7b
Counts
4 → 30
Calls

4 calls:

67.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
19.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
15.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
15.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3098 to 2136 computations (31.1% saved)

simplify154.0ms (1.4%)

Algorithm
egg-herbie
Rules
578×fma-neg_binary64
458×fma-def_binary64
276×distribute-rgt-in_binary64
236×distribute-lft-in_binary64
191×cancel-sign-sub-inv_binary64
Counts
193 → 95
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02102965
14972733
214522654
343012641
449862641
548932641

prune264.0ms (2.3%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New89695
Fresh61218
Picked101
Done011
Total9619115
Error
29.6b
Counts
115 → 19
Alt Table
StatusErrorProgram
39.7b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (*.f64 (fabs.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
44.2b
(+.f64 (/.f64 1 (/.f64 (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 (+.f64 h g) (-.f64 g h) (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (cbrt.f64 (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
53.8b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (/.f64 (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (sqrt.f64 (fma.f64 h (*.f64 h (fma.f64 h h (*.f64 g g))) (pow.f64 g 4))))))))
42.8b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (exp.f64 (*.f64 1/2 (log.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
47.3b
(+.f64 (*.f64 (cbrt.f64 1/2) (*.f64 (pow.f64 g -1/3) (cbrt.f64 (*.f64 -1/2 (/.f64 (*.f64 h h) a))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.5b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) g))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
30.9b
(+.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (/.f64 -1 a)))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
46.4b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 (/.f64 2 a) g))))
36.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (*.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)))))))
44.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) (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))))))
49.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (neg.f64 g)))))
43.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 (*.f64 1 (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)))) (/.f64 1 (cbrt.f64 (*.f64 (*.f64 2 a) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))))
53.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (*.f64 (cbrt.f64 1/2) (*.f64 (pow.f64 (/.f64 -1 g) 1/3) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 h h) a)) 1/3))))
44.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 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)) (*.f64 (*.f64 2 a) (fma.f64 g g (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))
36.0b
(+.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)))
33.7b
(+.f64 (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a)))) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a))))) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (/.f64 1/2 a))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
40.8b
(+.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) (*.f64 (cbrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
46.3b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 (/.f64 -1 g)) (cbrt.f64 (*.f64 1/2 (/.f64 (*.f64 h h) a))))))
30.9b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (/.f64 -1 a)))))
Compiler

Compiled 4221 to 1813 computations (57% saved)

regimes3.2s (28%)

Accuracy

Total 1.9b remaining (5.8%)

Threshold costs 0b (0%)

Compiler

Compiled 94179 to 55445 computations (41.1% saved)

simplify5.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02559
14059
25359
36459
46959
57059
67059

end1.0ms (0%)

Compiler

Compiled 40 to 24 computations (40% saved)

sample2.7s (23.6%)

Algorithm
intervals
Results
1.8s7576×body256valid
140.0ms1259×body128nan
48.0ms424×body128valid
Compiler

Compiled 980 to 567 computations (42.1% saved)

Profiling

Loading profile data...