Details

Time bar (total: 9.7s)

analyze518.0ms (5.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)

sample57.0ms (0.6%)

Algorithm
intervals
Results
39.0ms244×body256valid
3.0ms39×body128nan
1.0ms12×body128valid
Compiler

Compiled 84 to 50 computations (40.5% saved)

simplify228.0ms (2.3%)

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

prune9.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
34.4b
Counts
2 → 2
Alt Table
StatusErrorProgram
34.4b
(+.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)))))))
34.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 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a) -1/2)))
Compiler

Compiled 182 to 100 computations (45.1% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

6.8b
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
9.1b
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
28.6b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
28.6b
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))

rewrite197.0ms (2%)

Algorithm
rewrite-expression-head
Error
30.4b
Rules
10×cbrt-div_binary64
add-sqr-sqrt_binary64 sqrt-prod_binary64
pow1_binary64 add-cube-cbrt_binary64 *-un-lft-identity_binary64
add-log-exp_binary64 add-exp-log_binary64 add-cbrt-cube_binary64 flip3--_binary64 sqrt-div_binary64 flip--_binary64 frac-times_binary64 associate-*r/_binary64
pow1/2_binary64 sqrt-pow1_binary64 difference-of-squares_binary64 rem-sqrt-square_binary64 pow1/3_binary64 associate-*l/_binary64 cbrt-prod_binary64 flip3-+_binary64 flip-+_binary64
Counts
4 → 60
Calls

4 calls:

14.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (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))))))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2905 to 1013 computations (65.1% saved)

series270.0ms (2.8%)

Error
30.3b
Counts
4 → 30
Calls

4 calls:

91.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
85.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
21.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
20.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3661 to 2608 computations (28.8% saved)

simplify94.0ms (1%)

Algorithm
egg-herbie
Rules
397×div-sub_binary64
277×exp-sum_binary64
270×distribute-rgt-in_binary64
261×distribute-lft-in_binary64
257×*-commutative_binary64
Counts
90 → 62
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02152054
15181986
214171894
341311809
452211809

prune161.0ms (1.7%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New461662
Fresh101
Picked101
Done000
Total481664
Error
29.8b
Counts
64 → 16
Alt Table
StatusErrorProgram
44.4b
(+.f64 (/.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3)))) (cbrt.f64 (+.f64 (*.f64 g g) (-.f64 (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
38.6b
(+.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)))))))))
32.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
34.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 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)) (cbrt.f64 -1/2)))
48.4b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (/.f64 2 a) (/.f64 -1 g)))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
50.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) (cbrt.f64 (*.f64 (/.f64 -1 g) (*.f64 1/2 (/.f64 (*.f64 h h) a))))))
32.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) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.2b
(+.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 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (sqrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
45.8b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
58.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (pow.f64 h 2/3) (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))))
32.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/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
42.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 (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) (cbrt.f64 (*.f64 (*.f64 2 a) (+.f64 (*.f64 g g) (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))
50.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
44.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 (/.f64 1/2 a) (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)))) (cbrt.f64 (+.f64 (*.f64 g g) (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))
32.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 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 2 a))))
40.9b
(+.f64 (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)))))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
Compiler

Compiled 3780 to 1758 computations (53.5% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite262.0ms (2.7%)

Algorithm
rewrite-expression-head
Error
29.4b
Rules
add-sqr-sqrt_binary64 sqrt-prod_binary64
pow1_binary64 add-log-exp_binary64 add-cube-cbrt_binary64 *-un-lft-identity_binary64
cbrt-div_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-div_binary64
flip3--_binary64 flip--_binary64 difference-of-squares_binary64
Counts
4 → 59
Calls

4 calls:

17.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2670 to 899 computations (66.3% saved)

series233.0ms (2.4%)

Error
28.8b
Counts
4 → 30
Calls

4 calls:

86.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
27.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
21.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
20.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3098 to 2139 computations (31% saved)

simplify82.0ms (0.8%)

Algorithm
egg-herbie
Rules
577×times-frac_binary64
559×associate-*r*_binary64
277×exp-sum_binary64
232×distribute-rgt-in_binary64
223×distribute-lft-in_binary64
Counts
89 → 57
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01721616
14091513
211241463
340151425
453471425

prune206.0ms (2.1%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New50757
Fresh31215
Picked101
Done000
Total541973
Error
29.4b
Counts
73 → 19
Alt Table
StatusErrorProgram
44.4b
(+.f64 (/.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3)))) (cbrt.f64 (+.f64 (*.f64 g g) (-.f64 (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
38.6b
(+.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)))))))))
55.0b
(+.f64 (/.f64 (pow.f64 h 2/3) (cbrt.f64 (*.f64 (*.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)))))))
39.4b
(+.f64 (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)))))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
32.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
34.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 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)) (cbrt.f64 -1/2)))
44.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 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))))))
50.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) (cbrt.f64 (*.f64 (/.f64 -1 g) (*.f64 1/2 (/.f64 (*.f64 h h) a))))))
32.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) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.2b
(+.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 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (sqrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
45.8b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.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 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (/.f64 (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (sqrt.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (*.f64 (*.f64 h h) (*.f64 g g))))))))))
49.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
58.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (pow.f64 h 2/3) (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))))
42.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 (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) (cbrt.f64 (*.f64 (*.f64 2 a) (+.f64 (*.f64 g g) (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))
53.2b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (sqrt.f64 (neg.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)))))))
44.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 (/.f64 1/2 a) (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)))) (cbrt.f64 (+.f64 (*.f64 g g) (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))
32.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 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 2 a))))
47.2b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (/.f64 2 a) (/.f64 -1 g)))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
Compiler

