Details

Time bar (total: 10.7s)

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

sample3.2s (29.7%)

Results
2.8s7780×body256valid
226.0ms1285×body128invalid
99.0ms476×body128valid
Compiler

Compiled 122 to 71 computations (41.8% saved)

simplify22.0ms (0.2%)

Algorithm
egg-herbie
Rules
694×fma-def_binary64
538×rules-23-rev_binary64
364×fma-neg_binary64
181×rules-4_binary64
147×rules-6-rev_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02052
14951
213851
350850
4249848
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 139 to 73 computations (47.5% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.2b
(fma.f64 g g (neg.f64 (*.f64 h h)))
7.8b
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g)))
11.6b
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))
31.6b
(sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))

series1.2s (10.8%)

Counts
4 → 120
Calls

4 calls:

616.0ms
(cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a)))
523.0ms
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g)))
12.0ms
(sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))
6.0ms
(fma.f64 g g (neg.f64 (*.f64 h h)))

rewrite41.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
182×add-sqr-sqrt_binary64
172×add-cbrt-cube_binary64
172×log1p-expm1-u_binary64
172×expm1-log1p-u_binary64
168×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01868
143041
Stop Event
node limit
Counts
4 → 141
Calls

4 calls:

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

simplify76.0ms (0.7%)

Algorithm
egg-herbie
Rules
441×rules-4_binary64
397×rules-20_binary64
365×fma-def_binary64
266×rules-13_binary64
229×rules-6_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04055686
114515686
Stop Event
node limit
Counts
261 → 292

prune996.0ms (9.3%)

Pruning

20 alts after pruning (19 fresh and 1 done)

PrunedKeptTotal
New38919408
Fresh000
Picked011
Done000
Total38920409
Error
33.0b
Counts
409 → 20
Alt Table
StatusErrorProgram
51.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.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 a))))))
52.0b
(+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 a)))) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
37.8b
(+.f64 (*.f64 (cbrt.f64 (/.f64 1/2 a)) (cbrt.f64 (-.f64 (hypot.f64 g h) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
35.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
51.7b
(+.f64 (/.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)) (+.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 2) (+.f64 0 (*.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 0)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
45.2b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (pow.f64 (cbrt.f64 (hypot.f64 g h)) 2) (cbrt.f64 (hypot.f64 g h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
35.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (hypot.f64 g h)) -1/2)) (cbrt.f64 a)))
49.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 2 (/.f64 g a)))))
46.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (exp.f64 (log.f64 (hypot.f64 g h))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
50.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.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)))))))
50.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (cbrt.f64 (pow.f64 (hypot.f64 g h) 3)) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
44.8b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (hypot.f64 g h)) 3)) (/.f64 -1/2 a))))
39.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 a (+.f64 g (hypot.f64 g h))))))
39.7b
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)))) 3) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
57.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 (*.f64 2 g) a) 1/3)))
39.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
46.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (exp.f64 (log.f64 (hypot.f64 g h)))) (/.f64 -1/2 a))))
54.1b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (neg.f64 (log.f64 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a -1/2)))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
50.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1 a))))))
52.0b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (log.f64 a)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
Compiler

Compiled 19098 to 10699 computations (44% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.4b
(+.f64 g (hypot.f64 g h))
2.2b
(fma.f64 g g (neg.f64 (*.f64 h h)))
7.8b
(cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g)))
31.6b
(sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))

series9.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

9.0ms
(+.f64 g (hypot.f64 g h))

rewrite38.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
562×log1p-expm1-u_binary64
562×expm1-log1p-u_binary64
448×fma-neg_binary64
359×prod-diff_binary64
101×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11237
217077
Stop Event
node limit
Counts
1 → 61
Calls

1 calls:

37.0ms
(+.f64 g (hypot.f64 g h))

simplify23.0ms (0.2%)

Algorithm
egg-herbie
Rules
311×rules-4_binary64
232×fma-neg_binary64
222×rules-11_binary64
198×rules-6_binary64
184×rules-20_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
058447
1191446
2795440
Stop Event
node limit
Counts
85 → 91

prune625.0ms (5.8%)

Pruning

24 alts after pruning (23 fresh and 1 done)

PrunedKeptTotal
New28113294
Fresh81018
Picked101
Done011
Total29024314
Error
1.5b
Counts
314 → 24
Alt Table
StatusErrorProgram
54.3b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (fma.f64 2 (log.f64 h) (log.f64 (/.f64 (/.f64 -1/2 a) g))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
51.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.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 a))))))
52.0b
(+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 a)))) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
9.3b
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
47.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (cbrt.f64 (pow.f64 (hypot.f64 g h) 3)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.3b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
9.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
9.3b
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)))) 3) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
29.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (exp.f64 (log.f64 (hypot.f64 g h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
35.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (hypot.f64 g h)) -1/2)) (cbrt.f64 a)))
49.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (*.f64 2 (/.f64 g a)))))
35.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 g (hypot.f64 g h))) 2))))
50.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 h)))
54.1b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (neg.f64 (log.f64 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a -1/2)))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
52.0b
(+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (/.f64 2 a)) (log.f64 (/.f64 -1 g))))) (cbrt.f64 1/2)) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
25.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (cbrt.f64 (hypot.f64 g h)) (pow.f64 (cbrt.f64 (hypot.f64 g h)) 2)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
44.8b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (hypot.f64 g h)) 3)) (/.f64 -1/2 a))))
39.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 a (+.f64 g (hypot.f64 g h))))))
41.2b
(+.f64 (/.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)) (+.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 2) (-.f64 0 (*.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 0)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
57.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 (*.f64 2 g) a) 1/3)))
39.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
41.7b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (cbrt.f64 (pow.f64 (+.f64 g (hypot.f64 g h)) 3)))))
50.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1 a))))))
52.0b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (log.f64 a)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
Compiler

Compiled 12834 to 7473 computations (41.8% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (/.f64 1/2 a))
0.6b
(cbrt.f64 (/.f64 -1/2 a))
1.3b
(-.f64 (hypot.f64 g h) g)
1.4b
(+.f64 g (hypot.f64 g h))

series82.0ms (0.8%)

Counts
3 → 48
Calls

3 calls:

42.0ms
(cbrt.f64 (/.f64 -1/2 a))
31.0ms
(cbrt.f64 (/.f64 1/2 a))
9.0ms
(-.f64 (hypot.f64 g h) g)

rewrite58.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
797×fma-neg_binary64
432×prod-diff_binary64
205×expm1-udef_binary64
205×log1p-udef_binary64
122×egg-rr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01219
127819
2342119
Stop Event
node limit
Counts
3 → 122
Calls

3 calls:

56.0ms
(cbrt.f64 (/.f64 1/2 a))
56.0ms
(cbrt.f64 (/.f64 -1/2 a))
56.0ms
(-.f64 (hypot.f64 g h) g)

simplify31.0ms (0.3%)

Algorithm
egg-herbie
Rules
288×rules-4_binary64
252×rules-11_binary64
233×fma-neg_binary64
192×rules-6_binary64
191×rules-20_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
075750
1222749
2859737
Stop Event
node limit
Counts
170 → 160

prune416.0ms (3.9%)

Pruning

38 alts after pruning (37 fresh and 1 done)