Compiled 3579 to 1727 computations (51.7% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite294.0ms (3%)

Algorithm
rewrite-expression-head
Error
29.4b
Rules
add-sqr-sqrt_binary64 sqrt-prod_binary64
pow1_binary64 add-log-exp_binary64 add-cube-cbrt_binary64 *-un-lft-identity_binary64
cbrt-div_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-div_binary64
flip3--_binary64 flip--_binary64 difference-of-squares_binary64
Counts
4 → 59
Calls

4 calls:

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

Compiled 2670 to 899 computations (66.3% saved)

series242.0ms (2.5%)

Error
28.8b
Counts
4 → 30
Calls

4 calls:

87.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
25.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
21.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
19.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 3098 to 2139 computations (31% saved)

simplify90.0ms (0.9%)

Algorithm
egg-herbie
Rules
577×times-frac_binary64
559×associate-*r*_binary64
277×exp-sum_binary64
232×distribute-rgt-in_binary64
223×distribute-lft-in_binary64
Counts
89 → 57
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01721616
14091513
211241463
340151425
453471425

prune254.0ms (2.6%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New53457
Fresh01818
Picked101
Done000
Total542276
Error
29.4b
Counts
76 → 22
Alt Table
StatusErrorProgram
44.4b
(+.f64 (/.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3)))) (cbrt.f64 (+.f64 (*.f64 g g) (-.f64 (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.8b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (/.f64 (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 2 a))))
38.6b
(+.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.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))))) (/.f64 (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 2 a))))
55.0b
(+.f64 (/.f64 (pow.f64 h 2/3) (cbrt.f64 (*.f64 (*.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)))))))
39.4b
(+.f64 (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)))))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
32.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
34.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 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))) a)) (cbrt.f64 -1/2)))
44.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 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))))))
53.3b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (sqrt.f64 (neg.f64 (*.f64 h h))) a))) (/.f64 (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 2 a))))
50.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) (cbrt.f64 (*.f64 (/.f64 -1 g) (*.f64 1/2 (/.f64 (*.f64 h h) a))))))
32.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) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.2b
(+.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 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))) (sqrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))))
45.8b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.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 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (/.f64 (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (sqrt.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (*.f64 (*.f64 h h) (*.f64 g g))))))))))
49.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
58.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (pow.f64 h 2/3) (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))))
42.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 (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) (cbrt.f64 (*.f64 (*.f64 2 a) (+.f64 (*.f64 g g) (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))
53.2b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (sqrt.f64 (neg.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)))))))
44.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 (/.f64 1/2 a) (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)))) (cbrt.f64 (+.f64 (*.f64 g g) (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))
47.2b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (/.f64 2 a) (/.f64 -1 g)))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
44.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 (-.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h))))) (cbrt.f64 (*.f64 2 a))))
Compiler

Compiled 3793 to 1881 computations (50.4% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite319.0ms (3.3%)

Algorithm
rewrite-expression-head
Error
29.4b
Rules
add-sqr-sqrt_binary64 sqrt-prod_binary64
pow1_binary64 add-log-exp_binary64 add-cube-cbrt_binary64 *-un-lft-identity_binary64
flip3--_binary64 flip--_binary64 cbrt-div_binary64
add-exp-log_binary64 add-cbrt-cube_binary64 sqrt-div_binary64
difference-of-squares_binary64
Counts
4 → 59
Calls

4 calls:

13.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
4.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
Compiler

Compiled 2613 to 888 computations (66% saved)

series249.0ms (2.6%)

Error
28.8b
Counts
4 → 30
Calls

4 calls:

89.0ms
(cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))))
28.0ms
(-.f64 (*.f64 g g) (*.f64 h h))
22.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
20.0ms
(sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))
Compiler

Compiled 2989 to 2095 computations (29.9% saved)

simplify94.0ms (1%)

Algorithm
egg-herbie
Rules
570×times-frac_binary64
452×associate-*l*_binary64
427×associate-*r*_binary64
237×distribute-rgt-in_binary64
232×distribute-lft-in_binary64
Counts
89 → 57
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01671634
13741527
210631485
341041422
454781422

prune230.0ms (2.4%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New52557
Fresh41721
Picked101
Done000
Total572279
Error
28.7b
Counts
79 → 22
Alt Table
StatusErrorProgram
44.4b
(+.f64 (/.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3) (pow.f64 g 3)))) (cbrt.f64 (+.f64 (*.f64 g g) (-.f64 (*.f64 g (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
43.8b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (/.f64 (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 2 a))))
38.6b
(+.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.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))))) (/.f64 (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 2 a))))
55.0b
(+.f64 (/.f64 (pow.f64 h 2/3) (cbrt.f64 (*.f64 (*.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)))))))
39.4b
(+.f64 (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)))))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
32.7b
(+.f64 (/.f64 (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (cbrt.f64 (*.f64 2 a))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
44.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 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))))))
53.3b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (sqrt.f64 (neg.f64 (*.f64 h h))) a))) (/.f64 (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (cbrt.f64 (*.f64 2 a))))
32.7b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.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)))) a)) (cbrt.f64 -1/2)))
45.8b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (*.f64 (*.f64 h h) (/.f64 -1/2 (*.f64 g a))))) (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
41.5b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (*.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))))))
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 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (/.f64 (sqrt.f64 (-.f64 (pow.f64 g 6) (pow.f64 h 6))) (sqrt.f64 (+.f64 (pow.f64 g 4) (+.f64 (pow.f64 h 4) (*.f64 (*.f64 h h) (*.f64 g g))))))))))
48.7b
(+.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 -1 g) (*.f64 1/2 (/.f64 (*.f64 h h) a))))))
44.7b
(+.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)))))))
49.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h)))))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
58.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1 (*.f64 2 a)) (+.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))) (/.f64 (pow.f64 h 2/3) (cbrt.f64 (*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g) (*.f64 2 a)))))
42.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 (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3))) (cbrt.f64 (*.f64 (*.f64 2 a) (+.f64 (*.f64 g g) (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h)))))))
44.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 (/.f64 1/2 a) (-.f64 (pow.f64 (neg.f64 g) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) 3)))) (cbrt.f64 (+.f64 (*.f64 g g) (-.f64 (*.f64 g (-.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (*.f64 h h))))))
50.2b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g))) (/.f64 (cbrt.f64 (*.f64 h h)) (cbrt.f64 (*.f64 (*.f64 2 a) (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)))))
47.2b
(+.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 (/.f64 2 a) (/.f64 -1 g)))) (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (neg.f64 g) (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h)))))))
44.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 (-.f64 (neg.f64 g) (*.f64 (sqrt.f64 (+.f64 h g)) (sqrt.f64 (-.f64 g h))))) (cbrt.f64 (*.f64 2 a))))
Compiler

Compiled 2777 to 1282 computations (53.8% saved)

regimes3.2s (33%)

Accuracy

Total 1.2b remaining (3.9%)

Threshold costs 0b (0%)

Compiler

Compiled 66995 to 39146 computations (41.6% saved)

bsearch19.0ms (0.2%)

Steps
ItersRangePoint
1
-2.4829264167821345e-171
-2.3425993732075764e-171
-2.447844655888495e-171
Compiler

Compiled 4 to 3 computations (25% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
11×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-mul-1_binary64 neg-sub0_binary64
1-exp_binary64 cancel-sign-sub-inv_binary64 distribute-neg-out_binary64 distribute-lft-neg-out_binary64 distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039100
159100
268100
375100
479100
580100
679100

end2.0ms (0%)

Compiler

Compiled 67 to 41 computations (38.8% saved)

sample2.3s (23.9%)

Algorithm
intervals
Results
1.2s7596×body256valid
92.0ms1202×body128nan
32.0ms404×body128valid
Compiler

Compiled 1068 to 631 computations (40.9% saved)

Profiling

Loading profile data...