PrunedKeptTotal
New23021251
Fresh61622
Picked101
Done011
Total23738275
Error
1.3b
Counts
275 → 38
Alt Table
StatusErrorProgram
54.3b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (fma.f64 2 (log.f64 h) (log.f64 (/.f64 (/.f64 -1/2 a) g))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
51.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.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 a))))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (/.f64 (cbrt.f64 -1/2) (cbrt.f64 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
52.0b
(+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 a)))) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
4.1b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (exp.f64 (log.f64 (+.f64 g (hypot.f64 g h)))))))
47.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (cbrt.f64 (pow.f64 (hypot.f64 g h) 3)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
17.9b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 g) (hypot.f64 g h)))))
9.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.6b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3)) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 g (hypot.f64 g h))) 2) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))))
9.3b
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)))) 3) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
29.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (exp.f64 (log.f64 (hypot.f64 g h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) 2))) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
39.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
2.6b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (/.f64 (/.f64 -1/2 a) (+.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 a)) 2) (+.f64 0 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) 0)))) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 g (hypot.f64 g h))) 2))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
24.6b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (/.f64 (/.f64 1/2 a) (+.f64 (cbrt.f64 (pow.f64 (/.f64 1/2 a) 2)) (+.f64 0 (*.f64 (cbrt.f64 (/.f64 1/2 a)) 0))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
35.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (hypot.f64 g h)) -1/2)) (cbrt.f64 a)))
2.6b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) 3) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
3.9b
(+.f64 (*.f64 (cbrt.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 g h) g)))) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
50.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 h)))
54.1b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (neg.f64 (log.f64 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a -1/2)))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (*.f64 (cbrt.f64 (/.f64 1 a)) (cbrt.f64 1/2))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.6b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) 2)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
50.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1 a))))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 1 a))) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
25.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (cbrt.f64 (hypot.f64 g h)) (pow.f64 (cbrt.f64 (hypot.f64 g h)) 2)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
44.8b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (hypot.f64 g h)) 3)) (/.f64 -1/2 a))))
17.1b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 -1/2 a)))) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
39.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 a (+.f64 g (hypot.f64 g h))))))
35.7b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 1 a) 1/3)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
52.0b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (log.f64 a)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
2.3b
(+.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 g h) g)) 2)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
3.8b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (expm1.f64 (log1p.f64 (+.f64 g (hypot.f64 g h)))))))
41.2b
(+.f64 (/.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)) (+.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 2) (-.f64 0 (*.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 0)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
35.2b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (exp.f64 (log.f64 (cbrt.f64 (/.f64 1/2 a))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
30.9b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 1/2 a) 2)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
Compiler

Compiled 9924 to 5452 computations (45.1% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(cbrt.f64 (/.f64 1/2 a))
0.6b
(cbrt.f64 (/.f64 -1/2 a))
1.3b
(-.f64 (hypot.f64 g h) g)
1.4b
(+.f64 g (hypot.f64 g h))

prune482.0ms (4.5%)

Pruning

37 alts after pruning (36 fresh and 1 done)

PrunedKeptTotal
New2492251
Fresh23436
Picked101
Done011
Total25237289
Error
1.3b
Counts
289 → 37
Alt Table
StatusErrorProgram
54.3b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (fma.f64 2 (log.f64 h) (log.f64 (/.f64 (/.f64 -1/2 a) g))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
51.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.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 a))))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (/.f64 (cbrt.f64 -1/2) (cbrt.f64 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
52.0b
(+.f64 (*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (pow.f64 g 2) (pow.f64 h 2))) g)) (log.f64 a)))) (cbrt.f64 1/2)) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
4.1b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (exp.f64 (log.f64 (+.f64 g (hypot.f64 g h)))))))
47.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (cbrt.f64 (pow.f64 (hypot.f64 g h) 3)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
17.9b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (fma.f64 (pow.f64 (cbrt.f64 g) 2) (cbrt.f64 g) (hypot.f64 g h)))))
9.0b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.6b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/2 a))) 3)) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (+.f64 g (hypot.f64 g h))) 2) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))))
9.3b
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)))) 3) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
29.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (exp.f64 (log.f64 (hypot.f64 g h))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
35.2b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (exp.f64 (log.f64 (cbrt.f64 (/.f64 1/2 a))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.3b
(+.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 g h) g)) 2)) (/.f64 (cbrt.f64 1/2) (cbrt.f64 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
39.4b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
2.6b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (/.f64 (/.f64 -1/2 a) (+.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 a)) 2) (+.f64 0 (*.f64 (cbrt.f64 (/.f64 -1/2 a)) 0)))) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (pow.f64 (sqrt.f64 (+.f64 g (hypot.f64 g h))) 2))))
24.6b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (/.f64 (/.f64 1/2 a) (+.f64 (cbrt.f64 (pow.f64 (/.f64 1/2 a) 2)) (+.f64 0 (*.f64 (cbrt.f64 (/.f64 1/2 a)) 0))))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
35.5b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 (*.f64 (+.f64 g (hypot.f64 g h)) -1/2)) (cbrt.f64 a)))
2.6b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) 3) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
3.9b
(+.f64 (*.f64 (cbrt.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 g h) g)))) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
50.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 h)))
54.1b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (neg.f64 (log.f64 g)) (log.f64 (/.f64 (*.f64 h h) (/.f64 a -1/2)))))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (*.f64 (cbrt.f64 (/.f64 1 a)) (cbrt.f64 1/2))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
2.6b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1/2 a))) 2)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
50.3b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (+.f64 (log.f64 (+.f64 g (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))))) (log.f64 (/.f64 -1 a))))))
2.4b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 1 a))) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
25.1b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (*.f64 (cbrt.f64 (hypot.f64 g h)) (pow.f64 (cbrt.f64 (hypot.f64 g h)) 2)) g))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
26.4b
(+.f64 (*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 g h)) 2) (cbrt.f64 (hypot.f64 g h)) (neg.f64 g))) 2)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
44.8b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (cbrt.f64 (*.f64 (+.f64 g (pow.f64 (cbrt.f64 (hypot.f64 g h)) 3)) (/.f64 -1/2 a))))
17.1b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 -1/2 a)))) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
39.6b
(+.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h)))) g))) (/.f64 (cbrt.f64 -1/2) (cbrt.f64 (/.f64 a (+.f64 g (hypot.f64 g h))))))
35.7b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (*.f64 (cbrt.f64 -1/2) (pow.f64 (/.f64 1 a) 1/3)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
3.8b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (cbrt.f64 (/.f64 1/2 a))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (expm1.f64 (log1p.f64 (+.f64 g (hypot.f64 g h)))))))
41.2b
(+.f64 (/.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g)) (+.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 2) (-.f64 0 (*.f64 (cbrt.f64 (*.f64 (/.f64 1/2 a) (-.f64 (hypot.f64 g h) g))) 0)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
30.9b
(+.f64 (*.f64 (cbrt.f64 (-.f64 (hypot.f64 g h) g)) (sqrt.f64 (cbrt.f64 (pow.f64 (/.f64 1/2 a) 2)))) (*.f64 (cbrt.f64 (/.f64 -1/2 a)) (cbrt.f64 (+.f64 g (hypot.f64 g h)))))
52.0b
(+.f64 (*.f64 (cbrt.f64 1/2) (pow.f64 (exp.f64 1/3) (-.f64 (log.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 g g) (*.f64 h h))) g)) (log.f64 a)))) (cbrt.f64 (*.f64 (+.f64 g (sqrt.f64 (fma.f64 g g (neg.f64 (*.f64 h h))))) (/.f64 -1/2 a))))
Compiler

Compiled 9468 to 5389 computations (43.1% saved)

regimes2.0s (19.1%)

Accuracy

Total 1.3b remaining (42.3%)

Threshold costs 0b (0%)

Counts
225 → 1
Compiler

Compiled 50944 to 34715 computations (31.9% saved)

simplify1.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02243
Stop Event
saturated

end725.0ms (6.8%)

Compiler

Compiled 1253 to 850 computations (32.2% saved)

Profiling

Loading profile data...